- Additional commands are found within the five menus: File, Edit, Sketch, Debug, Tools, Help.
+ Additional commands are found within the six menus: File, Edit, Sketch, Debug, Tools, Help.
The menus are context sensitive which means only those items relevant to the work currently
being carried out are available.
@@ -112,8 +112,6 @@
Increase maximum available memory
@@ -383,7 +381,11 @@
- Processing has six built-in screen renderers. The default renderer is for drawing two-dimensional shapes. P2D is a faster, but less accurate renderer for drawing two-dimensional shapes. P3D is for three-dimensional geometry; it can also control the camera, lighting, and materials. The P2D and P3D renderers are accelerated if your computer has an OpenGL compatible graphics card. Each of these three renderers has a "_2X" version for rendering on high definition screens. To render for a high def screen, use the JAVA2D_2X, P2D_2X, or P3D_2X depending on the type of sketch. The smooth() function affects the amount of antialiasing for each renderer. Check the reference for smooth() for more information.
+ Processing has four built-in screen renderers. The default renderer is for drawing two-dimensional shapes. P2D is a faster, but less accurate renderer for drawing two-dimensional shapes. P3D is for three-dimensional geometry; it can also control the camera, lighting, and materials. The P2D and P3D renderers are accelerated if your computer has an OpenGL compatible graphics card. The smooth() function affects the amount of antialiasing for each renderer. Check the reference for smooth() for more information.
+
+
+
+ With the release of Processing 3.0, the FX2D renderer is included. Use it for fast 2D graphics on large and high resolution displays for more speed than the default renderer. This renderer is still experimental, but it useful for certain conditions.
@@ -475,7 +477,15 @@
- (Description to come...)
+ The Processing Debugger is a tool for diagnosing problems with a sketch. Enable it to pause a sketch while running and advance through the code one line at a time. The debugger is enabled through the File menu (Debug > Enable Debugger) or by clicking the Debugger icon, the butterfly in the upper-right corner of the PDE.
+
+
+
+ When the Debugger is enabled, the program runs as normal, but stops at "breakpoints." To create a breakpoint, set the cursor at the line you want to pause the sketch and select Debug > Toggle Breakpoint. The keyboard shortcut is Command-B. To remove the breakpoint, select Toggle Breakpoint again. When a breakpoint is added, the line number is replaced with the symbol: <>.
+
+
+
+ Running the sketch in Debug mode causes the sketch to pause at any breakpoints. When paused, current variable values are visible in a separate pane. You can advance to the next breakpoint by selecting "Continue" or advance line by line through the code with "Step". Stepping only works within the scope of the current function being run.
@@ -486,21 +496,14 @@
- Processing has different programming modes to make it possible to deploy sketches
- on different platforms and program in different ways. The current default programming mode
- is Java mode. Other programming modes such as Android Mode and
- Python are added by selecting "Add Mode..." from the menu in the upper-right
- corner of the PDE.
+ Processing has different programming modes to make it possible to deploy sketches on different platforms and program in different ways. The current default programming mode is Java mode. Other programming modes such as Android Mode and Python are added by selecting "Add Mode..." from the menu in the upper-right corner of the PDE.
Java Mode
- This mode makes it possible to write short programs to draw to the screen, but also
- enables complex Java programs as well. It can be used simply by beginners, but
- it scales to professional Java software development. Sketches written in this mode can
- be exported as Java Applications to run on Linux, Mac OS X, and Windows operating
- systems.
+ This mode makes it possible to write short programs to draw to the screen, but also enables complex Java programs as well. It can be used simply by beginners, but it scales to professional Java software development. Sketches written in this mode can
+ be exported as Java Applications to run on Linux, Mac OS X, and Windows operating systems.
@@ -509,11 +512,7 @@
Java Mode
Advanced
- Java files with the extension .java can be included with a Java mode sketch.
- They may be created directly in the PDE or copied into the sketch folder through
- the "Add File..." item in the Sketch menu or dragged into the text editor. It's possible
- to write any Java code in files with the .java extension. In fact, complete Java code
- can be written from inside the Processing Environment by subclassing PApplet like this:
+ Java files with the extension .java can be included with a Java mode sketch. They may be created directly in the PDE or copied into the sketch folder through the "Add File..." item in the Sketch menu or dragged into the text editor. It's possible to write any Java code in files with the .java extension. In fact, complete Java code can be written from inside the Processing Environment by subclassing PApplet like this:
@@ -532,8 +531,8 @@ Android Mode
Sketches written in this mode can be exported to run on Android phones and tablets.
- This mode is documented on the
- Processing for Android page of the Processing Wiki. To add this mode, click on
+ This mode is documented on the
+ Processing for Android page. To add this mode, click on
the mode button in the upper-right corner of the PDE and select "Add Mode..."
-->
@@ -575,7 +574,7 @@
- The Export information and
+ The Export information and
Tips page on the Processing Wiki covers the details of exporting Applications from Java mode.
@@ -589,4 +588,4 @@
Exporting from Android mode is discussed on the
Android page of the Processing Wiki.
-->
-
\ No newline at end of file
+
diff --git a/content/api_en/exit.xml b/content/api_en/exit.xml
index 1df2bb8a0..e6ee94323 100755
--- a/content/api_en/exit.xml
+++ b/content/api_en/exit.xml
@@ -22,7 +22,7 @@ void mousePressed() {
draw() function exit automatically after the last line has run, but programs with draw() run continuously until the program is manually stopped or exit() is run.
+Quits/stops/exits the program. Programs without a draw() function stop automatically after the last line has run, but programs with draw() run continuously until the program is manually stopped or exit() is run.
Rather than terminating immediately, exit() will cause the sketch to exit after draw() has completed (or after setup() completes if called during the setup() function).
diff --git a/content/api_en/expand.xml b/content/api_en/expand.xml
index 30c9d4afe..f0f020319 100755
--- a/content/api_en/expand.xml
+++ b/content/api_en/expand.xml
@@ -32,7 +32,7 @@ println(imgs.length); // Prints "64"
newSize parameter provides precise control over the increase in size.
+Increases the size of a one-dimensional array. By default, this function doubles the size of the array, but the optional newSize parameter provides precise control over the increase in size.
When using an array of objects, the data returned from the function must be cast to the object array's data type. For example: SomeClass[] items = (SomeClass[]) expand(originalArray)
]]>
diff --git a/content/api_en/fill.xml b/content/api_en/fill.xml
index 32b3dbab2..fa7f98980 100755
--- a/content/api_en/fill.xml
+++ b/content/api_en/fill.xml
@@ -25,7 +25,7 @@ rect(30, 20, 55, 55);
fill(204, 102, 0), all subsequent shapes will be filled with orange. This color is either specified in terms of the RGB or HSB color depending on the current colorMode() . (The default color space is RGB, with each value in the range from 0 to 255.)
+Sets the color used to fill shapes. For example, if you run fill(204, 102, 0) , all subsequent shapes will be filled with orange. This color is either specified in terms of the RGB or HSB color depending on the current colorMode() . The default color space is RGB, with each value in the range from 0 to 255.
When using hexadecimal notation to specify a color, use "# " or "0x " before the values (e.g., #CCFFAA or 0xFFCCFFAA ). The # syntax uses six digits to specify a color (just as colors are typically specified in HTML and CSS). When using the hexadecimal notation starting with "0x ", the hexadecimal value must be specified with eight characters; the first two characters define the alpha component, and the remainder define the red, green, and blue components.
diff --git a/content/api_en/frustum.xml b/content/api_en/frustum.xml
index 5469e611d..f9645bd5a 100755
--- a/content/api_en/frustum.xml
+++ b/content/api_en/frustum.xml
@@ -25,7 +25,7 @@ Sets a perspective matrix as defined by the parameters.
A frustum is a geometric form: a pyramid with its top cut off. With the viewer's eye at the imaginary top of the pyramid, the six planes of the frustum act as clipping planes when rendering a 3D view. Thus, any form inside the clipping planes is rendered and visible; anything outside those planes is not visible.
-Setting the frustum has the effect of changing the perspective with which the scene is rendered. This can be acheived more simply in many cases by using perspective() .
+Setting the frustum has the effect of changing the perspective with which the scene is rendered. This can be achieved more simply in many cases by using perspective() .
Note that the near value must be greater than zero (as the point of the frustum "pyramid" cannot converge "behind" the viewer). Similarly, the far value must be greater than the near value (as the "far" plane of the frustum must be "farther away" from the viewer than the near plane).
diff --git a/content/api_en/fullScreen.xml b/content/api_en/fullScreen.xml
index eb1fea958..e75bfd541 100755
--- a/content/api_en/fullScreen.xml
+++ b/content/api_en/fullScreen.xml
@@ -34,7 +34,7 @@ void draw() {
setup(). The first parameter defines the renderer to use and the second defines either an individual screen to display to or to open a full-screen window across all of the attached displays if there are more than one.
+This function is new for Processing 3.0. It opens a sketch using the full size of the computer's display. This function must be the first line in setup() . The size() and fullScreen() functions cannot both be used in the same program, just choose one.
-The size() and fullScreen() methods cannot both be used in the same program, just choose one. Prior to Processing 3.0, a full-screen program was defined with size(displayWidth, displayHeight) .
+When fullScreen() is used without a parameter, it draws the sketch to the screen currently selected inside the Preferences window. When it is used with a single parameter, this number defines the screen to display to program on (e.g. 1, 2, 3...). When used with two parameters, the first defines the renderer to use (e.g. P2D) and the second defines the screen. The SPAN parameter can be used in place of a screen number to draw the sketch as a full-screen window across all of the attached displays if there are more than one.
+
+Prior to Processing 3.0, a full-screen program was defined with size(displayWidth, displayHeight) .
]]>
diff --git a/content/api_en/get.xml b/content/api_en/get.xml
index c1307b3cd..be56dc889 100755
--- a/content/api_en/get.xml
+++ b/content/api_en/get.xml
@@ -31,10 +31,12 @@ rect(25, 25, 50, 50);
x and y parameters to get the value of one pixel. Get a section of the display window by specifying additional w and h parameters. When getting an image, the x and y parameters define the coordinates for the upper-left corner of the image, regardless of the current imageMode() .
-
+Reads the color of any pixel or grabs a section of an image. If no parameters are specified, the entire image is returned. Use the x and y parameters to get the value of one pixel. Get a section of the display window by specifying additional w and h parameters. When getting an image, the x and y parameters define the coordinates for the upper-left corner of the image, regardless of the current imageMode() .
+
If the pixel requested is outside of the image window, black is returned. The numbers returned are scaled according to the current color ranges, but only RGB values are returned by this function. For example, even though you may have drawn a shape with colorMode(HSB) , the numbers returned will be in RGB format.
+If a width and a height are specified, get(x, y, w, h) returns a PImage corresponding to the part of the original PImage where the top left pixel is at the (x, y) position with a width of w a height of h .
+
Getting the color of a single pixel with get(x, y) is easy, but not as fast as grabbing the data directly from pixels[] . The equivalent statement to get(x, y) using pixels[] is pixels[y*width+x] . See the reference for pixels[] for more information.
]]>
diff --git a/content/api_en/green.xml b/content/api_en/green.xml
index 7d3ff0566..f1c38fe88 100755
--- a/content/api_en/green.xml
+++ b/content/api_en/green.xml
@@ -27,8 +27,8 @@ Extracts the green value from a color, scaled to match current colorMode()
The green() function is easy to use and understand, but it is slower than a technique called bit shifting. When working in colorMode(RGB, 255) , you can acheive the same results as green() but with greater speed by using the right shift operator (>> ) with a bit mask. For example, the following two lines of code are equivalent means of getting the green value of the color value c :
-float r1 = green(c); // Simpler, but slower to calculate
-float r2 = c >> 8 & 0xFF; // Very fast to calculate
+float g1 = green(c); // Simpler, but slower to calculate
+float g2 = c >> 8 & 0xFF; // Very fast to calculate
]]>
diff --git a/content/api_en/hint.xml b/content/api_en/hint.xml
deleted file mode 100644
index c16ec4726..000000000
--- a/content/api_en/hint.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-hint()
-
-Rendering
-
-
-
-
-
-
-Implementing a hint() is a last resort that's used when a more elegant solution cannot be found. Some options might graduate to standard features instead of hints over time, or be added and removed between (major) releases.
-
-Hints that are used by the default (Java2D) renderer:
-
-hint(ENABLE_STROKE_PURE) - Fixes a problem with shapes that have a stroke and are rendered using small steps (for instance, using vertex() with points that are close to one another), or are drawn at small sizes.
-
-Hints for use with both P2D and P3D:
-
-hint(DISABLE_OPENGL_ERRORS) - Speeds up the P3D renderer setting by not checking for errors while running.
-
-hint(DISABLE_TEXTURE_MIPMAPS) - Disable generation of texture mipmaps in P2D or P3D. This results in lower quality - but faster - rendering of texture images when they appear smaller than their native resolutions (the mipmaps are scaled-down versions of a texture that make it look better when drawing it at a small size). However, the difference in performance is fairly minor on recent desktop video cards.
-
-Hints for use with P3D only:
-
-hint(DISABLE_DEPTH_MASK) - Disables writing into the depth buffer. This means that a shape drawn with this hint can be hidden by another shape drawn later, irrespective of their distances to the camera. Note that this is different from disabling the depth test. The depth test is still applied, as long as the DISABLE_DEPTH_TEST hint is not called, but the depth values of the objects are not recorded. This is useful when drawing a semi-transparent 3D object without depth sorting, in order to avoid visual glitches due the faces of the object being at different distances from the camera, but still having the object properly occluded by the rest of the objects in the scene.
-
-hint(ENABLE_DEPTH_SORT) - Enable primitive z-sorting of triangles and lines in P3D. This can slow performance considerably, and the algorithm is not yet perfect.
-
-hint(DISABLE_DEPTH_TEST) - Disable the zbuffer, allowing you to draw on top of everything at will. When depth testing is disabled, items will be drawn to the screen sequentially, like a painting. This hint is most often used to draw in 3D, then draw in 2D on top of it (for instance, to draw GUI controls in 2D on top of a 3D interface). When called, this will also clear the depth buffer. Restore the default with hint(ENABLE_DEPTH_TEST), but note that with the depth buffer cleared, any 3D drawing that happens later in will ignore existing shapes on the screen.
-
-hint(DISABLE_OPTIMIZED_STROKE) - It forces the P3D renderer to draw each shape (including its strokes) separately, instead of batching them into larger groups for better performance. One consequence of this is that 2D items drawn with P3D are correctly stacked on the screen, depending on the order in which they were drawn. Otherwise, glitches such as the stroke lines being drawn on top of the interior of all the shapes will occur. However, this hint can make rendering substantially slower, so it is recommended to use it only when drawing a small amount of shapes. For drawing two-dimensional scenes, use the P2D renderer instead, which doesn't need the hint to properly stack shapes and their strokes.
-
-hint(ENABLE_STROKE_PERSPECTIVE) - This causes stroke geometry (lines and points) to be affected by the perspective, meaning that they will look smaller as they move away from the camera.
-]]>
-
-
diff --git a/content/api_en/include/ArrayList.xml b/content/api_en/include/ArrayList.xml
index ea63b6262..8feb4dc3a 100644
--- a/content/api_en/include/ArrayList.xml
+++ b/content/api_en/include/ArrayList.xml
@@ -50,7 +50,7 @@ println(particles.size()); // Now one less!
// then you cannot use the enhanced loop syntax.
// In addition, when deleting in order to hit all elements,
// you should loop through it backwards, as shown here:
-for (int i = particles.size - 1; i >= 0; i--) {
+for (int i = particles.size() - 1; i >= 0; i--) {
Particle part = particles.get(i);
if (part.finished()) {
particles.remove(i);
@@ -64,7 +64,7 @@ An ArrayList stores a variable number of objects. This is similar to maki
An ArrayList is a resizable-array implementation of the Java List interface. It has many methods used to control and search its contents. For example, the length of the ArrayList is returned by its size() method, which is an integer value for the total number of elements in the list. An element is added to an ArrayList with the add() method and is deleted with the remove() method. The get() method returns the element at the specified position in the list. (See the above example for context.)
-For a list of the numerous ArrayList features, please read the Java reference description .
+For a list of the numerous ArrayList features, please read the Java reference description .
]]>
diff --git a/content/api_en/include/BufferedReader.xml b/content/api_en/include/BufferedReader.xml
index 354daa453..c7ef0855d 100644
--- a/content/api_en/include/BufferedReader.xml
+++ b/content/api_en/include/BufferedReader.xml
@@ -45,17 +45,14 @@ A BufferedReader object is used to read files line-by-line as individual
Starting with Processing release 0134, all files loaded and saved by the Processing API use UTF-8 encoding. In previous releases, the default encoding for your platform was used, which causes problems when files are moved to other platforms.
]]>
+
+
readLine()
returns a String that is the current line in the text file
-
-
-
-
-
-
+
@@ -67,8 +64,9 @@ catch
1.0
-Function
+Object
+
+PDE
-Core
diff --git a/content/api_en/include/HashMap.xml b/content/api_en/include/HashMap.xml
index 56ba42897..493e893de 100644
--- a/content/api_en/include/HashMap.xml
+++ b/content/api_en/include/HashMap.xml
@@ -22,7 +22,7 @@ hm.put("Ava", 1);
hm.put("Cait", 35);
hm.put("Casey", 36);
-// Using an enhanced loop to interate over each entry
+// Using an enhanced loop to iterate over each entry
for (Map.Entry me : hm.entrySet()) {
print(me.getKey() + " is ");
println(me.getValue());
@@ -39,7 +39,7 @@ println("Casey is " + val);
HashMap stores a collection of objects, each referenced by a key. This is similar to an Array , only instead of accessing elements with a numeric index, a String is used. (If you are familiar with associative arrays from other languages, this is the same idea.) The above example covers basic use, but there's a more extensive example included with the Processing examples. In addition, for simple pairings of Strings and integers, Strings and floats, or Strings and Strings, you can now use the simpler IntDict, FloatDict, and StringDict classes.
-For a list of the numerous HashMap features, please read the Java reference description .
+For a list of the numerous HashMap features, please read the Java reference description .
]]>
diff --git a/content/api_en/include/Object.xml b/content/api_en/include/Object.xml
index 46ff0c441..c2b5dc9dd 100755
--- a/content/api_en/include/Object.xml
+++ b/content/api_en/include/Object.xml
@@ -35,7 +35,7 @@ class HLine {
}
void update() {
ypos += speed;
- if (ypos > width) {
+ if (ypos > height) {
ypos = 0;
}
line(0, ypos, width, ypos);
diff --git a/content/api_en/include/String.xml b/content/api_en/include/String.xml
index e4c4a9625..2febbe7de 100755
--- a/content/api_en/include/String.xml
+++ b/content/api_en/include/String.xml
@@ -24,12 +24,9 @@ println(str2); // Prints "CCCP" to the console
@@ -46,11 +43,11 @@ println(quoted); // This one has "quotes"
String includes methods for examining individual characters, comparing strings, searching strings, extracting parts of strings, and for converting an entire string uppercase and lowercase. Strings are always defined inside double quotes ("Abc" ), and characters are always defined inside single quotes ('A' ).
-To compare the contents of two Strings, use the equals() method, as in if (a.equals(b)) , instead of if (a == b) . A String is an Object, so comparing them with the == operator only compares whether both Strings are stored in the same memory location. Using the equals() method will ensure that the actual contents are compared. (The troubleshooting reference has a longer explanation.)
+To compare the contents of two Strings, use the equals() method, as in if (a.equals(b)) , instead of if (a == b) . A String is an Object, so comparing them with the == operator only compares whether both Strings are stored in the same memory location. Using the equals() method will ensure that the actual contents are compared. (The troubleshooting reference has a longer explanation.)
Because a String is defined between double quotation marks, to include such marks within the String itself you must use the \ (backslash) character. (See the third example above.) This is known as an escape sequence . Other escape sequences include \t for the tab character and \n for new line. Because backslash is the escape character, to include a single backslash within a String, you must use two consecutive backslashes, as in: \\
-There are more string methods than those linked from this page. Additional documentation is located online in the official Java documentation .
+There are more string methods than those linked from this page. Additional documentation is located online in the official Java documentation .
]]>
@@ -110,7 +107,6 @@ String(data , offset , length )
int: number of characters
-
@@ -124,6 +120,4 @@ text()
PDE
-
-
diff --git a/content/api_en/include/String_substring.xml b/content/api_en/include/String_substring.xml
index 0514f23ae..40813a34c 100755
--- a/content/api_en/include/String_substring.xml
+++ b/content/api_en/include/String_substring.xml
@@ -16,8 +16,8 @@ String str1 = "CCCP";
String str2 = "Rabbit";
String ss1 = str1.substring(2); // Returns "CP"
String ss2 = str2.substring(3); // Returns "bit"
-String ss3 = str1.substring(0, 2); // Returns "CC"
-println(ss1 + ":" + ss2 + ":" + ss3); // Prints "CP:bit:CC"
+String ss3 = str2.substring(0, 2); // Returns "Ra"
+println(ss1 + ":" + ss2 + ":" + ss3); // Prints "CP:bit:Ra"
]]>
diff --git a/content/api_en/include/class.xml b/content/api_en/include/class.xml
index 45eedd292..5f1e84cab 100755
--- a/content/api_en/include/class.xml
+++ b/content/api_en/include/class.xml
@@ -46,7 +46,7 @@ class HLine {
Object-Oriented Programming is hosted on the Oracle website.
+Keyword used to indicate the declaration of a class. A class is a composite of fields (data) and methods (functions that are a part of the class) which may be instantiated as objects. The first letter of a class name is usually uppercase to separate it from other kinds of variables. A related tutorial on Object-Oriented Programming is hosted on the Oracle website.
]]>
diff --git a/content/api_en/include/color_datatype.xml b/content/api_en/include/color_datatype.xml
index 2b501bf56..0f0b7b8f0 100755
--- a/content/api_en/include/color_datatype.xml
+++ b/content/api_en/include/color_datatype.xml
@@ -23,7 +23,7 @@ rect(50, 0, 50, 100);
get() and color() or they may be specified directly using hexadecimal notation such as #FFCC00 or 0xFFFFCCOO .
+Datatype for storing color values. Colors may be assigned with get() and color() or they may be specified directly using hexadecimal notation such as #FFCC00 or 0xFFFFCC00 .
Using print() or println() on a color will produce strange results (usually negative numbers) because of the way colors are stored in memory. A better technique is to use the hex() function to format the color data, or use the red() , green() , and blue() functions to get individual values and print those. The hue() , saturation() , and brightness() functions work in a similar fashion. To extract red, green, and blue values more quickly (for instance when analyzing an image or a frame of video), use bit shifting .
diff --git a/content/api_en/include/curlybraces.xml b/content/api_en/include/curlybraces.xml
index f4f1898c9..e9984f0d7 100755
--- a/content/api_en/include/curlybraces.xml
+++ b/content/api_en/include/curlybraces.xml
@@ -26,7 +26,7 @@ void draw() {
for and if structures. Curly braces are also used for defining inital values in array declarations.
+Define the beginning and end of functions blocks and statement blocks such as the for and if structures. Curly braces are also used for defining initial values in array declarations.
]]>
diff --git a/content/api_en/include/doccomment.xml b/content/api_en/include/doccomment.xml
index bb4331414..fa036a032 100755
--- a/content/api_en/include/doccomment.xml
+++ b/content/api_en/include/doccomment.xml
@@ -22,7 +22,9 @@ line(50, 0, 50, 100);
+Doc comments may be converted into browseable documentation using external editors and tools such as the command line javadoc, doc generators such as Doxygen, or IDEs such as Eclipse, Netbeans, or IntelliJ IDEA.
]]>
diff --git a/content/api_en/include/double.xml b/content/api_en/include/double.xml
index 75ce6f466..24942764e 100644
--- a/content/api_en/include/double.xml
+++ b/content/api_en/include/double.xml
@@ -11,11 +11,11 @@
diff --git a/content/api_en/include/equality.xml b/content/api_en/include/equality.xml
index 4ddfbd69a..a47eac505 100755
--- a/content/api_en/include/equality.xml
+++ b/content/api_en/include/equality.xml
@@ -14,15 +14,16 @@
int a = 23;
int b = 23;
if (a == b) {
- println("variables a and b are equal");
+ println("the values of variables 'a' and 'b' are the same");
}
]]>
+Determines if two values are equivalent. Please note the equality operator (==) is different from the assignment operator (=) and although they look similar, they have a different use. If you're comparing two variables, the equality operator (==) only works with primitive data types like int, boolean, and char. It doesn't work with composite data types like Array, Table, and PVector.
+
+Note that when comparing String objects, you must use the equals() method instead of ==. See the reference for String or the troubleshooting note for more explanation.
-Note that when comparing String objects, you must use the equals() method instead of == to compare their contents. See the reference for String or the troubleshooting note for more explanation.
]]>
diff --git a/content/api_en/include/float.xml b/content/api_en/include/float.xml
index 8457a6362..134cb33f4 100755
--- a/content/api_en/include/float.xml
+++ b/content/api_en/include/float.xml
@@ -21,15 +21,18 @@ float c = a + b; // Declare variable 'c' and assign it the sum of 'a' and 'b'
@@ -38,7 +41,7 @@ Data type for floating-point numbers, e.g. numbers that have a decimal point.
Floats are not precise, so adding small values (such as 0.0001) may not always increment precisely due to rounding errors. If you want to increment a value in small intervals, use an int , and divide by a float value before using it. (See the second example above.)
-Floating-point numbers can be as large as 3.40282347E+38 and as low as -3.40282347E+38. They are stored as 32 bits (4 bytes) of information. The float data type is inherited from Java; you can read more about the technical details here and here .
+Floating-point numbers can be as large as 3.40282347E+38 and as low as -3.40282347E+38. They are stored as 32 bits (4 bytes) of information. The float data type is inherited from Java; you can read more about the technical details here and here .
Processing supports the double datatype from Java as well. However, none of the Processing functions use double values, which use more memory and are typically overkill for most work created in Processing. We do not plan to add support for double values, as doing so would require increasing the number of API functions significantly.
]]>
diff --git a/content/api_en/include/hint.xml b/content/api_en/include/hint.xml
new file mode 100644
index 000000000..a48311069
--- /dev/null
+++ b/content/api_en/include/hint.xml
@@ -0,0 +1,94 @@
+
+
+hint()
+
+Rendering
+
+
+
+function
+
+
+
+
+
+
+hint() to allow people to tune the settings for their particular sketch. Implementing a hint() is a last resort that's used when a more elegant solution cannot be found. Some options might graduate to standard features instead of hints over time, or be added and removed between (major) releases.
+
+
+Hints used by the default renderer:
+
+ENABLE_STROKE_PURE
+Fixes a problem with shapes that have a stroke and are rendered using small steps (for instance, using vertex() with points that are close to one another), or are drawn at small sizes.
+
+
+Hints for use with P2D and P3D:
+
+DISABLE_ASYNC_SAVEFRAME
+save() and saveFrame() will not use separate threads for saving and will block until the image is written to the drive. This was the default behavior in 3.0b7 and before. To enable, call hint(ENABLE_ASYNC_SAVEFRAME).
+
+DISABLE_OPENGL_ERRORS
+Speeds up the P3D renderer setting by not checking for errors while running.
+
+DISABLE_TEXTURE_MIPMAPS
+Disable generation of texture mipmaps in P2D or P3D. This results in lower quality - but faster - rendering of texture images when they appear smaller than their native resolutions (the mipmaps are scaled-down versions of a texture that make it look better when drawing it at a small size). However, the difference in performance is fairly minor on recent desktop video cards.
+
+
+Hints for use with P3D only:
+
+DISABLE_DEPTH_MASK
+Disables writing into the depth buffer. This means that a shape drawn with this hint can be hidden by another shape drawn later, irrespective of their distances to the camera. Note that this is different from disabling the depth test. The depth test is still applied, as long as the DISABLE_DEPTH_TEST hint is not called, but the depth values of the objects are not recorded. This is useful when drawing a semi-transparent 3D object without depth sorting, in order to avoid visual glitches due the faces of the object being at different distances from the camera, but still having the object properly occluded by the rest of the objects in the scene.
+
+ENABLE_DEPTH_SORT
+Enable primitive z-sorting of triangles and lines in P3D. This can slow performance considerably, and the algorithm is not yet perfect.
+
+DISABLE_DEPTH_TEST
+Disable the zbuffer, allowing you to draw on top of everything at will. When depth testing is disabled, items will be drawn to the screen sequentially, like a painting. This hint is most often used to draw in 3D, then draw in 2D on top of it (for instance, to draw GUI controls in 2D on top of a 3D interface). When called, this will also clear the depth buffer. Restore the default with hint(ENABLE_DEPTH_TEST) , but note that with the depth buffer cleared, any 3D drawing that happens later in will ignore existing shapes on the screen.
+
+DISABLE_OPTIMIZED_STROKE
+Forces the P3D renderer to draw each shape (including its strokes) separately, instead of batching them into larger groups for better performance. One consequence of this is that 2D items drawn with P3D are correctly stacked on the screen, depending on the order in which they were drawn. Otherwise, glitches such as the stroke lines being drawn on top of the interior of all the shapes will occur. However, this hint can make rendering substantially slower, so it is recommended to use it only when drawing a small amount of shapes. For drawing two-dimensional scenes, use the P2D renderer instead, which doesn't need the hint to properly stack shapes and their strokes.
+
+ENABLE_STROKE_PERSPECTIVE
+Enables stroke geometry (lines and points) to be affected by the perspective, meaning that they will look smaller as they move away from the camera.
+]]>
+
+
+hint(which)
+
+
+
+which
+
+
+
+void
+
+
+PGraphics
+createGraphics()
+size()
+
+
+1.0
+
+Function
+
+PDE
+
+
diff --git a/content/api_en/include/import.xml b/content/api_en/include/import.xml
index f2d50946f..453a63a37 100644
--- a/content/api_en/include/import.xml
+++ b/content/api_en/include/import.xml
@@ -14,7 +14,7 @@
import processing.pdf.*;
void setup() {
- size(screenWidth, screenHeight, PDF);
+ size(1024, 768, PDF);
}
void draw() {
@@ -54,10 +54,4 @@ import libraryName
PDE
-
-
-
-
-
-
diff --git a/content/api_en/include/intconvert.xml b/content/api_en/include/intconvert.xml
index f14376165..56ba6ddb8 100755
--- a/content/api_en/include/intconvert.xml
+++ b/content/api_en/include/intconvert.xml
@@ -20,7 +20,7 @@ println(c + " : " + i); // Prints "E : 69"
boolean, byte , char , color , float , int , or long ) to its integer representation.
+Converts any value of a primitive data type (boolean , byte , char , color , float , int , or long ) or String to its integer representation.
When an array of values is passed in, then an int array of the same length is returned.
]]>
diff --git a/content/api_en/include/logicalNOT.xml b/content/api_en/include/logicalNOT.xml
index e82486c18..d67ec2154 100755
--- a/content/api_en/include/logicalNOT.xml
+++ b/content/api_en/include/logicalNOT.xml
@@ -15,7 +15,20 @@ boolean a = false;
if (!a) {
rect(30, 20, 50, 50);
}
-a = true;
+if (a) {
+ line(20, 10, 90, 80);
+ line(20, 80, 90, 10);
+}
+]]>
+
+
+
+logicalNOT_2.png
+
long integer has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (stored as 64 bits). Use this datatype when you need a number to have a greater magnitude than can be stored within an int . Processing functions don't use this datatype, so while they work in the language, you'll usually have to convert to a int using the (int) syntax before passing into a function.
+Datatype for large integers. While integers can be as large as 2,147,483,647 and as low as -2,147,483,648 (stored as 32 bits), a long integer has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (stored as 64 bits). Use this datatype when you need a number to have a greater magnitude than can be stored within an int . When assigning literal values that are larger than this magnitude, it is necessary to also append the qualifier "L" to the number, as shown in the example above. Processing functions don't use this datatype, so while they work in the language, you'll usually have to convert to a int using the (int) syntax before passing into a function.
]]>
diff --git a/content/api_en/include/multilinecomment.xml b/content/api_en/include/multilinecomment.xml
index bd88002cb..a1c9dd6a1 100755
--- a/content/api_en/include/multilinecomment.xml
+++ b/content/api_en/include/multilinecomment.xml
@@ -22,7 +22,7 @@ line(50, 0, 50, 100);
diff --git a/content/api_en/include/multiply.xml b/content/api_en/include/multiply.xml
index 20c71bb1f..a125ad6fd 100755
--- a/content/api_en/include/multiply.xml
+++ b/content/api_en/include/multiply.xml
@@ -37,7 +37,7 @@ Multiplies the values of the two parameters. Multiplication is equivalent to a s
-+ (add)
++ (addition)
/ (divide)
@@ -48,10 +48,4 @@ Multiplies the values of the two parameters. Multiplication is equivalent to a s
PDE
-
-
-
-
-
-
diff --git a/content/api_en/include/private.xml b/content/api_en/include/private.xml
index 254857f60..b7ba6301f 100644
--- a/content/api_en/include/private.xml
+++ b/content/api_en/include/private.xml
@@ -9,7 +9,7 @@
Web & Application
private keyword is used before a field or method that you want to be available only within the class. In Processing, all fields and methods are public unless otherwise specified by the private keyword.
+This keyword is used to disallow other classes access to the fields and methods within a class. The private keyword is used before a field or method that you want to be available only within the class. In Processing, all fields and methods are public unless otherwise specified by the private keyword.
This keyword is an essential part of Java programming and is not usually used with Processing. Consult a Java language reference or tutorial for more information.
]]>
diff --git a/content/api_en/include/rightshift.xml b/content/api_en/include/rightshift.xml
index 27526643b..06437e001 100755
--- a/content/api_en/include/rightshift.xml
+++ b/content/api_en/include/rightshift.xml
@@ -37,7 +37,7 @@ rect(30, 20, 55, 55);
Bit shifting is helpful when using the color data type. A right shift can extract red, green, blue, and alpha values from a color. A left shift can be used to quickly reassemble a color value (more quickly than the color() function).
]]>
diff --git a/content/api_en/include/setLocation.xml b/content/api_en/include/setLocation.xml
new file mode 100644
index 000000000..c54f0ee04
--- /dev/null
+++ b/content/api_en/include/setLocation.xml
@@ -0,0 +1,60 @@
+
+
+setLocation()
+
+Structure
+
+
+
+function
+
+
+
+
+
+
+setLocation() function defines the position of the Processing sketch in relation to the upper-left corner of the computer screen.
+
+There are more features of PSurface documented in the Processing JavaDoc.
+]]>
+
+
+surface.setLocation(x, y)
+
+
+
+x
+
+
+
+
+y
+
+
+
+void
+
+
+
+
+3.0
+
+Function
+
+PDE
+
+
diff --git a/content/api_en/include/setResizable.xml b/content/api_en/include/setResizable.xml
new file mode 100644
index 000000000..3b4261790
--- /dev/null
+++ b/content/api_en/include/setResizable.xml
@@ -0,0 +1,55 @@
+
+
+setResizable()
+
+Structure
+
+
+
+function
+
+
+
+
+
+
+surface.setResizable(true) is used within a sketch, the window can be resized while it's running.
+
+There are more features of PSurface documented in the Processing JavaDoc.
+]]>
+
+
+surface.setResizable(resizable)
+
+
+
+resizable
+
+
+
+void
+
+
+
+
+3.0
+
+Function
+
+PDE
+
+
diff --git a/content/api_en/include/setTitle.xml b/content/api_en/include/setTitle.xml
new file mode 100644
index 000000000..1c18e6d22
--- /dev/null
+++ b/content/api_en/include/setTitle.xml
@@ -0,0 +1,55 @@
+
+
+setTitle()
+
+Structure
+
+
+
+function
+
+
+
+
+
+
+setTitle() function defines the title to appear at the top of the sketch window.
+
+There are more features of PSurface documented in the Processing JavaDoc.
+]]>
+
+
+surface.setTitle(title)
+
+
+
+title
+
+
+
+void
+
+
+
+
+3.0
+
+Function
+
+PDE
+
+
diff --git a/content/api_en/include/strconvert.xml b/content/api_en/include/strconvert.xml
index 2126306f9..e81be07c5 100755
--- a/content/api_en/include/strconvert.xml
+++ b/content/api_en/include/strconvert.xml
@@ -29,7 +29,7 @@ println(sb); // Prints 'false-28R-32.61024'
boolean, byte , char , color , double , float , int , or long ) to its String representation. For example, converting an integer with str(3) will return the String value of "3" , converting a float with str(-12.6) will return "-12.6" , and converting a boolean with str(true) will return "true" .
+Converts a value of a primitive data type (boolean , byte , char , int , or float ) to its String representation. For example, converting an integer with str(3) will return the String value of "3" , converting a float with str(-12.6) will return "-12.6" , and converting a boolean with str(true) will return "true" .
When an array of values is passed in, then a String array of the same length is returned.
]]>
diff --git a/content/api_en/key.xml b/content/api_en/key.xml
index 72693c50b..0b7d3bde0 100755
--- a/content/api_en/key.xml
+++ b/content/api_en/key.xml
@@ -30,7 +30,9 @@ void draw() {
key always contains the value of the most recent key on the keyboard that was used (either pressed or released).
-For non-ASCII keys, use the keyCode variable. The keys included in the ASCII specification (BACKSPACE, TAB, ENTER, RETURN, ESC, and DELETE) do not require checking to see if they key is coded, and you should simply use the key variable instead of keyCode If you're making cross-platform projects, note that the ENTER key is commonly used on PCs and Unix and the RETURN key is used instead on Macintosh. Check for both ENTER and RETURN to make sure your program will work for all platforms.
+For non-ASCII keys, use the keyCode variable. The keys included in the ASCII specification (BACKSPACE, TAB, ENTER, RETURN, ESC, and DELETE) do not require checking to see if the key is coded, and you should simply use the key variable instead of keyCode If you're making cross-platform projects, note that the ENTER key is commonly used on PCs and Unix and the RETURN key is used instead on Macintosh. Check for both ENTER and RETURN to make sure your program will work for all platforms.
+
+There are issues with how keyCode behaves across different renderers and operating systems. Watch out for unexpected behavior as you switch renderers and operating systems.
]]>
diff --git a/content/api_en/keyCode.xml b/content/api_en/keyCode.xml
index 0b7facaec..8a3cd3d2f 100755
--- a/content/api_en/keyCode.xml
+++ b/content/api_en/keyCode.xml
@@ -33,13 +33,17 @@ void keyPressed() {
keyCode is used to detect special keys such as the arrow keys (UP, DOWN, LEFT, and RIGHT) as well as ALT, CONTROL, SHIFT, PAGE_UP, PAGE_DOWN, HOME, and END.
+The variable keyCode is used to detect special keys such as the arrow keys (UP, DOWN, LEFT, and RIGHT) as well as ALT, CONTROL, and SHIFT.
When checking for these keys, it can be useful to first check if the key is coded. This is done with the conditional if (key == CODED) , as shown in the example above.
The keys included in the ASCII specification (BACKSPACE, TAB, ENTER, RETURN, ESC, and DELETE) do not require checking to see if the key is coded; for those keys, you should simply use the key variable directly (and not keyCode ). If you're making cross-platform projects, note that the ENTER key is commonly used on PCs and Unix, while the RETURN key is used on Macs. Make sure your program will work on all platforms by checking for both ENTER and RETURN.
-For those familiar with Java, the values for UP and DOWN are simply shorter versions of Java's KeyEvent.VK_UP and KeyEvent.VK_DOWN . Other keyCode values can be found in the Java KeyEvent reference.
+For those familiar with Java, the values for UP and DOWN are simply shorter versions of Java's KeyEvent.VK_UP and KeyEvent.VK_DOWN . Other keyCode values can be found in the Java KeyEvent reference.
+
+There are issues with how keyCode behaves across different renderers and operating systems. Watch out for unexpected behavior as you switch renderers and operating systems and you are using keys are aren't mentioned in this reference entry.
+
+If you are using P2D or P3D as your renderer, use the NEWT KeyEvent constants .
]]>
diff --git a/content/api_en/keyPressed.xml b/content/api_en/keyPressed.xml
index 224ed7da8..9cc506b40 100755
--- a/content/api_en/keyPressed.xml
+++ b/content/api_en/keyPressed.xml
@@ -41,6 +41,8 @@ Because of how operating systems handle key repeats, holding down a key may caus
Note that there is a similarly named boolean variable called keyPressed . See its reference page for more information.
Mouse and keyboard events only work when a program has draw() . Without draw() , the code is only run once and then stops listening for events.
+
+With the release of macOS Sierra, Apple changed how key repeat works, so keyPressed may not function as expected. See here for details of the problem and how to fix it.
]]>
diff --git a/content/api_en/launch.xml b/content/api_en/launch.xml
index 464902f0a..87b86e389 100755
--- a/content/api_en/launch.xml
+++ b/content/api_en/launch.xml
@@ -27,36 +27,14 @@ void mousePressed() {
]]>
-
-
-
-
-
-
filename parameter is a String specifying the file name and location. The location parameter must be a full path name, or the name of an executable in the system's PATH. In most cases, using a full path is the best option, rather than relying on the system PATH. Be sure to make the file executable before attempting to open it (chmod +x).
-
-The argv parameter is a String or String array which is passed to the command line. If you have multiple parameters, e.g. an application and a document, or a command with multiple switches, use the version that takes a String array, and place each individual item in a separate element.
-
-If argv is a String (not an array), then it can only be a single file or application with no parameters. It's not the same as executing that String using a shell. For instance, open("jikes -help") will not work properly.
-
-This function behaves differently on each platform. On Windows, the parameters are sent to the Windows shell via "cmd /c". On Mac OS X, the "open" command is used (type "man open" in Terminal.app for documentation). On Linux, it first tries gnome-open, then kde-open, but if neither are available, it sends the command to the shell without any alterations.
-
-For users familiar with Java, this is not quite the same as Runtime.exec(), because the launcher command is prepended. Instead, the exec(String[]) function is a shortcut for Runtime.getRuntime.exec(String[]).
+Attempts to open an application or file using your platform's launcher. The filename parameter is a String specifying the file name and location. The location parameter must be a full path name, or the name of an executable in the system's PATH. In most cases, using a full path is the best option, rather than relying on the system PATH. Be sure to make the file executable before attempting to open it (chmod +x).
+
+This function (roughly) emulates what happens when you double-click an application or document in the macOS Finder, the Windows Explorer, or your favorite Linux file manager. If you're trying to run command line functions directly, use the exec() function instead (see below).
+
+This function behaves differently on each platform. On Windows, the parameters are sent to the Windows shell via "cmd /c". On Mac OS X, the "open" command is used (type "man open" in Terminal.app for documentation). On Linux, it first tries gnome-open, then kde-open, but if neither are available, it sends the command to the shell and prays that something useful happens.
+
+For users familiar with Java, this is not the same as Runtime.exec(), because the launcher command is prepended. Instead, the exec(String[]) function is a shortcut for Runtime.getRuntime.exec(String[]). The exec() function is documented in the JavaDoc in the PApplet class.
]]>
diff --git a/content/api_en/lerpColor.xml b/content/api_en/lerpColor.xml
index 07e24aa29..99ab9f4f4 100755
--- a/content/api_en/lerpColor.xml
+++ b/content/api_en/lerpColor.xml
@@ -29,7 +29,7 @@ rect(70, 20, 20, 60);
amt parameter is the amount to interpolate between the two values where 0.0 equal to the first point, 0.1 is very near the first point, 0.5 is halfway in between, etc.
+Calculates a color between two colors at a specific increment. The amt parameter is the amount to interpolate between the two values where 0.0 is equal to the first point, 0.1 is very near the first point, 0.5 is halfway in between, etc.
An amount below 0 will be treated as 0. Likewise, amounts above 1 will be capped at 1. This is different from the behavior of lerp(), but necessary because otherwise numbers outside the range will produce strange and unexpected colors.
]]>
diff --git a/content/api_en/libraries/index.html b/content/api_en/libraries/index.html
index c33c26703..e507a7c8b 100644
--- a/content/api_en/libraries/index.html
+++ b/content/api_en/libraries/index.html
@@ -16,7 +16,12 @@
Send and receive data over the Internet through simple clients and servers.
-
+
+
+
+ Create SVG files.
+
+
Send data between Processing and external hardware through serial communication (RS-232).
@@ -37,7 +42,12 @@
Playback audio files, audio input, synthesize sound, and effects.
-
+
+
+
+ Access peripherals on the Raspberry Pi and other Linux-based computers
+
+
diff --git a/content/api_en/loadJSONArray.xml b/content/api_en/loadJSONArray.xml
index d7b7444ac..da22530e9 100755
--- a/content/api_en/loadJSONArray.xml
+++ b/content/api_en/loadJSONArray.xml
@@ -13,24 +13,26 @@
pixels[] array. This function must always be called before reading from or writing to pixels[] .
-
-Certain renderers may or may not seem to require loadPixels() or updatePixels() . However, the rule is that any time you want to manipulate the pixels[] array, you must first call loadPixels() , and after changes have been made, call updatePixels() . Even if the renderer may not seem to use this function in the current Processing release, this will always be subject to change.
+Loads the pixel data of the current display window into the pixels[] array. This function must always be called before reading from or writing to pixels[] . Subsequent changes to the display window will not be reflected in pixels until loadPixels() is called again.
]]>
diff --git a/content/api_en/loadStrings.xml b/content/api_en/loadStrings.xml
index 50a71d6cf..321fa0140 100755
--- a/content/api_en/loadStrings.xml
+++ b/content/api_en/loadStrings.xml
@@ -11,7 +11,7 @@
.tsv.
+Reads the contents of a file or URL and creates an Table object with its values. If a file is specified, it must be located in the sketch's "data" folder. The filename parameter can also be a URL to a file found online. The filename must either end in an extension or an extension must be specified in the options parameter. For example, to use tab-separated data, include "tsv" in the options parameter if the filename or URL does not end in .tsv . Note: If an extension is in both places, the extension in the options is used.
+
+If the file contains a header row, include "header" in the options parameter. If the file does not have a header row, then simply omit the "header" option.
-If the file contains a header row, include "header" in the options parameter. If the file does not have a header row, then simply omit the "header" option.
+Some CSV files contain newline (CR or LF) characters inside cells. This is rare, but adding the "newlines" option will handle them properly. (This is not enabled by default because the parsing code is much slower.)
-When specifying both a header and the file type, separate the options with commas, as in: loadTable("data.csv", "header, tsv")
+When specifying multiple options, separate them with commas, as in: loadTable("data.csv", "header, tsv")
All files loaded and saved by the Processing API use UTF-8 encoding.
]]>
diff --git a/content/api_en/loadXML.xml b/content/api_en/loadXML.xml
index 07002b68d..6290c6e28 100755
--- a/content/api_en/loadXML.xml
+++ b/content/api_en/loadXML.xml
@@ -46,7 +46,7 @@ void setup() {
-All files loaded and saved by the Processing API use UTF-8 encoding. If you need to load an XML file that's not in UTF-8 format, see the developer's reference for the XML object.
+All files loaded and saved by the Processing API use UTF-8 encoding. If you need to load an XML file that's not in UTF-8 format, see the developer's reference for the XML object.
]]>
diff --git a/content/api_en/match.xml b/content/api_en/match.xml
index 1db3a9f3a..92d1b2fdf 100755
--- a/content/api_en/match.xml
+++ b/content/api_en/match.xml
@@ -51,7 +51,7 @@ To use the function, first check to see if the result is null. If the result is
If there are groups (specified by sets of parentheses) in the regular expression, then the contents of each will be returned in the array. Element [0] of a regular expression match returns the entire matching string, and the match groups start at element [1] (the first group is [1], the second [2], and so on).
-The syntax can be found in the reference for Java's Pattern class. For regular expression syntax, read the Java Tutorial on the topic.
+The syntax can be found in the reference for Java's Pattern class. For regular expression syntax, read the Java Tutorial on the topic.
]]>
diff --git a/content/api_en/matchAll.xml b/content/api_en/matchAll.xml
index 56feb6b5b..4f0345fbe 100644
--- a/content/api_en/matchAll.xml
+++ b/content/api_en/matchAll.xml
@@ -33,7 +33,7 @@ To use the function, first check to see if the result is null. If the result is
If there are groups (specified by sets of parentheses) in the regular expression, then the contents of each will be returned in the array. Assuming a loop with counter variable i, element [i][0] of a regular expression match returns the entire matching string, and the match groups start at element [i][1] (the first group is [i][1], the second [i][2], and so on).
-The syntax can be found in the reference for Java's Pattern class. For regular expression syntax, read the Java Tutorial on the topic.
+The syntax can be found in the reference for Java's Pattern class. For regular expression syntax, read the Java Tutorial on the topic.
]]>
diff --git a/content/api_en/mouseReleased.xml b/content/api_en/mouseReleased.xml
index 7d10362ba..2905cbf99 100755
--- a/content/api_en/mouseReleased.xml
+++ b/content/api_en/mouseReleased.xml
@@ -6,7 +6,7 @@
Mouse
-
+p5function
diff --git a/content/api_en/mouseWheel.xml b/content/api_en/mouseWheel.xml
index 02c01cd7a..0a2344176 100755
--- a/content/api_en/mouseWheel.xml
+++ b/content/api_en/mouseWheel.xml
@@ -26,7 +26,7 @@ void mouseWheel(MouseEvent event) {
mouseWheel() function returns positive values when the mouse wheel is rotated down (toward the user), and negative values for the other direction (up or away from the user). On OS X with "natural" scrolling enabled, the values are opposite.
+The code within the mouseWheel() event function is run when the mouse wheel is moved. (Some mice don't have wheels and this function is only applicable with mice that have a wheel.) The getCount() function used within mouseWheel() returns positive values when the mouse wheel is rotated down (toward the user), and negative values for the other direction (up or away from the user). On OS X with "natural" scrolling enabled, the values are opposite.
Mouse and keyboard events only work when a program has draw() . Without draw() , the code is only run once and then stops listening for events.
]]>
diff --git a/content/api_en/nf.xml b/content/api_en/nf.xml
index f1e6123dd..295db43ac 100755
--- a/content/api_en/nf.xml
+++ b/content/api_en/nf.xml
@@ -26,11 +26,16 @@ String se = nf(e, 5, 3);
println(se); // Prints "00040.200"
String sf = nf(f, 3, 5);
println(sf); // Prints "009.01200"
+
+String sf2 = nf(f, 0, 5);
+println(sf2); // Prints "9.01200"
+String sf3 = nf(f, 0, 2);
+println(sf3); // Prints "9.01"
]]>
digits, left , and right parameters should always be positive integers. As shown in the above example, nf() is used to add zeros to the left and/or right of a number. This is typically for aligning a list of numbers. To remove digits from a floating-point number, use the int() , ceil() , floor() , or round() functions.
+Utility function for formatting numbers into strings. There are two versions: one for formatting floats, and one for formatting ints. The values for the digits and right parameters should always be positive integers. The left parameter should be positive or 0. If it is zero, only the right side is formatted. As shown in the above example, nf() is used to add zeros to the left and/or right of a number. This is typically for aligning a list of numbers. To remove digits from a floating-point number, use the int() , ceil() , floor() , or round() functions.
]]>
diff --git a/content/api_en/nfc.xml b/content/api_en/nfc.xml
index 7eb3d6803..c65a5886b 100755
--- a/content/api_en/nfc.xml
+++ b/content/api_en/nfc.xml
@@ -21,9 +21,24 @@ println(fi); // Prints "42,525.34"
]]>
+
+
+
+
+
right parameter should always be a positive integer.
-
+Utility function for formatting numbers into strings and placing appropriate commas to mark units of 1000. There are four versions: one for formatting ints, one for formatting an array of ints, one for formatting floats, and one for formatting an array of floats.
+
+The value for the right parameter should always be a positive integer.
+
For a non-US locale, this will insert periods instead of commas, or whatever is apprioriate for that region.
]]>
diff --git a/content/api_en/noClip.xml b/content/api_en/noClip.xml
index 8c45b46a0..71e932b48 100644
--- a/content/api_en/noClip.xml
+++ b/content/api_en/noClip.xml
@@ -14,14 +14,13 @@
smooth() is active by default, so it is necessary to call noSmooth() to disable smoothing of geometry, fonts, and images. Since the release of Processing 3.0, the noSmooth() function can only be run once for each sketch, either at the top of a sketch without a setup() , or after the size() function when used in a sketch with setup() . See the examples above for both scenarios.
+Draws all geometry and fonts with jagged (aliased) edges and images with hard edges between the pixels when enlarged rather than interpolating pixels. Note that smooth() is active by default, so it is necessary to call noSmooth() to disable smoothing of geometry, fonts, and images. Since the release of Processing 3.0, the noSmooth() function can only be run once for each sketch, either at the top of a sketch without a setup() , or after the size() function when used in a sketch with setup() . See the examples above for both scenarios.
]]>
diff --git a/content/api_en/noise.xml b/content/api_en/noise.xml
index f5c2822f3..c7435b714 100755
--- a/content/api_en/noise.xml
+++ b/content/api_en/noise.xml
@@ -25,13 +25,12 @@ void draw() {
random() function. It was invented by Ken Perlin in the 1980s and has been used in graphical applications to generate procedural textures, shapes, terrains, and other seemingly organic forms.
+Returns the Perlin noise value at specified coordinates. Perlin noise is a random sequence generator producing a more natural, harmonic succession of numbers than that of the standard random() function. It was developed by Ken Perlin in the 1980s and has been used in graphical applications to generate procedural textures, shapes, terrains, and other seemingly organic forms.
In contrast to the random() function, Perlin noise is defined in an infinite n-dimensional space, in which each pair of coordinates corresponds to a fixed semi-random value (fixed only for the lifespan of the program). The resulting value will always be between 0.0 and 1.0. Processing can compute 1D, 2D and 3D noise, depending on the number of coordinates given. The noise value can be animated by moving through the noise space, as demonstrated in the first example above. The 2nd and 3rd dimensions can also be interpreted as time.
The actual noise structure is similar to that of an audio signal, in respect to the function's use of frequencies. Similar to the concept of harmonics in physics, Perlin noise is computed over several octaves which are added together for the final result.
-Another way to adjust the character of the resulting sequence is the scale of the input coordinates. As the function works within an infinite space, the value of the coordinates doesn't matter as such; only the distance between successive coordinates is important (such as when using noise() within a loop). As a general rule, the smaller the difference between coordinates, the smoother the resulting noise sequence. Steps of 0.005-0.03 work best for most applications, but this will differ depending on use.
+Another way to adjust the character of the resulting sequence is the scale of the input coordinates. As the function works within an infinite space, the value of the coordinates doesn't matter as such; only the distance between successive coordinates is important (such as when using noise() within a loop). As a general rule, the smaller the difference between coordinates, the smoother the resulting noise sequence. Steps of 0.005-0.03 work best for most applications, but this will differ depending on use.
+
+There have been debates over the accuracy of the implementation of noise in Processing. For clarification, it's an implementation of "classic Perlin noise" from 1983, and not the newer "simplex noise" method from 2001.
]]>
diff --git a/content/api_en/noiseDetail.xml b/content/api_en/noiseDetail.xml
index b770659f0..dfd0d0633 100755
--- a/content/api_en/noiseDetail.xml
+++ b/content/api_en/noiseDetail.xml
@@ -31,7 +31,7 @@ void draw() {
+Adjusts the character and level of detail produced by the Perlin noise function. Similar to harmonics in physics, noise is computed over several octaves. Lower octaves contribute more to the output signal and as such define the overall intensity of the noise, whereas higher octaves create finer-grained details in the noise sequence.
By default, noise is computed over 4 octaves with each octave contributing exactly half than its predecessor, starting at 50% strength for the first octave. This falloff amount can be changed by adding an additional function parameter. For example, a falloff factor of 0.75 means each octave will now have 75% impact (25% less) of the previous lower octave. While any number between 0.0 and 1.0 is valid, note that values greater than 0.5 may result in noise() returning values greater than 1.0.
diff --git a/content/api_en/ortho.xml b/content/api_en/ortho.xml
index d9a0fc93f..41cfe21b4 100755
--- a/content/api_en/ortho.xml
+++ b/content/api_en/ortho.xml
@@ -13,7 +13,7 @@
diff --git a/content/api_en/parseJSONArray.xml b/content/api_en/parseJSONArray.xml
new file mode 100755
index 000000000..cdb4a4832
--- /dev/null
+++ b/content/api_en/parseJSONArray.xml
@@ -0,0 +1,39 @@
+
+
+parseJSONArray()
+
+Input
+
+Files
+
+
+
+
+
+
+
+
+String, parses its contents, and returns a JSONArray . If the String does not contain JSONArray data or cannot be parsed, a null value is returned.
+
+parseJSONArray() is most useful when pulling data dynamically, such as from third-party APIs. Normally, API results would be saved to a String , and then can be converted to a structured JSONArray using parseJSONArray() . Be sure to check if null is returned before performing operations on the new JSONArray in case the String content could not be parsed.
+
+If your data already exists as a JSON file in the data folder, it is simpler to use loadJSONArray() .
+]]>
+
+
diff --git a/content/api_en/parseJSONObject.xml b/content/api_en/parseJSONObject.xml
new file mode 100755
index 000000000..45a6c02bb
--- /dev/null
+++ b/content/api_en/parseJSONObject.xml
@@ -0,0 +1,39 @@
+
+
+parseJSONObject()
+
+Input
+
+Files
+
+
+
+
+
+
+
+
+String, parses its contents, and returns a JSONObject . If the String does not contain JSONObject data or cannot be parsed, a null value is returned.
+
+parseJSONObject() is most useful when pulling data dynamically, such as from third-party APIs. Normally, API results would be saved to a String , and then can be converted to a structured JSONObject using parseJSONObject() . Be sure to check if null is returned before performing operations on the new JSONObject in case the String content could not be parsed.
+
+If your data already exists as a JSON file in the data folder, it is simpler to use loadJSONObject() .
+]]>
+
+
diff --git a/content/api_en/pixelDensity.xml b/content/api_en/pixelDensity.xml
index f757532ef..35b15bac1 100755
--- a/content/api_en/pixelDensity.xml
+++ b/content/api_en/pixelDensity.xml
@@ -37,8 +37,30 @@ void draw() {
]]>
+
+
+
+
+
size() in a program without a setup() and used within setup() when a program has one.
+This function is new with Processing 3.0. It makes it possible for Processing to render using all of the pixels on high resolutions screens like Apple Retina displays and Windows High-DPI displays. This function can only be run once within a program and it must be used right after size() in a program without a setup() and used within setup() when a program has one. The pixelDensity() should only be used with hardcoded numbers (in almost all cases this number will be 2) or in combination with displayDensity() as in the third example above.
+
+When the pixel density is set to more than 1, it changes all of the pixel operations including the way get() , set() , blend() , copy() , and updatePixels() all work. See the reference for pixelWidth and pixelHeight for more information.
+
+To use variables as the arguments to pixelDensity() function, place the pixelDensity() function within the settings() function. There is more information about this on the settings() reference page.
]]>
diff --git a/content/api_en/pixelHeight.xml b/content/api_en/pixelHeight.xml
index 007bf5ecf..1a2e15e63 100755
--- a/content/api_en/pixelHeight.xml
+++ b/content/api_en/pixelHeight.xml
@@ -8,10 +8,41 @@
+
+
+
+
@@ -19,5 +50,4 @@ println(pixelWidth, pixelHeight);
When pixelDensity(2) is used to make use of a high resolution display (called a Retina display on OS X or high-dpi on Windows and Linux), the width and height of the sketch do not change, but the number of pixels is doubled. As a result, all operations that use pixels (like loadPixels() , get() , set() , etc.) happen in this doubled space. As a convenience, the variables pixelWidth and pixelHeight hold the actual width and height of the sketch in pixels. This is useful for any sketch that uses the pixels[] array, for instance, because the number of elements in the array will be pixelWidth*pixelHeight , not width*height .
]]>
-
-
+
\ No newline at end of file
diff --git a/content/api_en/pixelWidth.xml b/content/api_en/pixelWidth.xml
index 1c715ee9d..5f88fa136 100755
--- a/content/api_en/pixelWidth.xml
+++ b/content/api_en/pixelWidth.xml
@@ -8,10 +8,41 @@
+
+
+
+
@@ -19,4 +50,4 @@ println(pixelWidth, pixelHeight);
When pixelDensity(2) is used to make use of a high resolution display (called a Retina display on OS X or high-dpi on Windows and Linux), the width and height of the sketch do not change, but the number of pixels is doubled. As a result, all operations that use pixels (like loadPixels() , get() , set() , etc.) happen in this doubled space. As a convenience, the variables pixelWidth and pixelHeight hold the actual width and height of the sketch in pixels. This is useful for any sketch that uses the pixels[] array, for instance, because the number of elements in the array will be pixelWidth*pixelHeight , not width*height .
]]>
-
+
\ No newline at end of file
diff --git a/content/api_en/pixels.xml b/content/api_en/pixels.xml
index 5a5607c69..536f50338 100755
--- a/content/api_en/pixels.xml
+++ b/content/api_en/pixels.xml
@@ -21,9 +21,9 @@ updatePixels();
index value defines the position of a value within the array. For example, the statement color b = pixels[230] will set the variable b to be equal to the value at that location in the array.
-
-Before accessing this array, the data must loaded with the loadPixels() function. After the array data has been modified, the updatePixels() function must be run to update the changes. Without loadPixels() , running the code may (or will in future releases) result in a NullPointerException.
+The pixels[] array contains the values for all the pixels in the display window. These values are of the color datatype. This array is defined by the size of the display window. For example, if the window is 100 x 100 pixels, there will be 10,000 values and if the window is 200 x 300 pixels, there will be 60,000 values. When the pixel density is set to higher than 1 with the pixelDensity() function, these values will change. See the reference for pixelWidth or pixelHeight for more information.
+
+Before accessing this array, the data must loaded with the loadPixels() function. Failure to do so may result in a NullPointerException. Subsequent changes to the display window will not be reflected in pixels until loadPixels() is called again. After pixels has been modified, the updatePixels() function must be run to update the content of the display window.
]]>
diff --git a/content/api_en/point.xml b/content/api_en/point.xml
index ef1900aa8..6034c7f82 100755
--- a/content/api_en/point.xml
+++ b/content/api_en/point.xml
@@ -33,6 +33,12 @@ point(30, 75, -50);
z parameter requires the P3D parameter in combination with size() as shown in the above example.
+
+Use stroke() to set the color of a point() .
+
+Point appears round with the default strokeCap(ROUND) and square with strokeCap(PROJECT) . Points are invisible with strokeCap(SQUARE) (no cap).
+
+Using point() with strokeWeight(1) or smaller may draw nothing to the screen, depending on the graphics settings of the computer. Workarounds include setting the pixel using set() or drawing the point using either circle() or square() .
]]>
diff --git a/content/api_en/pop.xml b/content/api_en/pop.xml
new file mode 100644
index 000000000..743748933
--- /dev/null
+++ b/content/api_en/pop.xml
@@ -0,0 +1,51 @@
+
+
+pop()
+
+Structure
+
+
+
+
+
+
+popMatrix_.png
+
+
+
+
+popStyle_0.png
+
+
+
+pop() function restores the previous drawing style settings and transformations after push() has changed them. Note that these functions are always used together. They allow you to change the style and transformation settings and later return to what you had. When a new state is started with push(), it builds on the current style and transform information.
+
+push() stores information related to the current transformation state and style settings controlled by the following functions: rotate() , translate() , scale() , fill() , stroke() , tint() , strokeWeight() , strokeCap() , strokeJoin() , imageMode() , rectMode() , ellipseMode() , colorMode() , textAlign() , textFont() , textMode() , textSize() , textLeading() .
+
+The push() and pop() functions were added with Processing 3.5. They can be used in place of pushMatrix() , popMatrix() , pushStyles() , and popStyles() . The difference is that push() and pop() control both the transformations (rotate, scale, translate) and the drawing styles at the same time.
+]]>
+
+
diff --git a/content/api_en/print.xml b/content/api_en/print.xml
index 0f5e13438..162f82ebe 100755
--- a/content/api_en/print.xml
+++ b/content/api_en/print.xml
@@ -42,7 +42,7 @@ The print() function writes to the console area, the black rectangle at t
Using print() on an object will output null , a memory location that may look like "@10be08," or the result of the toString() method from the object that's being printed. Advanced users who want more useful output when calling print() on their own classes can add a toString() method to the class that returns a String.
-Note that the console is relatively slow. It works well for occasional messages, but does not support high-speed, real-time output (such as at 60 frames per second).
+Note that the console is relatively slow. It works well for occasional messages, but does not support high-speed, real-time output (such as at 60 frames per second). It should also be noted, that a print() within a for loop can sometimes lock up the program, and cause the sketch to freeze.
]]>
diff --git a/content/api_en/println.xml b/content/api_en/println.xml
index 464aaa022..80c273526 100755
--- a/content/api_en/println.xml
+++ b/content/api_en/println.xml
@@ -43,7 +43,7 @@ The println() function writes to the console area, the black rectangle at
Before Processing 2.1, println() was used to write array data to the console. Now, use printArray() to write array data to the console.
-Note that the console is relatively slow. It works well for occasional messages, but does not support high-speed, real-time output (such as at 60 frames per second).
+Note that the console is relatively slow. It works well for occasional messages, but does not support high-speed, real-time output (such as at 60 frames per second). It should also be noted, that a println() within a for loop can sometimes lock up the program, and cause the sketch to freeze.
]]>
diff --git a/content/api_en/push.xml b/content/api_en/push.xml
new file mode 100644
index 000000000..e926650fb
--- /dev/null
+++ b/content/api_en/push.xml
@@ -0,0 +1,51 @@
+
+
+push()
+
+Structure
+
+
+
+
+
+
+pushMatrix_.png
+
+
+
+
+pushStyle_0.png
+
+
+
+push() function saves the current drawing style settings and transformations, while pop() restores these settings. Note that these functions are always used together. They allow you to change the style and transformation settings and later return to what you had. When a new state is started with push(), it builds on the current style and transform information.
+
+push() stores information related to the current transformation state and style settings controlled by the following functions: rotate() , translate() , scale() , fill() , stroke() , tint() , strokeWeight() , strokeCap() , strokeJoin() , imageMode() , rectMode() , ellipseMode() , colorMode() , textAlign() , textFont() , textMode() , textSize() , textLeading() .
+
+The push() and pop() functions were added with Processing 3.5. They can be used in place of pushMatrix() , popMatrix() , pushStyles() , and popStyles() . The difference is that push() and pop() control both the transformations (rotate, scale, translate) and the drawing styles at the same time.
+]]>
+
+
diff --git a/content/api_en/quadraticVertex.xml b/content/api_en/quadraticVertex.xml
index 1cf51f929..c3dd03bc5 100644
--- a/content/api_en/quadraticVertex.xml
+++ b/content/api_en/quadraticVertex.xml
@@ -35,7 +35,7 @@ endShape();
quadraticVertex() defines the position of one control points and one anchor point of a Bezier curve, adding a new segment to a line or shape. The first time quadraticVertex() is used within a beginShape() call, it must be prefaced with a call to vertex() to set the first anchor point. This function must be used between beginShape() and endShape() and only when there is no MODE parameter specified to beginShape() . Using the 3D version requires rendering with P3D (see the Environment reference for more information).
+Specifies vertex coordinates for quadratic Bezier curves. Each call to quadraticVertex() defines the position of one control point and one anchor point of a Bezier curve, adding a new segment to a line or shape. The first time quadraticVertex() is used within a beginShape() call, it must be prefaced with a call to vertex() to set the first anchor point. This function must be used between beginShape() and endShape() and only when there is no MODE parameter specified to beginShape() . Using the 3D version requires rendering with P3D (see the Environment reference for more information).
]]>
diff --git a/content/api_en/resetMatrix.xml b/content/api_en/resetMatrix.xml
index 733a2803b..fb1c6ac42 100755
--- a/content/api_en/resetMatrix.xml
+++ b/content/api_en/resetMatrix.xml
@@ -9,7 +9,7 @@
-resetMatrix_.png
+
angle parameter. Angles must be specified in radians (values from 0 to TWO_PI ), or they can be converted from degrees to radians with the radians() function.
+Rotates the amount specified by the angle parameter. Angles must be specified in radians (values from 0 to TWO_PI ), or they can be converted from degrees to radians with the radians() function.
-Objects are always rotated around their relative position to the origin, and positive numbers rotate objects in a clockwise direction. Transformations apply to everything that happens afterward, and subsequent calls to the function compound the effect. For example, calling rotate(HALF_PI) once and then calling rotate(HALF_PI) a second time is the same as a single rotate(PI) . All tranformations are reset when draw() begins again.
+The coordinates are always rotated around their relative position to the origin. Positive numbers rotate objects in a clockwise direction and negative numbers rotate in the couterclockwise direction. Transformations apply to everything that happens afterward, and subsequent calls to the function compound the effect. For example, calling rotate(PI/2.0) once and then calling rotate(PI/2.0) a second time is the same as a single rotate(PI) . All tranformations are reset when draw() begins again.
Technically, rotate() multiplies the current transformation matrix by a rotation matrix. This function can be further controlled by pushMatrix() and popMatrix() .
]]>
diff --git a/content/api_en/rotateX.xml b/content/api_en/rotateX.xml
index 38618bafd..8d92559c2 100755
--- a/content/api_en/rotateX.xml
+++ b/content/api_en/rotateX.xml
@@ -29,7 +29,7 @@ rect(-26, -26, 52, 52);
angle parameter. Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. Objects are always rotated around their relative position to the origin and positive numbers rotate objects in a counterclockwise direction. Transformations apply to everything that happens after and subsequent calls to the function accumulates the effect. For example, calling rotateX(PI/2) and then rotateX(PI/2) is the same as rotateX(PI) . If rotateX() is called within the draw() , the transformation is reset when the loop begins again. This function requires using P3D as a third parameter to size() as shown in the example above.
+Rotates around the x-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() function. Coordinates are always rotated around their relative position to the origin. Positive numbers rotate in a clockwise direction and negative numbers rotate in a counterclockwise direction. Transformations apply to everything that happens after and subsequent calls to the function accumulates the effect. For example, calling rotateX(PI/2) and then rotateX(PI/2) is the same as rotateX(PI) . If rotateX() is run within the draw() , the transformation is reset when the loop begins again. This function requires using P3D as a third parameter to size() as shown in the example above.
]]>
diff --git a/content/api_en/rotateY.xml b/content/api_en/rotateY.xml
index 1f4728184..dc6c35d75 100755
--- a/content/api_en/rotateY.xml
+++ b/content/api_en/rotateY.xml
@@ -29,7 +29,7 @@ rect(-26, -26, 52, 52);
angle parameter. Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. Objects are always rotated around their relative position to the origin and positive numbers rotate objects in a counterclockwise direction. Transformations apply to everything that happens after and subsequent calls to the function accumulates the effect. For example, calling rotateY(PI/2) and then rotateY(PI/2) is the same as rotateY(PI) . If rotateY() is called within the draw() , the transformation is reset when the loop begins again. This function requires using P3D as a third parameter to size() as shown in the examples above.
+Rotates around the y-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() function. Coordinates are always rotated around their relative position to the origin. Positive numbers rotate in a clockwise direction and negative numbers rotate in a counterclockwise direction. Transformations apply to everything that happens after and subsequent calls to the function accumulates the effect. For example, calling rotateY(PI/2) and then rotateY(PI/2) is the same as rotateY(PI) . If rotateY() is run within the draw() , the transformation is reset when the loop begins again. This function requires using P3D as a third parameter to size() as shown in the example above.
]]>
diff --git a/content/api_en/rotateZ.xml b/content/api_en/rotateZ.xml
index 5f5566ec9..3148ff4bc 100755
--- a/content/api_en/rotateZ.xml
+++ b/content/api_en/rotateZ.xml
@@ -29,7 +29,7 @@ rect(-26, -26, 52, 52);
angle parameter. Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. Objects are always rotated around their relative position to the origin and positive numbers rotate objects in a counterclockwise direction. Transformations apply to everything that happens after and subsequent calls to the function accumulates the effect. For example, calling rotateZ(PI/2) and then rotateZ(PI/2) is the same as rotateZ(PI) . If rotateZ() is called within the draw() , the transformation is reset when the loop begins again. This function requires using P3D as a third parameter to size() as shown in the examples above.
+Rotates around the z-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() function. Coordinates are always rotated around their relative position to the origin. Positive numbers rotate in a clockwise direction and negative numbers rotate in a counterclockwise direction. Transformations apply to everything that happens after and subsequent calls to the function accumulates the effect. For example, calling rotateZ(PI/2) and then rotateZ(PI/2) is the same as rotateZ(PI) . If rotateZ() is run within the draw() , the transformation is reset when the loop begins again. This function requires using P3D as a third parameter to size() as shown in the example above.
]]>
diff --git a/content/api_en/scale.xml b/content/api_en/scale.xml
index c2397c0db..1dd1215f8 100755
--- a/content/api_en/scale.xml
+++ b/content/api_en/scale.xml
@@ -43,7 +43,7 @@ box(20, 20, 20);
scale(2.0) increases the dimension of a shape by 200%.
-Transformations apply to everything that happens after and subsequent calls to the function multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0) . If scale() is called within draw() , the transformation is reset when the loop begins again. Using this fuction with the z parameter requires using P3D as a parameter for size() , as shown in the third example above. This function can be further controlled with pushMatrix() and popMatrix() .
+Transformations apply to everything that happens after and subsequent calls to the function multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0) . If scale() is called within draw() , the transformation is reset when the loop begins again. Using this function with the z parameter requires using P3D as a parameter for size() , as shown in the third example above. This function can be further controlled with pushMatrix() and popMatrix() .
]]>
diff --git a/content/api_en/settings.xml b/content/api_en/settings.xml
index 1ad61e94b..3cf6b5022 100644
--- a/content/api_en/settings.xml
+++ b/content/api_en/settings.xml
@@ -107,7 +107,9 @@ void draw() {
settings() function is new with Processing 3.0. It's not needed in most sketches. It's only useful when it's necessary to define the parameters to size() with a variable or to load that information from a file. Alternately, the settings() function is necessary when using Processing code outside of the Processing Development Environment (PDE). For example, when using the Eclipse code editor, it's necessary to use settings() to define the size() and smooth() values for a sketch..
+The settings() function is new with Processing 3.0. It's not needed in most sketches. It's only useful when it's absolutely necessary to define the parameters to size() with a variable. Alternately, the settings() function is necessary when using Processing code outside of the Processing Development Environment (PDE). For example, when using the Eclipse code editor, it's necessary to use settings() to define the size() and smooth() values for a sketch..
+
+The settings() method runs before the sketch has been set up, so other Processing functions cannot be used at that point. For instance, do not use loadImage() inside settings(). The settings() method runs "passively" to set a few variables, compared to the setup() command that call commands in the Processing API.
]]>
diff --git a/content/api_en/shorten.xml b/content/api_en/shorten.xml
index 82961260a..41746c5ad 100755
--- a/content/api_en/shorten.xml
+++ b/content/api_en/shorten.xml
@@ -20,7 +20,7 @@ println(sa2); // 'sa2' now contains OH, NY
When using an array of objects, the data returned from the function must be cast to the object array's data type. For example: SomeClass[] items = (SomeClass[]) shorten(originalArray)
]]>
diff --git a/content/api_en/size.xml b/content/api_en/size.xml
index 91b88ce52..bd6f4c1b0 100755
--- a/content/api_en/size.xml
+++ b/content/api_en/size.xml
@@ -51,25 +51,31 @@ box(35);
setup() function, the size() function must be the first line of code inside setup() .
+Defines the dimension of the display window width and height in units of pixels. In a program that has the setup() function, the size() function must be the first line of code inside setup() , and the setup() function must appear in the code tab with the same name as your sketch folder.
-The system variables width and height are set by the parameters passed to this function. For example, running size(640, 480) will assign 640 to the width variable and 480 to the height variable . If size() is not used, the window will be given a default size of 100 x 100 pixels.
+The built-in variables width and height are set by the parameters passed to this function. For example, running size(640, 480) will assign 640 to the width variable and 480 to the height variable . If size() is not used, the window will be given a default size of 100 x 100 pixels.
The size() function can only be used once inside a sketch, and it cannot be used for resizing.
-As of Processing 3.0, to run a sketch at the full dimensions of a screen, use the fullScreen() function, rather than the older way of using size(displayWidth, displayHeight) .
+As of Processing 3, to run a sketch at the full dimensions of a screen, use the fullScreen() function, rather than the older way of using size(displayWidth, displayHeight) .
The maximum width and height is limited by your operating system, and is usually the width and height of your actual screen. On some machines it may simply be the number of pixels on your current screen, meaning that a screen of 800 x 600 could support size(1600, 300) , since that is the same number of pixels. This varies widely, so you'll have to try different rendering modes and sizes until you get what you're looking for. If you need something larger, use createGraphics to create a non-visible drawing surface.
+The minimum width and height is around 100 pixels in each direction. This is the smallest that is supported across Windows, macOS, and Linux. We enforce the minimum size so that sketches will run identically on different machines.
+
The renderer parameter selects which rendering engine to use. For example, if you will be drawing 3D shapes, use P3D . In addition to the default renderer, other renderers are:
P2D (Processing 2D): 2D graphics renderer that makes use of OpenGL-compatible graphics hardware.
P3D (Processing 3D): 3D graphics renderer that makes use of OpenGL-compatible graphics hardware.
+FX2D (JavaFX 2D): A 2D renderer that uses JavaFX, which may be faster for some applications, but has some compatibility quirks.
+
PDF : The PDF renderer draws 2D graphics directly to an Acrobat PDF file. This produces excellent results when you need vector shapes for high-resolution output or printing. You must first use Import Library → PDF to make use of the library. More information can be found in the PDF library reference.
-As of Processing 3.0, to use variables as the parameters to size() function, place the size() function within the settings() function. There is more information about this on the settings() reference page.
+SVG : The SVG renderer draws 2D graphics directly to an SVG file. This is great for importing into other vector programs or using for digital fabrication. You must first use Import Library → SVG Export to make use of the library.
+
+As of Processing 3.0, to use variables as the parameters to size() function, place the size() function within the settings() function (instead of setup() ). There is more information about this on the settings() reference page.
]]>
diff --git a/content/api_en/smooth.xml b/content/api_en/smooth.xml
index 6b82e35b5..c19f7a303 100755
--- a/content/api_en/smooth.xml
+++ b/content/api_en/smooth.xml
@@ -28,6 +28,8 @@ void draw() {
+
+
+
+
+
smooth() only needs to be used when a program needs to set the smoothing in a different way. The level parameter increases the level of smoothness. This is the level of over sampling applied to the graphics buffer.
-
-With the P2D and P3D renderers, smooth(2) is the default, this is called "2x anti-aliasing." The code smooth(4) is used for 4x anti-aliasing and smooth(8) is specified for 8x anti-aliasing. The maximum anti-aliasing level is determined by the hardware of the machine that is running the software, so smooth(4) and smooth(8) will not work with every computer.
-
-The default renderer uses smooth(3) by default. This is bicubic smoothing. The other option for the default renderer is smooth(2) , which is bilinear smoothing.
-
+Draws all geometry with smooth (anti-aliased) edges. This behavior is the default, so smooth() only needs to be used when a program needs to set the smoothing in a different way. The level parameter increases the amount of smoothness. This is the level of over sampling applied to the graphics buffer.
+
+With the P2D and P3D renderers, smooth(2) is the default, this is called "2x anti-aliasing." The code smooth(4) is used for 4x anti-aliasing and smooth(8) is specified for "8x anti-aliasing." The maximum anti-aliasing level is determined by the hardware of the machine that is running the software, so smooth(4) and smooth(8) will not work with every computer.
+
+The default renderer uses smooth(3) by default. This is bicubic smoothing. The other option for the default renderer is smooth(2) , which is bilinear smoothing.
+
With Processing 3.0, smooth() is different than before. It was common to use smooth() and noSmooth() to turn on and off antialiasing within a sketch. Now, because of how the software has changed, smooth() can only be set once within a sketch. It can be used either at the top of a sketch without a setup() , or after the size() function when used in a sketch with setup() . The noSmooth() function also follows the same rules.
+
+When smooth() is used with a PGraphics object, it should be run right after the object is created with createGraphics() , as shown in the Reference in the third example.
]]>
diff --git a/content/api_en/splice.xml b/content/api_en/splice.xml
index c62c959e8..a9f5358c6 100755
--- a/content/api_en/splice.xml
+++ b/content/api_en/splice.xml
@@ -39,7 +39,7 @@ println(a);
+Inserts a value or an array of values into an existing array. The first two parameters must be arrays of the same datatype. The first parameter specifies the initial array to be modified, and the second parameter defines the data to be inserted. The third parameter is an index value which specifies the array position from which to insert data. (Remember that array index numbering starts at zero, so the first position is 0, the second position is 1, and so on.)
When splicing an array of objects, the data returned from the function must be cast to the object array's data type. For example: SomeClass[] items = (SomeClass[]) splice(array1, array2, index)
]]>
diff --git a/content/api_en/split.xml b/content/api_en/split.xml
index 13841d3ba..5b01ca9f2 100755
--- a/content/api_en/split.xml
+++ b/content/api_en/split.xml
@@ -38,7 +38,7 @@ String[] list = split(men, " ] ");
split() function breaks a String into pieces using a character or string as the delimiter. The delim parameter specifies the character or characters that mark the boundaries between each piece. A String[] array is returned that contains each of the pieces.
-If the result is a set of numbers, you can convert the String[] array to to a float[] or int[] array using the datatype conversion functions int() and float() . (See the second example above.)
+If the result is a set of numbers, you can convert the String[] array to a float[] or int[] array using the datatype conversion functions int() and float() . (See the second example above.)
The splitTokens() function works in a similar fashion, except that it splits using a range of characters instead of a specific character or sequence.
Reference for Processing version 1.5. If you have a previous version, use the reference included with your software.
If you see any errors or have suggestions, please let us know .
- If you prefer a more technical reference, visit the Processing Javadoc .
+ If you prefer a more technical reference, visit the Processing Javadoc .
diff --git a/content/api_en/trim.xml b/content/api_en/trim.xml
index 4b91885ed..68afbfec6 100755
--- a/content/api_en/trim.xml
+++ b/content/api_en/trim.xml
@@ -18,7 +18,7 @@ println(s2); // Prints "Somerville MA"
String[] a1 = { " inconsistent ", " spacing" }; // Note spaces
String[] a2 = trim(a1);
-println(a2);
+printArray(a2);
// Prints the following array contents to the console:
// [0] "inconsistent"
// [1] "spacing"
diff --git a/content/api_en/updatePixels.xml b/content/api_en/updatePixels.xml
index 200667c22..fb3ba9af1 100755
--- a/content/api_en/updatePixels.xml
+++ b/content/api_en/updatePixels.xml
@@ -24,10 +24,6 @@ updatePixels();
pixels[] array. Use in conjunction with loadPixels() . If you're only reading pixels from the array, there's no need to call updatePixels() — updating is only necessary to apply changes.
-
-Certain renderers may or may not seem to require loadPixels() or updatePixels() . However, the rule is that any time you want to manipulate the pixels[] array, you must first call loadPixels() , and after changes have been made, call updatePixels() . Even if the renderer may not seem to use this function in the current Processing release, this will always be subject to change.
-
-Currently, while none of the renderers use the additional parameters to updatePixels() , this may be implemented in the future.
]]>
diff --git a/content/api_media/LIB_sound_Pulse.png b/content/api_media/LIB_sound_Pulse.png
new file mode 100644
index 000000000..6104e4931
Binary files /dev/null and b/content/api_media/LIB_sound_Pulse.png differ
diff --git a/content/api_media/LIB_sound_SawOsc.png b/content/api_media/LIB_sound_SawOsc.png
new file mode 100644
index 000000000..845db35d1
Binary files /dev/null and b/content/api_media/LIB_sound_SawOsc.png differ
diff --git a/content/api_media/LIB_sound_SinOsc.png b/content/api_media/LIB_sound_SinOsc.png
new file mode 100644
index 000000000..f510c14ed
Binary files /dev/null and b/content/api_media/LIB_sound_SinOsc.png differ
diff --git a/content/api_media/LIB_sound_SqrOsc.png b/content/api_media/LIB_sound_SqrOsc.png
new file mode 100644
index 000000000..1e6941c6e
Binary files /dev/null and b/content/api_media/LIB_sound_SqrOsc.png differ
diff --git a/content/api_media/LIB_sound_TriOsc.png b/content/api_media/LIB_sound_TriOsc.png
new file mode 100644
index 000000000..a7d89b40d
Binary files /dev/null and b/content/api_media/LIB_sound_TriOsc.png differ
diff --git a/content/api_media/logicalNOT.png b/content/api_media/logicalNOT.png
index 6d5e1d0eb..6dbd3074c 100644
Binary files a/content/api_media/logicalNOT.png and b/content/api_media/logicalNOT.png differ
diff --git a/content/api_media/logicalNOT_2.png b/content/api_media/logicalNOT_2.png
new file mode 100644
index 000000000..20e3a73ba
Binary files /dev/null and b/content/api_media/logicalNOT_2.png differ
diff --git a/content/api_media/text_2.png b/content/api_media/text_2.png
index 464217613..841e5e16d 100644
Binary files a/content/api_media/text_2.png and b/content/api_media/text_2.png differ
diff --git a/content/curated.xml b/content/curated.xml
index 0d4fbb3bf..87029364a 100755
--- a/content/curated.xml
+++ b/content/curated.xml
@@ -1,6 +1,138 @@
-
+
+
+ images/pour.jpg
+
+ ‘Pour Reception’ is a playful radio that uses machine learning and tangible computing to challenge our cultural understanding of what an interface is and can be. Two glasses of water are turned into a digital material for the user to explore and appropriate.
+ http://www.toreknudsen.dk/work/pour-reception/
+ Tore Knudsen
+
+
+
+ images/digits.jpg
+
+ Gysin-Vanetti are an artist duo exploring images and patterns using the type geometries of multipurpose displays. Using only prevailing forms, Gysin-Vanetti build images, animations and generate patterns.
+ https://www.creativeapplications.net/processing/gysin-vanetti-o-is-not-a-letter-its-a-circle/
+ Gysin&Vanetti
+ CreativeApplications.Net
+
+
+
+ images/volume.jpg
+
+ Created by NY based art and architecture collective Softlab, ‘Volume’ is an interactive cube of responsive mirrors that redirect light and sound to spatialize and reflect the excitement of surrounding festival goers.
+ http://softlabnyc.com/portfolio/volume/
+ Softlab
+
+
+
+ images/komorebi.jpg
+
+ komorebi is a platform that uses a robotic projector and generative projections to replicate the natural reflections and shadows of sunlight. komorebi can create sunlight filtering through leaves or a dance of light and shadow.
+ http://komorebi.studio/
+ Leslie Nooteboom
+
+
+
+ images/particleflow.jpg
+
+ Particle Flow is a physical installation comprised of granules driven by gravity and topography forming an analogue particle system. A moving slanted plane and a grid of motorized stamps control the elements to form infinite variations of behaviours and patterns.
+ http://neoanalog.io/particle-flow/
+ NEOANALOG
+ CreativeApplications.Net
+
+
+
+ images/objectifier.jpg
+
+ Objectifier empowers people to train objects in their daily environment to respond to their unique behaviours. Interacting with Objectifier is much like training a pet and it sees and understands its environment.
+ https://bjoernkarmann.dk/objectifier
+ Bjørn Karmann
+ CreativeApplications.Net
+
+
+
+ images/random.jpg
+
+ Created by Berlin based Ralf Baecker, Random Access Memory is a fully functional digital memory. Instead of operating on semi-conducting components to represent either the binary states of 0 (zero) or 1 (one), the memory uses grains of sand as storage material.
+ http://www.rlfbckr.org/work/random-access-memory/
+ Ralf Baecker
+ CreativeApplications.Net
+
+
+
+ images/aadrl.jpg
+
+ The AADRL is a post-professional graduate design programme at the Architectural Association School of Architecture in London. Their research is focused on architectural design that is proto-typical, scenario driven and uses behaviour robotics as a design enquiry.
+ http://www.creativeapplications.net/processing/aadrl-behavioural-complexity/
+ AADRL
+ CreativeApplications.Net
+
+
+
+ images/terrapattern.jpg
+
+ Terrapattern is a visual search tool for satellite imagery. The project provides journalists, citizen scientists, and other researchers with the ability to quickly scan large geographical regions for specific visual features.
+ http://www.terrapattern.com
+ Terrapattern
+
+
+
+ images/FluidLeaves.jpg
+
+ A generative approach to pattern design, which in combination with variable printing results in a unique design each time. The project grew out of an identity investigation for tea boutique, ‘Tee & Cupp’ in Xian.
+
+ http://reinoudvanlaar.nl/project/leavespattern/
+ Reinoud van Laar
+
+
+
+ images/cfcityflows.jpg
+
+ cf.city flows is a comparative visualization environment of urban bike mobility designed to help citizens casually analyze three bike-sharing systems in the context of a public exhibition space.
+
+ https://uclab.fh-potsdam.de/cf/
+ cf.city flows
+
+
+
+ images/autoorchestra.jpg
+
+ The Automatic Orchestra is an audio installation exploring algorithmic composition and networked music. The perpetual interaction among the devices and the interpretation of encoded musical messages blurs the distinctiveness between structured composition and performative improvisation.
+
+ http://digitalmedia-bremen.de/en/project/automatic-orchestra/
+ Digital Media Bremen
+
+
+
+ images/possible.jpg
+
+ Possible, Plausible, Potential is a set of three series of isometric drawings generated by code and printed with colored markers on a plotter machine. In these drawings, Miguel explores a bridge between the iterative aspect of algorithms and the utopian aspect of modern architecture. Each drawing is a unique variation of the same set of rules and carefully placed random decisions.
+
+ http://superficie.ink/
+ Miguel Nóbrega
+
+
+
+ images/stewart.jpg
+
+ Created by Felix Ros, Stewart is a hypothetical tactile interface designed for a fully autonomous car. Working around the idea that even thought self-driving offer obvious benefits, they also eliminate a sense of freedom, expression, and control while driving. Stewart’s objective is to accommodate a healthy relation between man and machine.
+
+ http://felixros.com
+ Felix Ros
+
+
+
+ images/traces.jpg
+
+ Traces project explores the concept of programming everyday materials where objects are “made to act” by re-forming following a set of specific instructions. Dana developed 12 processed-folding objects series, using Processing and various physical techniques – printing, twisting, laser-cutting, knotting and framing.
+
+ https://vimeo.com/133662815
+ Vimeo
+ More Info
+
+
images/pixtil.jpg
@@ -9,8 +141,8 @@
http://pixtil.fr/php/produits/accueil.php?page=2#debut
Pixtil
More Info
-
-
+
+
images/lightkinetics.jpg
@@ -18,19 +150,19 @@
http://espadaysantacruz.com/Light-kinetics
Light Kinetics
-
-
+
+
images/pathfinder.jpg
- Created by Princemio in collaboration with onformative and presented at Choreographic Coding laboratory in Frankfurt 2013, the Pathfinder project was created with aim to contribute to the creative processes of choreographic development.
+ Created by Princemio in collaboration with onformative and presented at Choreographic Coding laboratory in Frankfurt 2013, the Pathfinder project was created with aim to contribute to the creative processes of choreographic development.
http://princemio.net/portfolio/pathfinder/
Pathfinder
Motionbank
Onformative
-
+
images/dextro.jpg
@@ -40,7 +172,7 @@
Dextro
Vimeo
-
+
images/rc4.jpg
@@ -50,7 +182,7 @@
GAD – RC4
CreativeApplications.Net
-
+
images/filament.jpg
@@ -60,7 +192,7 @@
http://www.liaworks.com/theprojects/filament-sculptures/
Lia
liasomething.tumblr.com
-
+
images/Phantogram.jpg
@@ -71,16 +203,16 @@
Timothy Saccenti
Joshua Davis
Watch Video
-
+
images/keyflies.jpg
Created by Miles Peyton, first year student at the Carnegie Mellon University, Keyfleas is an experiment in interactive augmented projection. Miles used Processing and Box2D to create an augmented projection on the keyboard. As the user types, the “fleas” swarm around the pressed key, avoiding the letters.
- http://cmuems.com/2013/a/miles/10/17/keyfleas/
- CMU / Electronic Media Studio 2
-
+ https://vimeo.com/151334392
+ CMU / Electronic Media Studio 2
+
images/petting.jpg
@@ -89,7 +221,7 @@
http://minimaforms.com/#item=petting-zoo-frac-2
Minimaforms
-
+
images/fragmented.jpg
@@ -98,8 +230,8 @@
http://phillipstearns.wordpress.com/fragmented-memory/
Phillip Stearns
-
-
+
+
images/avena.jpg
@@ -107,7 +239,7 @@
http://benedikt-gross.de/log/2013/06/avena-test-bed_agricultural-printing-and-altered-landscapes/
Benedikt Groß
-
+
images/kinograph.jpg
@@ -117,7 +249,7 @@
http://mepler.com/Kinograph
Kinograph
-
+
images/fluid.jpg
@@ -126,7 +258,7 @@
http://cargocollective.com/hnx/fluid
Hannes Jung
-
+
images/3dprintedrecord.jpg
@@ -135,7 +267,7 @@
http://www.instructables.com/id/3D-Printed-Record/
Instructables
-
+
images/digitalnatives.jpg
@@ -144,7 +276,7 @@
http://www.plummerfernandez.com/Digital-Natives
Matthew Plummer-Fernandez
-
+
images/stonespray.jpg
@@ -153,7 +285,7 @@
http://www.stonespray.com
Petr Novikov, Inder Shergill and Anna Kulik
-
+
images/citysymphonies.jpg
@@ -161,9 +293,8 @@
http://markmckeague.com/work/city-symphonies/
Mark McKeague
- More on CreativeApplications.Net
-
+
images/silenc2.png
@@ -171,9 +302,8 @@
http://www.flickr.com/photos/kennethaleksander/sets/72157629659743887
Flick Page
- CreativeApplications.Net
-
+
images/unnamed.jpg
@@ -182,7 +312,7 @@
http://wearechopchop.com/%E2%80%9Cunnamed-soundsculpture%E2%80%9D/
We Are Chopchop
-
+
images/soundmachines.jpg
@@ -190,9 +320,8 @@
http://www.the-product.org/soundmachines
The Product
- CreativeApplications.Net
-
+
images/visualeditions.jpg
@@ -201,7 +330,7 @@
http://www.visual-editions.com
Visual Editions
-
+
images/maxplanck.jpg
@@ -210,7 +339,7 @@
http://max-planck-research-networks.net/
Max Planck Reasearch Networks
-
+
images/creators.jpg
@@ -219,7 +348,7 @@
http://www.thecreators.tv
The Creators
-
+
images/golberg.jpg
@@ -228,7 +357,7 @@
http://www.the-product.org/rube-goldberg-processor
The Product
-
+
images/prototyp0.jpg
@@ -236,8 +365,8 @@
http://www.yannickmathey.com/prototyp
Yannick Mathey
-
-
+
+
images/nytcascade.jpg
@@ -246,7 +375,7 @@
http://nytlabs.com/projects/cascade.html
NYTimes R&D Lab
-
+
images/mitidentity.jpg
@@ -255,7 +384,7 @@
http://www.thegreeneyl.com/mit-media-lab-identity-1
TheGreenEyl
-
+
images/continuum.jpg
@@ -264,7 +393,7 @@
http://www.rhymeandreasoncreative.com/portfolio/index.php?project=continuum
Mary Huang
-
+
-
+
images/casey_pc.jpg
@@ -286,7 +415,7 @@
Download from CAN
Casey Reas
-
+
images/108.jpg
@@ -295,7 +424,7 @@
http://nilsvoelker.com/content/onehundredandeight/index.html
Nils Völker
-
+
images/privacy.jpg
@@ -304,7 +433,7 @@
http://www.niklasroy.com/project/88/my-little-piece-of-privacy/
Niklas Roy
-
+
images/strata.jpg
@@ -313,7 +442,7 @@
http://www.quayola.com/selectedartworks/strata3/
Quayola
-
+
images/shakespeare.jpg
@@ -322,7 +451,7 @@
http://www.understanding-shakespeare.com
Stephan Thiel
-
+
images/one-perfect-cube.jpg
@@ -331,7 +460,7 @@
http://florianjenett.de/one-perfect-cube-making-of/
FlorianJenett.de
-
+
images/feltron.jpg
@@ -341,7 +470,7 @@
2009 Report and Processing
Feltron.com
-
+
images/computing-kaizen.jpg
@@ -351,7 +480,7 @@
Proxy
GSAPP
-
+
images/finecollection.jpg
@@ -361,7 +490,7 @@
geschoir.de
theplacetofindme.de
-
+
images/justlanded.jpg
@@ -370,7 +499,7 @@
http://blog.blprnt.com/blog/blprnt/just-landed-processing-twitter-metacarta-hidden-data
blprnt.com
-
+
images/johnhenry.jpg
@@ -379,7 +508,7 @@
http://brysonian.com/john-henry-von-neumann
brysonian.com
-
+
images/intheair.jpg
@@ -389,7 +518,7 @@
Victor Viña
Nerea Calvillo
-
+
images/silica.jpg
@@ -399,17 +528,17 @@
tadar.net
tadar Flickr
-
+
images/mycelium.png
- A simulation of fungal hyphae growth using images as food.
+ A simulation of fungal hyphae growth using images as food.
http://onecm.com/projects/mycelium/
onecm.com
onecm Flickr
-
+
images/nyx.jpg
@@ -418,7 +547,7 @@
http://vimeo.com/3872857
NYX Blog
-
+
images/golan_cards.jpg
@@ -438,7 +567,7 @@
shiftcontrol
NR2154
-
+
images/branching.jpg
@@ -450,7 +579,7 @@
Andrew Lucia
Jones Lab
-
+
images/realtime.jpg
@@ -460,7 +589,7 @@
Zum Kuckuck
Atelier Markgraph
-
+
images/wf3.png
@@ -470,7 +599,7 @@
benhem.com
RogueBasin
-
+
images/mud.jpg
@@ -480,7 +609,7 @@
tomgerhardt.com
NYU ITP
-
+
images/mos.gif
@@ -491,7 +620,7 @@
ComputationalPile
Arcade
-
+
images/terre.jpg
@@ -504,7 +633,7 @@
Michael Doherty
Hans-Christoph Steiner
-
+
images/mtv.gif
@@ -514,7 +643,7 @@
Dmtr.org
Piloto
-
+
images/camp.jpg
@@ -523,7 +652,7 @@
http://www.field.io/project/interim-camp
field
-
+
images/aeolab.jpg
@@ -532,7 +661,7 @@
http://www.aeolab.com/projects/peoplemover/applet/
Aeolab
-
+
images/balldroppings.gif
@@ -542,7 +671,7 @@
BallDroppings
JTNimoy.net
-
+
images/oasis.gif
@@ -551,7 +680,7 @@
http://everyware.kr/portfolio/contents/09_oasis/
everyware
-
+
images/platonic.jpg
@@ -561,47 +690,47 @@
Michael Hansmeyer
Subdivision Flickr Set
-
+
images/monsters.gif
- Black and white, reactive monsters created by the Processing community.
+ Black and white, reactive monsters created by the Processing community.
http://www.rmx.cz/monsters/
Rmx
-
+
images/itp2.jpg
- For the second year, Dan Shiffman's NYU students write software for a 120 by 12
- foot video wall at IAC's world headquarters in NYC.
+ For the second year, Dan Shiffman's NYU students write software for a 120 by 12
+ foot video wall at IAC's world headquarters in NYC.
http://gizmodo.com/5110633/120-feet-of-video-art-final-exams-at-nyus-big-screens-class
Shiffman.net
-
+
images/emergence.jpg
- Realtime art installation that explores how complex systems and patterns arise out of
+ Realtime art installation that explores how complex systems and patterns arise out of
a multiplicity of simple interactions.
http://emergenceproject.org/blog/?page_id=180
The Emergence Project
Daniel Sauter
-
+
images/roots.jpg
- An interactive installation where participants engage in making generative / semi-generative / and or
+ An interactive installation where participants engage in making generative / semi-generative / and or
composed music by moving their fingers and objects around the Brick multi-touch surface.
http://flipmu.com/work/bricktable/what-is-roots/
Memo.tv
-
+
images/npz.gif
@@ -614,18 +743,18 @@
Banas' design
Banas' oceanography
-
+
images/maeve.jpg
- Provides visual and tangible access to the conceptual networks behind architectural projects.
+ Provides visual and tangible access to the conceptual networks behind architectural projects.
The installation is part of the 11th International Architecture Exhibition of the Venice Biennale.
http://portal.mace-project.eu/maeve/
FH Potsdam
MACE
-
+
images/ymyi.jpg
@@ -635,7 +764,7 @@
Joao Martinho Moura
Master in Technology and Digital Art
-
+
images/bodynavigation.jpg
@@ -655,7 +784,7 @@
http://casualdata.com/newsknitter
Mahir M. Yavuz
-
+
images/cho.jpg
@@ -665,26 +794,26 @@
Typotopo.com
Pcho.net
-
+
images/muth.jpg
- A generative video piece with music by Hiaz.
+ A generative video piece with music by Hiaz.
http://www.davidmuth.net/videos/counterclockwise/
DavidMuth.net
-
+
images/proximity.gif
- Generative, parameterized images and sound.
+ Generative, parameterized images and sound.
http://www.proximityofneeds.org/
strangethingshappen.org
-
-
+
+
images/houck.jpg
@@ -693,19 +822,19 @@
http://www.johnhouck.com/p/
JohnHouck.com
-
+
images/itp.jpg
Dan Shiffman's NYU students write software for a 120 by 12 foot video wall
- at IAC's world headquarters designed by Frank Gehry.
+ at IAC's world headquarters designed by Frank Gehry.
http://www.flickr.com/photos/shiffman/sets/72157601572932676/
Shiffman.net
-
+
images/nervous.jpg
@@ -715,18 +844,18 @@
http://www.n-e-r-v-o-u-s.com/play_and_learn.php
Nervous System
-
+
images/mit.jpg
- Shows the global exchange of information by visualizing volumes of data flowing
+ Shows the global exchange of information by visualizing volumes of data flowing
in and out of New York City.
http://senseable.mit.edu/nyte/
SENSEable City Lab
AaronKoblin.com
-
+
images/cascade.jpg
@@ -735,17 +864,17 @@
http://www.trsp.net/cow/
Transparent
-
+
images/mypocket.jpg
- Discloses the artist's personal financial records by exploring and revealing essential
+ Discloses the artist's personal financial records by exploring and revealing essential
patterns in daily transactions.
http://transition.turbulence.org/Works/mypocket/
Burak-Arikan.com
-
+
images/taobot.jpg
@@ -755,7 +884,7 @@
Taobot
Michael Fakesch
-
+
images/whiteglove.jpg
@@ -765,7 +894,7 @@
Evan Roth
Ben Engebreth
-
+
images/foxmovies.jpg
@@ -775,7 +904,7 @@
Flight404
Nervo
-
+
images/firstborn.jpg
@@ -784,7 +913,7 @@
http://www.firstborn.com/#/our-portfolio/1007/
Firstborn
-
+
images/simdiv.jpg
@@ -794,19 +923,19 @@
Philipp Steinweber
Andreas Koller
-
+
-
+
images/sheep.gif
@@ -818,7 +947,7 @@
Aaron Koblin
-
+
images/catanese.jpg
@@ -829,7 +958,7 @@
http://www.paulcatanese.com/artwork/celestial/process.html
PaulCatanese.com
-
+
images/any.gif
@@ -838,7 +967,7 @@
http://carohorn.de/anymails/
CaroHorn.de
-
+
images/hehe.jpg
@@ -848,7 +977,7 @@
http://hehe.org.free.fr/hehe/champsdozone/
HeHe
-
+
images/carden.jpg
@@ -857,7 +986,7 @@
http://www.tom-carden.co.uk/p5/tube_map_travel_times/applet/
Tom Carden
-
+
images/proto.jpg
@@ -866,27 +995,27 @@
http://www.fidgt.com/visualize/
Protohaus
-
+
images/lovebytes.png
- A population of unique friendly furry faces to appear across all festival literature for Lovebytes 2007.
+ A population of unique friendly furry faces to appear across all festival literature for Lovebytes 2007.
http://universaleverything.com/#/UE205
Universal Everything
-
+
images/house.jpg
- An environment constructed from thousands of low tech components that can be reconfigured by its occupants.
+ An environment constructed from thousands of low tech components that can be reconfigured by its occupants.
http://house.propositions.org.uk/
Haque
Aether
Reorient
-
+
images/muon.jpg
@@ -895,7 +1024,7 @@
http://www.movingbrands.com/?category_name=kef-work#experience
Moving Brands
-
+
images/universe.gif
@@ -904,18 +1033,18 @@
http://www.number27.org/universe.html
Jonathan Harris
-
+
-
+
images/suzung.jpg
@@ -924,27 +1053,27 @@
http://www.suzung.com/body/2006/Kaleido/display.htm
Studio Site Suzung
-
+
images/stateoftheunion.gif
- Provides access to the corpus of all the State of the Union addresses from 1790 to 2006.
+ Provides access to the corpus of all the State of the Union addresses from 1790 to 2006.
http://stateoftheunion.onetwothree.net/
onetwothree
-
+
-
+
images/juani.jpg
@@ -954,7 +1083,7 @@
Onionlab
Yo soy la Juani
-
+
images/spies.gif
@@ -964,7 +1093,7 @@
Pentagram
JamesNSears.com
-
+
images/mutualism.jpg
@@ -1022,7 +1151,7 @@
Motion Theory
-->
-
+
images/wefeelfine.jpg
@@ -1131,7 +1260,7 @@
images/aqueous.jpg
- Aqueous is a meditative space that encourages perception of small things. Water droplets fall from the ceiling through the space into water-filled tubes approximately tuned in a scale spanning two octaves.
+ Aqueous is a meditative space that encourages perception of small things. Water droplets fall from the ceiling through the space into water-filled tubes approximately tuned in a scale spanning two octaves.
works/aqueous/
Zehao.com
@@ -1225,7 +1354,7 @@
haohao/haohao.pde
-->
-
+
-
+
images/timescape.jpg
@@ -1248,7 +1377,7 @@
Phantasian
Gone
-
+
images/ortho.gif
@@ -1258,7 +1387,7 @@
ortho/orthotype.pde
Ortho-type
-
+
images/acoustic.jpg
@@ -1269,22 +1398,22 @@
Acoustic Cartography
Zum Kuckuck
-
+
images/min_mod.gif
- A sound phenomenon represented through a spatial distribution of minimal elements, creating a sensitive environment influenced by the sounds generated in the surrounding space.
+ A sound phenomenon represented through a spatial distribution of minimal elements, creating a sensitive environment influenced by the sounds generated in the surrounding space.
http://www.limiteazero.com/min_mod/
min_mod/min_mod.pde
Limiteazero
-
+
-
+
images/chronodraw.gif
@@ -1302,18 +1431,18 @@
chronodraw/chronodraw.txt
www.ertdfgcvb.ch
-
+
images/papa.jpg
- Software for Papa Roach's "Getting Away with Murder" music video by Motion Theory
+ Software for Papa Roach's "Getting Away with Murder" music video by Motion Theory
works/papa/index.html
papa/ticker_applet.txt
Quilime
Motion Theory
-
+
-
+
images/ecstasy.gif
@@ -1336,18 +1465,18 @@
ecstasy/n_e_13.pde
Machinatus
-
+
images/d5lv.jpg
- Exploring volume and emotional texture with simple generative geometry.
+ Exploring volume and emotional texture with simple generative geometry.
Interaction and randomness modify the structure.
works/d5lv/index.html
d5lv/D5LV.pde
W:Mute
-
+
images/discom.jpg
@@ -1361,7 +1490,7 @@
Justin Manor
SOSOlimited
-
+
images/pachinko.jpg
@@ -1373,7 +1502,7 @@
c505
Pretendster
-
+
images/tokyo.jpg
@@ -1383,7 +1512,7 @@
tokyo/Tokyo.pde
SMS
-
+
images/katya.jpg
@@ -1394,7 +1523,7 @@
lab5769
lab5769 portraits
-
+
images/ttc.gif
@@ -1405,7 +1534,7 @@
Chronotext
Chronotext Devices
-
+
images/liquid.jpg
@@ -1416,7 +1545,7 @@
Quasimondo Incubator
Quasimondo
-
+
images/relations.gif
@@ -1427,7 +1556,7 @@
Abstract-Codex
Ghost Agency
-
+
images/nudemengarden.gif
@@ -1438,7 +1567,7 @@
db-db
Experimental Vision
-
+
images/starnursery.jpg
@@ -1449,7 +1578,7 @@
Ryan Alexander
Motion Theory
-
+
images/techsupport.gif
@@ -1459,7 +1588,7 @@
techsupport/tech_support.pde
Coin-Operated
-
+
images/base26.gif
@@ -1471,7 +1600,7 @@
Toxi processing work
Toxi blog
-
+
images/superhero.gif
@@ -1482,7 +1611,7 @@
Beyond Three
Processing @ Beyond Three
-
+
images/redux.jpg
@@ -1492,7 +1621,7 @@
redux/moviemap3.pde
Brendan Dawes
-
+
images/872a_jogan.gif
@@ -1501,7 +1630,7 @@
works/versionb/index.html
versionb/mmj_project_FINALd.pde
-
+
images/872a_stanat.gif
@@ -1510,7 +1639,7 @@
works/bees/index.html
bees/bees6.pde
-
+
-
+
-
+
images/chamber.gif
@@ -1547,7 +1676,7 @@
Bubble Chamber
Levitated.net
-
+
images/jackolantern.jpg
@@ -1557,7 +1686,7 @@
jackolantern/jackolantern.pde
LCD modules
-
+
images/sonicwire.gif
@@ -1568,7 +1697,7 @@
Pitaru.com
InsertSilence
-
+
images/tracking.jpg
@@ -1578,7 +1707,7 @@
tracking/tracking.pde
Flight404
-
+
images/juhuu.gif
@@ -1588,7 +1717,7 @@
juhuu/juhuu.pde
Juhuu.nu
-
+
images/ricochet.gif
@@ -1599,7 +1728,7 @@
JTNimoy
Potatoland
-
+
images/skyline.gif
@@ -1609,7 +1738,7 @@
skyline/skyline.pde
Lightcycle
-
+
images/wiggle.gif
@@ -1619,7 +1748,7 @@
wiggle/wiggle.pde
Uncontrol
-
+
images/withouttitle.jpg
@@ -1630,7 +1759,7 @@
Re-Move
Wofbot
-
+
images/articulate.gif
@@ -1640,7 +1769,7 @@
articulate/articulate.pde
GroupC
-
+
images/sodaprocessing.gif
@@ -1651,18 +1780,18 @@
Soda
SodaPlay
-
+
images/c_drawer.jpg
- Like drawing with a bunch of crayons in one hand.
+ Like drawing with a bunch of crayons in one hand.
Simple and messy, but fun.
works/cdrawer/index.html
cdrawer/cdrawer.pde
Evolution Zone
-
+
images/inequality.gif
@@ -1673,7 +1802,7 @@
They Rule
Future Farmers
-
+
images/pond.gif
@@ -1684,7 +1813,7 @@
Metaphorical
Royal College of Art
-
+
images/hinundher.gif
@@ -1694,7 +1823,7 @@
hinundher/hinundher.pde
Esono
-
+
images/yellowtail.gif
@@ -1705,7 +1834,7 @@
Yellowtail
Flong
-
+
images/004.gif
@@ -1716,7 +1845,7 @@
Alphabot
ACG
-
+
images/europa.gif
@@ -1727,7 +1856,7 @@
Glen Murphy
Body Tag
-
+
images/003.gif
@@ -1738,7 +1867,7 @@
Schoenerwissen
Minitasking
-
+
images/002.gif
@@ -1747,7 +1876,7 @@
002/code.html
kramdesign
-
+
images/001.gif
@@ -1758,5 +1887,5 @@
Genomic Cartography
ACG
-
+
diff --git a/content/curated_images/FluidLeaves.jpg b/content/curated_images/FluidLeaves.jpg
new file mode 100644
index 000000000..9d483098f
Binary files /dev/null and b/content/curated_images/FluidLeaves.jpg differ
diff --git a/content/curated_images/FluidLeaves@2x.jpg b/content/curated_images/FluidLeaves@2x.jpg
new file mode 100644
index 000000000..fa2964263
Binary files /dev/null and b/content/curated_images/FluidLeaves@2x.jpg differ
diff --git a/content/curated_images/aadrl.jpg b/content/curated_images/aadrl.jpg
new file mode 100644
index 000000000..2c5348d9f
Binary files /dev/null and b/content/curated_images/aadrl.jpg differ
diff --git a/content/curated_images/aadrl@2x.jpg b/content/curated_images/aadrl@2x.jpg
new file mode 100644
index 000000000..39a09ccee
Binary files /dev/null and b/content/curated_images/aadrl@2x.jpg differ
diff --git a/content/curated_images/autoorchestra.jpg b/content/curated_images/autoorchestra.jpg
new file mode 100644
index 000000000..0d09ca9bb
Binary files /dev/null and b/content/curated_images/autoorchestra.jpg differ
diff --git a/content/curated_images/autoorchestra@2x.jpg b/content/curated_images/autoorchestra@2x.jpg
new file mode 100644
index 000000000..315ede249
Binary files /dev/null and b/content/curated_images/autoorchestra@2x.jpg differ
diff --git a/content/curated_images/cfcityflows.jpg b/content/curated_images/cfcityflows.jpg
new file mode 100644
index 000000000..fec63eb3b
Binary files /dev/null and b/content/curated_images/cfcityflows.jpg differ
diff --git a/content/curated_images/cfcityflows@2x.jpg b/content/curated_images/cfcityflows@2x.jpg
new file mode 100644
index 000000000..9f05a006d
Binary files /dev/null and b/content/curated_images/cfcityflows@2x.jpg differ
diff --git a/content/curated_images/digits.jpg b/content/curated_images/digits.jpg
new file mode 100644
index 000000000..ce85f5658
Binary files /dev/null and b/content/curated_images/digits.jpg differ
diff --git a/content/curated_images/digits@2x.jpg b/content/curated_images/digits@2x.jpg
new file mode 100644
index 000000000..4210c3068
Binary files /dev/null and b/content/curated_images/digits@2x.jpg differ
diff --git a/content/curated_images/komorebi.jpg b/content/curated_images/komorebi.jpg
new file mode 100644
index 000000000..2ac8c3e54
Binary files /dev/null and b/content/curated_images/komorebi.jpg differ
diff --git a/content/curated_images/komorebi@2x.jpg b/content/curated_images/komorebi@2x.jpg
new file mode 100644
index 000000000..051402f92
Binary files /dev/null and b/content/curated_images/komorebi@2x.jpg differ
diff --git a/content/curated_images/objectifier.jpg b/content/curated_images/objectifier.jpg
new file mode 100644
index 000000000..3ee65e4ca
Binary files /dev/null and b/content/curated_images/objectifier.jpg differ
diff --git a/content/curated_images/objectifier@2x.jpg b/content/curated_images/objectifier@2x.jpg
new file mode 100644
index 000000000..654ad9dec
Binary files /dev/null and b/content/curated_images/objectifier@2x.jpg differ
diff --git a/content/curated_images/particleflow.jpg b/content/curated_images/particleflow.jpg
new file mode 100644
index 000000000..67775c29c
Binary files /dev/null and b/content/curated_images/particleflow.jpg differ
diff --git a/content/curated_images/particleflow@2x.jpg b/content/curated_images/particleflow@2x.jpg
new file mode 100644
index 000000000..efa22981f
Binary files /dev/null and b/content/curated_images/particleflow@2x.jpg differ
diff --git a/content/curated_images/possible.jpg b/content/curated_images/possible.jpg
new file mode 100644
index 000000000..fe89a9c80
Binary files /dev/null and b/content/curated_images/possible.jpg differ
diff --git a/content/curated_images/possible@2x.jpg b/content/curated_images/possible@2x.jpg
new file mode 100644
index 000000000..ceb5b5913
Binary files /dev/null and b/content/curated_images/possible@2x.jpg differ
diff --git a/content/curated_images/pour.jpg b/content/curated_images/pour.jpg
new file mode 100644
index 000000000..2ba0d0b6c
Binary files /dev/null and b/content/curated_images/pour.jpg differ
diff --git a/content/curated_images/pour@2x.jpg b/content/curated_images/pour@2x.jpg
new file mode 100644
index 000000000..3abdca466
Binary files /dev/null and b/content/curated_images/pour@2x.jpg differ
diff --git a/content/curated_images/random.jpg b/content/curated_images/random.jpg
new file mode 100644
index 000000000..8585738d9
Binary files /dev/null and b/content/curated_images/random.jpg differ
diff --git a/content/curated_images/random@2x.jpg b/content/curated_images/random@2x.jpg
new file mode 100644
index 000000000..fa423c542
Binary files /dev/null and b/content/curated_images/random@2x.jpg differ
diff --git a/content/curated_images/stewart.jpg b/content/curated_images/stewart.jpg
new file mode 100644
index 000000000..5b9374476
Binary files /dev/null and b/content/curated_images/stewart.jpg differ
diff --git a/content/curated_images/stewart@2x.jpg b/content/curated_images/stewart@2x.jpg
new file mode 100644
index 000000000..7fc072cfe
Binary files /dev/null and b/content/curated_images/stewart@2x.jpg differ
diff --git a/content/curated_images/terrapattern.jpg b/content/curated_images/terrapattern.jpg
new file mode 100644
index 000000000..0db5a3f80
Binary files /dev/null and b/content/curated_images/terrapattern.jpg differ
diff --git a/content/curated_images/terrapattern@2x.jpg b/content/curated_images/terrapattern@2x.jpg
new file mode 100644
index 000000000..fe130d3a7
Binary files /dev/null and b/content/curated_images/terrapattern@2x.jpg differ
diff --git a/content/curated_images/traces.jpg b/content/curated_images/traces.jpg
new file mode 100644
index 000000000..858572beb
Binary files /dev/null and b/content/curated_images/traces.jpg differ
diff --git a/content/curated_images/traces@2x.jpg b/content/curated_images/traces@2x.jpg
new file mode 100644
index 000000000..66c69b1e7
Binary files /dev/null and b/content/curated_images/traces@2x.jpg differ
diff --git a/content/curated_images/volume.jpg b/content/curated_images/volume.jpg
new file mode 100644
index 000000000..1233bc741
Binary files /dev/null and b/content/curated_images/volume.jpg differ
diff --git a/content/curated_images/volume@2x.jpg b/content/curated_images/volume@2x.jpg
new file mode 100644
index 000000000..ddd536094
Binary files /dev/null and b/content/curated_images/volume@2x.jpg differ
diff --git a/content/examples/Basics/Arrays/Array/Array.pde b/content/examples/Basics/Arrays/Array/Array.pde
index 1fd43308e..57f4ce959 100644
--- a/content/examples/Basics/Arrays/Array/Array.pde
+++ b/content/examples/Basics/Arrays/Array/Array.pde
@@ -5,7 +5,7 @@
* is identified by an index number representing its position in
* the array. Arrays are zero based, which means that the first
* element in the array is [0], the second element is [1], and so on.
- * In this example, an array named "coswav" is created and
+ * In this example, an array named "coswave" is created and
* filled with the cosine values. This data is displayed three
* separate ways on the screen.
*/
@@ -47,4 +47,4 @@ void draw() {
line(i, y1, i, y2);
}
-}
\ No newline at end of file
+}
diff --git a/content/examples/Basics/Color/Brightness/Brightness.pde b/content/examples/Basics/Color/Brightness/Brightness.pde
index 261fdce38..7f0e4093a 100644
--- a/content/examples/Basics/Color/Brightness/Brightness.pde
+++ b/content/examples/Basics/Color/Brightness/Brightness.pde
@@ -11,7 +11,7 @@ int lastBar = -1;
void setup() {
size(640, 360);
- colorMode(HSB, width, 100, width);
+ colorMode(HSB, width, 100, height);
noStroke();
background(0);
}
diff --git a/content/examples/Basics/Color/RadialGradient/RadialGradient.pde b/content/examples/Basics/Color/RadialGradient/RadialGradient.pde
index ed358a1e5..62df103d8 100644
--- a/content/examples/Basics/Color/RadialGradient/RadialGradient.pde
+++ b/content/examples/Basics/Color/RadialGradient/RadialGradient.pde
@@ -1,7 +1,7 @@
/**
* Radial Gradient.
*
- * Draws are series of concentric circles to create a gradient
+ * Draws a series of concentric circles to create a gradient
* from one color to another.
*/
diff --git a/content/examples/Basics/Color/WaveGradient/WaveGradient.pde b/content/examples/Basics/Color/WaveGradient/WaveGradient.pde
index aba6b2bcf..f83f8dd71 100644
--- a/content/examples/Basics/Color/WaveGradient/WaveGradient.pde
+++ b/content/examples/Basics/Color/WaveGradient/WaveGradient.pde
@@ -5,35 +5,37 @@
* Generate a gradient along a sin() wave.
*/
-float angle = 0;
-float px = 0, py = 0;
float amplitude = 30;
-float frequency = 0;
float fillGap = 2.5;
-color c;
void setup() {
size(640, 360);
background(200);
- noLoop();
-}
-
-void draw() {
+
+ // To efficiently set all the pixels on screen, make the set()
+ // calls on a PImage, then write the result to the screen.
+ PImage gradient = createImage(width, height, RGB);
+ float frequency = 0;
+
for (int i =- 75; i < height+75; i++){
// Reset angle to 0, so waves stack properly
- angle = 0;
+ float angle = 0;
// Increasing frequency causes more gaps
- frequency+=.002;
+ frequency += 0.002;
for (float j = 0; j < width+75; j++){
- py = i + sin(radians(angle)) * amplitude;
+ float py = i + sin(radians(angle)) * amplitude;
angle += frequency;
- c = color(abs(py-i)*255/amplitude, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
+ color c = color(abs(py-i)*255/amplitude, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
// Hack to fill gaps. Raise value of fillGap if you increase frequency
for (int filler = 0; filler < fillGap; filler++){
- set(int(j-filler), int(py)-filler, c);
- set(int(j), int(py), c);
- set(int(j+filler), int(py)+filler, c);
+ gradient.set(int(j-filler), int(py)-filler, c);
+ gradient.set(int(j), int(py), c);
+ gradient.set(int(j+filler), int(py)+filler, c);
}
}
}
-}
\ No newline at end of file
+ // Draw the image to the screen
+ set(0, 0, gradient);
+ // Another alternative for drawing to the screen
+ //image(gradient, 0, 0);
+}
diff --git a/content/examples/Basics/Data/CharactersStrings/CharactersStrings.pde b/content/examples/Basics/Data/CharactersStrings/CharactersStrings.pde
index b269baf02..3be296d72 100644
--- a/content/examples/Basics/Data/CharactersStrings/CharactersStrings.pde
+++ b/content/examples/Basics/Data/CharactersStrings/CharactersStrings.pde
@@ -38,7 +38,7 @@ void draw() {
text(words, 50, 120, 540, 300);
}
-void keyPressed() {
+void keyTyped() {
// The variable "key" always contains the value
// of the most recent key pressed.
if ((key >= 'A' && key <= 'z') || key == ' ') {
diff --git a/content/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde b/content/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde
index 1c2a398c9..ee7e74daf 100644
--- a/content/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde
+++ b/content/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde
@@ -16,7 +16,7 @@ textFont(createFont("SourceCodePro-Regular.ttf",24));
char c; // Chars are used for storing alphanumeric symbols
float f; // Floats are decimal numbers
int i; // Integers are values between 2,147,483,647 and -2147483648
-byte b; // Bytes are values between -128 and 128
+byte b; // Bytes are values between -128 and 127
c = 'A';
f = float(c); // Sets f = 65.0
diff --git a/content/examples/Basics/Form/PieChart/PieChart.pde b/content/examples/Basics/Form/PieChart/PieChart.pde
index 915a1ef7e..0dd505e0e 100644
--- a/content/examples/Basics/Form/PieChart/PieChart.pde
+++ b/content/examples/Basics/Form/PieChart/PieChart.pde
@@ -23,8 +23,8 @@ void pieChart(float diameter, int[] data) {
for (int i = 0; i < data.length; i++) {
float gray = map(i, 0, data.length, 0, 255);
fill(gray);
- arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(angles[i]));
- lastAngle += radians(angles[i]);
+ arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(data[i]));
+ lastAngle += radians(data[i]);
}
}
diff --git a/content/examples/Basics/Form/RegularPolygon/RegularPolygon.pde b/content/examples/Basics/Form/RegularPolygon/RegularPolygon.pde
index 09379230c..52d8f81af 100644
--- a/content/examples/Basics/Form/RegularPolygon/RegularPolygon.pde
+++ b/content/examples/Basics/Form/RegularPolygon/RegularPolygon.pde
@@ -24,7 +24,7 @@ void draw() {
pushMatrix();
translate(width*0.5, height*0.5);
rotate(frameCount / 50.0);
- polygon(0, 0, 80, 20); // Icosahedron
+ polygon(0, 0, 80, 20); // Icosagon
popMatrix();
pushMatrix();
diff --git a/content/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde b/content/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde
index f29106535..7e70c2f0b 100644
--- a/content/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde
+++ b/content/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde
@@ -27,7 +27,7 @@ void setup() {
noStroke();
colorMode(HSB, numChars);
background(numChars/2);
- // Set a gray value for each key
+ // Set a hue value for each key
for(int i = 0; i < numChars; i++) {
colors[i] = color(i, numChars, numChars);
}
@@ -58,11 +58,11 @@ void keyPressed()
if(key <= 'Z') {
keyIndex = key-'A';
letterHeight = maxHeight;
- fill(colors[key-'A']);
+ fill(colors[keyIndex]);
} else {
keyIndex = key-'a';
letterHeight = minHeight;
- fill(colors[key-'a']);
+ fill(colors[keyIndex]);
}
} else {
fill(0);
@@ -84,4 +84,4 @@ void keyPressed()
if( y > height - letterHeight) {
y = 0; // reset y to 0
}
-}
\ No newline at end of file
+}
diff --git a/content/examples/Basics/Input/MouseSignals/MouseSignals.pde b/content/examples/Basics/Input/MouseSignals/MouseSignals.pde
index c4776751d..32824354d 100644
--- a/content/examples/Basics/Input/MouseSignals/MouseSignals.pde
+++ b/content/examples/Basics/Input/MouseSignals/MouseSignals.pde
@@ -11,8 +11,7 @@ int[] xvals;
int[] yvals;
int[] bvals;
-void setup()
-{
+void setup() {
size(640, 360);
noSmooth();
xvals = new int[width];
@@ -22,11 +21,10 @@ void setup()
int arrayindex = 0;
-void draw()
-{
+void draw() {
background(102);
- for(int i = 1; i < width; i++) {
+ for (int i = 1; i < width; i++) {
xvals[i-1] = xvals[i];
yvals[i-1] = yvals[i];
bvals[i-1] = bvals[i];
@@ -34,22 +32,28 @@ void draw()
// Add the new values to the end of the array
xvals[width-1] = mouseX;
yvals[width-1] = mouseY;
- if(mousePressed) {
+
+ if (mousePressed == true) {
bvals[width-1] = 0;
} else {
- bvals[width-1] = 255;
+ bvals[width-1] = height/3;
}
fill(255);
noStroke();
rect(0, height/3, width, height/3+1);
- for(int i=1; i 20 && mouseX < 95 && mouseY > 60 && mouseY < 135) {
- overLeftButton = true;
- } else if (mouseX > 105 && mouseX < 180 && mouseY > 60 && mouseY <135) {
- overRightButton = true;
+ if (mouseX > 105 && mouseX < 180 && mouseY > 60 && mouseY <135) {
+ overButton = true;
} else {
- overLeftButton = overRightButton = false;
+ overButton = false;
}
}
-
-
-
-
diff --git a/content/examples/Basics/Web/LoadingImages/LoadingImages.pde b/content/examples/Basics/Web/LoadingImages/LoadingImages.pde
index 9f2f3fa04..3ebc338e7 100644
--- a/content/examples/Basics/Web/LoadingImages/LoadingImages.pde
+++ b/content/examples/Basics/Web/LoadingImages/LoadingImages.pde
@@ -1,11 +1,8 @@
/**
* Loading Images.
*
- * Processing applications can only load images from the network
- * while running in the Processing environment.
+ * Processing applications can load images from the network.
*
- * This example will not run in a web broswer and will only work when
- * the computer is connected to the Internet.
*/
PImage img;
diff --git a/content/examples/Demos/Graphics/LowLevelGL/LowLevelGL.pde b/content/examples/Demos/Graphics/LowLevelGL/LowLevelGL.pde
deleted file mode 100644
index 0e7d6a628..000000000
--- a/content/examples/Demos/Graphics/LowLevelGL/LowLevelGL.pde
+++ /dev/null
@@ -1,103 +0,0 @@
-// Draws a triangle using low-level OpenGL calls.
-import java.nio.*;
-
-PGL pgl;
-PShader sh;
-
-int vertLoc;
-int colorLoc;
-
-float[] vertices;
-float[] colors;
-
-FloatBuffer vertData;
-FloatBuffer colorData;
-
-void setup() {
- size(640, 360, P3D);
-
- // Loads a shader to render geometry w/out
- // textures and lights.
- sh = loadShader("frag.glsl", "vert.glsl");
-
- vertices = new float[12];
- vertData = allocateDirectFloatBuffer(12);
-
- colors = new float[12];
- colorData = allocateDirectFloatBuffer(12);
-}
-
-void draw() {
- background(0);
-
- // The geometric transformations will be automatically passed
- // to the shader.
- rotate(frameCount * 0.01, width, height, 0);
-
- updateGeometry();
-
- pgl = beginPGL();
- sh.bind();
-
- vertLoc = pgl.getAttribLocation(sh.glProgram, "vertex");
- colorLoc = pgl.getAttribLocation(sh.glProgram, "color");
-
- pgl.enableVertexAttribArray(vertLoc);
- pgl.enableVertexAttribArray(colorLoc);
-
- pgl.vertexAttribPointer(vertLoc, 4, PGL.FLOAT, false, 0, vertData);
- pgl.vertexAttribPointer(colorLoc, 4, PGL.FLOAT, false, 0, colorData);
-
- pgl.drawArrays(PGL.TRIANGLES, 0, 3);
-
- pgl.disableVertexAttribArray(vertLoc);
- pgl.disableVertexAttribArray(colorLoc);
-
- sh.unbind();
-
- endPGL();
-}
-
-void updateGeometry() {
- // Vertex 1
- vertices[0] = 0;
- vertices[1] = 0;
- vertices[2] = 0;
- vertices[3] = 1;
- colors[0] = 1;
- colors[1] = 0;
- colors[2] = 0;
- colors[3] = 1;
-
- // Corner 2
- vertices[4] = width/2;
- vertices[5] = height;
- vertices[6] = 0;
- vertices[7] = 1;
- colors[4] = 0;
- colors[5] = 1;
- colors[6] = 0;
- colors[7] = 1;
-
- // Corner 3
- vertices[8] = width;
- vertices[9] = 0;
- vertices[10] = 0;
- vertices[11] = 1;
- colors[8] = 0;
- colors[9] = 0;
- colors[10] = 1;
- colors[11] = 1;
-
- vertData.rewind();
- vertData.put(vertices);
- vertData.position(0);
-
- colorData.rewind();
- colorData.put(colors);
- colorData.position(0);
-}
-
-FloatBuffer allocateDirectFloatBuffer(int n) {
- return ByteBuffer.allocateDirect(n * Float.SIZE/8).order(ByteOrder.nativeOrder()).asFloatBuffer();
-}
diff --git a/content/examples/Demos/Graphics/LowLevelGLVboInterleaved/LowLevelGLVboInterleaved.pde b/content/examples/Demos/Graphics/LowLevelGLVboInterleaved/LowLevelGLVboInterleaved.pde
new file mode 100644
index 000000000..78800d5ad
--- /dev/null
+++ b/content/examples/Demos/Graphics/LowLevelGLVboInterleaved/LowLevelGLVboInterleaved.pde
@@ -0,0 +1,163 @@
+// Draws a triangle using low-level OpenGL calls.
+
+import java.nio.*;
+
+PShader sh;
+
+float[] attribs;
+
+FloatBuffer attribBuffer;
+
+int attribVboId;
+
+final static int VERT_CMP_COUNT = 4; // vertex component count (x, y, z, w) -> 4
+final static int CLR_CMP_COUNT = 4; // color component count (r, g, b, a) -> 4
+
+public void setup() {
+ size(640, 360, P3D);
+
+ // Loads a shader to render geometry w/out
+ // textures and lights.
+ sh = loadShader("frag.glsl", "vert.glsl");
+
+ attribs = new float[24];
+ attribBuffer = allocateDirectFloatBuffer(24);
+
+ PGL pgl = beginPGL();
+
+ IntBuffer intBuffer = IntBuffer.allocate(1);
+ pgl.genBuffers(1, intBuffer);
+
+ attribVboId = intBuffer.get(0);
+
+ endPGL();
+}
+
+public void draw() {
+
+ PGL pgl = beginPGL();
+
+ background(0);
+
+ // The geometric transformations will be automatically passed
+ // to the shader.
+ rotate(frameCount * 0.01f, width, height, 0);
+
+ updateGeometry();
+ sh.bind();
+
+ // get "vertex" attribute location in the shader
+ final int vertLoc = pgl.getAttribLocation(sh.glProgram, "vertex");
+ // enable array for "vertex" attribute
+ pgl.enableVertexAttribArray(vertLoc);
+
+ // get "color" attribute location in the shader
+ final int colorLoc = pgl.getAttribLocation(sh.glProgram, "color");
+ // enable array for "color" attribute
+ pgl.enableVertexAttribArray(colorLoc);
+
+
+ /*
+ BUFFER LAYOUT from updateGeometry()
+
+ xyzwrgbaxyzwrgbaxyzwrgba...
+
+ |v1 |v2 |v3 |...
+ |0 |4 |8 |12 |16 |20 |...
+ |xyzw|rgba|xyzw|rgba|xyzw|rgba|...
+
+ stride (values per vertex) is 8 floats
+ vertex offset is 0 floats (starts at the beginning of each line)
+ color offset is 4 floats (starts after vertex coords)
+
+ |0 |4 |8
+ v1 |xyzw|rgba|
+ v2 |xyzw|rgba|
+ v3 |xyzw|rgba|
+ |...
+ */
+ final int stride = (VERT_CMP_COUNT + CLR_CMP_COUNT) * Float.BYTES;
+ final int vertexOffset = 0 * Float.BYTES;
+ final int colorOffset = VERT_CMP_COUNT * Float.BYTES;
+
+ // bind VBO
+ pgl.bindBuffer(PGL.ARRAY_BUFFER, attribVboId);
+ // fill VBO with data
+ pgl.bufferData(PGL.ARRAY_BUFFER, Float.BYTES * attribs.length, attribBuffer, PGL.DYNAMIC_DRAW);
+ // associate currently bound VBO with "vertex" shader attribute
+ pgl.vertexAttribPointer(vertLoc, VERT_CMP_COUNT, PGL.FLOAT, false, stride, vertexOffset);
+ // associate currently bound VBO with "color" shader attribute
+ pgl.vertexAttribPointer(colorLoc, CLR_CMP_COUNT, PGL.FLOAT, false, stride, colorOffset);
+ // unbind VBO
+ pgl.bindBuffer(PGL.ARRAY_BUFFER, 0);
+
+
+ pgl.drawArrays(PGL.TRIANGLES, 0, 3);
+
+
+ // disable arrays for attributes before unbinding the shader
+ pgl.disableVertexAttribArray(vertLoc);
+ pgl.disableVertexAttribArray(colorLoc);
+
+ sh.unbind();
+
+ endPGL();
+}
+
+// Triggers a crash when closing the output window using the close button
+//public void dispose() {
+// PGL pgl = beginPGL();
+
+// IntBuffer intBuffer = IntBuffer.allocate(1);
+// intBuffer.put(attribVboId);
+// intBuffer.rewind();
+// pgl.deleteBuffers(1, intBuffer);
+
+// endPGL();
+//}
+
+void updateGeometry() {
+ // Vertex 1
+ attribs[0] = 0;
+ attribs[1] = 0;
+ attribs[2] = 0;
+ attribs[3] = 1;
+
+ // Color 1
+ attribs[4] = 1;
+ attribs[5] = 0;
+ attribs[6] = 0;
+ attribs[7] = 1;
+
+ // Vertex 2
+ attribs[8] = width/2;
+ attribs[9] = height;
+ attribs[10] = 0;
+ attribs[11] = 1;
+
+ // Color 2
+ attribs[12] = 0;
+ attribs[13] = 1;
+ attribs[14] = 0;
+ attribs[15] = 1;
+
+ // Vertex 3
+ attribs[16] = width;
+ attribs[17] = 0;
+ attribs[18] = 0;
+ attribs[19] = 1;
+
+ // Color 3
+ attribs[20] = 0;
+ attribs[21] = 0;
+ attribs[22] = 1;
+ attribs[23] = 1;
+
+ attribBuffer.rewind();
+ attribBuffer.put(attribs);
+ attribBuffer.rewind();
+}
+
+FloatBuffer allocateDirectFloatBuffer(int n) {
+ return ByteBuffer.allocateDirect(n * Float.BYTES).order(ByteOrder.nativeOrder()).asFloatBuffer();
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/LowLevelGL/data/frag.glsl b/content/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/frag.glsl
similarity index 100%
rename from content/examples/Demos/Graphics/LowLevelGL/data/frag.glsl
rename to content/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/frag.glsl
diff --git a/content/examples/Demos/Graphics/LowLevelGL/data/vert.glsl b/content/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/vert.glsl
similarity index 100%
rename from content/examples/Demos/Graphics/LowLevelGL/data/vert.glsl
rename to content/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/vert.glsl
diff --git a/content/examples/Demos/Graphics/LowLevelGLVboSeparate/LowLevelGLVboSeparate.pde b/content/examples/Demos/Graphics/LowLevelGLVboSeparate/LowLevelGLVboSeparate.pde
new file mode 100644
index 000000000..2caf653e6
--- /dev/null
+++ b/content/examples/Demos/Graphics/LowLevelGLVboSeparate/LowLevelGLVboSeparate.pde
@@ -0,0 +1,188 @@
+// Draws a triangle using low-level OpenGL calls.
+
+import java.nio.*;
+
+PShader sh;
+
+float[] vertices;
+float[] colors;
+
+FloatBuffer vertexBuffer;
+FloatBuffer colorBuffer;
+
+int vertexVboId;
+int colorVboId;
+
+final static int VERT_CMP_COUNT = 4; // vertex component count (x, y, z, w) -> 4
+final static int CLR_CMP_COUNT = 4; // color component count (r, g, b, a) -> 4
+
+public void setup() {
+ size(640, 360, P3D);
+
+ // Loads a shader to render geometry w/out
+ // textures and lights.
+ sh = loadShader("frag.glsl", "vert.glsl");
+
+ vertices = new float[12];
+ colors = new float[12];
+
+ vertexBuffer = allocateDirectFloatBuffer(12);
+ colorBuffer = allocateDirectFloatBuffer(12);
+
+ PGL pgl = beginPGL();
+
+ // allocate buffer big enough to get all VBO ids back
+ IntBuffer intBuffer = IntBuffer.allocate(2);
+ pgl.genBuffers(2, intBuffer);
+
+ vertexVboId = intBuffer.get(0);
+ colorVboId = intBuffer.get(1);
+
+ endPGL();
+}
+
+public void draw() {
+
+ PGL pgl = beginPGL();
+
+ background(0);
+
+ // The geometric transformations will be automatically passed
+ // to the shader.
+ rotate(frameCount * 0.01f, width, height, 0);
+
+ updateGeometry();
+ sh.bind();
+
+ // get "vertex" attribute location in the shader
+ final int vertLoc = pgl.getAttribLocation(sh.glProgram, "vertex");
+ // enable array for "vertex" attribute
+ pgl.enableVertexAttribArray(vertLoc);
+
+ // get "color" attribute location in the shader
+ final int colorLoc = pgl.getAttribLocation(sh.glProgram, "color");
+ // enable array for "color" attribute
+ pgl.enableVertexAttribArray(colorLoc);
+
+ /*
+ BUFFER LAYOUT from updateGeometry()
+
+ Vertex buffer:
+
+ xyzwxyzwxyzw...
+
+ |v1 |v2 |v3 |...
+ |0 |4 |8 |...
+ |xyzw|xyzw|xyzw|...
+
+
+ Color buffer:
+
+ rgbargbargba...
+
+ |v1 |v2 |v3 |...
+ |0 |4 |8 |...
+ |rgba|rgba|rgba|...
+
+ stride (values per vertex) is 4 floats in both cases
+ vertex offset is 0 floats in both cases
+ */
+ final int vertexStride = VERT_CMP_COUNT * Float.BYTES;
+ final int colorStride = CLR_CMP_COUNT * Float.BYTES;
+ final int vertexOffset = 0 * Float.BYTES;
+ final int colorOffset = 0 * Float.BYTES;
+
+
+ { // VERTEX
+ // bind VBO
+ pgl.bindBuffer(PGL.ARRAY_BUFFER, vertexVboId);
+ // fill VBO with data
+ pgl.bufferData(PGL.ARRAY_BUFFER, Float.BYTES * vertices.length, vertexBuffer, PGL.DYNAMIC_DRAW);
+ // associate currently bound VBO with shader attribute
+ pgl.vertexAttribPointer(vertLoc, VERT_CMP_COUNT, PGL.FLOAT, false, vertexStride, vertexOffset);
+ }
+
+ { // COLOR
+ // bind VBO
+ pgl.bindBuffer(PGL.ARRAY_BUFFER, colorVboId);
+ // fill bound VBO with data
+ pgl.bufferData(PGL.ARRAY_BUFFER, Float.BYTES * colors.length, colorBuffer, PGL.DYNAMIC_DRAW);
+ // associate currently bound VBO with shader attribute
+ pgl.vertexAttribPointer(colorLoc, CLR_CMP_COUNT, PGL.FLOAT, false, colorStride, colorOffset);
+ }
+
+ // unbind VBOs
+ pgl.bindBuffer(PGL.ARRAY_BUFFER, 0);
+
+
+ pgl.drawArrays(PGL.TRIANGLES, 0, 3);
+
+
+ // disable arrays for attributes before unbinding the shader
+ pgl.disableVertexAttribArray(vertLoc);
+ pgl.disableVertexAttribArray(colorLoc);
+
+ sh.unbind();
+
+ endPGL();
+}
+
+// Triggers a crash when closing the output window using the close button
+//public void dispose() {
+// PGL pgl = beginPGL();
+
+// IntBuffer intBuffer = IntBuffer.allocate(2);
+// intBuffer.put(vertexVboId);
+// intBuffer.put(colorVboId);
+// intBuffer.rewind();
+// pgl.deleteBuffers(2, intBuffer);
+
+// endPGL();
+//}
+
+void updateGeometry() {
+ // Vertex 1
+ vertices[0] = 0;
+ vertices[1] = 0;
+ vertices[2] = 0;
+ vertices[3] = 1;
+
+ colors[0] = 1;
+ colors[1] = 0;
+ colors[2] = 0;
+ colors[3] = 1;
+
+ // Vertex 2
+ vertices[4] = width/2;
+ vertices[5] = height;
+ vertices[6] = 0;
+ vertices[7] = 1;
+
+ colors[4] = 0;
+ colors[5] = 1;
+ colors[6] = 0;
+ colors[7] = 1;
+
+ // Vertex 3
+ vertices[8] = width;
+ vertices[9] = 0;
+ vertices[10] = 0;
+ vertices[11] = 1;
+
+ colors[8] = 0;
+ colors[9] = 0;
+ colors[10] = 1;
+ colors[11] = 1;
+
+ vertexBuffer.rewind();
+ vertexBuffer.put(vertices);
+ vertexBuffer.rewind();
+
+ colorBuffer.rewind();
+ colorBuffer.put(colors);
+ colorBuffer.rewind();
+}
+
+FloatBuffer allocateDirectFloatBuffer(int n) {
+ return ByteBuffer.allocateDirect(n * Float.BYTES).order(ByteOrder.nativeOrder()).asFloatBuffer();
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/LowLevelGLVboSeparate/data/frag.glsl b/content/examples/Demos/Graphics/LowLevelGLVboSeparate/data/frag.glsl
new file mode 100644
index 000000000..16742d2bd
--- /dev/null
+++ b/content/examples/Demos/Graphics/LowLevelGLVboSeparate/data/frag.glsl
@@ -0,0 +1,30 @@
+/*
+ Part of the Processing project - http://processing.org
+
+ Copyright (c) 2011-12 Ben Fry and Casey Reas
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License version 2.1 as published by the Free Software Foundation.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General
+ Public License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ Boston, MA 02111-1307 USA
+ */
+
+#ifdef GL_ES
+precision mediump float;
+precision mediump int;
+#endif
+
+varying vec4 vertColor;
+
+void main() {
+ gl_FragColor = vertColor;
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/LowLevelGLVboSeparate/data/vert.glsl b/content/examples/Demos/Graphics/LowLevelGLVboSeparate/data/vert.glsl
new file mode 100644
index 000000000..27c255ee5
--- /dev/null
+++ b/content/examples/Demos/Graphics/LowLevelGLVboSeparate/data/vert.glsl
@@ -0,0 +1,31 @@
+/*
+ Part of the Processing project - http://processing.org
+
+ Copyright (c) 2011-12 Ben Fry and Casey Reas
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License version 2.1 as published by the Free Software Foundation.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General
+ Public License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ Boston, MA 02111-1307 USA
+ */
+
+uniform mat4 transform;
+
+attribute vec4 vertex;
+attribute vec4 color;
+
+varying vec4 vertColor;
+
+void main() {
+ gl_Position = transform * vertex;
+ vertColor = color;
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/MeshTweening/MeshTweening.pde b/content/examples/Demos/Graphics/MeshTweening/MeshTweening.pde
new file mode 100644
index 000000000..14c5e4490
--- /dev/null
+++ b/content/examples/Demos/Graphics/MeshTweening/MeshTweening.pde
@@ -0,0 +1,50 @@
+// Use of custom vertex attributes.
+// Inspired by
+// http://pyopengl.sourceforge.net/context/tutorials/shader_4.html
+
+PShader sh;
+PShape grid;
+
+void setup() {
+ size(640, 360, P3D);
+ sh = loadShader("frag.glsl", "vert.glsl");
+ shader(sh);
+
+ grid = createShape();
+ grid.beginShape(QUADS);
+ grid.noStroke();
+ grid.fill(150);
+ float d = 10;
+ for (int x = -500; x < 500; x += d) {
+ for (int y = -500; y < 500; y += d) {
+ grid.fill(255 * noise(x, y));
+ grid.attribPosition("tweened", x, y, 100 * noise(x, y));
+ grid.vertex(x, y, 0);
+
+ grid.fill(255 * noise(x + d, y));
+ grid.attribPosition("tweened", x + d, y, 100 * noise(x + d, y));
+ grid.vertex(x + d, y, 0);
+
+ grid.fill(255 * noise(x + d, y + d));
+ grid.attribPosition("tweened", x + d, y + d, 100 * noise(x + d, y + d));
+ grid.vertex(x + d, y + d, 0);
+
+ grid.fill(255 * noise(x, y + d));
+ grid.attribPosition("tweened", x, y + d, 100 * noise(x, y + d));
+ grid.vertex(x, y + d, 0);
+ }
+ }
+ grid.endShape();
+}
+
+void draw() {
+ background(255);
+
+ sh.set("tween", map(mouseX, 0, width, 0, 1));
+
+ translate(width/2, height/2, 0);
+ rotateX(frameCount * 0.01);
+ rotateY(frameCount * 0.01);
+
+ shape(grid);
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/MeshTweening/data/frag.glsl b/content/examples/Demos/Graphics/MeshTweening/data/frag.glsl
new file mode 100644
index 000000000..3585015a2
--- /dev/null
+++ b/content/examples/Demos/Graphics/MeshTweening/data/frag.glsl
@@ -0,0 +1,5 @@
+varying vec4 vertColor;
+
+void main() {
+ gl_FragColor = vertColor;
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/MeshTweening/data/vert.glsl b/content/examples/Demos/Graphics/MeshTweening/data/vert.glsl
new file mode 100644
index 000000000..69fb682e0
--- /dev/null
+++ b/content/examples/Demos/Graphics/MeshTweening/data/vert.glsl
@@ -0,0 +1,14 @@
+uniform mat4 transformMatrix;
+uniform float tween;
+
+attribute vec4 position;
+attribute vec4 tweened;
+attribute vec4 color;
+
+varying vec4 vertColor;
+
+void main() {
+ gl_Position = transformMatrix * ((1.0 - tween) * position + tween * tweened);
+
+ vertColor = color;
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/Planets/Planets.pde b/content/examples/Demos/Graphics/Planets/Planets.pde
index 3e6494a54..2fae28072 100644
--- a/content/examples/Demos/Graphics/Planets/Planets.pde
+++ b/content/examples/Demos/Graphics/Planets/Planets.pde
@@ -85,19 +85,6 @@ void draw() {
image(starfield, 0, 0, width, height);
hint(ENABLE_DEPTH_MASK);
- /*
- // Displacing the u texture coordinate of layer 1 in planet
- // so it creates the effect of moving clouds.
- PShape3D p = (PShape3D)planet1;
- p.loadTexcoords(1);
- for (int i = 0; i < p.getVertexCount(); i++) {
- float u = p.texcoords[2 * i + 0];
- u += 0.002;
- p.texcoords[2 * i + 0] = u;
- }
- p.updateTexcoords();
- */
-
pushMatrix();
translate(width/2, height/2, -300);
@@ -119,4 +106,4 @@ void draw() {
translate(0.75 * width, 0.6 * height, 50);
shape(planet1);
-}
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/Ribbons/Geometry.pde b/content/examples/Demos/Graphics/Ribbons/Geometry.pde
index 302b0f413..ca978e9f0 100644
--- a/content/examples/Demos/Graphics/Ribbons/Geometry.pde
+++ b/content/examples/Demos/Graphics/Ribbons/Geometry.pde
@@ -316,23 +316,23 @@ void generateFlatRibbon(ArrayList vertices, ArrayList normals) {
Normal1.normalize();
// The (Sid1Point0, Sid1Point1, CentPoint1) triangle is added.
- vertices.add(new PVector(Sid1Point0.x, Sid1Point0.y, Sid1Point0.z));
- normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z));
+ vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z));
+ normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z));
vertices.add(new PVector(Sid1Point1.x, Sid1Point1.y, Sid1Point1.z));
normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z));
- vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z));
- normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z));
+ vertices.add(new PVector(Sid1Point0.x, Sid1Point0.y, Sid1Point0.z));
+ normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z));
// The (Sid1Point0, CentPoint1, CentPoint0) triangle is added.
- vertices.add(new PVector(Sid1Point0.x, Sid1Point0.y, Sid1Point0.z));
+ vertices.add(new PVector(CentPoint0.x, CentPoint0.y, CentPoint0.z));
normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z));
vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z));
normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z));
- vertices.add(new PVector(CentPoint0.x, CentPoint0.y, CentPoint0.z));
+ vertices.add(new PVector(Sid1Point0.x, Sid1Point0.y, Sid1Point0.z));
normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z));
// (Sid2Point0, Sid2Point1, CentPoint1) triangle is added.
@@ -494,4 +494,4 @@ void constructControlPoints(ArrayList residues, int res, int ss, int handness) {
PVector linearComb(float scalar0, PVector vector0, float scalar1, PVector vector1) {
return PVector.add(PVector.mult(vector0, scalar0), PVector.mult(vector1, scalar1));
-}
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/Ribbons/Ribbons.pde b/content/examples/Demos/Graphics/Ribbons/Ribbons.pde
index e581e8114..3a5acfe9a 100644
--- a/content/examples/Demos/Graphics/Ribbons/Ribbons.pde
+++ b/content/examples/Demos/Graphics/Ribbons/Ribbons.pde
@@ -48,4 +48,4 @@ void mousePressed(){
void mouseDragged(){
arcball.mouseDragged();
-}
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Graphics/Wiggling/Wiggling.pde b/content/examples/Demos/Graphics/Wiggling/Wiggling.pde
index 126c7d35f..06f77ad5e 100644
--- a/content/examples/Demos/Graphics/Wiggling/Wiggling.pde
+++ b/content/examples/Demos/Graphics/Wiggling/Wiggling.pde
@@ -38,7 +38,7 @@ void draw() {
}
}
- println(frameRate);
+ if (frameCount % 60 == 0) println(frameRate);
}
public void keyPressed() {
@@ -60,150 +60,75 @@ void createCube() {
PShape face;
- // Front face
- face = createShape();
- face.beginShape(POLYGON);
- face.stroke(255, 0, 0);
- face.fill(255);
- face.beginContour();
- face.vertex(-cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.vertex(+cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.vertex(+cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.vertex(-cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.endContour();
- face.beginContour();
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = circleRad * sin(angle);
- float y = circleRad * cos(angle);
- float z = +cubeSize/2;
- face.vertex(x, y, z);
+ // Create all faces at front position
+ for (int i = 0; i < 6; i++) {
+ face = createShape();
+ createFaceWithHole(face);
+ cube.addChild(face);
}
- face.endContour();
- face.endShape(CLOSE);
- cube.addChild(face);
+
+ // Rotate all the faces to their positions
+
+ // Front face - already correct
+ face = cube.getChild(0);
// Back face
- face = createShape();
- face.beginShape(POLYGON);
- face.stroke(255, 0, 0);
- face.fill(255);
- face.beginContour();
- face.vertex(+cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.vertex(-cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.vertex(-cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.vertex(+cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.endContour();
- face.beginContour();
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = circleRad * sin(angle);
- float y = circleRad * cos(angle);
- float z = -cubeSize/2;
- face.vertex(x, y, z);
- }
- face.endContour();
- face.endShape(CLOSE);
- cube.addChild(face);
+ face = cube.getChild(1);
+ face.rotateY(radians(180));
// Right face
- face = createShape();
- face.beginShape(POLYGON);
- face.stroke(255, 0, 0);
- face.fill(255);
- face.beginContour();
- face.vertex(+cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.vertex(+cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.vertex(+cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.vertex(+cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.endContour();
- face.beginContour();
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = +cubeSize/2;
- float y = circleRad * sin(angle);
- float z = circleRad * cos(angle);
- face.vertex(x, y, z);
- }
- face.endContour();
- face.endShape(CLOSE);
- cube.addChild(face);
+ face = cube.getChild(2);
+ face.rotateY(radians(90));
// Left face
- face = createShape();
- face.beginShape(POLYGON);
- face.stroke(255, 0, 0);
- face.fill(255);
- face.beginContour();
- face.vertex(-cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.vertex(-cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.vertex(-cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.vertex(-cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.endContour();
- face.beginContour();
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = -cubeSize/2;
- float y = circleRad * sin(angle);
- float z = circleRad * cos(angle);
- face.vertex(x, y, z);
- }
- face.endContour();
- face.endShape(CLOSE);
- cube.addChild(face);
+ face = cube.getChild(3);
+ face.rotateY(radians(-90));
// Top face
- face = createShape();
- face.beginShape(POLYGON);
- face.stroke(255, 0, 0);
- face.fill(255);
- face.beginContour();
- face.vertex(-cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.vertex(+cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.vertex(+cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.vertex(-cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.endContour();
- face.beginContour();
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = circleRad * sin(angle);
- float y = +cubeSize/2;
- float z = circleRad * cos(angle);
- face.vertex(x, y, z);
- }
- face.endContour();
- face.endShape(CLOSE);
- cube.addChild(face);
+ face = cube.getChild(4);
+ face.rotateX(radians(90));
// Bottom face
- face = createShape();
+ face = cube.getChild(5);
+ face.rotateX(radians(-90));
+}
+
+void createFaceWithHole(PShape face) {
face.beginShape(POLYGON);
face.stroke(255, 0, 0);
face.fill(255);
- face.beginContour();
- face.vertex(+cubeSize/2, -cubeSize/2, +cubeSize/2);
+
+ // Draw main shape Clockwise
face.vertex(-cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.vertex(-cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.vertex(+cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.endContour();
+ face.vertex(+cubeSize/2, -cubeSize/2, +cubeSize/2);
+ face.vertex(+cubeSize/2, +cubeSize/2, +cubeSize/2);
+ face.vertex(-cubeSize / 2, +cubeSize / 2, +cubeSize / 2);
+
+ // Draw contour (hole) Counter-Clockwise
face.beginContour();
for (int i = 0; i < circleRes; i++) {
float angle = TWO_PI * i / circleRes;
float x = circleRad * sin(angle);
- float y = -cubeSize/2;
- float z = circleRad * cos(angle);
+ float y = circleRad * cos(angle);
+ float z = +cubeSize/2;
face.vertex(x, y, z);
}
face.endContour();
+
face.endShape(CLOSE);
- cube.addChild(face);
}
void restoreCube() {
- PShape face;
+ // Rotation of faces is preserved, so we just reset them
+ // the same way as the "front" face and they will stay
+ // rotated correctly
+ for (int i = 0; i < 6; i++) {
+ PShape face = cube.getChild(i);
+ restoreFaceWithHole(face);
+ }
+}
- // Front face
- face = cube.getChild(0);
+void restoreFaceWithHole(PShape face) {
face.setVertex(0, -cubeSize/2, -cubeSize/2, +cubeSize/2);
face.setVertex(1, +cubeSize/2, -cubeSize/2, +cubeSize/2);
face.setVertex(2, +cubeSize/2, +cubeSize/2, +cubeSize/2);
@@ -215,75 +140,4 @@ void restoreCube() {
float z = +cubeSize/2;
face.setVertex(4 + i, x, y, z);
}
-
- // Back face
- face = cube.getChild(1);
- face.setVertex(0, +cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.setVertex(1, -cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.setVertex(2, -cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.setVertex(3, +cubeSize/2, +cubeSize/2, -cubeSize/2);
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = circleRad * sin(angle);
- float y = circleRad * cos(angle);
- float z = -cubeSize/2;
- face.setVertex(4 + i, x, y, z);
- }
-
- // Right face
- face = cube.getChild(2);
- face.setVertex(0, +cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.setVertex(1, +cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.setVertex(2, +cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.setVertex(3, +cubeSize/2, +cubeSize/2, +cubeSize/2);
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = +cubeSize/2;
- float y = circleRad * sin(angle);
- float z = circleRad * cos(angle);
- face.setVertex(4 + i, x, y, z);
- }
-
- // Left face
- face = cube.getChild(3);
- face.setVertex(0, -cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.setVertex(1, -cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.setVertex(2, -cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.setVertex(3, -cubeSize/2, +cubeSize/2, -cubeSize/2);
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = -cubeSize/2;
- float y = circleRad * sin(angle);
- float z = circleRad * cos(angle);
- face.setVertex(4 + i, x, y, z);
- }
-
- // Top face
- face = cube.getChild(4);
- face.setVertex(0, -cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.setVertex(1, +cubeSize/2, +cubeSize/2, +cubeSize/2);
- face.setVertex(2, +cubeSize/2, +cubeSize/2, -cubeSize/2);
- face.setVertex(3, -cubeSize/2, +cubeSize/2, -cubeSize/2);
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = circleRad * sin(angle);
- float y = +cubeSize/2;
- float z = circleRad * cos(angle);
- face.setVertex(4 + i, x, y, z);
- }
-
- // Bottom face
- face = cube.getChild(5);
- face.setVertex(0, +cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.setVertex(1, -cubeSize/2, -cubeSize/2, +cubeSize/2);
- face.setVertex(2, -cubeSize/2, -cubeSize/2, -cubeSize/2);
- face.setVertex(3, +cubeSize/2, -cubeSize/2, -cubeSize/2);
- for (int i = 0; i < circleRes; i++) {
- float angle = TWO_PI * i / circleRes;
- float x = circleRad * sin(angle);
- float y = -cubeSize/2;
- float z = circleRad * cos(angle);
- face.setVertex(4 + i, x, y, z);
- }
-}
-
+}
\ No newline at end of file
diff --git a/content/examples/Demos/Tests/MenuBar/MenuBar.pde b/content/examples/Demos/Tests/MenuBar/MenuBar.pde
deleted file mode 100644
index 801ffc1a0..000000000
--- a/content/examples/Demos/Tests/MenuBar/MenuBar.pde
+++ /dev/null
@@ -1,56 +0,0 @@
-// Example showing how to add a Swing menu bar to an OpenGL sketch.
-// This requires JOGL's NewtCanvasAWT class for native parenting:
-// http://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/com/jogamp/newt/awt/NewtCanvasAWT.html
-// in order to wrap the native GLWindow as a Canvas that can be added
-// to AWT/Swing components.
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-import com.jogamp.newt.awt.*;
-import com.jogamp.newt.opengl.*;
-
-void init() {
- JFrame frame = new JFrame("Parent JFrame");
- frame.setLayout(new BorderLayout());
- frame.setResizable(false);
-
- JMenuBar menuBar = new JMenuBar();
- JMenu menu = new JMenu("Menu");
- JMenuItem exitItem = new JMenuItem("Exit");
- exitItem.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- exit();
- }
- });
- menu.add(exitItem);
- menuBar.add(menu);
-
- // Wrap the native surface using a NewtCanvasAWT object
- // that can be used to embed inside the JFrame.
- GLWindow win = (GLWindow)surface.getNative();
- Canvas canvas = new NewtCanvasAWT(win);
- canvas.setBounds(0, 0, win.getWidth(), win.getHeight());
-
- frame.setJMenuBar(menuBar);
- frame.add(canvas);
-
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.pack();
- frame.setVisible(true);
- frame.setLocation(200, 200);
-
- super.init();
-}
-
-void settings() {
- size(400, 400, P3D);
-}
-
-void draw() {
- background(150);
- line(0, 0, 400, 400);
- line(0, 400, 400, 0);
- ellipse(mouseX, mouseY, 50, 50);
-}
\ No newline at end of file
diff --git a/content/examples/README.md b/content/examples/README.md
new file mode 100644
index 000000000..0f5d7c1c1
--- /dev/null
+++ b/content/examples/README.md
@@ -0,0 +1 @@
+The examples without a credit line were written by Casey Reas or Ben Fry and they are in the public domain. Daniel Shiffman's examples are in the public domain. We appreciate a link back to the original and/or an acknowledgement when they are used. The copyrights for other credited files remains with the original authors.
diff --git a/content/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde b/content/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde
index 4fcba4cf6..b402763db 100644
--- a/content/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde
+++ b/content/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde
@@ -1,5 +1,5 @@
/**
- * Loading XML Data
+ * Loading JSON Data
* by Daniel Shiffman.
*
* This example demonstrates how to use loadJSON()
diff --git a/content/examples/Topics/Advanced Data/Threads/Threads.pde b/content/examples/Topics/Advanced Data/Threads/Threads.pde
index f43bc3d2e..f7714a10e 100644
--- a/content/examples/Topics/Advanced Data/Threads/Threads.pde
+++ b/content/examples/Topics/Advanced Data/Threads/Threads.pde
@@ -9,7 +9,6 @@
* the code inside the function passed to thread() will operate
* in the background.
*
- * For more about threads, see: http://wiki.processing.org/w/Threading
*/
// This sketch will load data from all of these URLs in a separate thread
diff --git a/content/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde b/content/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde
index 5499410b1..7f1d904bd 100644
--- a/content/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde
+++ b/content/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde
@@ -11,8 +11,12 @@ int temperature = 0;
// We're going to store text about the weather
String weather = "";
-// The zip code we'll check for
+
+// Yahoo weather uses something called A WOEID (Where On Earth IDentifier)
+// https://en.wikipedia.org/wiki/WOEID
+// This is the WOEID for zip code 10003
String zip = "10003";
+String woeid = "12761335";
PFont font;
@@ -23,13 +27,13 @@ void setup() {
textFont(font);
// The URL for the XML document
- String url = "http://xml.weather.yahoo.com/forecastrss?p=" + zip;
+ String url = "http://query.yahooapis.com/v1/public/yql?format=xml&q=select+*+from+weather.forecast+where+woeid=" + woeid + "+and+u='F'";
// Load the XML document
XML xml = loadXML(url);
// Grab the element we want
- XML forecast = xml.getChild("channel/item/yweather:forecast");
+ XML forecast = xml.getChild("results/channel/item/yweather:forecast");
// Get the attributes we want
temperature = forecast.getInt("high");
@@ -41,8 +45,8 @@ void draw() {
fill(0);
// Display all the stuff we want to display
- text("Zip code: " + zip, width*0.15, height*0.33);
- text("Today’s high: " + temperature, width*0.15, height*0.5);
+ text("Zip: " + zip, width*0.15, height*0.33);
+ text("Today’s high: " + temperature + "°F", width*0.15, height*0.5);
text("Forecast: " + weather, width*0.15, height*0.66);
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde b/content/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde
index 531ea367b..299ba8180 100644
--- a/content/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde
+++ b/content/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde
@@ -110,7 +110,7 @@ class BezierCurve {
if (index < 0) {
// if the index is negative, exact length is not in the table,
// but it tells us where it should be in the table
- // see http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#binarySearch(float[], float)
+ // see https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#binarySearch-float:A-float-
// interpolate two surrounding indexes
int nextIndex = -(index + 1);
diff --git a/content/examples/Topics/File IO/DirectoryList/DirectoryList.pde b/content/examples/Topics/File IO/DirectoryList/DirectoryList.pde
index 2bf64b991..80568a5b5 100644
--- a/content/examples/Topics/File IO/DirectoryList/DirectoryList.pde
+++ b/content/examples/Topics/File IO/DirectoryList/DirectoryList.pde
@@ -14,13 +14,14 @@ import java.util.Date;
void setup() {
- // Path
- String path = sketchPath;
+ // Using just the path of this sketch to demonstrate,
+ // but you can list any directory you like.
+ String path = sketchPath();
println("Listing all filenames in a directory: ");
String[] filenames = listFileNames(path);
- println(filenames);
-
+ printArray(filenames);
+
println("\nListing info about all files in a directory: ");
File[] files = listFiles(path);
for (int i = 0; i < files.length; i++) {
@@ -32,11 +33,11 @@ void setup() {
println("Last Modified: " + lastModified);
println("-----------------------");
}
-
+
println("\nListing info about all files in a directory and all subdirectories: ");
ArrayList allFiles = listFilesRecursive(path);
-
- for (File f: allFiles) {
+
+ for (File f : allFiles) {
println("Name: " + f.getName());
println("Full path: " + f.getAbsolutePath());
println("Is directory: " + f.isDirectory());
@@ -52,7 +53,6 @@ void setup() {
// Nothing is drawn in this program and the draw() doesn't loop because
// of the noLoop() in setup()
void draw() {
-
}
// This function returns all the files in a directory as an array of Strings
@@ -82,9 +82,9 @@ File[] listFiles(String dir) {
// Function to get a list of all files in a directory and all subdirectories
ArrayList listFilesRecursive(String dir) {
- ArrayList fileList = new ArrayList();
- recurseDir(fileList,dir);
- return fileList;
+ ArrayList fileList = new ArrayList();
+ recurseDir(fileList, dir);
+ return fileList;
}
// Recursive function to traverse subdirectories
@@ -96,9 +96,9 @@ void recurseDir(ArrayList a, String dir) {
File[] subfiles = file.listFiles();
for (int i = 0; i < subfiles.length; i++) {
// Call this function on all files in this directory
- recurseDir(a,subfiles[i].getAbsolutePath());
+ recurseDir(a, subfiles[i].getAbsolutePath());
}
} else {
a.add(file);
}
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/File IO/SaveFile1/SaveFile1.pde b/content/examples/Topics/File IO/SaveFile1/SaveFile1.pde
index 9bcdbec18..510bdb8de 100644
--- a/content/examples/Topics/File IO/SaveFile1/SaveFile1.pde
+++ b/content/examples/Topics/File IO/SaveFile1/SaveFile1.pde
@@ -4,8 +4,7 @@
* Saving files is a useful way to store data so it can be viewed after a
* program has stopped running. The saveStrings() function writes an array
* of strings to a file, with each string written to a new line. This file
- * is saved to the sketch's folder. This example won't work in a web browser
- * because of Java security restrictions.
+ * is saved to the sketch's folder.
*/
int[] x = new int[0];
diff --git a/content/examples/Topics/File IO/SaveFile2/SaveFile2.pde b/content/examples/Topics/File IO/SaveFile2/SaveFile2.pde
index f47265063..6a41c58f1 100644
--- a/content/examples/Topics/File IO/SaveFile2/SaveFile2.pde
+++ b/content/examples/Topics/File IO/SaveFile2/SaveFile2.pde
@@ -3,8 +3,7 @@
*
* This file a PrintWriter object to write data continuously to a file
* while the mouse is pressed. When a key is pressed, the file closes
- * itself and the program is stopped. This example won't work in a web browser
- * because of Java security restrictions.
+ * itself and the program is stopped.
*/
PrintWriter output;
diff --git a/content/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde b/content/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde
index 1c82c6ca4..58a3b3d01 100644
--- a/content/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde
+++ b/content/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde
@@ -1,7 +1,8 @@
/**
* The Mandelbrot Set
* by Daniel Shiffman.
- *
+ * (slight modification by l8l)
+ *
* Simple rendering of the Mandelbrot set.
*/
@@ -13,7 +14,7 @@ background(255);
// A different range will allow us to "zoom" in or out on the fractal
// It all starts with the width, try higher or lower values
-float w = 5;
+float w = 4;
float h = (w * height) / width;
// Start at negative half the width and height
@@ -43,21 +44,30 @@ for (int j = 0; j < height; j++) {
float x = xmin;
for (int i = 0; i < width; i++) {
- // Now we test, as we iterate z = z^2 + cm does z tend towards infinity?
+ // Now we test, as we iterate z = z^2 + c does z tend towards infinity?
float a = x;
float b = y;
int n = 0;
+ float max = 4.0; // Infinity in our finite world is simple, let's just consider it 4
+ float absOld = 0.0;
+ float convergeNumber = maxiterations; // this will change if the while loop breaks due to non-convergence
while (n < maxiterations) {
+ // We suppose z = a+ib
float aa = a * a;
float bb = b * b;
- float twoab = 2.0 * a * b;
- a = aa - bb + x;
- b = twoab + y;
- // Infinty in our finite world is simple, let's just consider it 16
- if (aa + bb > 16.0) {
+ float abs = sqrt(aa + bb);
+ if (abs > max) { // |z| = sqrt(a^2+b^2)
+ // Now measure how much we exceeded the maximum:
+ float diffToLast = (float) (abs - absOld);
+ float diffToMax = (float) (max - absOld);
+ convergeNumber = n + diffToMax/diffToLast;
break; // Bail
}
+ float twoab = 2.0 * a * b;
+ a = aa - bb + x; // this operation corresponds to z -> z^2+c where z=a+ib c=(x,y)
+ b = twoab + y;
n++;
+ absOld = abs;
}
// We color each pixel based on how long it takes to get to infinity
@@ -66,7 +76,8 @@ for (int j = 0; j < height; j++) {
pixels[i+j*width] = color(0);
} else {
// Gosh, we could make fancy colors here if we wanted
- pixels[i+j*width] = color(n*16 % 255);
+ float norm = map(convergeNumber, 0, maxiterations, 0, 1);
+ pixels[i+j*width] = color(map(sqrt(norm), 0, 1, 0, 255));
}
x += dx;
}
diff --git a/content/examples/Topics/GUI/Button/Button.pde b/content/examples/Topics/GUI/Button/Button.pde
index 4b8a536cc..041bb594d 100644
--- a/content/examples/Topics/GUI/Button/Button.pde
+++ b/content/examples/Topics/GUI/Button/Button.pde
@@ -1,7 +1,7 @@
/**
* Button.
*
- * Click on one of the colored squares in the
+ * Click on one of the colored shapes in the
* center of the image to change the color of
* the background.
*/
diff --git a/content/examples/Topics/Motion/CircleCollision/Ball.pde b/content/examples/Topics/Motion/CircleCollision/Ball.pde
index 7cb12eb8c..a3618b3e2 100644
--- a/content/examples/Topics/Motion/CircleCollision/Ball.pde
+++ b/content/examples/Topics/Motion/CircleCollision/Ball.pde
@@ -2,14 +2,14 @@ class Ball {
PVector position;
PVector velocity;
- float r, m;
+ float radius, m;
Ball(float x, float y, float r_) {
position = new PVector(x, y);
velocity = PVector.random2D();
velocity.mult(3);
- r = r_;
- m = r*.1;
+ radius = r_;
+ m = radius*.1;
}
void update() {
@@ -17,35 +17,41 @@ class Ball {
}
void checkBoundaryCollision() {
- if (position.x > width-r) {
- position.x = width-r;
+ if (position.x > width-radius) {
+ position.x = width-radius;
velocity.x *= -1;
- }
- else if (position.x < r) {
- position.x = r;
+ } else if (position.x < radius) {
+ position.x = radius;
velocity.x *= -1;
- }
- else if (position.y > height-r) {
- position.y = height-r;
+ } else if (position.y > height-radius) {
+ position.y = height-radius;
velocity.y *= -1;
- }
- else if (position.y < r) {
- position.y = r;
+ } else if (position.y < radius) {
+ position.y = radius;
velocity.y *= -1;
}
}
void checkCollision(Ball other) {
- // get distances between the balls components
- PVector bVect = PVector.sub(other.position, position);
+ // Get distances between the balls components
+ PVector distanceVect = PVector.sub(other.position, position);
- // calculate magnitude of the vector separating the balls
- float bVectMag = bVect.mag();
+ // Calculate magnitude of the vector separating the balls
+ float distanceVectMag = distanceVect.mag();
- if (bVectMag < r + other.r) {
- // get angle of bVect
- float theta = bVect.heading();
+ // Minimum distance before they are touching
+ float minDistance = radius + other.radius;
+
+ if (distanceVectMag < minDistance) {
+ float distanceCorrection = (minDistance-distanceVectMag)/2.0;
+ PVector d = distanceVect.copy();
+ PVector correctionVector = d.normalize().mult(distanceCorrection);
+ other.position.add(correctionVector);
+ position.sub(correctionVector);
+
+ // get angle of distanceVect
+ float theta = distanceVect.heading();
// precalculate trig values
float sine = sin(theta);
float cosine = cos(theta);
@@ -54,23 +60,23 @@ class Ball {
just need to worry about bTemp[1] position*/
PVector[] bTemp = {
new PVector(), new PVector()
- };
+ };
- /* this ball's position is relative to the other
- so you can use the vector between them (bVect) as the
- reference point in the rotation expressions.
- bTemp[0].position.x and bTemp[0].position.y will initialize
- automatically to 0.0, which is what you want
- since b[1] will rotate around b[0] */
- bTemp[1].x = cosine * bVect.x + sine * bVect.y;
- bTemp[1].y = cosine * bVect.y - sine * bVect.x;
+ /* this ball's position is relative to the other
+ so you can use the vector between them (bVect) as the
+ reference point in the rotation expressions.
+ bTemp[0].position.x and bTemp[0].position.y will initialize
+ automatically to 0.0, which is what you want
+ since b[1] will rotate around b[0] */
+ bTemp[1].x = cosine * distanceVect.x + sine * distanceVect.y;
+ bTemp[1].y = cosine * distanceVect.y - sine * distanceVect.x;
// rotate Temporary velocities
PVector[] vTemp = {
new PVector(), new PVector()
- };
+ };
- vTemp[0].x = cosine * velocity.x + sine * velocity.y;
+ vTemp[0].x = cosine * velocity.x + sine * velocity.y;
vTemp[0].y = cosine * velocity.y - sine * velocity.x;
vTemp[1].x = cosine * other.velocity.x + sine * other.velocity.y;
vTemp[1].y = cosine * other.velocity.y - sine * other.velocity.x;
@@ -80,7 +86,7 @@ class Ball {
the final velocity along the x-axis. */
PVector[] vFinal = {
new PVector(), new PVector()
- };
+ };
// final rotated velocity for b[0]
vFinal[0].x = ((m - other.m) * vTemp[0].x + 2 * other.m * vTemp[1].x) / (m + other.m);
@@ -100,7 +106,7 @@ class Ball {
// rotate balls
PVector[] bFinal = {
new PVector(), new PVector()
- };
+ };
bFinal[0].x = cosine * bTemp[0].x - sine * bTemp[0].y;
bFinal[0].y = cosine * bTemp[0].y + sine * bTemp[0].x;
@@ -121,11 +127,9 @@ class Ball {
}
}
-
void display() {
noStroke();
fill(204);
- ellipse(position.x, position.y, r*2, r*2);
+ ellipse(position.x, position.y, radius*2, radius*2);
}
-}
-
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde b/content/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde
index 49c822eb7..8a82b75a4 100644
--- a/content/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde
+++ b/content/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde
@@ -49,13 +49,12 @@ void drawCubeMap() {
drawDomeMaster();
- pgl.disable(PGL.TEXTURE_CUBE_MAP);
- pgl.bindTexture(PGL.TEXTURE_CUBE_MAP, 0);
+ pgl.bindTexture(PGL.TEXTURE_CUBE_MAP, 0);
}
void drawDomeMaster() {
camera();
- ortho(0, width, 0, height);
+ ortho();
resetMatrix();
shader(cubemapShader);
shape(domeSphere);
@@ -96,4 +95,4 @@ void regenerateEnvMap(PGL pgl) {
noLights(); // Disabling lights to avoid adding many times
pgl.framebufferTexture2D(PGL.FRAMEBUFFER, PGL.COLOR_ATTACHMENT0, face, 0, 0);
}
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Shaders/DomeProjection/DomeProjection.pde b/content/examples/Topics/Shaders/DomeProjection/DomeProjection.pde
index 2c39c08cc..863133e49 100644
--- a/content/examples/Topics/Shaders/DomeProjection/DomeProjection.pde
+++ b/content/examples/Topics/Shaders/DomeProjection/DomeProjection.pde
@@ -6,6 +6,8 @@
*
* Based on the FullDomeTemplate code from Christopher Warnow:
* https://github.com/mphasize/FullDome
+ *
+ * Note: This example needs desktop-class graphics to function.
*
*/
diff --git a/content/examples/Topics/Shaders/InfiniteTiles/InfiniteTiles.pde b/content/examples/Topics/Shaders/InfiniteTiles/InfiniteTiles.pde
new file mode 100644
index 000000000..ae0af484f
--- /dev/null
+++ b/content/examples/Topics/Shaders/InfiniteTiles/InfiniteTiles.pde
@@ -0,0 +1,26 @@
+//-------------------------------------------------------------
+// Display endless moving background using a tile texture.
+// Contributed by martiSteiger
+//-------------------------------------------------------------
+
+PImage tileTexture;
+PShader tileShader;
+
+void setup() {
+ size(640, 480, P2D);
+ textureWrap(REPEAT);
+ tileTexture = loadImage("penrose.jpg");
+ loadTileShader();
+}
+
+void loadTileShader() {
+ tileShader = loadShader("scroller.glsl");
+ tileShader.set("resolution", float(width), float(height));
+ tileShader.set("tileImage", tileTexture);
+}
+
+void draw() {
+ tileShader.set("time", millis() / 1000.0);
+ shader(tileShader);
+ rect(0, 0, width, height);
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Shaders/InfiniteTiles/data/penrose.jpg b/content/examples/Topics/Shaders/InfiniteTiles/data/penrose.jpg
new file mode 100644
index 000000000..94e10607f
Binary files /dev/null and b/content/examples/Topics/Shaders/InfiniteTiles/data/penrose.jpg differ
diff --git a/content/examples/Topics/Shaders/InfiniteTiles/data/scroller.glsl b/content/examples/Topics/Shaders/InfiniteTiles/data/scroller.glsl
new file mode 100644
index 000000000..0717bea3c
--- /dev/null
+++ b/content/examples/Topics/Shaders/InfiniteTiles/data/scroller.glsl
@@ -0,0 +1,17 @@
+//---------------------------------------------------------
+// Display endless moving background using a tile texture.
+// Contributed by martiSteiger
+//---------------------------------------------------------
+
+uniform float time;
+uniform vec2 resolution;
+uniform sampler2D tileImage;
+
+#define TILES_COUNT_X 4.0
+
+void main() {
+ vec2 pos = gl_FragCoord.xy - vec2(4.0 * time);
+ vec2 p = (resolution - TILES_COUNT_X * pos) / resolution.x;
+ vec3 col = texture2D (tileImage, p).xyz;
+ gl_FragColor = vec4 (col, 1.0);
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Shaders/Landscape/Landscape.pde b/content/examples/Topics/Shaders/Landscape/Landscape.pde
index 31d765457..a37370983 100644
--- a/content/examples/Topics/Shaders/Landscape/Landscape.pde
+++ b/content/examples/Topics/Shaders/Landscape/Landscape.pde
@@ -6,25 +6,26 @@
* Processing port by Raphaël de Courville.
*/
-PShader shader;
+PShader landscape;
void setup() {
size(640, 360, P2D);
noStroke();
- // The code of this shader shows how to integrate shaders from shadertoy
- // into Processing with minimal changes.
- shader = loadShader("landscape.glsl");
- shader.set("resolution", float(width), float(height));
+ // This GLSL code shows how to use shaders from
+ // shadertoy in Processing with minimal changes.
+ landscape = loadShader("landscape.glsl");
+ landscape.set("resolution", float(width), float(height));
}
void draw() {
background(0);
- shader.set("time", (float)(millis()/1000.0));
- shader(shader);
+ landscape.set("time", millis() / 1000.0);
+ shader(landscape);
rect(0, 0, width, height);
- frame.setTitle("frame: " + frameCount + " - fps: " + frameRate);
+ if (frameCount % 10 == 0) { // every 10th frame
+ println("frame: " + frameCount + " - fps: " + frameRate);
+ }
}
-
diff --git a/content/examples/Topics/Simulate/Chain/Chain.pde b/content/examples/Topics/Simulate/Chain/Chain.pde
deleted file mode 100644
index 75b7ea36d..000000000
--- a/content/examples/Topics/Simulate/Chain/Chain.pde
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Chain.
- *
- * One mass is attached to the mouse position and the other
- * is attached the position of the other mass. The gravity
- * in the environment pulls down on both.
- */
-
-
-Spring2D s1, s2;
-
-float gravity = 9.0;
-float mass = 2.0;
-
-void setup() {
- size(640, 360);
- fill(255, 126);
- // Inputs: x, y, mass, gravity
- s1 = new Spring2D(0.0, width/2, mass, gravity);
- s2 = new Spring2D(0.0, width/2, mass, gravity);
-}
-
-void draw() {
- background(0);
- s1.update(mouseX, mouseY);
- s1.display(mouseX, mouseY);
- s2.update(s1.x, s1.y);
- s2.display(s1.x, s1.y);
-}
-
-class Spring2D {
- float vx, vy; // The x- and y-axis velocities
- float x, y; // The x- and y-coordinates
- float gravity;
- float mass;
- float radius = 30;
- float stiffness = 0.2;
- float damping = 0.7;
-
- Spring2D(float xpos, float ypos, float m, float g) {
- x = xpos;
- y = ypos;
- mass = m;
- gravity = g;
- }
-
- void update(float targetX, float targetY) {
- float forceX = (targetX - x) * stiffness;
- float ax = forceX / mass;
- vx = damping * (vx + ax);
- x += vx;
- float forceY = (targetY - y) * stiffness;
- forceY += gravity;
- float ay = forceY / mass;
- vy = damping * (vy + ay);
- y += vy;
- }
-
- void display(float nx, float ny) {
- noStroke();
- ellipse(x, y, radius*2, radius*2);
- stroke(255);
- line(x, y, nx, ny);
- }
-}
diff --git a/content/examples/Topics/Simulate/Flocking/Boid.pde b/content/examples/Topics/Simulate/Flocking/Boid.pde
index a7f425451..fbcc177c5 100644
--- a/content/examples/Topics/Simulate/Flocking/Boid.pde
+++ b/content/examples/Topics/Simulate/Flocking/Boid.pde
@@ -2,7 +2,7 @@
class Boid {
- PVector location;
+ PVector position;
PVector velocity;
PVector acceleration;
float r;
@@ -19,7 +19,7 @@ class Boid {
float angle = random(TWO_PI);
velocity = new PVector(cos(angle), sin(angle));
- location = new PVector(x, y);
+ position = new PVector(x, y);
r = 2.0;
maxspeed = 2;
maxforce = 0.03;
@@ -52,13 +52,13 @@ class Boid {
applyForce(coh);
}
- // Method to update location
+ // Method to update position
void update() {
// Update velocity
velocity.add(acceleration);
// Limit speed
velocity.limit(maxspeed);
- location.add(velocity);
+ position.add(velocity);
// Reset accelertion to 0 each cycle
acceleration.mult(0);
}
@@ -66,7 +66,7 @@ class Boid {
// A method that calculates and applies a steering force towards a target
// STEER = DESIRED MINUS VELOCITY
PVector seek(PVector target) {
- PVector desired = PVector.sub(target, location); // A vector pointing from the location to the target
+ PVector desired = PVector.sub(target, position); // A vector pointing from the position to the target
// Scale to maximum speed
desired.normalize();
desired.mult(maxspeed);
@@ -89,7 +89,7 @@ class Boid {
fill(200, 100);
stroke(255);
pushMatrix();
- translate(location.x, location.y);
+ translate(position.x, position.y);
rotate(theta);
beginShape(TRIANGLES);
vertex(0, -r*2);
@@ -101,10 +101,10 @@ class Boid {
// Wraparound
void borders() {
- if (location.x < -r) location.x = width+r;
- if (location.y < -r) location.y = height+r;
- if (location.x > width+r) location.x = -r;
- if (location.y > height+r) location.y = -r;
+ if (position.x < -r) position.x = width+r;
+ if (position.y < -r) position.y = height+r;
+ if (position.x > width+r) position.x = -r;
+ if (position.y > height+r) position.y = -r;
}
// Separation
@@ -115,11 +115,11 @@ class Boid {
int count = 0;
// For every boid in the system, check if it's too close
for (Boid other : boids) {
- float d = PVector.dist(location, other.location);
+ float d = PVector.dist(position, other.position);
// If the distance is greater than 0 and less than an arbitrary amount (0 when you are yourself)
if ((d > 0) && (d < desiredseparation)) {
// Calculate vector pointing away from neighbor
- PVector diff = PVector.sub(location, other.location);
+ PVector diff = PVector.sub(position, other.position);
diff.normalize();
diff.div(d); // Weight by distance
steer.add(diff);
@@ -153,7 +153,7 @@ class Boid {
PVector sum = new PVector(0, 0);
int count = 0;
for (Boid other : boids) {
- float d = PVector.dist(location, other.location);
+ float d = PVector.dist(position, other.position);
if ((d > 0) && (d < neighbordist)) {
sum.add(other.velocity);
count++;
@@ -178,21 +178,21 @@ class Boid {
}
// Cohesion
- // For the average location (i.e. center) of all nearby boids, calculate steering vector towards that location
+ // For the average position (i.e. center) of all nearby boids, calculate steering vector towards that position
PVector cohesion (ArrayList boids) {
float neighbordist = 50;
- PVector sum = new PVector(0, 0); // Start with empty vector to accumulate all locations
+ PVector sum = new PVector(0, 0); // Start with empty vector to accumulate all positions
int count = 0;
for (Boid other : boids) {
- float d = PVector.dist(location, other.location);
+ float d = PVector.dist(position, other.position);
if ((d > 0) && (d < neighbordist)) {
- sum.add(other.location); // Add location
+ sum.add(other.position); // Add position
count++;
}
}
if (count > 0) {
sum.div(count);
- return seek(sum); // Steer towards the location
+ return seek(sum); // Steer towards the position
}
else {
return new PVector(0, 0);
diff --git a/content/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde b/content/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde
index 12d2588b1..46b268189 100644
--- a/content/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde
+++ b/content/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde
@@ -27,12 +27,12 @@ void setup() {
void draw() {
background(0);
-
+
// Draw water
liquid.display();
for (Mover mover : movers) {
-
+
// Is the Mover in the liquid?
if (liquid.contains(mover)) {
// Calculate drag force
@@ -45,16 +45,15 @@ void draw() {
PVector gravity = new PVector(0, 0.1*mover.mass);
// Apply gravity
mover.applyForce(gravity);
-
+
// Update and display
mover.update();
mover.display();
mover.checkEdges();
}
-
+
fill(255);
- text("click mouse to reset",10,30);
-
+ text("click mouse to reset", 10, 30);
}
void mousePressed() {
@@ -66,4 +65,4 @@ void reset() {
for (int i = 0; i < movers.length; i++) {
movers[i] = new Mover(random(0.5, 3), 40+i*70, 0);
}
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde b/content/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde
index c7d4652fe..2f5b93bc4 100644
--- a/content/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde
+++ b/content/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde
@@ -6,13 +6,13 @@
* Bodies experience gravity continuously
* Bodies experience fluid resistance when in "water"
*/
-
- // Liquid class
- class Liquid {
-
+// Liquid class
+class Liquid {
+
+
// Liquid is a rectangle
- float x,y,w,h;
+ float x, y, w, h;
// Coefficient of drag
float c;
@@ -23,18 +23,17 @@
h = h_;
c = c_;
}
-
+
// Is the Mover in the Liquid?
boolean contains(Mover m) {
- PVector l = m.location;
+ PVector l = m.position;
if (l.x > x && l.x < x + w && l.y > y && l.y < y + h) {
return true;
- }
- else {
+ } else {
return false;
}
}
-
+
// Calculate drag force
PVector drag(Mover m) {
// Magnitude is coefficient * speed squared
@@ -44,16 +43,15 @@
// Direction is inverse of velocity
PVector drag = m.velocity.copy();
drag.mult(-1);
-
+
// Scale according to magnitude
drag.setMag(dragMagnitude);
return drag;
}
-
+
void display() {
noStroke();
fill(127);
- rect(x,y,w,h);
+ rect(x, y, w, h);
}
-
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/ForcesWithVectors/Mover.pde b/content/examples/Topics/Simulate/ForcesWithVectors/Mover.pde
index b14754b71..2dd51116c 100644
--- a/content/examples/Topics/Simulate/ForcesWithVectors/Mover.pde
+++ b/content/examples/Topics/Simulate/ForcesWithVectors/Mover.pde
@@ -10,17 +10,17 @@
class Mover {
- // location, velocity, and acceleration
- PVector location;
+ // position, velocity, and acceleration
+ PVector position;
PVector velocity;
PVector acceleration;
-
+
// Mass is tied to size
float mass;
Mover(float m, float x, float y) {
mass = m;
- location = new PVector(x, y);
+ position = new PVector(x, y);
velocity = new PVector(0, 0);
acceleration = new PVector(0, 0);
}
@@ -35,30 +35,28 @@ class Mover {
}
void update() {
-
+
// Velocity changes according to acceleration
velocity.add(acceleration);
- // Location changes by velocity
- location.add(velocity);
+ // position changes by velocity
+ position.add(velocity);
// We must clear acceleration each frame
acceleration.mult(0);
}
-
+
// Draw Mover
void display() {
stroke(255);
strokeWeight(2);
fill(255, 200);
- ellipse(location.x, location.y, mass*16, mass*16);
+ ellipse(position.x, position.y, mass*16, mass*16);
}
-
+
// Bounce off bottom of window
void checkEdges() {
- if (location.y > height) {
+ if (position.y > height) {
velocity.y *= -0.9; // A little dampening when hitting the bottom
- location.y = height;
+ position.y = height;
}
}
-}
-
-
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde b/content/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde
index ae8be2537..ec93bde8d 100644
--- a/content/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde
+++ b/content/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde
@@ -4,30 +4,30 @@
// A class for an orbiting Planet
class Planet {
-
- // Basic physics model (location, velocity, acceleration, mass)
- PVector location;
+
+ // Basic physics model (position, velocity, acceleration, mass)
+ PVector position;
PVector velocity;
PVector acceleration;
float mass;
Planet(float m, float x, float y, float z) {
mass = m;
- location = new PVector(x,y,z);
- velocity = new PVector(1,0); // Arbitrary starting velocity
- acceleration = new PVector(0,0);
+ position = new PVector(x, y, z);
+ velocity = new PVector(1, 0); // Arbitrary starting velocity
+ acceleration = new PVector(0, 0);
}
-
+
// Newton's 2nd Law (F = M*A) applied
void applyForce(PVector force) {
- PVector f = PVector.div(force,mass);
+ PVector f = PVector.div(force, mass);
acceleration.add(f);
}
// Our motion algorithm (aka Euler Integration)
void update() {
velocity.add(acceleration); // Velocity changes according to acceleration
- location.add(velocity); // Location changes according to velocity
+ position.add(velocity); // position changes according to velocity
acceleration.mult(0);
}
@@ -36,10 +36,8 @@ class Planet {
noStroke();
fill(255);
pushMatrix();
- translate(location.x,location.y,location.z);
+ translate(position.x, position.y, position.z);
sphere(mass*8);
popMatrix();
}
-}
-
-
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde b/content/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde
index 10fcc0373..b8ea25956 100644
--- a/content/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde
+++ b/content/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde
@@ -5,20 +5,20 @@
class Sun {
float mass; // Mass, tied to size
- PVector location; // Location
+ PVector position; // position
float G; // Universal gravitational constant (arbitrary value)
Sun() {
- location = new PVector(0,0);
+ position = new PVector(0, 0);
mass = 20;
G = 0.4;
}
PVector attract(Planet m) {
- PVector force = PVector.sub(location,m.location); // Calculate direction of force
+ PVector force = PVector.sub(position, m.position); // Calculate direction of force
float d = force.mag(); // Distance between objects
- d = constrain(d,5.0,25.0); // Limiting the distance to eliminate "extreme" results for very close or very far objects
+ d = constrain(d, 5.0, 25.0); // Limiting the distance to eliminate "extreme" results for very close or very far objects
float strength = (G * mass * m.mass) / (d * d); // Calculate gravitional force magnitude
force.setMag(strength); // Get force vector --> magnitude * direction
return force;
@@ -29,10 +29,8 @@ class Sun {
stroke(255);
noFill();
pushMatrix();
- translate(location.x,location.y,location.z);
+ translate(position.x, position.y, position.z);
sphere(mass*2);
popMatrix();
}
-}
-
-
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde b/content/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde
index 9c77dc6e3..f18d04ee6 100644
--- a/content/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde
+++ b/content/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde
@@ -30,11 +30,10 @@ class CrazyParticle extends Particle {
super.display();
// Then add a rotating line
pushMatrix();
- translate(location.x,location.y);
+ translate(position.x, position.y);
rotate(theta);
- stroke(255,lifespan);
- line(0,0,25,0);
+ stroke(255, lifespan);
+ line(0, 0, 25, 0);
popMatrix();
}
-
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde b/content/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde
index 5bc038e7d..605f1a9d5 100644
--- a/content/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde
+++ b/content/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde
@@ -3,7 +3,7 @@
* by Daniel Shiffman.
*
* Click the mouse to generate a burst of particles
- * at mouse location.
+ * at mouse position.
*
* Each burst is one instance of a particle system
* with Particles and CrazyParticles (a subclass of Particle)
@@ -19,7 +19,7 @@ void setup() {
void draw() {
background(0);
- for (ParticleSystem ps: systems) {
+ for (ParticleSystem ps : systems) {
ps.run();
ps.addParticle();
}
@@ -32,4 +32,4 @@ void draw() {
void mousePressed() {
systems.add(new ParticleSystem(1, new PVector(mouseX, mouseY)));
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde b/content/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde
index 078ef23c5..a3d0b8780 100644
--- a/content/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde
+++ b/content/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde
@@ -1,15 +1,15 @@
// A simple Particle class
class Particle {
- PVector location;
+ PVector position;
PVector velocity;
PVector acceleration;
float lifespan;
Particle(PVector l) {
- acceleration = new PVector(0,0.05);
- velocity = new PVector(random(-1,1),random(-2,0));
- location = l.get();
+ acceleration = new PVector(0, 0.05);
+ velocity = new PVector(random(-1, 1), random(-2, 0));
+ position = l.copy();
lifespan = 255.0;
}
@@ -18,23 +18,22 @@ class Particle {
display();
}
- // Method to update location
+ // Method to update position
void update() {
velocity.add(acceleration);
- location.add(velocity);
+ position.add(velocity);
lifespan -= 2.0;
}
// Method to display
void display() {
- stroke(255,lifespan);
- fill(255,lifespan);
- ellipse(location.x,location.y,8,8);
+ stroke(255, lifespan);
+ fill(255, lifespan);
+ ellipse(position.x, position.y, 8, 8);
}
// Is the particle still useful?
boolean isDead() {
return (lifespan < 0.0);
}
-
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde b/content/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde
index e4deac945..8db8462ed 100644
--- a/content/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde
+++ b/content/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde
@@ -7,7 +7,7 @@ class ParticleSystem {
ParticleSystem(int num, PVector v) {
particles = new ArrayList(); // Initialize the arraylist
- origin = v.get(); // Store the origin point
+ origin = v.copy(); // Store the origin point
for (int i = 0; i < num; i++) {
particles.add(new Particle(origin)); // Add "num" amount of particles to the arraylist
}
diff --git a/content/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde b/content/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde
index b6fa0c02d..6d949c725 100644
--- a/content/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde
+++ b/content/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde
@@ -1,15 +1,15 @@
// A simple Particle class
class Particle {
- PVector location;
+ PVector position;
PVector velocity;
PVector acceleration;
float lifespan;
Particle(PVector l) {
- acceleration = new PVector(0,0.05);
- velocity = new PVector(random(-1,1),random(-2,0));
- location = l.get();
+ acceleration = new PVector(0, 0.05);
+ velocity = new PVector(random(-1, 1), random(-2, 0));
+ position = l.copy();
lifespan = 255.0;
}
@@ -18,20 +18,20 @@ class Particle {
display();
}
- // Method to update location
+ // Method to update position
void update() {
velocity.add(acceleration);
- location.add(velocity);
+ position.add(velocity);
lifespan -= 1.0;
}
// Method to display
void display() {
- stroke(255,lifespan);
- fill(255,lifespan);
- ellipse(location.x,location.y,8,8);
+ stroke(255, lifespan);
+ fill(255, lifespan);
+ ellipse(position.x, position.y, 8, 8);
}
-
+
// Is the particle still useful?
boolean isDead() {
if (lifespan < 0.0) {
@@ -40,4 +40,4 @@ class Particle {
return false;
}
}
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde b/content/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde
index bd5937e77..94a528abf 100644
--- a/content/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde
+++ b/content/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde
@@ -5,8 +5,8 @@ class ParticleSystem {
ArrayList particles;
PVector origin;
- ParticleSystem(PVector location) {
- origin = location.get();
+ ParticleSystem(PVector position) {
+ origin = position.copy();
particles = new ArrayList();
}
@@ -23,4 +23,4 @@ class ParticleSystem {
}
}
}
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde b/content/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde
index 9b46822f1..e198edbac 100644
--- a/content/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde
+++ b/content/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde
@@ -7,18 +7,16 @@
* A ParticleSystem object manages a variable size (ArrayList)
* list of particles.
*/
-
+
ParticleSystem ps;
void setup() {
- size(640,360);
- ps = new ParticleSystem(new PVector(width/2,50));
+ size(640, 360);
+ ps = new ParticleSystem(new PVector(width/2, 50));
}
void draw() {
background(0);
ps.addParticle();
ps.run();
-}
-
-
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde b/content/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde
index 40b980ffa..a0948b478 100644
--- a/content/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde
+++ b/content/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde
@@ -8,12 +8,12 @@ class Particle {
float lifespan;
PImage img;
- Particle(PVector l,PImage img_) {
- acc = new PVector(0,0);
+ Particle(PVector l, PImage img_) {
+ acc = new PVector(0, 0);
float vx = randomGaussian()*0.3;
float vy = randomGaussian()*0.3 - 1.0;
- vel = new PVector(vx,vy);
- loc = l.get();
+ vel = new PVector(vx, vy);
+ loc = l.copy();
lifespan = 100.0;
img = img_;
}
@@ -22,14 +22,14 @@ class Particle {
update();
render();
}
-
+
// Method to apply a force vector to the Particle object
// Note we are ignoring "mass" here
void applyForce(PVector f) {
acc.add(f);
}
- // Method to update location
+ // Method to update position
void update() {
vel.add(acc);
loc.add(vel);
@@ -40,8 +40,8 @@ class Particle {
// Method to display
void render() {
imageMode(CENTER);
- tint(255,lifespan);
- image(img,loc.x,loc.y);
+ tint(255, lifespan);
+ image(img, loc.x, loc.y);
// Drawing a circle instead
// fill(255,lifespan);
// noStroke();
@@ -56,4 +56,4 @@ class Particle {
return false;
}
}
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde b/content/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde
index 9dd4ca62a..ba77243d7 100644
--- a/content/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde
+++ b/content/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde
@@ -6,10 +6,10 @@ class ParticleSystem {
ArrayList particles; // An arraylist for all the particles
PVector origin; // An origin point for where particles are birthed
PImage img;
-
+
ParticleSystem(int num, PVector v, PImage img_) {
particles = new ArrayList(); // Initialize the arraylist
- origin = v.get(); // Store the origin point
+ origin = v.copy(); // Store the origin point
img = img_;
for (int i = 0; i < num; i++) {
particles.add(new Particle(origin, img)); // Add "num" amount of particles to the arraylist
@@ -25,18 +25,16 @@ class ParticleSystem {
}
}
}
-
+
// Method to add a force vector to all particles currently in the system
void applyForce(PVector dir) {
// Enhanced loop!!!
- for (Particle p: particles) {
+ for (Particle p : particles) {
p.applyForce(dir);
}
-
}
void addParticle() {
- particles.add(new Particle(origin,img));
+ particles.add(new Particle(origin, img));
}
-
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde b/content/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde
index 32683de91..3b1e51fec 100644
--- a/content/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde
+++ b/content/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde
@@ -9,17 +9,17 @@
ParticleSystem ps;
void setup() {
- size(640,360);
+ size(640, 360);
PImage img = loadImage("texture.png");
- ps = new ParticleSystem(0,new PVector(width/2,height-60),img);
+ ps = new ParticleSystem(0, new PVector(width/2, height-60), img);
}
void draw() {
background(0);
// Calculate a "wind" force based on mouse horizontal position
- float dx = map(mouseX,0,width,-0.2,0.2);
- PVector wind = new PVector(dx,0);
+ float dx = map(mouseX, 0, width, -0.2, 0.2);
+ PVector wind = new PVector(dx, 0);
ps.applyForce(wind);
ps.run();
for (int i = 0; i < 2; i++) {
@@ -27,24 +27,23 @@ void draw() {
}
// Draw an arrow representing the wind force
- drawVector(wind, new PVector(width/2,50,0),500);
-
+ drawVector(wind, new PVector(width/2, 50, 0), 500);
}
-// Renders a vector object 'v' as an arrow and a location 'loc'
+// Renders a vector object 'v' as an arrow and a position 'loc'
void drawVector(PVector v, PVector loc, float scayl) {
pushMatrix();
float arrowsize = 4;
- // Translate to location to render vector
- translate(loc.x,loc.y);
+ // Translate to position to render vector
+ translate(loc.x, loc.y);
stroke(255);
// Call vector heading function to get direction (note that pointing up is a heading of 0) and rotate
rotate(v.heading());
// Calculate length of vector & scale it to be bigger or smaller if necessary
float len = v.mag()*scayl;
// Draw three lines to make an arrow (draw pointing up since we've rotate to the proper direction)
- line(0,0,len,0);
- line(len,0,len-arrowsize,+arrowsize/2);
- line(len,0,len-arrowsize,-arrowsize/2);
+ line(0, 0, len, 0);
+ line(len, 0, len-arrowsize, +arrowsize/2);
+ line(len, 0, len-arrowsize, -arrowsize/2);
popMatrix();
-}
+}
\ No newline at end of file
diff --git a/content/examples/Topics/Simulate/SoftBody/SoftBody.pde b/content/examples/Topics/Simulate/SoftBody/SoftBody.pde
index b0eb8f826..e3d0d266f 100644
--- a/content/examples/Topics/Simulate/SoftBody/SoftBody.pde
+++ b/content/examples/Topics/Simulate/SoftBody/SoftBody.pde
@@ -46,7 +46,7 @@ void draw() {
}
void drawShape() {
- // calculate node starting locations
+ // calculate node starting positions
for (int i=0; i left && mouseX < right && mouseY > ps && mouseY < ps + springHeight) {
- over = true;
- } else {
- over = false;
- }
-
- // Set and constrain the position of top bar
- if(move) {
- ps = mouseY - springHeight/2;
- ps = constrain(ps, min, max);
- }
-}
-
-void mousePressed() {
- if(over) {
- move = true;
- }
-}
-
-void mouseReleased() {
- move = false;
-}
diff --git a/content/examples/Topics/Simulate/Springs/Springs.pde b/content/examples/Topics/Simulate/Springs/Springs.pde
deleted file mode 100644
index 877e79e26..000000000
--- a/content/examples/Topics/Simulate/Springs/Springs.pde
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * Springs.
- *
- * Move the mouse over one of the circles and click to re-position.
- * When you release the mouse, it will snap back into position.
- * Each circle has a slightly different behavior.
- */
-
-
-int num = 3;
-Spring[] springs = new Spring[num];
-
-void setup() {
- size(640, 360);
- noStroke();
- springs[0] = new Spring(240, 260, 40, 0.98, 8.0, 0.1, springs, 0);
- springs[1] = new Spring(320, 210, 120, 0.95, 9.0, 0.1, springs, 1);
- springs[2] = new Spring(180, 170, 200, 0.90, 9.9, 0.1, springs, 2);
-}
-
-void draw() {
- background(51);
-
- for (Spring spring : springs) {
- spring.update();
- spring.display();
- }
-}
-
-void mousePressed() {
- for (Spring spring : springs) {
- spring.pressed();
- }
-}
-
-void mouseReleased() {
- for (Spring spring : springs) {
- spring.released();
- }
-}
-
-class Spring {
- // Screen values
- float xpos, ypos;
- float tempxpos, tempypos;
- int size = 20;
- boolean over = false;
- boolean move = false;
-
- // Spring simulation constants
- float mass; // Mass
- float k = 0.2; // Spring constant
- float damp; // Damping
- float rest_posx; // Rest position X
- float rest_posy; // Rest position Y
-
- // Spring simulation variables
- //float pos = 20.0; // Position
- float velx = 0.0; // X Velocity
- float vely = 0.0; // Y Velocity
- float accel = 0; // Acceleration
- float force = 0; // Force
-
- Spring[] friends;
- int me;
-
- // Constructor
- Spring(float x, float y, int s, float d, float m,
- float k_in, Spring[] others, int id) {
- xpos = tempxpos = x;
- ypos = tempypos = y;
- rest_posx = x;
- rest_posy = y;
- size = s;
- damp = d;
- mass = m;
- k = k_in;
- friends = others;
- me = id;
- }
-
- void update() {
- if (move) {
- rest_posy = mouseY;
- rest_posx = mouseX;
- }
-
- force = -k * (tempypos - rest_posy); // f=-ky
- accel = force / mass; // Set the acceleration, f=ma == a=f/m
- vely = damp * (vely + accel); // Set the velocity
- tempypos = tempypos + vely; // Updated position
-
- force = -k * (tempxpos - rest_posx); // f=-ky
- accel = force / mass; // Set the acceleration, f=ma == a=f/m
- velx = damp * (velx + accel); // Set the velocity
- tempxpos = tempxpos + velx; // Updated position
-
-
- if ((overEvent() || move) && !otherOver() ) {
- over = true;
- } else {
- over = false;
- }
- }
-
- // Test to see if mouse is over this spring
- boolean overEvent() {
- float disX = tempxpos - mouseX;
- float disY = tempypos - mouseY;
- if (sqrt(sq(disX) + sq(disY)) < size/2 ) {
- return true;
- } else {
- return false;
- }
- }
-
- // Make sure no other springs are active
- boolean otherOver() {
- for (int i=0; i
- Statements and Comments
- Coordinates
- Width and Height
- Setup and Draw
- No Loop
- Loop
- Redraw
- Functions
- Recursion
- CreateGraphics
+ Statements and Comments
+ Coordinates
+ Width and Height
+ Setup and Draw
+ No Loop
+ Loop
+ Redraw
+ Functions
+ Recursion
+ CreateGraphics
- Points and Lines
- Shape Primitives
- Pie Chart
- Regular Polygon
- Star
- Triangle Strip
- Bezier
+ Points and Lines
+ Shape Primitives
+ Pie Chart
+ Regular Polygon
+ Star
+ Triangle Strip
+ Bezier
3D Primitives
- Variables
- Integers and Floats
- True/False
- Characters and Strings
+ Variables
+ Integers and Floats
+ True/False
+ Characters and Strings
Variable Scope
+ Datatype Conversion
- Array
- Array 2D
- Array Objects
+ Array
+ Array 2D
+ Array Objects
- Iteration
- Embedded Iteration
- Conditionals 1
- Conditionals 2
- Logical Operators
+ Iteration
+ Embedded Iteration
+ Conditionals 1
+ Conditionals 2
+ Logical Operators
- Load and Display Image
- Background Image
- Transparency
- Alphamask
- CreateImage
- Pointillism
+ Load and Display Image
+ Background Image
+ Transparency
+ Alphamask
+ CreateImage
+ Pointillism
+ Request Image
Load and Display SVG
@@ -56,61 +58,75 @@
Get Child
- Hue
- Saturation
- Brightness
- Color Variables
- Relativity
- Linear Gradient
- Radial Gradient
+ Hue
+ Saturation
+ Brightness
+ Color Variables
+ Relativity
+ Linear Gradient
+ Radial Gradient
Wave Gradient
- Increment/Decrement
- Operator Precedence
- Distance 1D
- Distance 2D
- Sine
- Sine and Cosine
- Sine Wave
- Additive Wave
- Polar to Cartesian
- Arctangent
- Graphing 2D Equation
- Random
- Double Random
- Noise 1D
- NoiseWave
+ Increment/Decrement
+ Operator Precedence
+ Distance 1D
+ Distance 2D
+ Map
+ Sine
+ Sine and Cosine
+ Sine Wave
+ Additive Wave
+ Polar to Cartesian
+ Arctangent
+ Graphing 2D Equation
+ Interpolate
+ Random
+ Double Random
+ Random Gaussian
+ Noise 1D
+ Noise 2D
+ Noise 3D
+ NoiseWave
- Mouse 1D
- Mouse 2D
- MousePress
- Mouse Signals
- Easing
- Constrain
- Storing Input
- Mouse Functions
- Keyboard
- Keyboard Functions
- Milliseconds
- Clock
+ Mouse 1D
+ Mouse 2D
+ MousePress
+ Mouse Signals
+ Easing
+ Constrain
+ Storing Input
+ Mouse Functions
+ Keyboard
+ Keyboard Functions
+ Milliseconds
+ Clock
- Translate
- Scale
- Rotate
+ Translate
+ Scale
+ Rotate
RotateXY
RotatePushPop
- Arm
+ Arm
- Objects
- Multiple Constructors
- Composite Objects
- Inheritance
+ Objects
+ Multiple Constructors
+ Composite Objects
+ Inheritance
-
+
+ Letters
+ Words
+ Text Rotation
+
+
+ Embedded Links
+ Loading Images
+
+
On/Off
Directional
Spot
diff --git a/content/examples_p5/Basics/Arrays/Array/Array.js b/content/examples_p5/Basics/Arrays/Array/Array.js
index 95312e602..fbfd82061 100644
--- a/content/examples_p5/Basics/Arrays/Array/Array.js
+++ b/content/examples_p5/Basics/Arrays/Array/Array.js
@@ -13,7 +13,8 @@
var coswave;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
coswave = [];
for (var i = 0; i < width; i++) {
var amount = map(i, 0, width, 0, PI);
diff --git a/content/examples_p5/Basics/Arrays/Array2D/Array2D.js b/content/examples_p5/Basics/Arrays/Array2D/Array2D.js
index 9fb5e5fd5..4bebca12b 100644
--- a/content/examples_p5/Basics/Arrays/Array2D/Array2D.js
+++ b/content/examples_p5/Basics/Arrays/Array2D/Array2D.js
@@ -12,7 +12,8 @@ var maxDistance;
var spacer;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
maxDistance = dist(width/2, height/2, width, height);
distances = [];
for (var x = 0; x < width; x++) {
diff --git a/content/examples_p5/Basics/Arrays/ArrayObjects/ArrayObjects.js b/content/examples_p5/Basics/Arrays/ArrayObjects/ArrayObjects.js
index be3abe64a..e52eddfaa 100644
--- a/content/examples_p5/Basics/Arrays/ArrayObjects/ArrayObjects.js
+++ b/content/examples_p5/Basics/Arrays/ArrayObjects/ArrayObjects.js
@@ -9,7 +9,8 @@ var count;
var mods;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
var wideCount = width / unit;
var highCount = height / unit;
diff --git a/content/examples_p5/Basics/Color/Brightness/Brightness.js b/content/examples_p5/Basics/Color/Brightness/Brightness.js
index 1854d360e..62b6f20a5 100644
--- a/content/examples_p5/Basics/Color/Brightness/Brightness.js
+++ b/content/examples_p5/Basics/Color/Brightness/Brightness.js
@@ -10,7 +10,8 @@ var barWidth = 20;
var lastBar = -1;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
colorMode(HSB, width, 100, width);
noStroke();
background(0);
diff --git a/content/examples_p5/Basics/Color/ColorVariables/ColorVariables.js b/content/examples_p5/Basics/Color/ColorVariables/ColorVariables.js
index 651173f86..0f98f0e55 100644
--- a/content/examples_p5/Basics/Color/ColorVariables/ColorVariables.js
+++ b/content/examples_p5/Basics/Color/ColorVariables/ColorVariables.js
@@ -6,7 +6,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
background(51, 0, 0);
diff --git a/content/examples_p5/Basics/Color/Hue/Hue.js b/content/examples_p5/Basics/Color/Hue/Hue.js
index 6769bd6d6..c186668e4 100644
--- a/content/examples_p5/Basics/Color/Hue/Hue.js
+++ b/content/examples_p5/Basics/Color/Hue/Hue.js
@@ -11,7 +11,8 @@ var lastBar = -1;
function setup()
{
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
colorMode(HSB, height, height, height);
noStroke();
background(0);
diff --git a/content/examples_p5/Basics/Color/LinearGradient/LinearGradient.js b/content/examples_p5/Basics/Color/LinearGradient/LinearGradient.js
index 313beb0e3..8ee5b9f92 100644
--- a/content/examples_p5/Basics/Color/LinearGradient/LinearGradient.js
+++ b/content/examples_p5/Basics/Color/LinearGradient/LinearGradient.js
@@ -11,7 +11,8 @@ var X_AXIS = 2;
var b1, b2, c1, c2;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
// Define colors
b1 = color(255);
diff --git a/content/examples_p5/Basics/Color/RadialGradient/RadialGradient.js b/content/examples_p5/Basics/Color/RadialGradient/RadialGradient.js
index 1e1b74e82..f79678a9d 100644
--- a/content/examples_p5/Basics/Color/RadialGradient/RadialGradient.js
+++ b/content/examples_p5/Basics/Color/RadialGradient/RadialGradient.js
@@ -1,14 +1,15 @@
/**
* Radial Gradient.
*
- * Draws are series of concentric circles to create a gradient
+ * Draws a series of concentric circles to create a gradient
* from one color to another.
*/
var dim;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
dim = width/2;
background(0);
colorMode(HSB, 360, 100, 100);
diff --git a/content/examples_p5/Basics/Color/Relativity/Relativity.js b/content/examples_p5/Basics/Color/Relativity/Relativity.js
index 1e1c5e49b..a58c003c7 100644
--- a/content/examples_p5/Basics/Color/Relativity/Relativity.js
+++ b/content/examples_p5/Basics/Color/Relativity/Relativity.js
@@ -9,7 +9,8 @@
var a, b, c, d, e;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
a = color(165, 167, 20);
b = color(77, 86, 59);
diff --git a/content/examples_p5/Basics/Color/Saturation/Saturation.js b/content/examples_p5/Basics/Color/Saturation/Saturation.js
index 2385e116c..2092d18f6 100644
--- a/content/examples_p5/Basics/Color/Saturation/Saturation.js
+++ b/content/examples_p5/Basics/Color/Saturation/Saturation.js
@@ -12,7 +12,8 @@ var lastBar = -1;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
colorMode(HSB, width, height, 100);
noStroke();
}
diff --git a/content/examples_p5/Basics/Color/WaveGradient/WaveGradient.js b/content/examples_p5/Basics/Color/WaveGradient/WaveGradient.js
index 51b8164cc..eb5afa1c1 100644
--- a/content/examples_p5/Basics/Color/WaveGradient/WaveGradient.js
+++ b/content/examples_p5/Basics/Color/WaveGradient/WaveGradient.js
@@ -12,15 +12,19 @@ var frequency = 0;
var fillGap = 2.5;
var c;
+var gradient;
+
function setup() {
- devicePixelScaling(false);
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ pixelDensity(1);
+ canvas.parent("p5container");
background(200);
+ gradient = createImage(width, height, RGB);
noLoop();
}
function draw() {
- //loadPixels();
+ gradient.loadPixels();
for (var i =- 75; i < height+75; i++){
// Reset angle to 0, so waves stack properly
angle = 0;
@@ -29,14 +33,37 @@ function draw() {
for (var j = 0; j < width+75; j++){
py = i + sin(radians(angle)) * amplitude;
angle += frequency;
- c = color(abs(py-i)*255/amplitude, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
+ // c = color(abs(py-i)*255/amplitude;, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
+ var r = int(abs(py-i)*255/amplitude);
+ var g = int(255-abs(py-i)*255/amplitude);
+ var b = int(j*(255.0/(width+50)));
+
// Hack to fill gaps. Raise value of fillGap if you increase frequency
for (var filler = 0; filler < fillGap; filler++){
- set(int(j-filler), int(py)-filler, c);
- set(int(j), int(py), c);
- set(int(j+filler), int(py)+filler, c);
+ var x = int(j-filler);
+ var y = int(py)-filler;
+
+ var index = (x + y * width)*4;
+ gradient.pixels[index] = r; gradient.pixels[index+1] = g; gradient.pixels[index+2] = b; gradient.pixels[index+3] = 255;
+
+ x = int(j);
+ y = int(py);
+ index = (x + y * width)*4;
+ gradient.pixels[index] = r; gradient.pixels[index+1] = g; gradient.pixels[index+2] = b; gradient.pixels[index+3] = 255;
+
+ x = int(j+filler);
+ y = int(py)+filler;
+ index = (x + y * width)*4;
+ gradient.pixels[index] = r; gradient.pixels[index+1] = g; gradient.pixels[index+2] = b; gradient.pixels[index+3] = 255;
+
+ //set(int(j-filler), int(py)-filler, c);
+ //set(int(j), int(py), c);
+ //set(int(j+filler), int(py)+filler, c);
}
}
}
- updatePixels();
+ gradient.updatePixels();
+ image(gradient, 0, 0);
+ noLoop();
+ //console.log('complete');
}
diff --git a/content/examples_p5/Basics/Control/Conditionals1/Conditionals1.js b/content/examples_p5/Basics/Control/Conditionals1/Conditionals1.js
index f4e37425d..69bbd33cc 100644
--- a/content/examples_p5/Basics/Control/Conditionals1/Conditionals1.js
+++ b/content/examples_p5/Basics/Control/Conditionals1/Conditionals1.js
@@ -11,7 +11,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
for(var i = 10; i < width; i += 10) {
diff --git a/content/examples_p5/Basics/Control/Conditionals2/Conditionals2.js b/content/examples_p5/Basics/Control/Conditionals2/Conditionals2.js
index 41d88e2d7..1dd2374a4 100644
--- a/content/examples_p5/Basics/Control/Conditionals2/Conditionals2.js
+++ b/content/examples_p5/Basics/Control/Conditionals2/Conditionals2.js
@@ -9,7 +9,8 @@
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
for(var i = 2; i < width-2; i += 2) {
diff --git a/content/examples_p5/Basics/Control/EmbeddedIteration/EmbeddedIteration.js b/content/examples_p5/Basics/Control/EmbeddedIteration/EmbeddedIteration.js
index ca962f9b2..4e927be27 100644
--- a/content/examples_p5/Basics/Control/EmbeddedIteration/EmbeddedIteration.js
+++ b/content/examples_p5/Basics/Control/EmbeddedIteration/EmbeddedIteration.js
@@ -6,7 +6,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
noStroke();
diff --git a/content/examples_p5/Basics/Control/Iteration/Iteration.js b/content/examples_p5/Basics/Control/Iteration/Iteration.js
index f3839d3e4..12d092873 100644
--- a/content/examples_p5/Basics/Control/Iteration/Iteration.js
+++ b/content/examples_p5/Basics/Control/Iteration/Iteration.js
@@ -8,7 +8,8 @@ function setup() {
var y;
var num = 14;
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(102);
noStroke();
diff --git a/content/examples_p5/Basics/Control/LogicalOperators/LogicalOperators.js b/content/examples_p5/Basics/Control/LogicalOperators/LogicalOperators.js
index edac7ae4e..e0c2ba445 100644
--- a/content/examples_p5/Basics/Control/LogicalOperators/LogicalOperators.js
+++ b/content/examples_p5/Basics/Control/LogicalOperators/LogicalOperators.js
@@ -8,7 +8,8 @@
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(126);
var test = false;
diff --git a/content/examples_p5/Basics/Data/CharactersStrings/CharactersStrings.js b/content/examples_p5/Basics/Data/CharactersStrings/CharactersStrings.js
index c3026ec1a..8bb2e7bc3 100644
--- a/content/examples_p5/Basics/Data/CharactersStrings/CharactersStrings.js
+++ b/content/examples_p5/Basics/Data/CharactersStrings/CharactersStrings.js
@@ -23,7 +23,8 @@ var letter = '';
var words = "Begin...";
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
// Create the font
textFont("Georgia", 36);
}
diff --git a/content/examples_p5/Basics/Data/DatatypeConversion/DatatypeConversion.js b/content/examples_p5/Basics/Data/DatatypeConversion/DatatypeConversion.js
index aa532a234..66af616b2 100644
--- a/content/examples_p5/Basics/Data/DatatypeConversion/DatatypeConversion.js
+++ b/content/examples_p5/Basics/Data/DatatypeConversion/DatatypeConversion.js
@@ -11,7 +11,8 @@
/* @pjs font="Georgia.ttf"; */
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
noStroke();
diff --git a/content/examples_p5/Basics/Data/IntegersFloats/IntegersFloats.js b/content/examples_p5/Basics/Data/IntegersFloats/IntegersFloats.js
index 2cabdd7ae..9fa5fdd64 100644
--- a/content/examples_p5/Basics/Data/IntegersFloats/IntegersFloats.js
+++ b/content/examples_p5/Basics/Data/IntegersFloats/IntegersFloats.js
@@ -12,7 +12,8 @@ var a = 0; // Create a variable "a" of the datatype "int"
var b = 0.0; // Create a variable "b" of the datatype "float"
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
stroke(255);
frameRate(30);
}
diff --git a/content/examples_p5/Basics/Data/TrueFalse/TrueFalse.js b/content/examples_p5/Basics/Data/TrueFalse/TrueFalse.js
index 5c8733e16..9d7f72cae 100644
--- a/content/examples_p5/Basics/Data/TrueFalse/TrueFalse.js
+++ b/content/examples_p5/Basics/Data/TrueFalse/TrueFalse.js
@@ -11,7 +11,8 @@
function setup() {
var b = false;
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
stroke(255);
diff --git a/content/examples_p5/Basics/Data/VariableScope/VariableScope.js b/content/examples_p5/Basics/Data/VariableScope/VariableScope.js
index 60a662e39..e0e048de7 100644
--- a/content/examples_p5/Basics/Data/VariableScope/VariableScope.js
+++ b/content/examples_p5/Basics/Data/VariableScope/VariableScope.js
@@ -15,7 +15,8 @@
var a = 80; // Create a global variable "a"
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
stroke(255);
noLoop();
diff --git a/content/examples_p5/Basics/Data/Variables/Variables.js b/content/examples_p5/Basics/Data/Variables/Variables.js
index 16005bfed..a28c7b8b7 100644
--- a/content/examples_p5/Basics/Data/Variables/Variables.js
+++ b/content/examples_p5/Basics/Data/Variables/Variables.js
@@ -6,7 +6,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
stroke(153);
strokeWeight(4);
diff --git a/content/examples_p5/Basics/Form/Bezier/Bezier.js b/content/examples_p5/Basics/Form/Bezier/Bezier.js
index 3fba06273..f1825839e 100644
--- a/content/examples_p5/Basics/Form/Bezier/Bezier.js
+++ b/content/examples_p5/Basics/Form/Bezier/Bezier.js
@@ -8,7 +8,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
stroke(255);
noFill();
}
diff --git a/content/examples_p5/Basics/Form/PieChart/PieChart.js b/content/examples_p5/Basics/Form/PieChart/PieChart.js
index 3a38ef975..e4212fa7e 100644
--- a/content/examples_p5/Basics/Form/PieChart/PieChart.js
+++ b/content/examples_p5/Basics/Form/PieChart/PieChart.js
@@ -8,7 +8,8 @@
var angles = [ 30, 10, 45, 35, 60, 38, 75, 67 ];
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
noLoop(); // Run once and stop
}
diff --git a/content/examples_p5/Basics/Form/PointsLines/PointsLines.js b/content/examples_p5/Basics/Form/PointsLines/PointsLines.js
index 0d1faa1ab..ddef81e95 100644
--- a/content/examples_p5/Basics/Form/PointsLines/PointsLines.js
+++ b/content/examples_p5/Basics/Form/PointsLines/PointsLines.js
@@ -13,7 +13,8 @@ function setup() {
var p3 = p2+d;
var p4 = p3+d;
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noSmooth();
background(0);
translate(140, 0);
diff --git a/content/examples_p5/Basics/Form/RegularPolygon/RegularPolygon.js b/content/examples_p5/Basics/Form/RegularPolygon/RegularPolygon.js
index 703f08d25..527d3b465 100644
--- a/content/examples_p5/Basics/Form/RegularPolygon/RegularPolygon.js
+++ b/content/examples_p5/Basics/Form/RegularPolygon/RegularPolygon.js
@@ -9,7 +9,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/Basics/Form/ShapePrimitives/ShapePrimitives.js b/content/examples_p5/Basics/Form/ShapePrimitives/ShapePrimitives.js
index cd7918e2c..4a087a8aa 100644
--- a/content/examples_p5/Basics/Form/ShapePrimitives/ShapePrimitives.js
+++ b/content/examples_p5/Basics/Form/ShapePrimitives/ShapePrimitives.js
@@ -9,7 +9,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(0);
noStroke();
diff --git a/content/examples_p5/Basics/Form/Star/Star.js b/content/examples_p5/Basics/Form/Star/Star.js
index 91da2c7c2..6fa7a43b2 100644
--- a/content/examples_p5/Basics/Form/Star/Star.js
+++ b/content/examples_p5/Basics/Form/Star/Star.js
@@ -7,7 +7,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/Basics/Form/TriangleStrip/TriangleStrip.js b/content/examples_p5/Basics/Form/TriangleStrip/TriangleStrip.js
index 915ea3c5d..9b5183e04 100644
--- a/content/examples_p5/Basics/Form/TriangleStrip/TriangleStrip.js
+++ b/content/examples_p5/Basics/Form/TriangleStrip/TriangleStrip.js
@@ -13,7 +13,8 @@ var outsideRadius = 150;
var insideRadius = 100;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(204);
x = width/2;
y = height/2;
diff --git a/content/examples_p5/Basics/Image/Alphamask/Alphamask.js b/content/examples_p5/Basics/Image/Alphamask/Alphamask.js
index fe4827eba..c0ea76172 100644
--- a/content/examples_p5/Basics/Image/Alphamask/Alphamask.js
+++ b/content/examples_p5/Basics/Image/Alphamask/Alphamask.js
@@ -13,12 +13,13 @@ var img;
var imgMask;
function preload() {
- img = loadImage("data/moonwalk.jpg");
- imgMask = loadImage("data/mask.png");
+ img = loadImage("moonwalk.jpg");
+ imgMask = loadImage("mask.png");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
// Temporary fix until https://github.com/lmccart/p5.js/pull/533
imgMask.loadPixels();
for (var i = 0; i < imgMask.pixels.length; i+=4) {
diff --git a/content/examples_p5/Basics/Image/BackgroundImage/BackgroundImage.js b/content/examples_p5/Basics/Image/BackgroundImage/BackgroundImage.js
index 6813c9081..06e439c28 100644
--- a/content/examples_p5/Basics/Image/BackgroundImage/BackgroundImage.js
+++ b/content/examples_p5/Basics/Image/BackgroundImage/BackgroundImage.js
@@ -16,11 +16,12 @@ function preload() {
// The background image must be the same size as the parameters
// into the size() method. In this program, the size of the image
// is 640 x 360 pixels.
- bg = loadImage("data/moonwalk.jpg");
+ bg = loadImage("moonwalk.jpg");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/Basics/Image/CreateImage/CreateImage.js b/content/examples_p5/Basics/Image/CreateImage/CreateImage.js
index 1cef69c08..6e895bbd3 100644
--- a/content/examples_p5/Basics/Image/CreateImage/CreateImage.js
+++ b/content/examples_p5/Basics/Image/CreateImage/CreateImage.js
@@ -8,7 +8,8 @@
var img;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
img = createImage(230, 230);
img.loadPixels();
for(var i = 0; i < img.pixels.length; i+=4) {
diff --git a/content/examples_p5/Basics/Image/LoadDisplayImage/LoadDisplayImage.js b/content/examples_p5/Basics/Image/LoadDisplayImage/LoadDisplayImage.js
index dda8c7198..32805b06b 100644
--- a/content/examples_p5/Basics/Image/LoadDisplayImage/LoadDisplayImage.js
+++ b/content/examples_p5/Basics/Image/LoadDisplayImage/LoadDisplayImage.js
@@ -5,19 +5,17 @@
* or any other size.
*/
-// The next line is needed if running in JavaScript Mode with Processing.js
-/* @pjs preload="moonwalk.jpg"; */
-
var img; // Declare variable "a" of type PImage
function preload() {
// The image file must be in the data folder of the current sketch
// to load successfully
- img = loadImage("data/moonwalk.jpg");
+ img = loadImage("moonwalk.jpg");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
@@ -25,4 +23,5 @@ function draw() {
image(img, 0, 0);
// Displays the image at point (0, height/2) at half of its size
image(img, 0, height/2, img.width/2, img.height/2);
+ noLoop();
}
diff --git a/content/examples_p5/Basics/Image/Pointillism/Pointillism.js b/content/examples_p5/Basics/Image/Pointillism/Pointillism.js
index e1c685c40..a17f0a564 100644
--- a/content/examples_p5/Basics/Image/Pointillism/Pointillism.js
+++ b/content/examples_p5/Basics/Image/Pointillism/Pointillism.js
@@ -14,12 +14,13 @@ var img;
var smallPoint, largePoint;
function preload() {
- img = loadImage("data/moonwalk.jpg");
+ img = loadImage("moonwalk.jpg");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
smallPoint = 4;
largePoint = 40;
imageMode(CENTER);
@@ -32,6 +33,6 @@ function draw() {
var x = int(random(img.width));
var y = int(random(img.height));
var pix = img.get(x, y);
- fill(pix, 128);
+ fill(pix[0], pix[1], pix[2], 128);
ellipse(x, y, pointillize, pointillize);
}
diff --git a/content/examples_p5/Basics/Image/RequestImage/RequestImage.js b/content/examples_p5/Basics/Image/RequestImage/RequestImage.js
index c6b1744d6..4e158f445 100644
--- a/content/examples_p5/Basics/Image/RequestImage/RequestImage.js
+++ b/content/examples_p5/Basics/Image/RequestImage/RequestImage.js
@@ -22,12 +22,13 @@ var loadStates = new Array(imgCount);
var loaderX, loaderY, theta;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
imgW = width/imgCount;
// Load images asynchronously
for (var i = 0; i < imgCount; i++){
- imageLoader("data/PT_anim"+nf(i, 4)+".gif",i);
+ imageLoader("PT_anim"+nf(i, 4)+".gif",i);
}
}
diff --git a/content/examples_p5/Basics/Image/Transparency/Transparency.js b/content/examples_p5/Basics/Image/Transparency/Transparency.js
index 94756edbc..0b0963e39 100644
--- a/content/examples_p5/Basics/Image/Transparency/Transparency.js
+++ b/content/examples_p5/Basics/Image/Transparency/Transparency.js
@@ -14,11 +14,12 @@ var offset = 0;
var easing = 0.05;
function preload() {
- img = loadImage("data/moonwalk.jpg"); // Load an image into the program
+ img = loadImage("moonwalk.jpg"); // Load an image into the program
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/Basics/Input/Clock/Clock.js b/content/examples_p5/Basics/Input/Clock/Clock.js
index a376aa804..44bbe70c9 100644
--- a/content/examples_p5/Basics/Input/Clock/Clock.js
+++ b/content/examples_p5/Basics/Input/Clock/Clock.js
@@ -13,7 +13,8 @@ var hoursRadius;
var clockDiameter;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
stroke(255);
var radius = min(width, height) / 2;
diff --git a/content/examples_p5/Basics/Input/Constrain/Constrain.js b/content/examples_p5/Basics/Input/Constrain/Constrain.js
index f61431bb3..d88c52cb5 100644
--- a/content/examples_p5/Basics/Input/Constrain/Constrain.js
+++ b/content/examples_p5/Basics/Input/Constrain/Constrain.js
@@ -13,7 +13,8 @@ var edge = 100;
var inner = edge + radius;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
ellipseMode(RADIUS);
rectMode(CORNERS);
diff --git a/content/examples_p5/Basics/Input/Easing/Easing.js b/content/examples_p5/Basics/Input/Easing/Easing.js
index e14f81e75..d98f300b7 100644
--- a/content/examples_p5/Basics/Input/Easing/Easing.js
+++ b/content/examples_p5/Basics/Input/Easing/Easing.js
@@ -14,7 +14,8 @@ var y = 0;
var easing = 0.05;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
}
diff --git a/content/examples_p5/Basics/Input/Keyboard/Keyboard.js b/content/examples_p5/Basics/Input/Keyboard/Keyboard.js
index d5054ab83..2911eb2e0 100644
--- a/content/examples_p5/Basics/Input/Keyboard/Keyboard.js
+++ b/content/examples_p5/Basics/Input/Keyboard/Keyboard.js
@@ -9,7 +9,8 @@
var rectWidth;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
background(0);
rectWidth = width/4;
diff --git a/content/examples_p5/Basics/Input/KeyboardFunctions/KeyboardFunctions.js b/content/examples_p5/Basics/Input/KeyboardFunctions/KeyboardFunctions.js
index 7c10ebcde..bee464c7e 100644
--- a/content/examples_p5/Basics/Input/KeyboardFunctions/KeyboardFunctions.js
+++ b/content/examples_p5/Basics/Input/KeyboardFunctions/KeyboardFunctions.js
@@ -1,8 +1,3 @@
-// Need these resolved first:
-// https://github.com/lmccart/p5.js/issues/537
-// https://github.com/lmccart/p5.js/issues/536
-
-
// /**
// * Keyboard Functions.
// * Modified from code by Martin.
@@ -14,87 +9,88 @@
// * function that is called when a key is released.
// */
-// var maxHeight = 40;
-// var minHeight = 20;
-// var letterHeight = maxHeight; // Height of the letters
-// var letterWidth = 20; // Width of the letter
+var maxHeight = 40;
+var minHeight = 20;
+var letterHeight = maxHeight; // Height of the letters
+var letterWidth = 20; // Width of the letter
-// var x = -letterWidth; // X position of the letters
-// var y = 0; // Y position of the letters
+var x = -letterWidth; // X position of the letters
+var y = 0; // Y position of the letters
-// var newletter;
+var newletter;
-// var numChars = 26; // There are 26 characters in the alphabet
-// var colors = [];
+var numChars = 26; // There are 26 characters in the alphabet
+var colors = [];
-// function setup()
-// {
-// createCanvas(640, 360);
-// noStroke();
-// //colorMode(HSB, numChars);
-// background(numChars/2);
-// // Set a gray value for each key
-// for(var i = 0; i < numChars; i++) {
-// colors[i] = color(i, numChars, numChars);
-// }
+function setup()
+{
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
+ noStroke();
+ colorMode(HSB, numChars);
+ background(numChars/2);
+ // Set a gray value for each key
+ for(var i = 0; i < numChars; i++) {
+ colors[i] = color(i, numChars, numChars);
+ }
-// }
+}
-// function draw()
-// {
-// if(newletter == true) {
-// // Draw the "letter"
-// var y_pos;
-// if (letterHeight == maxHeight) {
-// y_pos = y;
-// rect( x, y_pos, letterWidth, letterHeight );
-// } else {
-// y_pos = y + minHeight;
-// rect( x, y_pos, letterWidth, letterHeight );
-// fill(numChars/2);
-// rect( x, y_pos-minHeight, letterWidth, letterHeight );
-// }
-// console.log(letterWidth,letterHeight);
-// newletter = false;
-// println(letterWidth,letterHeight);
+function draw()
+{
+ if(newletter == true) {
+ // Draw the "letter"
+ var y_pos;
+ if (letterHeight == maxHeight) {
+ y_pos = y;
+ rect( x, y_pos, letterWidth, letterHeight );
+ } else {
+ y_pos = y + minHeight;
+ rect( x, y_pos, letterWidth, letterHeight );
+ fill(numChars/2);
+ rect( x, y_pos-minHeight, letterWidth, letterHeight );
+ }
+ console.log(letterWidth,letterHeight);
+ newletter = false;
+ println(letterWidth,letterHeight);
-// }
-// }
+ }
+}
-// function keyPressed() {
-// console.log(key);
-// var keyVal = key.charCodeAt(0);
-// println(keyVal);
-// // If the key is between 'A'(65) to 'Z' and 'a' to 'z'(122)
-// if((keyVal >= 'A'.charCodeAt(0) && keyVal <= 'Z'.charCodeAt(0)) || (keyVal >= 'a'.charCodeAt(0) && keyVal <= 'z'.charCodeAt(0))) {
-// var keyIndex = 0;
-// if(keyVal <= 'Z'.charCodeAt(0)) {
-// keyIndex = keyVal-'A'.charCodeAt(0);
-// letterHeight = maxHeight;
-// fill(colors[keyVal-'A'.charCodeAt(0)]);
-// } else {
-// keyIndex = keyVal-'a'.charCodeAt(0);
-// letterHeight = minHeight;
-// fill(colors[keyVal-'a'.charCodeAt(0)]);
-// }
-// } else {
-// fill(0);
-// letterHeight = 10;
-// }
+function keyTyped() {
+ console.log(key);
+ var keyVal = key.charCodeAt(0);
+ println(keyVal);
+ // If the key is between 'A'(65) to 'Z' and 'a' to 'z'(122)
+ if((keyVal >= 'A'.charCodeAt(0) && keyVal <= 'Z'.charCodeAt(0)) || (keyVal >= 'a'.charCodeAt(0) && keyVal <= 'z'.charCodeAt(0))) {
+ var keyIndex = 0;
+ if(keyVal <= 'Z'.charCodeAt(0)) {
+ keyIndex = keyVal-'A'.charCodeAt(0);
+ letterHeight = maxHeight;
+ fill(colors[keyVal-'A'.charCodeAt(0)]);
+ } else {
+ keyIndex = keyVal-'a'.charCodeAt(0);
+ letterHeight = minHeight;
+ fill(colors[keyVal-'a'.charCodeAt(0)]);
+ }
+ } else {
+ fill(0);
+ letterHeight = 10;
+ }
-// newletter = true;
+ newletter = true;
-// // Update the "letter" position
-// x = ( x + letterWidth );
+ // Update the "letter" position
+ x = ( x + letterWidth );
-// // Wrap horizontally
-// if (x > width - letterWidth) {
-// x = 0;
-// y+= maxHeight;
-// }
+ // Wrap horizontally
+ if (x > width - letterWidth) {
+ x = 0;
+ y+= maxHeight;
+ }
-// // Wrap vertically
-// if( y > height - letterHeight) {
-// y = 0; // reset y to 0
-// }
-// }
+ // Wrap vertically
+ if( y > height - letterHeight) {
+ y = 0; // reset y to 0
+ }
+}
diff --git a/content/examples_p5/Basics/Input/Milliseconds/Milliseconds.js b/content/examples_p5/Basics/Input/Milliseconds/Milliseconds.js
index 2e6fe7fae..7bfcd27cf 100644
--- a/content/examples_p5/Basics/Input/Milliseconds/Milliseconds.js
+++ b/content/examples_p5/Basics/Input/Milliseconds/Milliseconds.js
@@ -10,7 +10,8 @@
var scale;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
scale = width/20;
}
diff --git a/content/examples_p5/Basics/Input/Mouse1D/Mouse1D.js b/content/examples_p5/Basics/Input/Mouse1D/Mouse1D.js
index 3c30d2b37..20b77f39a 100644
--- a/content/examples_p5/Basics/Input/Mouse1D/Mouse1D.js
+++ b/content/examples_p5/Basics/Input/Mouse1D/Mouse1D.js
@@ -7,7 +7,8 @@
*/
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
colorMode(RGB, height, height, height);
rectMode(CENTER);
diff --git a/content/examples_p5/Basics/Input/Mouse2D/Mouse2D.js b/content/examples_p5/Basics/Input/Mouse2D/Mouse2D.js
index b8e2f1a34..ebb9b64a1 100644
--- a/content/examples_p5/Basics/Input/Mouse2D/Mouse2D.js
+++ b/content/examples_p5/Basics/Input/Mouse2D/Mouse2D.js
@@ -6,7 +6,8 @@
function setup()
{
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
rectMode(CENTER);
}
diff --git a/content/examples_p5/Basics/Input/MouseFunctions/MouseFunctions.js b/content/examples_p5/Basics/Input/MouseFunctions/MouseFunctions.js
index e1160a0d4..f65d563ac 100644
--- a/content/examples_p5/Basics/Input/MouseFunctions/MouseFunctions.js
+++ b/content/examples_p5/Basics/Input/MouseFunctions/MouseFunctions.js
@@ -14,7 +14,8 @@ var yOffset = 0.0;
function setup()
{
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
bx = width/2.0;
by = height/2.0;
rectMode(RADIUS);
diff --git a/content/examples_p5/Basics/Input/MousePress/MousePress.js b/content/examples_p5/Basics/Input/MousePress/MousePress.js
index 0898b0b31..961c3f57a 100644
--- a/content/examples_p5/Basics/Input/MousePress/MousePress.js
+++ b/content/examples_p5/Basics/Input/MousePress/MousePress.js
@@ -7,7 +7,8 @@
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noSmooth();
fill(126);
background(102);
diff --git a/content/examples_p5/Basics/Input/MouseSignals/MouseSignals.js b/content/examples_p5/Basics/Input/MouseSignals/MouseSignals.js
index 8225af9e6..43889de8d 100644
--- a/content/examples_p5/Basics/Input/MouseSignals/MouseSignals.js
+++ b/content/examples_p5/Basics/Input/MouseSignals/MouseSignals.js
@@ -13,7 +13,8 @@ var bvals;
function setup()
{
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noSmooth();
xvals = [];
yvals = [];
@@ -50,10 +51,10 @@ function draw() {
for(var i=1; i 10) {
@@ -84,7 +86,7 @@ function mousePressed() {
}
// Writing the CSV back to the same file
- // saveTable(table, "data/data.csv");
+ // saveTable(table, "/data.csv");
// And reloading it
loadData();
}
diff --git a/content/examples_p5/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.js b/content/examples_p5/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.js
index dcf37b970..92618b264 100644
--- a/content/examples_p5/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.js
+++ b/content/examples_p5/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.js
@@ -31,13 +31,14 @@ var bubbles = [];
var xml;
function preload() {
- xml = loadXML("data/data.xml");
+ xml = loadXML("/data.xml");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
loadData();
- loadXML("data/data.xml",test);
+ loadXML("/data.xml",test);
}
function test(xml) {
@@ -61,7 +62,7 @@ function draw() {
function loadData() {
// Load XML file
- // xml = loadXML("data.xml");
+ // xml = loadXML(".xml");
// // Get all the child nodes named "bubble"
// XML[] children = xml.getChildren("bubble");
@@ -123,7 +124,7 @@ function mousePressed() {
// }
// // Save a new XML file
- // saveXML(xml,"data/data.xml");
+ // saveXML(xml,"/data.xml");
// // reload the new data
// loadData();
diff --git a/content/examples_p5/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.js b/content/examples_p5/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.js
index f8d53513e..2801407f4 100644
--- a/content/examples_p5/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.js
+++ b/content/examples_p5/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.js
@@ -11,27 +11,29 @@
// We're going to store the temperature
var temperature = 0;
// We're going to store text about the weather
-String weather = "";
+var weather = "";
// The zip code we'll check for
-String zip = "10003";
+var zip = "10003";
-PFont font;
+var xml;
+
+function preload() {
+ var url = "http://xml.weather.yahoo.com/forecastrss?p=" + zip;
+ // Load the XML document
+ xml = loadXML(url);
+
+}
function setup() {
createCanvas(600, 360);
- font = createFont("Merriweather-Light.ttf", 28);
- textFont(font);
+ textFont("Merriweather Light", 28);
// The URL for the XML document
- String url = "http://xml.weather.yahoo.com/forecastrss?p=" + zip;
-
- // Load the XML document
- XML xml = loadXML(url);
// Grab the element we want
- XML forecast = xml.getChild("channel/item/yweather:forecast");
+ var forecast = xml.getChild("channel/item/yweather:forecast");
// Get the attributes we want
temperature = forecast.getInt("high");
diff --git a/content/examples_p5/Topics/Animation/AnimatedSprite/AnimatedSprite.js b/content/examples_p5/Topics/Animation/AnimatedSprite/AnimatedSprite.js
index 6cafaea72..39029a78b 100644
--- a/content/examples_p5/Topics/Animation/AnimatedSprite/AnimatedSprite.js
+++ b/content/examples_p5/Topics/Animation/AnimatedSprite/AnimatedSprite.js
@@ -21,7 +21,8 @@ function preload() {
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
background(255, 204, 0);
frameRate(24);
ypos = height * 0.25;
diff --git a/content/examples_p5/Topics/Animation/AnimatedSprite/Animation.js b/content/examples_p5/Topics/Animation/AnimatedSprite/Animation.js
index 9eb9a3a65..bc54af5f9 100644
--- a/content/examples_p5/Topics/Animation/AnimatedSprite/Animation.js
+++ b/content/examples_p5/Topics/Animation/AnimatedSprite/Animation.js
@@ -8,7 +8,7 @@ function Animation(imagePrefix, count) {
for (var i = 0; i < this.imageCount; i++) {
// Use nf() to number format 'i' into four digits
- var filename = 'data/' + imagePrefix + nf(i, 4) + ".gif";
+ var filename = imagePrefix + nf(i, 4) + ".gif";
this.images[i] = loadImage(filename);
}
diff --git a/content/examples_p5/Topics/Animation/Sequential/Sequential.js b/content/examples_p5/Topics/Animation/Sequential/Sequential.js
index 3dab0f938..a34076e9d 100644
--- a/content/examples_p5/Topics/Animation/Sequential/Sequential.js
+++ b/content/examples_p5/Topics/Animation/Sequential/Sequential.js
@@ -17,18 +17,18 @@ var currentFrame = 0;
var images = [];
function preload() {
- images[0] = loadImage("data/PT_anim0000.gif");
- images[1] = loadImage("data/PT_anim0001.gif");
- images[2] = loadImage("data/PT_anim0002.gif");
- images[3] = loadImage("data/PT_anim0003.gif");
- images[4] = loadImage("data/PT_anim0004.gif");
- images[5] = loadImage("data/PT_anim0005.gif");
- images[6] = loadImage("data/PT_anim0006.gif");
- images[7] = loadImage("data/PT_anim0007.gif");
- images[8] = loadImage("data/PT_anim0008.gif");
- images[9] = loadImage("data/PT_anim0009.gif");
- images[10] = loadImage("data/PT_anim0010.gif");
- images[11] = loadImage("data/PT_anim0011.gif");
+ images[0] = loadImage("PT_anim0000.gif");
+ images[1] = loadImage("PT_anim0001.gif");
+ images[2] = loadImage("PT_anim0002.gif");
+ images[3] = loadImage("PT_anim0003.gif");
+ images[4] = loadImage("PT_anim0004.gif");
+ images[5] = loadImage("PT_anim0005.gif");
+ images[6] = loadImage("PT_anim0006.gif");
+ images[7] = loadImage("PT_anim0007.gif");
+ images[8] = loadImage("PT_anim0008.gif");
+ images[9] = loadImage("PT_anim0009.gif");
+ images[10] = loadImage("PT_anim0010.gif");
+ images[11] = loadImage("PT_anim0011.gif");
// If you don't want to load each image separately
// and you know how many frames you have, you
@@ -41,7 +41,8 @@ function preload() {
//}
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
frameRate(24);
diff --git a/content/examples_p5/Topics/Cellular Automata/GameOfLife/GameOfLife.js b/content/examples_p5/Topics/Cellular Automata/GameOfLife/GameOfLife.js
index 1c95d681e..083afbba8 100644
--- a/content/examples_p5/Topics/Cellular Automata/GameOfLife/GameOfLife.js
+++ b/content/examples_p5/Topics/Cellular Automata/GameOfLife/GameOfLife.js
@@ -41,7 +41,8 @@ function make2DArray(cols,rows) {
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
alive = color(0, 200, 0);
dead = color(0);
// Instantiate arrays
@@ -93,7 +94,7 @@ function draw() {
}
// Create new cells manually on pause
- if (pause && mousePressed) {
+ if (pause && mouseIsPressed) {
// Map and avoid out of bound errors
var xCellOver = int(map(mouseX, 0, width, 0, width/cellSize));
xCellOver = constrain(xCellOver, 0, width/cellSize-1);
@@ -110,7 +111,7 @@ function draw() {
fill(alive); // Fill alive color
}
}
- else if (pause && !mousePressed) { // And then save to buffer once mouse goes up
+ else if (pause && !mouseIsPressed) { // And then save to buffer once mouse goes up
// Save cells to buffer (so we opeate with one array keeping the other intact)
for (var x=0; x 16.0) {
- break; // Bail
+ // Now we test, as we iterate z = z^2 + cm does z tend towards infinity?
+ var a = x;
+ var b = y;
+ var n = 0;
+ while (n < maxiterations) {
+ var aa = a * a;
+ var bb = b * b;
+ var twoab = 2.0 * a * b;
+ a = aa - bb + x;
+ b = twoab + y;
+ // Infinty in our finite world is simple, let's just consider it 16
+ if (aa + bb > 16.0) {
+ break; // Bail
+ }
+ n++;
}
- n++;
- }
- // We color each pixel based on how long it takes to get to infinity
- // If we never got there, let's pick the color black
- var loc = (i+j*width)*4
- if (n == maxiterations) {
- pixels[loc] = 0;
- pixels[loc+1] = 0;
- pixels[loc+2] = 0;
- pixels[loc+3] = 255;
- } else {
- // Gosh, we could make fancy colors here if we wanted
- pixels[loc] = n*16 % 255;
- pixels[loc+1] = n*16 % 255;
- pixels[loc+2] = n*16 % 255;
- pixels[loc+3] = 255;
+ // We color each pixel based on how long it takes to get to infinity
+ // If we never got there, let's pick the color black
+ var loc = (i+j*width)*4
+ if (n == maxiterations) {
+ pixels[loc] = 0;
+ pixels[loc+1] = 0;
+ pixels[loc+2] = 0;
+ pixels[loc+3] = 255;
+ } else {
+ // Gosh, we could make fancy colors here if we wanted
+ pixels[loc] = n*16 % 255;
+ pixels[loc+1] = n*16 % 255;
+ pixels[loc+2] = n*16 % 255;
+ pixels[loc+3] = 255;
+ }
+ x += dx;
}
- x += dx;
+ y += dy;
}
- y += dy;
-}
-updatePixels();
+ updatePixels();
}
diff --git a/content/examples_p5/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.js b/content/examples_p5/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.js
index f6d9e4cda..e74bc95bc 100644
--- a/content/examples_p5/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.js
+++ b/content/examples_p5/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.js
@@ -8,7 +8,8 @@
var ps;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
stroke(255);
noFill();
ps = new PenroseSnowflakeLSystem();
diff --git a/content/examples_p5/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.js b/content/examples_p5/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.js
index f0f6aefd8..f4aea6657 100644
--- a/content/examples_p5/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.js
+++ b/content/examples_p5/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.js
@@ -8,7 +8,8 @@
var ds;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
ds = new PenroseLSystem();
ds.simulate(4);
}
diff --git a/content/examples_p5/Topics/Fractals and L-Systems/Pentigree/Pentigree.js b/content/examples_p5/Topics/Fractals and L-Systems/Pentigree/Pentigree.js
index 669e0f53c..8248a161e 100644
--- a/content/examples_p5/Topics/Fractals and L-Systems/Pentigree/Pentigree.js
+++ b/content/examples_p5/Topics/Fractals and L-Systems/Pentigree/Pentigree.js
@@ -9,7 +9,8 @@
var ps;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
ps = new PentigreeLSystem();
ps.simulate(3);
}
diff --git a/content/examples_p5/Topics/Fractals and L-Systems/Tree/Tree.js b/content/examples_p5/Topics/Fractals and L-Systems/Tree/Tree.js
index be0922ccf..605874239 100644
--- a/content/examples_p5/Topics/Fractals and L-Systems/Tree/Tree.js
+++ b/content/examples_p5/Topics/Fractals and L-Systems/Tree/Tree.js
@@ -11,7 +11,8 @@
var theta;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/Topics/GUI/Button/Button.js b/content/examples_p5/Topics/GUI/Button/Button.js
index 310cfc9d5..bfe82ccf8 100644
--- a/content/examples_p5/Topics/GUI/Button/Button.js
+++ b/content/examples_p5/Topics/GUI/Button/Button.js
@@ -1,7 +1,7 @@
/**
* Button.
*
- * Click on one of the colored squares in the
+ * Click on one of the colored shapes in the
* center of the image to change the color of
* the background.
*/
@@ -17,7 +17,8 @@ var rectOver = false;
var circleOver = false;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
rectColor = color(0);
rectHighlight = color(51);
circleColor = color(255);
diff --git a/content/examples_p5/Topics/GUI/Handles/Handles.js b/content/examples_p5/Topics/GUI/Handles/Handles.js
index 8cd6592e9..c13b7d9cf 100644
--- a/content/examples_p5/Topics/GUI/Handles/Handles.js
+++ b/content/examples_p5/Topics/GUI/Handles/Handles.js
@@ -7,7 +7,8 @@
var handles;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
var num = height/15;
handles = [];
var hsize = 10;
diff --git a/content/examples_p5/Topics/GUI/Rollover/Rollover.js b/content/examples_p5/Topics/GUI/Rollover/Rollover.js
index c1b620baf..c42e5bbee 100644
--- a/content/examples_p5/Topics/GUI/Rollover/Rollover.js
+++ b/content/examples_p5/Topics/GUI/Rollover/Rollover.js
@@ -19,7 +19,8 @@ var rectOver = false;
var circleOver = false;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
rectColor = color(0);
circleColor = color(255);
baseColor = color(102);
diff --git a/content/examples_p5/Topics/GUI/Scrollbar/Scrollbar.js b/content/examples_p5/Topics/GUI/Scrollbar/Scrollbar.js
index f70278e10..56128a5b6 100644
--- a/content/examples_p5/Topics/GUI/Scrollbar/Scrollbar.js
+++ b/content/examples_p5/Topics/GUI/Scrollbar/Scrollbar.js
@@ -14,12 +14,13 @@ var img1, img2; // Two images to load
function preload() {
// Load images
- img1 = loadImage("data/seedTop.jpg");
- img2 = loadImage("data/seedBottom.jpg");
+ img1 = loadImage("seedTop.jpg");
+ img2 = loadImage("seedBottom.jpg");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
hs1 = new HScrollbar(0, height/2-8, width, 16, 16);
diff --git a/content/examples_p5/Topics/Image Processing/Blur/Blur.js b/content/examples_p5/Topics/Image Processing/Blur/Blur.js
index 2449ac79b..5dbad4bfb 100644
--- a/content/examples_p5/Topics/Image Processing/Blur/Blur.js
+++ b/content/examples_p5/Topics/Image Processing/Blur/Blur.js
@@ -16,12 +16,13 @@ var kernel = [[ v, v, v ],
var img;
function preload() {
- img = loadImage("data/moon.jpg"); // Load the original image
+ img = loadImage("moon.jpg"); // Load the original image
}
function setup() {
- createCanvas(640, 360);
- devicePixelScaling(false);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
+ pixelDensity(1);
noLoop();
}
diff --git a/content/examples_p5/Topics/Image Processing/Brightness/Brightness.js b/content/examples_p5/Topics/Image Processing/Brightness/Brightness.js
index ac7ef600f..5af1796f0 100644
--- a/content/examples_p5/Topics/Image Processing/Brightness/Brightness.js
+++ b/content/examples_p5/Topics/Image Processing/Brightness/Brightness.js
@@ -12,12 +12,13 @@
var img;
function preload() {
- img = loadImage("data/moon-wide.jpg");
+ img = loadImage("moon-wide.jpg");
}
function setup() {
- createCanvas(640, 360);
- devicePixelScaling(false);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
+ pixelDensity(1);
frameRate(30);
img.loadPixels();
// Only need to load the pixels[] array once, because we're only
diff --git a/content/examples_p5/Topics/Image Processing/Convolution/Convolution.js b/content/examples_p5/Topics/Image Processing/Convolution/Convolution.js
index 3641b643e..0c96bfe3b 100644
--- a/content/examples_p5/Topics/Image Processing/Convolution/Convolution.js
+++ b/content/examples_p5/Topics/Image Processing/Convolution/Convolution.js
@@ -20,12 +20,13 @@ var matrix = [ [ -1, -1, -1 ] ,
function preload() {
- img = loadImage("data/moon-wide.jpg");
+ img = loadImage("moon-wide.jpg");
}
function setup() {
- createCanvas(640, 360);
- devicePixelScaling(false);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
+ pixelDensity(1);
}
function draw() {
@@ -76,7 +77,7 @@ function convolution(x, y, matrix, matrixsize, img) {
// Make sure we haven't walked off the edge of the pixel array
// It is often good when looking at neighboring pixels to make sure we have not gone off the edge of the pixel array by accident.
- loc = constrain(loc, 0, img.pixels.length-1);
+ loc = constrain(loc, 0, img.pixels.length-3);
// Calculate the convolution
// We sum all the neighboring pixels multiplied by the values in the convolution matrix.
rtotal += img.pixels[loc ] * matrix[i][j];
diff --git a/content/examples_p5/Topics/Image Processing/Convolution/testing.html b/content/examples_p5/Topics/Image Processing/Convolution/testing.html
index 09ea2514c..372fe7f65 100644
--- a/content/examples_p5/Topics/Image Processing/Convolution/testing.html
+++ b/content/examples_p5/Topics/Image Processing/Convolution/testing.html
@@ -1,11 +1,12 @@
-
-
+
+
+
diff --git a/content/examples_p5/Topics/Image Processing/EdgeDetection/EdgeDetection.js b/content/examples_p5/Topics/Image Processing/EdgeDetection/EdgeDetection.js
index 05c0adbb1..6f20c9c48 100644
--- a/content/examples_p5/Topics/Image Processing/EdgeDetection/EdgeDetection.js
+++ b/content/examples_p5/Topics/Image Processing/EdgeDetection/EdgeDetection.js
@@ -17,12 +17,13 @@ var kernel = [[ -1, -1, -1 ],
var img;
function preload() {
- img = loadImage("data/moon.jpg"); // Load the original image
+ img = loadImage("moon.jpg"); // Load the original image
}
function setup() {
- createCanvas(640, 360);
- devicePixelScaling(false);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
+ pixelDensity(1);
noLoop();
}
diff --git a/content/examples_p5/Topics/Image Processing/Histogram/Histogram.js b/content/examples_p5/Topics/Image Processing/Histogram/Histogram.js
index 4b8ed9a97..be7cf9eb9 100644
--- a/content/examples_p5/Topics/Image Processing/Histogram/Histogram.js
+++ b/content/examples_p5/Topics/Image Processing/Histogram/Histogram.js
@@ -16,41 +16,48 @@
// This needs to be resolved: https://github.com/processing/p5.js/issues/563
-// var img;
+var img;
-// function preload() {
-// img = loadImage("data/frontier.jpg");
-// }
+function preload() {
+ img = loadImage("frontier.jpg");
+}
-// function setup() {
+function setup() {
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
// Load an image from the data directory
// Load a different image by modifying the comments
- // image(img, 0, 0);
- // var hist = [];
- // loadPixels();
- // // Calculate the histogram
- // for (var i = 0; i < img.width; i++) {
- // for (var j = 0; j < img.height; j++) {
- // var c = get(i,j);
- // var col = color(c[0],c[1],c[2])
- // println(c,col);
- // var bright = brightness(col);
- // //hist[bright]++;
- // break;
- // }
- // }
-
- // // Find the largest value in the histogram
- // var histMax = max(hist);
-
- // stroke(255);
- // // Draw half of the histogram (skip every second value)
- // for (var i = 0; i < img.width; i += 2) {
- // // Map i (from 0..img.width) to a location in the histogram (0..255)
- // var which = int(map(i, 0, img.width, 0, 255));
- // // Convert the histogram value to a location between
- // // the bottom and the top of the picture
- // var y = int(map(hist[which], 0, histMax, img.height, 0));
- // line(i, img.height, i, y);
- // }
-//}
+ image(img, 0, 0);
+ var hist = [];
+ for (var i = 0; i < 256; i++) {
+ hist[i] = 0;
+ }
+ img.loadPixels();
+ // Calculate the histogram
+ for (var i = 0; i < img.width; i++) {
+ for (var j = 0; j < img.height; j++) {
+ var index = (i + j * img.width) * 4;
+ var r = img.pixels[index];
+ var g = img.pixels[index+1];
+ var b = img.pixels[index+2];
+ //println(c,col);
+ var bright = floor((r+g+b)/3);
+ hist[bright]++;
+ //break;
+ }
+ }
+
+ // Find the largest value in the histogram
+ var histMax = max(hist);
+
+ stroke(255);
+ // Draw half of the histogram (skip every second value)
+ for (var i = 0; i < img.width; i += 2) {
+ // Map i (from 0..img.width) to a location in the histogram (0..255)
+ var which = int(map(i, 0, img.width, 0, 255));
+ // Convert the histogram value to a location between
+ // the bottom and the top of the picture
+ var y = int(map(hist[which], 0, histMax, img.height, 0));
+ line(i, img.height, i, y);
+ }
+}
diff --git a/content/examples_p5/Topics/Image Processing/Histogram/testing.html b/content/examples_p5/Topics/Image Processing/Histogram/testing.html
index 97bd3fa19..a73776eba 100644
--- a/content/examples_p5/Topics/Image Processing/Histogram/testing.html
+++ b/content/examples_p5/Topics/Image Processing/Histogram/testing.html
@@ -1,7 +1,7 @@
-
-
+
+
diff --git a/content/examples_p5/Topics/Image Processing/LinearImage/LinearImage.js b/content/examples_p5/Topics/Image Processing/LinearImage/LinearImage.js
index 347c406b6..6fc66f0f8 100644
--- a/content/examples_p5/Topics/Image Processing/LinearImage/LinearImage.js
+++ b/content/examples_p5/Topics/Image Processing/LinearImage/LinearImage.js
@@ -10,44 +10,45 @@
// This needs to be resolved: https://github.com/processing/p5.js/issues/478
-// var img;
-// var direction = 1;
-
-// var signal = 0;
-
-// function preload() {
-// img = loadImage("data/sea.jpg");
-// }
-
-// function setup() {
-// createCanvas(640, 360);
-// stroke(255);
-// img.loadPixels();
-// loadPixels();
-// }
-
-// function draw() {
-// loadPixels();
-// if (signal > img.height-1 || signal < 0) {
-// direction = direction * -1;
-// }
-// if (mouseIsPressed == true) {
-// signal = abs(mouseY % img.height);
-// }
-// else {
-// signal += (0.3*direction);
-// }
-
-// if (keyIsPressed == true) {
-// set(0, 0, img);
-// line(0, signal, img.width, signal);
-// }
-// else {
-// var signalOffset = int(signal)*img.width;
-// for (var y = 0; y < img.height; y++) {
-// //arrayCopy(img.pixels, signalOffset, pixels, y*width, img.width);
-// }
-// updatePixels();
-// }
-// }
+var img;
+var direction = 1;
+
+var signal = 0;
+
+function preload() {
+ img = loadImage("sea.jpg");
+}
+
+function setup() {
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
+ stroke(255);
+ img.loadPixels();
+ loadPixels();
+}
+
+function draw() {
+ loadPixels();
+ if (signal > img.height-1 || signal < 0) {
+ direction = direction * -1;
+ }
+ if (mouseIsPressed == true) {
+ signal = abs(mouseY % img.height);
+ }
+ else {
+ signal += (0.3*direction);
+ }
+
+ if (keyIsPressed == true) {
+ set(0, 0, img);
+ line(0, signal, img.width, signal);
+ }
+ else {
+ var signalOffset = int(signal)*img.width;
+ for (var y = 0; y < img.height; y++) {
+ arrayCopy(img.pixels, signalOffset, pixels, y*width, img.width);
+ }
+ updatePixels();
+ }
+}
diff --git a/content/examples_p5/Topics/Image Processing/PixelArray/PixelArray.js b/content/examples_p5/Topics/Image Processing/PixelArray/PixelArray.js
index c1071a796..8215fcaf7 100644
--- a/content/examples_p5/Topics/Image Processing/PixelArray/PixelArray.js
+++ b/content/examples_p5/Topics/Image Processing/PixelArray/PixelArray.js
@@ -15,11 +15,12 @@ var direction = 1;
var signal = 0;
function preload() {
- img = loadImage("data/sea.jpg");
+ img = loadImage("sea.jpg");
}
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noFill();
stroke(255);
frameRate(30);
diff --git a/content/examples_p5/Topics/Interaction/Follow1/Follow1.js b/content/examples_p5/Topics/Interaction/Follow1/Follow1.js
index dade515f9..450c68317 100644
--- a/content/examples_p5/Topics/Interaction/Follow1/Follow1.js
+++ b/content/examples_p5/Topics/Interaction/Follow1/Follow1.js
@@ -11,7 +11,8 @@ var angle1 = 0.0;
var segLength = 50;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
strokeWeight(20.0);
stroke(255, 100);
}
diff --git a/content/examples_p5/Topics/Interaction/Follow2/Follow2.js b/content/examples_p5/Topics/Interaction/Follow2/Follow2.js
index 443dbd5a9..239489e3d 100644
--- a/content/examples_p5/Topics/Interaction/Follow2/Follow2.js
+++ b/content/examples_p5/Topics/Interaction/Follow2/Follow2.js
@@ -12,7 +12,8 @@ var y = [0,0];
var segLength = 50;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
strokeWeight(20.0);
stroke(255, 100);
}
diff --git a/content/examples_p5/Topics/Interaction/Follow3/Follow3.js b/content/examples_p5/Topics/Interaction/Follow3/Follow3.js
index c7de627fc..c1a40d068 100644
--- a/content/examples_p5/Topics/Interaction/Follow3/Follow3.js
+++ b/content/examples_p5/Topics/Interaction/Follow3/Follow3.js
@@ -12,7 +12,8 @@ var y = new Array(20);
var segLength = 18;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
strokeWeight(9);
stroke(255, 100);
for (var i = 0; i < x.length; i++) {
diff --git a/content/examples_p5/Topics/Interaction/Reach1/Reach1.js b/content/examples_p5/Topics/Interaction/Reach1/Reach1.js
index 943da8172..73c600dad 100644
--- a/content/examples_p5/Topics/Interaction/Reach1/Reach1.js
+++ b/content/examples_p5/Topics/Interaction/Reach1/Reach1.js
@@ -11,7 +11,8 @@ var segLength = 80;
var x, y, x2, y2;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
strokeWeight(20.0);
stroke(255, 100);
diff --git a/content/examples_p5/Topics/Interaction/Reach2/Reach2.js b/content/examples_p5/Topics/Interaction/Reach2/Reach2.js
index 57fcb81e9..301e06c68 100644
--- a/content/examples_p5/Topics/Interaction/Reach2/Reach2.js
+++ b/content/examples_p5/Topics/Interaction/Reach2/Reach2.js
@@ -14,7 +14,8 @@ var segLength = 26;
var targetX, targetY = 0;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
strokeWeight(20.0);
stroke(255, 100);
for (var i = 0 ; i < x.length; i++) {
diff --git a/content/examples_p5/Topics/Interaction/Reach3/Reach3.js b/content/examples_p5/Topics/Interaction/Reach3/Reach3.js
index 32e847685..735caed22 100644
--- a/content/examples_p5/Topics/Interaction/Reach3/Reach3.js
+++ b/content/examples_p5/Topics/Interaction/Reach3/Reach3.js
@@ -19,7 +19,8 @@ var ballXDirection = 1;
var ballYDirection = -1;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
strokeWeight(20.0);
stroke(255, 100);
noFill();
diff --git a/content/examples_p5/Topics/Interaction/Tickle/Tickle.js b/content/examples_p5/Topics/Interaction/Tickle/Tickle.js
index 3dd928322..a40efcf6a 100644
--- a/content/examples_p5/Topics/Interaction/Tickle/Tickle.js
+++ b/content/examples_p5/Topics/Interaction/Tickle/Tickle.js
@@ -13,11 +13,11 @@ var x, y; // X and Y coordinates of text
var hr, vr; // horizontal and vertical radius of the text
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
// Create the font
- textFont("Georgia");
- textSize(36);
+ textFont("Source Code Pro", 36);
textAlign(CENTER, CENTER);
hr = textWidth(message) / 2;
diff --git a/content/examples_p5/Topics/Motion/Bounce/Bounce.js b/content/examples_p5/Topics/Motion/Bounce/Bounce.js
index 5f1e8b4cf..a656a8d0b 100644
--- a/content/examples_p5/Topics/Motion/Bounce/Bounce.js
+++ b/content/examples_p5/Topics/Motion/Bounce/Bounce.js
@@ -16,7 +16,8 @@ var ydirection = 1; // Top to Bottom
function setup()
{
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
frameRate(30);
ellipseMode(RADIUS);
diff --git a/content/examples_p5/Topics/Motion/BouncyBubbles/BouncyBubbles.js b/content/examples_p5/Topics/Motion/BouncyBubbles/BouncyBubbles.js
index 2145a4563..62c702178 100644
--- a/content/examples_p5/Topics/Motion/BouncyBubbles/BouncyBubbles.js
+++ b/content/examples_p5/Topics/Motion/BouncyBubbles/BouncyBubbles.js
@@ -13,7 +13,8 @@ var friction = -0.9;
var balls = [];
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
for (var i = 0; i < numBalls; i++) {
balls[i] = new Ball(random(width), random(height), random(30, 70), i, balls);
}
diff --git a/content/examples_p5/Topics/Motion/Brownian/Brownian.js b/content/examples_p5/Topics/Motion/Brownian/Brownian.js
index 42ff4ab66..a461b7178 100644
--- a/content/examples_p5/Topics/Motion/Brownian/Brownian.js
+++ b/content/examples_p5/Topics/Motion/Brownian/Brownian.js
@@ -13,7 +13,8 @@ var ay = [];
function setup()
{
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
for(var i = 0; i < num; i++) {
ax[i] = width/2;
ay[i] = height/2;
diff --git a/content/examples_p5/Topics/Motion/CircleCollision/CircleCollision.js b/content/examples_p5/Topics/Motion/CircleCollision/CircleCollision.js
index 36d92636d..d07cfa5e7 100644
--- a/content/examples_p5/Topics/Motion/CircleCollision/CircleCollision.js
+++ b/content/examples_p5/Topics/Motion/CircleCollision/CircleCollision.js
@@ -8,7 +8,8 @@
var balls;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
balls = [
new Ball(100, 400, 20),
new Ball(700, 400, 80)
diff --git a/content/examples_p5/Topics/Motion/Linear/Linear.js b/content/examples_p5/Topics/Motion/Linear/Linear.js
index 3d1b2514e..ae97843ed 100644
--- a/content/examples_p5/Topics/Motion/Linear/Linear.js
+++ b/content/examples_p5/Topics/Motion/Linear/Linear.js
@@ -10,7 +10,8 @@
var a;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
stroke(255);
a = height/2;
}
diff --git a/content/examples_p5/Topics/Motion/Morph/Morph.js b/content/examples_p5/Topics/Motion/Morph/Morph.js
index 427d5a498..bcac639ae 100644
--- a/content/examples_p5/Topics/Motion/Morph/Morph.js
+++ b/content/examples_p5/Topics/Motion/Morph/Morph.js
@@ -19,7 +19,8 @@ var morph = [];
var state = false;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
// Create a circle using vectors pointing from center
for (var angle = 0; angle < 360; angle += 9) {
diff --git a/content/examples_p5/Topics/Motion/MovingOnCurves/MovingOnCurves.js b/content/examples_p5/Topics/Motion/MovingOnCurves/MovingOnCurves.js
index 1413b75e3..9ffe264aa 100644
--- a/content/examples_p5/Topics/Motion/MovingOnCurves/MovingOnCurves.js
+++ b/content/examples_p5/Topics/Motion/MovingOnCurves/MovingOnCurves.js
@@ -18,7 +18,8 @@ var step = 0.01; // Size of each step along the path
var pct = 0.0; // Percentage traveled (0.0 to 1.0)
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
distX = endX - beginX;
distY = endY - beginY;
diff --git a/content/examples_p5/Topics/Motion/Reflection1/Reflection1.js b/content/examples_p5/Topics/Motion/Reflection1/Reflection1.js
index 4cb1cad69..01a58738a 100644
--- a/content/examples_p5/Topics/Motion/Reflection1/Reflection1.js
+++ b/content/examples_p5/Topics/Motion/Reflection1/Reflection1.js
@@ -24,7 +24,8 @@ var r = 6;
var speed = 3.5;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
fill(128);
base1 = createVector(0, height-150);
diff --git a/content/examples_p5/Topics/Motion/Reflection2/Orb.js b/content/examples_p5/Topics/Motion/Reflection2/Orb.js
index a18aca5b4..ed5bedb1e 100644
--- a/content/examples_p5/Topics/Motion/Reflection2/Orb.js
+++ b/content/examples_p5/Topics/Motion/Reflection2/Orb.js
@@ -7,7 +7,7 @@ function Orb(x, y, r_) {
this.r = r_;
// A damping of 80% slows it down when it hits the ground
this.damping = 0.8;
-
+
this.move = function() {
// Move orb
@@ -21,15 +21,15 @@ function Orb(x, y, r_) {
fill(200);
ellipse(this.position.x, this.position.y, this.r*2, this.r*2);
}
-
+
// Check boundaries of window
this.checkWallCollision = function() {
if (this.position.x > width-this.r) {
this.position.x = width-this.r;
this.velocity.x *= -this.damping;
- }
+ }
else if (this.position.x < this.r) {
- this.position.x = r;
+ this.position.x = this.r;
this.velocity.x *= -this.damping;
}
}
@@ -44,15 +44,15 @@ function Orb(x, y, r_) {
var cosine = cos(groundSegment.rot);
var sine = sin(groundSegment.rot);
- /* Rotate ground and velocity to allow
+ /* Rotate ground and velocity to allow
orthogonal collision calculations */
var groundXTemp = cosine * deltaX + sine * deltaY;
var groundYTemp = cosine * deltaY - sine * deltaX;
var velocityXTemp = cosine * this.velocity.x + sine * this.velocity.y;
var velocityYTemp = cosine * this.velocity.y - sine * this.velocity.x;
- /* Ground collision - check for surface
- collision and also that orb is within
+ /* Ground collision - check for surface
+ collision and also that orb is within
left/rights bounds of ground segment */
if (groundYTemp > -this.r &&
this.position.x > groundSegment.x1 &&
@@ -73,4 +73,3 @@ function Orb(x, y, r_) {
this.position.y = groundSegment.y + deltaY;
}
}
-
diff --git a/content/examples_p5/Topics/Motion/Reflection2/Reflection2.js b/content/examples_p5/Topics/Motion/Reflection2/Reflection2.js
index 2caba5a6d..47a9d3895 100644
--- a/content/examples_p5/Topics/Motion/Reflection2/Reflection2.js
+++ b/content/examples_p5/Topics/Motion/Reflection2/Reflection2.js
@@ -14,7 +14,8 @@ var segments = 40;
var ground = new Array(segments);
function setup(){
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
gravity = createVector(0,0.05);
// An orb object that will fall and bounce around
orb = new Orb(50, 50, 3);
diff --git a/content/examples_p5/Topics/Simulate/Chain/Chain.js b/content/examples_p5/Topics/Simulate/Chain/Chain.js
index afd037d2a..5d5a198e1 100644
--- a/content/examples_p5/Topics/Simulate/Chain/Chain.js
+++ b/content/examples_p5/Topics/Simulate/Chain/Chain.js
@@ -13,7 +13,8 @@ var gravity = 9.0;
var mass = 2.0;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
fill(255, 126);
// Inputs: x, y, mass, gravity
s1 = new Spring2D(0.0, width/2, mass, gravity);
diff --git a/content/examples_p5/Topics/Simulate/Flocking/Boid.js b/content/examples_p5/Topics/Simulate/Flocking/Boid.js
index 3987f804c..b4814cd23 100644
--- a/content/examples_p5/Topics/Simulate/Flocking/Boid.js
+++ b/content/examples_p5/Topics/Simulate/Flocking/Boid.js
@@ -84,8 +84,8 @@ function Boid(x,y) {
this.borders = function() {
if (this.position.x < -this.r) this.position.x = width +this.r;
if (this.position.y < -this.r) this.position.y = height+this.r;
- if (this.position.x > width +this.r) location.x = -this.r;
- if (this.position.y > height+this.r) location.y = -this.r;
+ if (this.position.x > width +this.r) this.position.x = -this.r;
+ if (this.position.y > height+this.r) this.position.y = -this.r;
}
// Separation
diff --git a/content/examples_p5/Topics/Simulate/Flocking/Flocking.js b/content/examples_p5/Topics/Simulate/Flocking/Flocking.js
index a589f0098..9a70b09ff 100644
--- a/content/examples_p5/Topics/Simulate/Flocking/Flocking.js
+++ b/content/examples_p5/Topics/Simulate/Flocking/Flocking.js
@@ -12,7 +12,8 @@
var flock;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
flock = new Flock();
// Add an initial set of boids into the system
for (var i = 0; i < 150; i++) {
diff --git a/content/examples_p5/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.js b/content/examples_p5/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.js
index 814aeab0e..7c22979b0 100644
--- a/content/examples_p5/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.js
+++ b/content/examples_p5/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.js
@@ -19,7 +19,8 @@ var movers = [];
var liquid;
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
reset();
// Create liquid object
liquid = new Liquid(0, height/2, width, height/2, 0.1);
diff --git a/content/examples_p5/Topics/Simulate/ForcesWithVectors/Liquid.js b/content/examples_p5/Topics/Simulate/ForcesWithVectors/Liquid.js
index 6a250f434..b17e05f16 100644
--- a/content/examples_p5/Topics/Simulate/ForcesWithVectors/Liquid.js
+++ b/content/examples_p5/Topics/Simulate/ForcesWithVectors/Liquid.js
@@ -28,7 +28,7 @@ var Liquid = function(x, y, w, h, c) {
var dragMagnitude = this.c * speed * speed;
// Direction is inverse of velocity
- var dragForce = m.velocity.get();
+ var dragForce = m.velocity.copy();
dragForce.mult(-1);
// Scale according to magnitude
diff --git a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.js b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.js
index 57e6e6a2d..fc2efb41a 100644
--- a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.js
+++ b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.js
@@ -13,7 +13,8 @@
var systems = [];
function setup() {
- createCanvas(640,360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/Particle.js b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/Particle.js
index fcf6953e7..a9cf73b7d 100644
--- a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/Particle.js
+++ b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/Particle.js
@@ -2,7 +2,7 @@
var Particle = function(position) {
this.acceleration = createVector(0, 0.05);
this.velocity = createVector(random(-1, 1), random(-2, 0));
- this.position = position.get();
+ this.position = position.copy();
this.lifespan = 255.0;
this.run = function() {
diff --git a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/CrazyParticle.js b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/ParticleCrazy.js
similarity index 100%
rename from content/examples_p5/Topics/Simulate/MultipleParticleSystems/CrazyParticle.js
rename to content/examples_p5/Topics/Simulate/MultipleParticleSystems/ParticleCrazy.js
diff --git a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/ParticleSystem.js b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/ParticleSystem.js
index b3d8b9333..e14cf2fa2 100644
--- a/content/examples_p5/Topics/Simulate/MultipleParticleSystems/ParticleSystem.js
+++ b/content/examples_p5/Topics/Simulate/MultipleParticleSystems/ParticleSystem.js
@@ -1,5 +1,5 @@
var ParticleSystem = function(num, position) {
- this.origin = position.get();
+ this.origin = position.copy();
this.particles = [];
for (var i = 0; i < num; i++) {
this.particles.push(new Particle(this.origin)); // Add "num" amount of particles to the arraylist
diff --git a/content/examples_p5/Topics/Simulate/SimpleParticleSystem/Particle.js b/content/examples_p5/Topics/Simulate/SimpleParticleSystem/Particle.js
index 63e705c61..340838019 100644
--- a/content/examples_p5/Topics/Simulate/SimpleParticleSystem/Particle.js
+++ b/content/examples_p5/Topics/Simulate/SimpleParticleSystem/Particle.js
@@ -2,7 +2,7 @@
var Particle = function(position) {
this.acceleration = createVector(0, 0.05);
this.velocity = createVector(random(-1, 1), random(-2, 0));
- this.position = position.get();
+ this.position = position.copy();
this.lifespan = 255.0;
this.run = function() {
diff --git a/content/examples_p5/Topics/Simulate/SimpleParticleSystem/ParticleSystem.js b/content/examples_p5/Topics/Simulate/SimpleParticleSystem/ParticleSystem.js
index 6b1c5a383..dd8f7e06b 100644
--- a/content/examples_p5/Topics/Simulate/SimpleParticleSystem/ParticleSystem.js
+++ b/content/examples_p5/Topics/Simulate/SimpleParticleSystem/ParticleSystem.js
@@ -3,7 +3,7 @@
// http://natureofcode.com
var ParticleSystem = function(position) {
- this.origin = position.get();
+ this.origin = position.copy();
this.particles = [];
this.addParticle = function() {
diff --git a/content/examples_p5/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.js b/content/examples_p5/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.js
index 47dba8e79..33a55c22f 100644
--- a/content/examples_p5/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.js
+++ b/content/examples_p5/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.js
@@ -11,7 +11,8 @@
var ps;
function setup() {
- createCanvas(640,360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
ps = new ParticleSystem(createVector(width/2,50));
}
diff --git a/content/examples_p5/Topics/Simulate/SmokeParticleSystem/Particle.js b/content/examples_p5/Topics/Simulate/SmokeParticleSystem/Particle.js
index 6eaac279f..d0d2bc703 100644
--- a/content/examples_p5/Topics/Simulate/SmokeParticleSystem/Particle.js
+++ b/content/examples_p5/Topics/Simulate/SmokeParticleSystem/Particle.js
@@ -5,7 +5,7 @@ var Particle = function(l, img_) {
var vx = randomGaussian()*0.3;
var vy = randomGaussian()*0.3 - 1.0;
this.vel = createVector(vx, vy);
- this.pos = l.get();
+ this.pos = l.copy();
this.lifespan = 100.0;
this.img = img_;
diff --git a/content/examples_p5/Topics/Simulate/SmokeParticleSystem/ParticleSystem.js b/content/examples_p5/Topics/Simulate/SmokeParticleSystem/ParticleSystem.js
index 77fe3ec1d..59fcc3a07 100644
--- a/content/examples_p5/Topics/Simulate/SmokeParticleSystem/ParticleSystem.js
+++ b/content/examples_p5/Topics/Simulate/SmokeParticleSystem/ParticleSystem.js
@@ -2,7 +2,7 @@
// An ArrayList is used to manage the list of Particles
var ParticleSystem = function(num, v, img_) {
- this.origin = v.get();
+ this.origin = v.copy();
this.img = img_;
this.particles = [];
for (var i = 0; i < num; i++) {
diff --git a/content/examples_p5/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.js b/content/examples_p5/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.js
index d040a166a..1071c8c34 100644
--- a/content/examples_p5/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.js
+++ b/content/examples_p5/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.js
@@ -13,11 +13,12 @@
var ps;
function preload() {
- img = loadImage("data/texture.png");
+ img = loadImage("texture.png");
}
function setup() {
- createCanvas(640,360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
ps = new ParticleSystem(0,createVector(width/2,height-60),img);
}
diff --git a/content/examples_p5/Topics/Simulate/Spring/Spring.js b/content/examples_p5/Topics/Simulate/Spring/Spring.js
index 3f79913a6..b728d1a1c 100644
--- a/content/examples_p5/Topics/Simulate/Spring/Spring.js
+++ b/content/examples_p5/Topics/Simulate/Spring/Spring.js
@@ -27,7 +27,8 @@ var f = 0; // Force
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
rectMode(CORNERS);
noStroke();
left = width/2 - 100;
diff --git a/content/examples_p5/Topics/Simulate/Springs/Springs.js b/content/examples_p5/Topics/Simulate/Springs/Springs.js
index 277291981..fec66c4cf 100644
--- a/content/examples_p5/Topics/Simulate/Springs/Springs.js
+++ b/content/examples_p5/Topics/Simulate/Springs/Springs.js
@@ -11,7 +11,8 @@ var num = 3;
var springs = [];
function setup() {
- createCanvas(640, 360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
noStroke();
springs[0] = new Spring(240, 260, 40, 0.98, 8.0, 0.1, springs, 0);
springs[1] = new Spring(320, 210, 120, 0.95, 9.0, 0.1, springs, 1);
diff --git a/content/examples_p5/Topics/Vectors/AccelerationWithVectors/AccelerationWithVectors.js b/content/examples_p5/Topics/Vectors/AccelerationWithVectors/AccelerationWithVectors.js
index 24eaaaf02..9269c6b21 100644
--- a/content/examples_p5/Topics/Vectors/AccelerationWithVectors/AccelerationWithVectors.js
+++ b/content/examples_p5/Topics/Vectors/AccelerationWithVectors/AccelerationWithVectors.js
@@ -14,7 +14,8 @@
var mover;
function setup() {
- createCanvas(640,360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
mover = new Mover();
}
diff --git a/content/examples_p5/Topics/Vectors/BouncingBall/BouncingBall.js b/content/examples_p5/Topics/Vectors/BouncingBall/BouncingBall.js
index 74c5ce11f..d1dff80e6 100644
--- a/content/examples_p5/Topics/Vectors/BouncingBall/BouncingBall.js
+++ b/content/examples_p5/Topics/Vectors/BouncingBall/BouncingBall.js
@@ -12,7 +12,8 @@ var velocity; // Velocity of shape
var gravity; // Gravity acts at the shape's acceleration
function setup() {
- createCanvas(640,360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
position = createVector(100,100);
velocity = createVector(1.5,2.1);
gravity = createVector(0,0.2);
diff --git a/content/examples_p5/Topics/Vectors/VectorMath/VectorMath.js b/content/examples_p5/Topics/Vectors/VectorMath/VectorMath.js
index 460224193..869c0d35c 100644
--- a/content/examples_p5/Topics/Vectors/VectorMath/VectorMath.js
+++ b/content/examples_p5/Topics/Vectors/VectorMath/VectorMath.js
@@ -7,7 +7,8 @@
*/
function setup() {
- createCanvas(640,360);
+ var canvas = createCanvas(640, 360);
+ canvas.parent("p5container");
}
function draw() {
diff --git a/content/examples_p5/testing.html b/content/examples_p5/testing.html
index 5d3987279..584d611f9 100644
--- a/content/examples_p5/testing.html
+++ b/content/examples_p5/testing.html
@@ -1,15 +1,14 @@
-
-
-
-
+
+
+
+
+
-
+
+
-
-
-
diff --git a/content/examples_topics.xml b/content/examples_topics.xml
index cc8c0f974..35e20f85f 100755
--- a/content/examples_topics.xml
+++ b/content/examples_topics.xml
@@ -9,44 +9,65 @@
Icosahedra
- Continuous Lines
- Pattern
- Pulses
+ Continuous Lines
+ Pattern
+ Pulses
- Sequential
- Animated Sprite
+ Sequential
+ Animated Sprite
- Rollover
- Button
- Handles
- Scrollbar
+ Rollover
+ Button
+ Handles
+ Scrollbar
- Linear
- Bounce
- Bouncy Bubbles
- Moving On Curves
- Brownian
+ Linear
+ Bounce
+ Bouncy Bubbles
+ Moving On Curves
+ Brownian
+ Circle Collision
+ Morph
+ Reflection 1
+ Reflection 2
- Tickle
- Follow 1
- Follow 2
- Follow 3
- Reach 1
- Reach 2
- Reach 3
+ Tickle
+ Follow 1
+ Follow 2
+ Follow 3
+ Reach 1
+ Reach 2
+ Reach 3
- Pixel Array
- Brightness
- Blur
- Edge Detection
+ Pixel Array
+ Brightness
+ Blur
+ Edge Detection
+ Convolution
+ Histogram
+ Linear Image
Zoom
Explode
+
+ Array List Class
+ Int List Lottery
+ Load Save JSON
+ Load Save Table
+ Load Save XML
+ XML Yahoo Weather
+
+
+ Load File 1
+ Load File 2
+ Save File 1
+ Save One Frame
+
Texture Quad
Texture Triangle
@@ -54,21 +75,29 @@
Texture Cube
- Spring
- Springs
- Chain
+ Simple Particle System
+ Multiple Particle Systems
+ Forces With Vectors
+ Smoke Particle System
+ Flocking
Soft Body
- Flocking
- Simple Particle System
- Multiple Particle Systems
+
+
+ Bouncing Ball
+ Vector Math
+ Acceleration With Vectors
- Mandelbrot
- Tree
+ Mandelbrot
+ Tree
+ Koch
+ Penrose Snowflake
+ Penrose Tile
+ Pentigree
-
- Wolframs's 1D CA
- Conway's Game of Life
+
+ Wolframs's 1D CA
+ Conway's Game of Life
Spore 1
Spore 2
diff --git a/content/gswp_2e/examples.properties b/content/gswp_2e/examples.properties
new file mode 100644
index 000000000..e043235e6
--- /dev/null
+++ b/content/gswp_2e/examples.properties
@@ -0,0 +1,66 @@
+# UTF-8 supported.
+
+# The name of your examples-package as you want it formatted.
+name = Getting Started with Processing, 2nd Edition
+
+# List of authors. Links can be provided using the syntax [author name](url).
+authorList = [Casey Reas](http://reas.com/) and [Ben Fry](http://benfry.com/)
+
+# A web page for your examples-package, NOT a direct link to where to download it.
+url = http://www.processing.org
+
+# The category of your examples-package, must be one (or many) of the following:
+# "3D" "Animation" "Compilations" "Data"
+# "Fabrication" "Geometry" "GUI" "Hardware"
+# "I/O" "Language" "Math" "Simulation"
+# "Sound" "Utilities" "Typography" "Video & Vision"
+#
+# If a value other than those listed is used, your examples-package will listed as
+# "Other".
+category = Books
+
+# A short sentence (or fragment) to summarize the examples-package's function. This will
+# be shown from inside the PDE when the examples-package is being installed. Avoid
+# repeating the name of your examples-package here. Also, avoid saying anything redundant
+# like mentioning that it's an examples-package. This should start with a capitalized
+# letter, and end with a period.
+sentence = Example code for the book Getting Started with Processing, 2nd Edition. Maker Media, 2015.
+
+# Additional information suitable for the Processing website. The value of
+# 'sentence' always will be prepended, so you should start by writing the
+# second sentence here. If your examples-package only works on certain operating systems,
+# mention it here.
+paragraph =
+
+# Links in the 'sentence' and 'paragraph' attributes can be inserted using the
+# same syntax as for authors.
+# That is, [here is a link to Processing](http://processing.org/)
+
+# A version number that increments once with each release. This is used to
+# compare different versions of the same examples-package, and check if an update is
+# available. You should think of it as a counter, counting the total number of
+# releases you've had.
+version = 1 # This must be parsable as an int
+
+# The version as the user will see it. If blank, the version attribute will be
+# used here.
+prettyVersion = 1.0 # This is treated as a String
+
+# The min and max revision of Processing compatible with your examples-package.
+# Note that these fields use the revision and not the version of Processing,
+# parsable as an int. For example, the revision number for 2.2.1 is 227.
+# You can find the revision numbers in the change log:
+# https://raw.githubusercontent.com/processing/processing/master/build/shared/revisions.txt
+# Only use maxRevision (or minRevision), when your examples-package is known to
+# break in a later (or earlier) release. Otherwise, use the default value 0.
+minRevision = 0
+maxRevision = 0
+
+# The list of modes that the examples-package is compatible with. This basically
+# affects when the examples-package is listed in the Examples tree once installed
+# (although this does not affect when the examples-package is displayed/greyed-out in
+# the Examples Contributions Manager). This is to be provided as a list of fully qualified
+# classnames of the mode that the examples-package is compatible with (as can be obtained
+# from mode.id in the sketch.properties file). Leaving this blank will assume that
+# the examples-package is compatible with all modes.
+compatibleModesList = processing.mode.java.JavaMode
\ No newline at end of file
diff --git a/content/gswp_2e/examples/02_Start/Ex_02_01/Ex_02_01.pde b/content/gswp_2e/examples/02_Start/Ex_02_01/Ex_02_01.pde
new file mode 100644
index 000000000..89f8d8254
--- /dev/null
+++ b/content/gswp_2e/examples/02_Start/Ex_02_01/Ex_02_01.pde
@@ -0,0 +1 @@
+ellipse(50, 50, 80, 80);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/02_Start/Ex_02_02/Ex_02_02.pde b/content/gswp_2e/examples/02_Start/Ex_02_02/Ex_02_02.pde
new file mode 100644
index 000000000..ce7aad50f
--- /dev/null
+++ b/content/gswp_2e/examples/02_Start/Ex_02_02/Ex_02_02.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ if (mousePressed) {
+ fill(0);
+ } else {
+ fill(255);
+ }
+ ellipse(mouseX, mouseY, 80, 80);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_01/Ex_03_01.pde b/content/gswp_2e/examples/03_Draw/Ex_03_01/Ex_03_01.pde
new file mode 100644
index 000000000..19a11c6fa
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_01/Ex_03_01.pde
@@ -0,0 +1 @@
+size(800, 600);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_02/Ex_03_02.pde b/content/gswp_2e/examples/03_Draw/Ex_03_02/Ex_03_02.pde
new file mode 100644
index 000000000..57d3c4a76
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_02/Ex_03_02.pde
@@ -0,0 +1,2 @@
+size(480, 120);
+point(240, 60);
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_03/Ex_03_03.pde b/content/gswp_2e/examples/03_Draw/Ex_03_03/Ex_03_03.pde
new file mode 100644
index 000000000..6c406b97b
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_03/Ex_03_03.pde
@@ -0,0 +1,2 @@
+size(480, 120);
+line(20, 50, 420, 110);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_04/Ex_03_04.pde b/content/gswp_2e/examples/03_Draw/Ex_03_04/Ex_03_04.pde
new file mode 100644
index 000000000..8a4dcf440
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_04/Ex_03_04.pde
@@ -0,0 +1,4 @@
+size(480, 120);
+quad(158, 55, 199, 14, 392, 66, 351, 107);
+triangle(347, 54, 392, 9, 392, 66);
+triangle(158, 55, 290, 91, 290, 112);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_05/Ex_03_05.pde b/content/gswp_2e/examples/03_Draw/Ex_03_05/Ex_03_05.pde
new file mode 100644
index 000000000..560eb22da
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_05/Ex_03_05.pde
@@ -0,0 +1,2 @@
+size(480, 120);
+rect(180, 60, 220, 40);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_06/Ex_03_06.pde b/content/gswp_2e/examples/03_Draw/Ex_03_06/Ex_03_06.pde
new file mode 100644
index 000000000..94f68d19b
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_06/Ex_03_06.pde
@@ -0,0 +1,4 @@
+size(480, 120);
+ellipse(278, -100, 400, 400);
+ellipse(120, 100, 110, 110);
+ellipse(412, 60, 18, 18);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_07/Ex_03_07.pde b/content/gswp_2e/examples/03_Draw/Ex_03_07/Ex_03_07.pde
new file mode 100644
index 000000000..9aeb4ba51
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_07/Ex_03_07.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+arc(90, 60, 80, 80, 0, HALF_PI);
+arc(190, 60, 80, 80, 0, PI+HALF_PI);
+arc(290, 60, 80, 80, PI, TWO_PI+HALF_PI);
+arc(390, 60, 80, 80, QUARTER_PI, PI+QUARTER_PI);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_08/Ex_03_08.pde b/content/gswp_2e/examples/03_Draw/Ex_03_08/Ex_03_08.pde
new file mode 100644
index 000000000..4b1bba418
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_08/Ex_03_08.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+arc(90, 60, 80, 80, 0, radians(90));
+arc(190, 60, 80, 80, 0, radians(270));
+arc(290, 60, 80, 80, radians(180), radians(450));
+arc(390, 60, 80, 80, radians(45), radians(225));
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_09/Ex_03_09.pde b/content/gswp_2e/examples/03_Draw/Ex_03_09/Ex_03_09.pde
new file mode 100644
index 000000000..d15e4357d
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_09/Ex_03_09.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+ellipse(140, 0, 190, 190);
+// The rectangle draws on top of the ellipse
+// because it comes after in the code
+rect(160, 30, 260, 20);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_10/Ex_03_10.pde b/content/gswp_2e/examples/03_Draw/Ex_03_10/Ex_03_10.pde
new file mode 100644
index 000000000..29f01e45d
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_10/Ex_03_10.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+rect(160, 30, 260, 20);
+// The ellipse draws on top of the rectangle
+// because it comes after in the code
+ellipse(140, 0, 190, 190);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_11/Ex_03_11.pde b/content/gswp_2e/examples/03_Draw/Ex_03_11/Ex_03_11.pde
new file mode 100644
index 000000000..70f73187f
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_11/Ex_03_11.pde
@@ -0,0 +1,7 @@
+size(480, 120);
+ellipse(75, 60, 90, 90);
+strokeWeight(8); // Stroke weight to 8 pixels
+ellipse(175, 60, 90, 90);
+ellipse(279, 60, 90, 90);
+strokeWeight(20); // Stroke weight to 20 pixels
+ellipse(389, 60, 90, 90);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_12/Ex_03_12.pde b/content/gswp_2e/examples/03_Draw/Ex_03_12/Ex_03_12.pde
new file mode 100644
index 000000000..ec0c5630c
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_12/Ex_03_12.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+strokeWeight(24);
+line(60, 25, 130, 95);
+strokeCap(SQUARE); // Square the line endings
+line(160, 25, 230, 95);
+strokeCap(PROJECT); // Project the line endings
+line(260, 25, 330, 95);
+strokeCap(ROUND); // Round the line endings
+line(360, 25, 430, 95);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_13/Ex_03_13.pde b/content/gswp_2e/examples/03_Draw/Ex_03_13/Ex_03_13.pde
new file mode 100644
index 000000000..63abc616b
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_13/Ex_03_13.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+strokeWeight(12);
+rect(60, 25, 70, 70);
+strokeJoin(ROUND); // Round the stroke corners
+rect(160, 25, 70, 70);
+strokeJoin(BEVEL); // Bevel the stroke corners
+rect(260, 25, 70, 70);
+strokeJoin(MITER); // Miter the stroke corners
+rect(360, 25, 70, 70);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_14/Ex_03_14.pde b/content/gswp_2e/examples/03_Draw/Ex_03_14/Ex_03_14.pde
new file mode 100644
index 000000000..61d24f415
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_14/Ex_03_14.pde
@@ -0,0 +1,6 @@
+size(480, 120);
+rect(120, 60, 80, 80);
+ellipse(120, 60, 80, 80);
+ellipseMode(CORNER);
+rect(280, 20, 80, 80);
+ellipse(280, 20, 80, 80);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_14/Ex_03_14.tif b/content/gswp_2e/examples/03_Draw/Ex_03_14/Ex_03_14.tif
new file mode 100644
index 000000000..49ac69212
Binary files /dev/null and b/content/gswp_2e/examples/03_Draw/Ex_03_14/Ex_03_14.tif differ
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_15/Ex_03_15.pde b/content/gswp_2e/examples/03_Draw/Ex_03_15/Ex_03_15.pde
new file mode 100644
index 000000000..389c6a198
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_15/Ex_03_15.pde
@@ -0,0 +1,8 @@
+size(480, 120);
+background(0); // Black
+fill(204); // Light gray
+ellipse(132, 82, 200, 200); // Light gray circle
+fill(153); // Medium gray
+ellipse(228, -16, 200, 200); // Medium gray circle
+fill(102); // Dark gray
+ellipse(268, 118, 200, 200); // Dark gray circle
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_16/Ex_03_16.pde b/content/gswp_2e/examples/03_Draw/Ex_03_16/Ex_03_16.pde
new file mode 100644
index 000000000..861a65b12
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_16/Ex_03_16.pde
@@ -0,0 +1,7 @@
+size(480, 120);
+fill(153); // Medium gray
+ellipse(132, 82, 200, 200); // Gray circle
+noFill(); // Turn off fill
+ellipse(228, -16, 200, 200); // Outline circle
+noStroke(); // Turn off stroke
+ellipse(268, 118, 200, 200); // Doesn't draw!
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_17/Ex_03_17.pde b/content/gswp_2e/examples/03_Draw/Ex_03_17/Ex_03_17.pde
new file mode 100644
index 000000000..42c29eb1b
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_17/Ex_03_17.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+noStroke();
+background(0, 26, 51); // Dark blue color
+fill(255, 0, 0); // Red color
+ellipse(132, 82, 200, 200); // Red circle
+fill(0, 255, 0); // Green color
+ellipse(228, -16, 200, 200); // Green circle
+fill(0, 0, 255); // Blue color
+ellipse(268, 118, 200, 200); // Blue circle
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_18/Ex_03_18.pde b/content/gswp_2e/examples/03_Draw/Ex_03_18/Ex_03_18.pde
new file mode 100644
index 000000000..babb6972f
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_18/Ex_03_18.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+noStroke();
+background(204, 226, 225); // Light blue color
+fill(255, 0, 0, 160); // Red color
+ellipse(132, 82, 200, 200); // Red circle
+fill(0, 255, 0, 160); // Green color
+ellipse(228, -16, 200, 200); // Green circle
+fill(0, 0, 255, 160); // Blue color
+ellipse(268, 118, 200, 200); // Blue circle
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_19/Ex_03_19.pde b/content/gswp_2e/examples/03_Draw/Ex_03_19/Ex_03_19.pde
new file mode 100644
index 000000000..24cf73e40
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_19/Ex_03_19.pde
@@ -0,0 +1,11 @@
+size(480, 120);
+beginShape();
+fill(153, 176, 180);
+vertex(180, 82);
+vertex(207, 36);
+vertex(214, 63);
+vertex(407, 11);
+vertex(412, 30);
+vertex(219, 82);
+vertex(226, 109);
+endShape();
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_20/Ex_03_20.pde b/content/gswp_2e/examples/03_Draw/Ex_03_20/Ex_03_20.pde
new file mode 100644
index 000000000..4bd620b4c
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_20/Ex_03_20.pde
@@ -0,0 +1,11 @@
+size(480, 120);
+beginShape();
+fill(153, 176, 180);
+vertex(180, 82);
+vertex(207, 36);
+vertex(214, 63);
+vertex(407, 11);
+vertex(412, 30);
+vertex(219, 82);
+vertex(226, 109);
+endShape(CLOSE);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/03_Draw/Ex_03_21/Ex_03_21.pde b/content/gswp_2e/examples/03_Draw/Ex_03_21/Ex_03_21.pde
new file mode 100644
index 000000000..e16008d0f
--- /dev/null
+++ b/content/gswp_2e/examples/03_Draw/Ex_03_21/Ex_03_21.pde
@@ -0,0 +1,33 @@
+size(480, 120);
+
+// Left creature
+fill(153, 176, 180);
+beginShape();
+vertex(50, 120);
+vertex(100, 90);
+vertex(110, 60);
+vertex(80, 20);
+vertex(210, 60);
+vertex(160, 80);
+vertex(200, 90);
+vertex(140, 100);
+vertex(130, 120);
+endShape();
+fill(0);
+ellipse(155, 60, 8, 8);
+
+// Right creature
+fill(176, 186, 163);
+beginShape();
+vertex(370, 120);
+vertex(360, 90);
+vertex(290, 80);
+vertex(340, 70);
+vertex(280, 50);
+vertex(420, 10);
+vertex(390, 50);
+vertex(410, 90);
+vertex(460, 120);
+endShape();
+fill(0);
+ellipse(345, 50, 10, 10);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_01/Ex_04_01.pde b/content/gswp_2e/examples/04_Variables/Ex_04_01/Ex_04_01.pde
new file mode 100644
index 000000000..a7eb0405e
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_01/Ex_04_01.pde
@@ -0,0 +1,6 @@
+size(480, 120);
+int y = 60;
+int d = 80;
+ellipse(75, y, d, d); // Left
+ellipse(175, y, d, d); // Middle
+ellipse(275, y, d, d); // Right
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_02/Ex_04_02.pde b/content/gswp_2e/examples/04_Variables/Ex_04_02/Ex_04_02.pde
new file mode 100644
index 000000000..f2a97cdc3
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_02/Ex_04_02.pde
@@ -0,0 +1,6 @@
+size(480, 120);
+int y = 100;
+int d = 130;
+ellipse(75, y, d, d); // Left
+ellipse(175, y, d, d); // Middle
+ellipse(275, y, d, d); // Right
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_03/Ex_04_03.pde b/content/gswp_2e/examples/04_Variables/Ex_04_03/Ex_04_03.pde
new file mode 100644
index 000000000..b7eeded9d
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_03/Ex_04_03.pde
@@ -0,0 +1,4 @@
+size(480, 120);
+line(0, 0, width, height); // Line from (0,0) to (480, 120)
+line(width, 0, 0, height); // Line from (480, 0) to (0, 120)
+ellipse(width/2, height/2, 60, 60);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_04/Ex_04_04.pde b/content/gswp_2e/examples/04_Variables/Ex_04_04/Ex_04_04.pde
new file mode 100644
index 000000000..0b8f16aae
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_04/Ex_04_04.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+int x = 25;
+int h = 20;
+int y = 25;
+rect(x, y, 300, h); // Top
+x = x + 100;
+rect(x, y + h, 300, h); // Middle
+x = x - 250;
+rect(x, y + h*2, 300, h); // Bottom
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_05/Ex_04_05.pde b/content/gswp_2e/examples/04_Variables/Ex_04_05/Ex_04_05.pde
new file mode 100644
index 000000000..0b09ea4d5
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_05/Ex_04_05.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+strokeWeight(8);
+line(20, 40, 80, 80);
+line(80, 40, 140, 80);
+line(140, 40, 200, 80);
+line(200, 40, 260, 80);
+line(260, 40, 320, 80);
+line(320, 40, 380, 80);
+line(380, 40, 440, 80);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_06/Ex_04_06.pde b/content/gswp_2e/examples/04_Variables/Ex_04_06/Ex_04_06.pde
new file mode 100644
index 000000000..4c504ff0e
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_06/Ex_04_06.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+strokeWeight(8);
+for (int i = 20; i < 400; i += 60) {
+ line(i, 40, i + 60, 80);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_07/Ex_04_07.pde b/content/gswp_2e/examples/04_Variables/Ex_04_07/Ex_04_07.pde
new file mode 100644
index 000000000..346271aff
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_07/Ex_04_07.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+strokeWeight(2);
+for (int i = 20; i < 400; i += 8) {
+ line(i, 40, i + 60, 80);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_08/Ex_04_08.pde b/content/gswp_2e/examples/04_Variables/Ex_04_08/Ex_04_08.pde
new file mode 100644
index 000000000..7af1c71e6
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_08/Ex_04_08.pde
@@ -0,0 +1,5 @@
+size(480, 120);
+strokeWeight(2);
+for (int i = 20; i < 400; i += 20) {
+ line(i, 0, i + i/2, 80);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_09/Ex_04_09.pde b/content/gswp_2e/examples/04_Variables/Ex_04_09/Ex_04_09.pde
new file mode 100644
index 000000000..ee9d88c07
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_09/Ex_04_09.pde
@@ -0,0 +1,6 @@
+size(480, 120);
+strokeWeight(2);
+for (int i = 20; i < 400; i += 20) {
+ line(i, 0, i + i/2, 80);
+ line(i + i/2, 80, i*1.2, 120);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_10/Ex_04_10.pde b/content/gswp_2e/examples/04_Variables/Ex_04_10/Ex_04_10.pde
new file mode 100644
index 000000000..fb093677c
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_10/Ex_04_10.pde
@@ -0,0 +1,9 @@
+size(480, 120);
+background(0);
+noStroke();
+for (int y = 0; y <= height; y += 40) {
+ for (int x = 0; x <= width; x += 40) {
+ fill(255, 140);
+ ellipse(x, y, 40, 40);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_11/Ex_04_11.pde b/content/gswp_2e/examples/04_Variables/Ex_04_11/Ex_04_11.pde
new file mode 100644
index 000000000..9c9f0dc4a
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_11/Ex_04_11.pde
@@ -0,0 +1,11 @@
+size(480, 120);
+background(0);
+noStroke();
+for (int y = 0; y < height+45; y += 40) {
+ fill(255, 140);
+ ellipse(0, y, 40, 40);
+}
+for (int x = 0; x < width+45; x += 40) {
+ fill(255, 140);
+ ellipse(x, 0, 40, 40);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_12/Ex_04_12.pde b/content/gswp_2e/examples/04_Variables/Ex_04_12/Ex_04_12.pde
new file mode 100644
index 000000000..e9de5f10b
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_12/Ex_04_12.pde
@@ -0,0 +1,11 @@
+size(480, 120);
+background(0);
+fill(255);
+stroke(102);
+for (int y = 20; y <= height-20; y += 10) {
+ for (int x = 20; x <= width-20; x += 10) {
+ ellipse(x, y, 4, 4);
+ // Draw a line to the center of the display
+ line(x, y, 240, 60);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/04_Variables/Ex_04_13/Ex_04_13.pde b/content/gswp_2e/examples/04_Variables/Ex_04_13/Ex_04_13.pde
new file mode 100644
index 000000000..8c31451f8
--- /dev/null
+++ b/content/gswp_2e/examples/04_Variables/Ex_04_13/Ex_04_13.pde
@@ -0,0 +1,7 @@
+size(480, 120);
+background(0);
+for (int y = 32; y <= height; y += 8) {
+ for (int x = 12; x <= width; x += 15) {
+ ellipse(x + y, y, 16 - y/10.0, 16 - y/10.0);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_01/Ex_05_01.pde b/content/gswp_2e/examples/05_Response/Ex_05_01/Ex_05_01.pde
new file mode 100644
index 000000000..1e44240e1
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_01/Ex_05_01.pde
@@ -0,0 +1,5 @@
+void draw() {
+ // Displays the frame count to the Console
+ println("I'm drawing");
+ println(frameCount);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_02/Ex_05_02.pde b/content/gswp_2e/examples/05_Response/Ex_05_02/Ex_05_02.pde
new file mode 100644
index 000000000..23c1033bf
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_02/Ex_05_02.pde
@@ -0,0 +1,7 @@
+void setup() {
+ println("I'm starting");
+}
+
+void draw() {
+ println("I'm running");
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_03/Ex_05_03.pde b/content/gswp_2e/examples/05_Response/Ex_05_03/Ex_05_03.pde
new file mode 100644
index 000000000..79e7c9e1f
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_03/Ex_05_03.pde
@@ -0,0 +1,13 @@
+int x = 280;
+int y = -100;
+int diameter = 380;
+
+void setup() {
+ size(480, 120);
+ fill(102);
+}
+
+void draw() {
+ background(204);
+ ellipse(x, y, diameter, diameter);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_04/Ex_05_04.pde b/content/gswp_2e/examples/05_Response/Ex_05_04/Ex_05_04.pde
new file mode 100644
index 000000000..5f77add46
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_04/Ex_05_04.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(480, 120);
+ fill(0, 102);
+ noStroke();
+}
+
+void draw() {
+ ellipse(mouseX, mouseY, 9, 9);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_05/Ex_05_05.pde b/content/gswp_2e/examples/05_Response/Ex_05_05/Ex_05_05.pde
new file mode 100644
index 000000000..488dbbc08
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_05/Ex_05_05.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(480, 120);
+ fill(0, 102);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ ellipse(mouseX, mouseY, 9, 9);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_06/Ex_05_06.pde b/content/gswp_2e/examples/05_Response/Ex_05_06/Ex_05_06.pde
new file mode 100644
index 000000000..3ed7b2d69
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_06/Ex_05_06.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(480, 120);
+ strokeWeight(4);
+ stroke(0, 102);
+}
+
+void draw() {
+ line(mouseX, mouseY, pmouseX, pmouseY);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_07/Ex_05_07.pde b/content/gswp_2e/examples/05_Response/Ex_05_07/Ex_05_07.pde
new file mode 100644
index 000000000..4314d3580
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_07/Ex_05_07.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(480, 120);
+ stroke(0, 102);
+}
+
+void draw() {
+ float weight = dist(mouseX, mouseY, pmouseX, pmouseY);
+ strokeWeight(weight);
+ line(mouseX, mouseY, pmouseX, pmouseY);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_08/Ex_05_08.pde b/content/gswp_2e/examples/05_Response/Ex_05_08/Ex_05_08.pde
new file mode 100644
index 000000000..1df1db1cf
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_08/Ex_05_08.pde
@@ -0,0 +1,13 @@
+float x;
+float easing = 0.01;
+
+void setup() {
+ size(220, 120);
+}
+
+void draw() {
+ float targetX = mouseX;
+ x += (targetX - x) * easing;
+ ellipse(x, 40, 12, 12);
+ println(targetX + " : " + x);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_09/Ex_05_09.pde b/content/gswp_2e/examples/05_Response/Ex_05_09/Ex_05_09.pde
new file mode 100644
index 000000000..9c7478567
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_09/Ex_05_09.pde
@@ -0,0 +1,22 @@
+float x;
+float y;
+float px;
+float py;
+float easing = 0.05;
+
+void setup() {
+ size(480, 120);
+ stroke(0, 102);
+}
+
+void draw() {
+ float targetX = mouseX;
+ x += (targetX - x) * easing;
+ float targetY = mouseY;
+ y += (targetY - y) * easing;
+ float weight = dist(x, y, px, py);
+ strokeWeight(weight);
+ line(x, y, px, py);
+ py = y;
+ px = x;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_10/Ex_05_10.pde b/content/gswp_2e/examples/05_Response/Ex_05_10/Ex_05_10.pde
new file mode 100644
index 000000000..885a4d717
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_10/Ex_05_10.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(240, 120);
+ strokeWeight(30);
+}
+
+void draw() {
+ background(204);
+ stroke(102);
+ line(40, 0, 70, height);
+ if (mousePressed == true) {
+ stroke(0);
+ }
+ line(0, 70, width, 50);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_11/Ex_05_11.pde b/content/gswp_2e/examples/05_Response/Ex_05_11/Ex_05_11.pde
new file mode 100644
index 000000000..bff4ec79d
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_11/Ex_05_11.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(240, 120);
+ strokeWeight(30);
+}
+
+void draw() {
+ background(204);
+ stroke(102);
+ line(40, 0, 70, height);
+ if (mousePressed) {
+ stroke(0);
+ } else {
+ stroke(255);
+ }
+ line(0, 70, width, 50);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_12/Ex_05_12.pde b/content/gswp_2e/examples/05_Response/Ex_05_12/Ex_05_12.pde
new file mode 100644
index 000000000..6b2cd74f1
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_12/Ex_05_12.pde
@@ -0,0 +1,18 @@
+void setup() {
+ size(120, 120);
+ strokeWeight(30);
+}
+
+void draw() {
+ background(204);
+ stroke(102);
+ line(40, 0, 70, height);
+ if (mousePressed) {
+ if (mouseButton == LEFT) {
+ stroke(255);
+ } else {
+ stroke(0);
+ }
+ line(0, 70, width, 50);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_13/Ex_05_13.pde b/content/gswp_2e/examples/05_Response/Ex_05_13/Ex_05_13.pde
new file mode 100644
index 000000000..a0158b781
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_13/Ex_05_13.pde
@@ -0,0 +1,24 @@
+float x;
+int offset = 10;
+
+void setup() {
+ size(240, 120);
+ x = width/2;
+}
+
+void draw() {
+ background(204);
+ if (mouseX > x) {
+ x += 0.5;
+ offset = -10;
+ }
+ if (mouseX < x) {
+ x -= 0.5;
+ offset = 10;
+ }
+ // Draw arrow left or right depending on "offset" value
+ line(x, 0, x, height);
+ line(mouseX, mouseY, mouseX + offset, mouseY - 10);
+ line(mouseX, mouseY, mouseX + offset, mouseY + 10);
+ line(mouseX, mouseY, mouseX + offset*3, mouseY);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_14/Ex_05_14.pde b/content/gswp_2e/examples/05_Response/Ex_05_14/Ex_05_14.pde
new file mode 100644
index 000000000..fc52c671e
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_14/Ex_05_14.pde
@@ -0,0 +1,20 @@
+int x = 120;
+int y = 60;
+int radius = 12;
+
+void setup() {
+ size(240, 120);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ background(204);
+ float d = dist(mouseX, mouseY, x, y);
+ if (d < radius) {
+ radius++;
+ fill(0);
+ } else {
+ fill(255);
+ }
+ ellipse(x, y, radius, radius);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_15/Ex_05_15.pde b/content/gswp_2e/examples/05_Response/Ex_05_15/Ex_05_15.pde
new file mode 100644
index 000000000..55f328bec
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_15/Ex_05_15.pde
@@ -0,0 +1,19 @@
+int x = 80;
+int y = 30;
+int w = 80;
+int h = 60;
+
+void setup() {
+ size(240, 120);
+}
+
+void draw() {
+ background(204);
+ if ((mouseX > x) && (mouseX < x+w) &&
+ (mouseY > y) && (mouseY < y+h)) {
+ fill(0);
+ } else {
+ fill(255);
+ }
+ rect(x, y, w, h);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_16/Ex_05_16.pde b/content/gswp_2e/examples/05_Response/Ex_05_16/Ex_05_16.pde
new file mode 100644
index 000000000..98f03c807
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_16/Ex_05_16.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(240, 120);
+}
+
+void draw() {
+ background(204);
+ line(20, 20, 220, 100);
+ if (keyPressed) {
+ line(220, 20, 20, 100);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_17/Ex_05_17.pde b/content/gswp_2e/examples/05_Response/Ex_05_17/Ex_05_17.pde
new file mode 100644
index 000000000..1624f4eee
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_17/Ex_05_17.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(120, 120);
+ textSize(64);
+ textAlign(CENTER);
+}
+
+void draw() {
+ background(0);
+ text(key, 60, 80);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_18/Ex_05_18.pde b/content/gswp_2e/examples/05_Response/Ex_05_18/Ex_05_18.pde
new file mode 100644
index 000000000..df5a3f79e
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_18/Ex_05_18.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ background(204);
+ if (keyPressed) {
+ if ((key == 'h') || (key == 'H')) {
+ line(30, 60, 90, 60);
+ }
+ if ((key == 'n') || (key == 'N')) {
+ line(30, 20, 90, 100);
+ }
+ }
+ line(30, 20, 30, 100);
+ line(90, 20, 90, 100);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_19/Ex_05_19.pde b/content/gswp_2e/examples/05_Response/Ex_05_19/Ex_05_19.pde
new file mode 100644
index 000000000..5d694e59e
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_19/Ex_05_19.pde
@@ -0,0 +1,16 @@
+int x = 215;
+
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ if (keyPressed && (key == CODED)) { // If it's a coded key
+ if (keyCode == LEFT) { // If it's the left arrow
+ x--;
+ } else if (keyCode == RIGHT) { // If it's the right arrow
+ x++;
+ }
+ }
+ rect(x, 45, 50, 50);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_20/Ex_05_20.pde b/content/gswp_2e/examples/05_Response/Ex_05_20/Ex_05_20.pde
new file mode 100644
index 000000000..03b49a466
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_20/Ex_05_20.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(240, 120);
+ strokeWeight(12);
+}
+
+void draw() {
+ background(204);
+ stroke(102);
+ line(mouseX, 0, mouseX, height); // Gray line
+ stroke(0);
+ float mx = mouseX/2 + 60;
+ line(mx, 0, mx, height); // Black line
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/05_Response/Ex_05_21/Ex_05_21.pde b/content/gswp_2e/examples/05_Response/Ex_05_21/Ex_05_21.pde
new file mode 100644
index 000000000..7faa8af41
--- /dev/null
+++ b/content/gswp_2e/examples/05_Response/Ex_05_21/Ex_05_21.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(240, 120);
+ strokeWeight(12);
+}
+
+void draw() {
+ background(204);
+ stroke(102);
+ line(mouseX, 0, mouseX, height); // Gray line
+ stroke(0);
+ float mx = map(mouseX, 0, width, 60, 180);
+ line(mx, 0, mx, height); // Black line
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_01/Ex_06_01.pde b/content/gswp_2e/examples/06_Transform/Ex_06_01/Ex_06_01.pde
new file mode 100644
index 000000000..e9188f23d
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_01/Ex_06_01.pde
@@ -0,0 +1,8 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ translate(mouseX, mouseY);
+ rect(0, 0, 30, 30);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_02/Ex_06_02.pde b/content/gswp_2e/examples/06_Transform/Ex_06_02/Ex_06_02.pde
new file mode 100644
index 000000000..b586aed8c
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_02/Ex_06_02.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ translate(mouseX, mouseY);
+ rect(0, 0, 30, 30);
+ translate(35, 10);
+ rect(0, 0, 15, 15);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_03/Ex_06_03.pde b/content/gswp_2e/examples/06_Transform/Ex_06_03/Ex_06_03.pde
new file mode 100644
index 000000000..bc3b5db9e
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_03/Ex_06_03.pde
@@ -0,0 +1,8 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ rotate(mouseX / 100.0);
+ rect(40, 30, 160, 20);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_04/Ex_06_04.pde b/content/gswp_2e/examples/06_Transform/Ex_06_04/Ex_06_04.pde
new file mode 100644
index 000000000..2c750c81f
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_04/Ex_06_04.pde
@@ -0,0 +1,8 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ rotate(mouseX / 100.0);
+ rect(-80, -10, 160, 20);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_05/Ex_06_05.pde b/content/gswp_2e/examples/06_Transform/Ex_06_05/Ex_06_05.pde
new file mode 100644
index 000000000..b935a606f
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_05/Ex_06_05.pde
@@ -0,0 +1,12 @@
+float angle = 0;
+
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ translate(mouseX, mouseY);
+ rotate(angle);
+ rect(-15, -15, 30, 30);
+ angle += 0.1;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_06/Ex_06_06.pde b/content/gswp_2e/examples/06_Transform/Ex_06_06/Ex_06_06.pde
new file mode 100644
index 000000000..ce087406d
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_06/Ex_06_06.pde
@@ -0,0 +1,12 @@
+float angle = 0.0;
+
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ rotate(angle);
+ translate(mouseX, mouseY);
+ rect(-15, -15, 30, 30);
+ angle += 0.1;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_07/Ex_06_07.pde b/content/gswp_2e/examples/06_Transform/Ex_06_07/Ex_06_07.pde
new file mode 100644
index 000000000..a38199713
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_07/Ex_06_07.pde
@@ -0,0 +1,27 @@
+float angle = 0.0;
+float angleDirection = 1;
+float speed = 0.005;
+
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ background(204);
+ translate(20, 25); // Move to start position
+ rotate(angle);
+ strokeWeight(12);
+ line(0, 0, 40, 0);
+ translate(40, 0); // Move to next joint
+ rotate(angle * 2.0);
+ strokeWeight(6);
+ line(0, 0, 30, 0);
+ translate(30, 0); // Move to next joint
+ rotate(angle * 2.5);
+ strokeWeight(3);
+ line(0, 0, 20, 0);
+ angle += speed * angleDirection;
+ if ((angle > QUARTER_PI) || (angle < 0)) {
+ angleDirection = -angleDirection;
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_08/Ex_06_08.pde b/content/gswp_2e/examples/06_Transform/Ex_06_08/Ex_06_08.pde
new file mode 100644
index 000000000..56392dcaa
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_08/Ex_06_08.pde
@@ -0,0 +1,10 @@
+
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ translate(mouseX, mouseY);
+ scale(mouseX / 60.0);
+ rect(-15, -15, 30, 30);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_09/Ex_06_09.pde b/content/gswp_2e/examples/06_Transform/Ex_06_09/Ex_06_09.pde
new file mode 100644
index 000000000..96de08f31
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_09/Ex_06_09.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ translate(mouseX, mouseY);
+ float scalar = mouseX / 60.0;
+ scale(scalar);
+ strokeWeight(1.0 / scalar);
+ rect(-15, -15, 30, 30);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/06_Transform/Ex_06_10/Ex_06_10.pde b/content/gswp_2e/examples/06_Transform/Ex_06_10/Ex_06_10.pde
new file mode 100644
index 000000000..da40b1aac
--- /dev/null
+++ b/content/gswp_2e/examples/06_Transform/Ex_06_10/Ex_06_10.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ pushMatrix();
+ translate(mouseX, mouseY);
+ rect(0, 0, 30, 30);
+ popMatrix();
+ translate(35, 10);
+ rect(0, 0, 15, 15);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_01/Ex_07_01.pde b/content/gswp_2e/examples/07_Media/Ex_07_01/Ex_07_01.pde
new file mode 100644
index 000000000..6876ec79a
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_01/Ex_07_01.pde
@@ -0,0 +1,10 @@
+PImage img;
+
+void setup() {
+ size(480, 120);
+ img = loadImage("lunar.jpg");
+}
+
+void draw() {
+ image(img, 0, 0);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_01/data/lunar.jpg b/content/gswp_2e/examples/07_Media/Ex_07_01/data/lunar.jpg
new file mode 100644
index 000000000..f26c67ff8
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_01/data/lunar.jpg differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_02/Ex_07_02.pde b/content/gswp_2e/examples/07_Media/Ex_07_02/Ex_07_02.pde
new file mode 100644
index 000000000..9cfb2f8d0
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_02/Ex_07_02.pde
@@ -0,0 +1,14 @@
+PImage img1;
+PImage img2;
+
+void setup() {
+ size(480, 120);
+ img1 = loadImage("lunar.jpg");
+ img2 = loadImage("capsule.jpg");
+}
+
+void draw() {
+ image(img1, -120, 0);
+ image(img1, 130, 0, 240, 120);
+ image(img2, 300, 0, 240, 120);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_02/data/capsule.jpg b/content/gswp_2e/examples/07_Media/Ex_07_02/data/capsule.jpg
new file mode 100644
index 000000000..aeb5a5954
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_02/data/capsule.jpg differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_02/data/lunar.jpg b/content/gswp_2e/examples/07_Media/Ex_07_02/data/lunar.jpg
new file mode 100644
index 000000000..f26c67ff8
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_02/data/lunar.jpg differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_03/Ex_07_03.pde b/content/gswp_2e/examples/07_Media/Ex_07_03/Ex_07_03.pde
new file mode 100644
index 000000000..11e9fa067
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_03/Ex_07_03.pde
@@ -0,0 +1,11 @@
+PImage img;
+
+void setup() {
+ size(480, 120);
+ img = loadImage("lunar.jpg");
+}
+
+void draw() {
+ background(0);
+ image(img, 0, 0, mouseX * 2, mouseY * 2);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_03/data/lunar.jpg b/content/gswp_2e/examples/07_Media/Ex_07_03/data/lunar.jpg
new file mode 100644
index 000000000..f26c67ff8
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_03/data/lunar.jpg differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_04/Ex_07_04.pde b/content/gswp_2e/examples/07_Media/Ex_07_04/Ex_07_04.pde
new file mode 100644
index 000000000..86e47d6a2
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_04/Ex_07_04.pde
@@ -0,0 +1,12 @@
+PImage img;
+
+void setup() {
+ size(480, 120);
+ img = loadImage("clouds.gif");
+}
+
+void draw() {
+ background(255);
+ image(img, 0, 0);
+ image(img, 0, mouseY * -1);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_04/data/clouds.gif b/content/gswp_2e/examples/07_Media/Ex_07_04/data/clouds.gif
new file mode 100644
index 000000000..ad52b85a1
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_04/data/clouds.gif differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_05/Ex_07_05.pde b/content/gswp_2e/examples/07_Media/Ex_07_05/Ex_07_05.pde
new file mode 100644
index 000000000..2ce5309a8
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_05/Ex_07_05.pde
@@ -0,0 +1,12 @@
+PImage img;
+
+void setup() {
+ size(480, 120);
+ img = loadImage("clouds.png");
+}
+
+void draw() {
+ background(204);
+ image(img, 0, 0);
+ image(img, 0, mouseY * -1);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_05/data/clouds.png b/content/gswp_2e/examples/07_Media/Ex_07_05/data/clouds.png
new file mode 100644
index 000000000..fc060899a
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_05/data/clouds.png differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_06/Ex_07_06.pde b/content/gswp_2e/examples/07_Media/Ex_07_06/Ex_07_06.pde
new file mode 100644
index 000000000..dc884f929
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_06/Ex_07_06.pde
@@ -0,0 +1,15 @@
+PFont font;
+
+void setup() {
+ size(480, 120);
+ font = createFont("SourceCodePro-Regular.ttf", 32);
+ textFont(font);
+}
+
+void draw() {
+ background(102);
+ textSize(32);
+ text("That’s one small step for man...", 25, 60);
+ textSize(16);
+ text("That’s one small step for man...", 27, 90);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_06/data/SourceCodePro-Regular.ttf b/content/gswp_2e/examples/07_Media/Ex_07_06/data/SourceCodePro-Regular.ttf
new file mode 100755
index 000000000..b2cff928e
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_06/data/SourceCodePro-Regular.ttf differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_07/Ex_07_07.pde b/content/gswp_2e/examples/07_Media/Ex_07_07/Ex_07_07.pde
new file mode 100644
index 000000000..af0c2d80f
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_07/Ex_07_07.pde
@@ -0,0 +1,12 @@
+PFont font;
+
+void setup() {
+ size(480, 120);
+ font = createFont("SourceCodePro-Regular.ttf", 24);
+ textFont(font);
+}
+
+void draw() {
+ background(102);
+ text("That’s one small step for man...", 26, 24, 240, 100);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_07/data/SourceCodePro-Regular.ttf b/content/gswp_2e/examples/07_Media/Ex_07_07/data/SourceCodePro-Regular.ttf
new file mode 100755
index 000000000..b2cff928e
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_07/data/SourceCodePro-Regular.ttf differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_08/Ex_07_08.pde b/content/gswp_2e/examples/07_Media/Ex_07_08/Ex_07_08.pde
new file mode 100644
index 000000000..2d60a5783
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_08/Ex_07_08.pde
@@ -0,0 +1,13 @@
+PFont font;
+String quote = "That’s one small step for man...";
+
+void setup() {
+ size(480, 120);
+ font = createFont("SourceCodePro-Regular.ttf", 24);
+ textFont(font);
+}
+
+void draw() {
+ background(102);
+ text(quote, 26, 24, 240, 100);
+}
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_08/data/SourceCodePro-Regular.ttf b/content/gswp_2e/examples/07_Media/Ex_07_08/data/SourceCodePro-Regular.ttf
new file mode 100755
index 000000000..b2cff928e
Binary files /dev/null and b/content/gswp_2e/examples/07_Media/Ex_07_08/data/SourceCodePro-Regular.ttf differ
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_09/Ex_07_09.pde b/content/gswp_2e/examples/07_Media/Ex_07_09/Ex_07_09.pde
new file mode 100644
index 000000000..11226c5d1
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_09/Ex_07_09.pde
@@ -0,0 +1,12 @@
+PShape network;
+
+void setup() {
+ size(480, 120);
+ network = loadShape("network.svg");
+}
+
+void draw() {
+ background(0);
+ shape(network, 30, 10);
+ shape(network, 180, 10, 280, 280);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_09/data/network.svg b/content/gswp_2e/examples/07_Media/Ex_07_09/data/network.svg
new file mode 100644
index 000000000..93d407489
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_09/data/network.svg
@@ -0,0 +1,3117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_10/Ex_07_10.pde b/content/gswp_2e/examples/07_Media/Ex_07_10/Ex_07_10.pde
new file mode 100644
index 000000000..a2d2010ea
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_10/Ex_07_10.pde
@@ -0,0 +1,13 @@
+PShape network;
+
+void setup() {
+ size(240, 120);
+ shapeMode(CENTER);
+ network = loadShape("network.svg");
+}
+
+void draw() {
+ background(0);
+ float diameter = map(mouseX, 0, width, 10, 800);
+ shape(network, 120, 60, diameter, diameter);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_10/data/network.svg b/content/gswp_2e/examples/07_Media/Ex_07_10/data/network.svg
new file mode 100644
index 000000000..93d407489
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_10/data/network.svg
@@ -0,0 +1,3117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/07_Media/Ex_07_11/Ex_07_11.pde b/content/gswp_2e/examples/07_Media/Ex_07_11/Ex_07_11.pde
new file mode 100644
index 000000000..25c5b60b9
--- /dev/null
+++ b/content/gswp_2e/examples/07_Media/Ex_07_11/Ex_07_11.pde
@@ -0,0 +1,24 @@
+PShape dino;
+
+void setup() {
+ size(480, 120);
+ dino = createShape();
+ dino.beginShape();
+ dino.fill(153, 176, 180);
+ dino.vertex(50, 120);
+ dino.vertex(100, 90);
+ dino.vertex(110, 60);
+ dino.vertex(80, 20);
+ dino.vertex(210, 60);
+ dino.vertex(160, 80);
+ dino.vertex(200, 90);
+ dino.vertex(140, 100);
+ dino.vertex(130, 120);
+ dino.endShape();
+}
+
+void draw() {
+ background(204);
+ translate(mouseX - 120, 0);
+ shape(dino, 0, 0);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_01/Ex_08_01.pde b/content/gswp_2e/examples/08_Motion/Ex_08_01/Ex_08_01.pde
new file mode 100644
index 000000000..b771f4482
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_01/Ex_08_01.pde
@@ -0,0 +1,4 @@
+void draw() {
+ println(frameRate);
+}
+
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_02/Ex_08_02.pde b/content/gswp_2e/examples/08_Motion/Ex_08_02/Ex_08_02.pde
new file mode 100644
index 000000000..934ad614c
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_02/Ex_08_02.pde
@@ -0,0 +1,10 @@
+void setup() {
+ frameRate(30); // Thirty frames each second
+ //frameRate(12); // Twelve frames each second
+ //frameRate(2); // Two frames each second
+ //frameRate(0.5); // One frame every two seconds
+}
+
+void draw() {
+ println(frameRate);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_03/Ex_08_03.pde b/content/gswp_2e/examples/08_Motion/Ex_08_03/Ex_08_03.pde
new file mode 100644
index 000000000..beccc79cb
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_03/Ex_08_03.pde
@@ -0,0 +1,14 @@
+int radius = 40;
+float x = -radius;
+float speed = 0.5;
+
+void setup() {
+ size(240, 120);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ background(0);
+ x += speed; // Increase the value of x
+ arc(x, 60, radius, radius, 0.52, 5.76);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_04/Ex_08_04.pde b/content/gswp_2e/examples/08_Motion/Ex_08_04/Ex_08_04.pde
new file mode 100644
index 000000000..056aef265
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_04/Ex_08_04.pde
@@ -0,0 +1,17 @@
+int radius = 40;
+float x = -radius;
+float speed = 0.5;
+
+void setup() {
+ size(240, 120);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ background(0);
+ x += speed; // Increase the value of x
+ if (x > width+radius) { // If the shape is off screen,
+ x = -radius; // move to the left edge
+ }
+ arc(x, 60, radius, radius, 0.52, 5.76);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_05/Ex_08_05.pde b/content/gswp_2e/examples/08_Motion/Ex_08_05/Ex_08_05.pde
new file mode 100644
index 000000000..8073e8644
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_05/Ex_08_05.pde
@@ -0,0 +1,22 @@
+int radius = 40;
+float x = 110;
+float speed = 0.5;
+int direction = 1;
+
+void setup() {
+ size(240, 120);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ background(0);
+ x += speed * direction;
+ if ((x > width-radius) || (x < radius)) {
+ direction = -direction; // Flip direction
+ }
+ if (direction == 1) {
+ arc(x, 60, radius, radius, 0.52, 5.76); // Face right
+ } else {
+ arc(x, 60, radius, radius, 3.67, 8.9); // Face left
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_06/Ex_08_06.pde b/content/gswp_2e/examples/08_Motion/Ex_08_06/Ex_08_06.pde
new file mode 100644
index 000000000..3e31cdcde
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_06/Ex_08_06.pde
@@ -0,0 +1,22 @@
+int startX = 20; // Initial x coordinate
+int stopX = 160; // Final x coordinate
+int startY = 30; // Initial y coordinate
+int stopY = 80; // Final y coordinate
+float x = startX; // Current x coordinate
+float y = startY; // Current y coordinate
+float step = 0.005; // Size of each step (0.0 to 1.0)
+float pct = 0.0; // Percentage traveled (0.0 to 1.0)
+
+void setup() {
+ size(240, 120);
+}
+
+void draw() {
+ background(0);
+ if (pct < 1.0) {
+ x = startX + ((stopX-startX) * pct);
+ y = startY + ((stopY-startY) * pct);
+ pct += step;
+ }
+ ellipse(x, y, 20, 20);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_07/Ex_08_07.pde b/content/gswp_2e/examples/08_Motion/Ex_08_07/Ex_08_07.pde
new file mode 100644
index 000000000..2a0df21ed
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_07/Ex_08_07.pde
@@ -0,0 +1,4 @@
+void draw() {
+ float r = random(0, mouseX);
+ println(r);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_08/Ex_08_08.pde b/content/gswp_2e/examples/08_Motion/Ex_08_08/Ex_08_08.pde
new file mode 100644
index 000000000..eab30a504
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_08/Ex_08_08.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(240, 120);
+}
+
+void draw() {
+ background(204);
+ for (int x = 20; x < width; x += 20) {
+ float mx = mouseX / 10;
+ float offsetA = random(-mx, mx);
+ float offsetB = random(-mx, mx);
+ line(x + offsetA, 20, x - offsetB, 100);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_09/Ex_08_09.pde b/content/gswp_2e/examples/08_Motion/Ex_08_09/Ex_08_09.pde
new file mode 100644
index 000000000..40cbbf568
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_09/Ex_08_09.pde
@@ -0,0 +1,16 @@
+float speed = 2.5;
+int diameter = 20;
+float x;
+float y;
+
+void setup() {
+ size(240, 120);
+ x = width/2;
+ y = height/2;
+}
+
+void draw() {
+ x += random(-speed, speed);
+ y += random(-speed, speed);
+ ellipse(x, y, diameter, diameter);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_10/Ex_08_10.pde b/content/gswp_2e/examples/08_Motion/Ex_08_10/Ex_08_10.pde
new file mode 100644
index 000000000..c7cc8f09e
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_10/Ex_08_10.pde
@@ -0,0 +1,4 @@
+void draw() {
+ int timer = millis();
+ println(timer);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_11/Ex_08_11.pde b/content/gswp_2e/examples/08_Motion/Ex_08_11/Ex_08_11.pde
new file mode 100644
index 000000000..2c525b6a5
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_11/Ex_08_11.pde
@@ -0,0 +1,18 @@
+int time1 = 2000;
+int time2 = 4000;
+float x = 0;
+
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ int currentTime = millis();
+ background(204);
+ if (currentTime > time2) {
+ x -= 0.5;
+ } else if (currentTime > time1) {
+ x += 2;
+ }
+ ellipse(x, 60, 90, 90);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_12/Ex_08_12.pde b/content/gswp_2e/examples/08_Motion/Ex_08_12/Ex_08_12.pde
new file mode 100644
index 000000000..8ff175e97
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_12/Ex_08_12.pde
@@ -0,0 +1,9 @@
+float angle = 0.0;
+
+void draw() {
+ float sinval = sin(angle);
+ println(sinval);
+ float gray = map(sinval, -1, 1, 0, 255);
+ background(gray);
+ angle += 0.1;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_13/Ex_08_13.pde b/content/gswp_2e/examples/08_Motion/Ex_08_13/Ex_08_13.pde
new file mode 100644
index 000000000..fde223e27
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_13/Ex_08_13.pde
@@ -0,0 +1,19 @@
+float angle = 0.0;
+float offset = 60;
+float scalar = 40;
+float speed = 0.05;
+
+void setup() {
+ size(240, 120);
+}
+
+void draw() {
+ background(0);
+ float y1 = offset + sin(angle) * scalar;
+ float y2 = offset + sin(angle + 0.4) * scalar;
+ float y3 = offset + sin(angle + 0.8) * scalar;
+ ellipse( 80, y1, 40, 40);
+ ellipse(120, y2, 40, 40);
+ ellipse(160, y3, 40, 40);
+ angle += speed;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_14/Ex_08_14.pde b/content/gswp_2e/examples/08_Motion/Ex_08_14/Ex_08_14.pde
new file mode 100644
index 000000000..31661800a
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_14/Ex_08_14.pde
@@ -0,0 +1,15 @@
+float angle = 0.0;
+float offset = 60;
+float scalar = 30;
+float speed = 0.05;
+
+void setup() {
+ size(120, 120);
+}
+
+void draw() {
+ float x = offset + cos(angle) * scalar;
+ float y = offset + sin(angle) * scalar;
+ ellipse( x, y, 40, 40);
+ angle += speed;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/08_Motion/Ex_08_15/Ex_08_15.pde b/content/gswp_2e/examples/08_Motion/Ex_08_15/Ex_08_15.pde
new file mode 100644
index 000000000..76b0650a5
--- /dev/null
+++ b/content/gswp_2e/examples/08_Motion/Ex_08_15/Ex_08_15.pde
@@ -0,0 +1,17 @@
+float angle = 0.0;
+float offset = 60;
+float scalar = 2;
+float speed = 0.05;
+
+void setup() {
+ size(120, 120);
+ fill(0);
+}
+
+void draw() {
+ float x = offset + cos(angle) * scalar;
+ float y = offset + sin(angle) * scalar;
+ ellipse( x, y, 2, 2);
+ angle += speed;
+ scalar += speed;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_01/Ex_09_01.pde b/content/gswp_2e/examples/09_Functions/Ex_09_01/Ex_09_01.pde
new file mode 100644
index 000000000..4b018f0e0
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_01/Ex_09_01.pde
@@ -0,0 +1,12 @@
+void setup() {
+ println("Ready to roll!");
+ rollDice(20);
+ rollDice(20);
+ rollDice(6);
+ println("Finished.");
+}
+
+void rollDice(int numSides) {
+ int d = 1 + int(random(numSides));
+ println("Rolling... " + d);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_02/Ex_09_02.pde b/content/gswp_2e/examples/09_Functions/Ex_09_02/Ex_09_02.pde
new file mode 100644
index 000000000..17f2d8ec4
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_02/Ex_09_02.pde
@@ -0,0 +1,10 @@
+void setup() {
+ println("Ready to roll!");
+ int d1 = 1 + int(random(20));
+ println("Rolling... " + d1);
+ int d2 = 1 + int(random(20));
+ println("Rolling... " + d2);
+ int d3 = 1 + int(random(6));
+ println("Rolling... " + d3);
+ println("Finished.");
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_03/Ex_09_03.pde b/content/gswp_2e/examples/09_Functions/Ex_09_03/Ex_09_03.pde
new file mode 100644
index 000000000..ae28826ae
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_03/Ex_09_03.pde
@@ -0,0 +1,20 @@
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ background(176, 204, 226);
+ translate(110, 110);
+ stroke(138, 138, 125);
+ strokeWeight(70);
+ line(0, -35, 0, -65); // Body
+ noStroke();
+ fill(255);
+ ellipse(-17.5, -65, 35, 35); // Left eye dome
+ ellipse(17.5, -65, 35, 35); // Right eye dome
+ arc(0, -65, 70, 70, 0, PI); // Chin
+ fill(51, 51, 30);
+ ellipse(-14, -65, 8, 8); // Left eye
+ ellipse(14, -65, 8, 8); // Right eye
+ quad(0, -58, 4, -51, 0, -44, -4, -51); // Beak
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_04/Ex_09_04.pde b/content/gswp_2e/examples/09_Functions/Ex_09_04/Ex_09_04.pde
new file mode 100644
index 000000000..122d5ab68
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_04/Ex_09_04.pde
@@ -0,0 +1,36 @@
+void setup() {
+ size(480, 120);
+}
+void draw() {
+ background(176, 204, 226);
+
+ // Left owl
+ translate(110, 110);
+ stroke(138, 138, 125);
+ strokeWeight(70);
+ line(0, -35, 0, -65); // Body
+ noStroke();
+ fill(255);
+ ellipse(-17.5, -65, 35, 35); // Left eye dome
+ ellipse(17.5, -65, 35, 35); // Right eye dome
+ arc(0, -65, 70, 70, 0, PI); // Chin
+ fill(51, 51, 30);
+ ellipse(-14, -65, 8, 8); // Left eye
+ ellipse(14, -65, 8, 8); // Right eye
+ quad(0, -58, 4, -51, 0, -44, -4, -51); // Beak
+
+ // Right owl
+ translate(70, 0);
+ stroke(138, 138, 125);
+ strokeWeight(70);
+ line(0, -35, 0, -65); // Body
+ noStroke();
+ fill(255);
+ ellipse(-17.5, -65, 35, 35); // Left eye dome
+ ellipse(17.5, -65, 35, 35); // Right eye dome
+ arc(0, -65, 70, 70, 0, PI); // Chin
+ fill(51, 51, 30);
+ ellipse(-14, -65, 8, 8); // Left eye
+ ellipse(14, -65, 8, 8); // Right eye
+ quad(0, -58, 4, -51, 0, -44, -4, -51); // Beak
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_05/Ex_09_05.pde b/content/gswp_2e/examples/09_Functions/Ex_09_05/Ex_09_05.pde
new file mode 100644
index 000000000..1b3672eb6
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_05/Ex_09_05.pde
@@ -0,0 +1,27 @@
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ background(176, 204, 226);
+ owl(110, 110);
+ owl(180, 110);
+}
+
+void owl(int x, int y) {
+ pushMatrix();
+ translate(x, y);
+ stroke(138, 138, 125);
+ strokeWeight(70);
+ line(0, -35, 0, -65); // Body
+ noStroke();
+ fill(255);
+ ellipse(-17.5, -65, 35, 35); // Left eye dome
+ ellipse(17.5, -65, 35, 35); // Right eye dome
+ arc(0, -65, 70, 70, 0, PI); // Chin
+ fill(51, 51, 30);
+ ellipse(-14, -65, 8, 8); // Left eye
+ ellipse(14, -65, 8, 8); // Right eye
+ quad(0, -58, 4, -51, 0, -44, -4, -51); // Beak
+ popMatrix();
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_06/Ex_09_06.pde b/content/gswp_2e/examples/09_Functions/Ex_09_06/Ex_09_06.pde
new file mode 100644
index 000000000..8b42b6c70
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_06/Ex_09_06.pde
@@ -0,0 +1,28 @@
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ background(176, 204, 226);
+ for (int x = 35; x < width + 70; x += 70) {
+ owl(x, 110);
+ }
+}
+
+void owl(int x, int y) {
+ pushMatrix();
+ translate(x, y);
+ stroke(138, 138, 125);
+ strokeWeight(70);
+ line(0, -35, 0, -65); // Body
+ noStroke();
+ fill(255);
+ ellipse(-17.5, -65, 35, 35); // Left eye dome
+ ellipse(17.5, -65, 35, 35); // Right eye dome
+ arc(0, -65, 70, 70, 0, PI); // Chin
+ fill(51, 51, 30);
+ ellipse(-14, -65, 8, 8); // Left eye
+ ellipse(14, -65, 8, 8); // Right eye
+ quad(0, -58, 4, -51, 0, -44, -4, -51); // Beak
+ popMatrix();
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_07/Ex_09_07.pde b/content/gswp_2e/examples/09_Functions/Ex_09_07/Ex_09_07.pde
new file mode 100644
index 000000000..694a7dade
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_07/Ex_09_07.pde
@@ -0,0 +1,32 @@
+void setup() {
+ size(480, 120);
+}
+
+void draw() {
+ background(176, 204, 226);
+ randomSeed(0);
+ for (int i = 35; i < width + 40; i += 40) {
+ int gray = int(random(0, 102));
+ float scalar = random(0.25, 1.0);
+ owl(i, 110, gray, scalar);
+ }
+}
+
+void owl(int x, int y, int g, float s) {
+ pushMatrix();
+ translate(x, y);
+ scale(s); // Set the size
+ stroke(138-g, 138-g, 125-g); // Set the color value
+ strokeWeight(70);
+ line(0, -35, 0, -65); // Body
+ noStroke();
+ fill(255);
+ ellipse(-17.5, -65, 35, 35); // Left eye dome
+ ellipse(17.5, -65, 35, 35); // Right eye dome
+ arc(0, -65, 70, 70, 0, PI); // Chin
+ fill(51, 51, 30);
+ ellipse(-14, -65, 8, 8); // Left eye
+ ellipse(14, -65, 8, 8); // Right eye
+ quad(0, -58, 4, -51, 0, -44, -4, -51); // Beak
+ popMatrix();
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/09_Functions/Ex_09_08/Ex_09_08.pde b/content/gswp_2e/examples/09_Functions/Ex_09_08/Ex_09_08.pde
new file mode 100644
index 000000000..cb55ae255
--- /dev/null
+++ b/content/gswp_2e/examples/09_Functions/Ex_09_08/Ex_09_08.pde
@@ -0,0 +1,10 @@
+void setup() {
+ float yourWeight = 132;
+ float marsWeight = calculateMars(yourWeight);
+ println(marsWeight);
+}
+
+float calculateMars(float w) {
+ float newWeight = w * 0.38;
+ return newWeight;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/10_Objects/Ex_10_01/Ex_10_01.pde b/content/gswp_2e/examples/10_Objects/Ex_10_01/Ex_10_01.pde
new file mode 100644
index 000000000..af28b9264
--- /dev/null
+++ b/content/gswp_2e/examples/10_Objects/Ex_10_01/Ex_10_01.pde
@@ -0,0 +1,36 @@
+JitterBug bug; // Declare object
+
+void setup() {
+ size(480, 120);
+ // Create object and pass in parameters
+ bug = new JitterBug(width/2, height/2, 20);
+}
+
+void draw() {
+ bug.move();
+ bug.display();
+}
+
+class JitterBug {
+
+ float x;
+ float y;
+ int diameter;
+ float speed = 2.5;
+
+ JitterBug(float tempX, float tempY, int tempDiameter) {
+ x = tempX;
+ y = tempY;
+ diameter = tempDiameter;
+ }
+
+ void move() {
+ x += random(-speed, speed);
+ y += random(-speed, speed);
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/10_Objects/Ex_10_02/Ex_10_02.pde b/content/gswp_2e/examples/10_Objects/Ex_10_02/Ex_10_02.pde
new file mode 100644
index 000000000..d34f40104
--- /dev/null
+++ b/content/gswp_2e/examples/10_Objects/Ex_10_02/Ex_10_02.pde
@@ -0,0 +1,15 @@
+JitterBug jit;
+JitterBug bug;
+
+void setup() {
+ size(480, 120);
+ jit = new JitterBug(width * 0.33, height/2, 50);
+ bug = new JitterBug(width * 0.66, height/2, 10);
+}
+
+void draw() {
+ jit.move();
+ jit.display();
+ bug.move();
+ bug.display();
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/10_Objects/Ex_10_02/JitterBug.pde b/content/gswp_2e/examples/10_Objects/Ex_10_02/JitterBug.pde
new file mode 100644
index 000000000..b7d1155f7
--- /dev/null
+++ b/content/gswp_2e/examples/10_Objects/Ex_10_02/JitterBug.pde
@@ -0,0 +1,23 @@
+class JitterBug {
+
+ float x;
+ float y;
+ int diameter;
+ float speed = 2.5;
+
+ JitterBug(float tempX, float tempY, int tempDiameter) {
+ x = tempX;
+ y = tempY;
+ diameter = tempDiameter;
+ }
+
+ void move() {
+ x += random(-speed, speed);
+ y += random(-speed, speed);
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_01/Ex_11_01.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_01/Ex_11_01.pde
new file mode 100644
index 000000000..a269e0a25
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_01/Ex_11_01.pde
@@ -0,0 +1,15 @@
+float x1 = -20;
+float x2 = 20;
+
+void setup() {
+ size(240, 120);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ x1 += 0.5;
+ x2 += 0.5;
+ arc(x1, 30, 40, 40, 0.52, 5.76);
+ arc(x2, 90, 40, 40, 0.52, 5.76);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_02/Ex_11_02.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_02/Ex_11_02.pde
new file mode 100644
index 000000000..39acf77ad
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_02/Ex_11_02.pde
@@ -0,0 +1,24 @@
+float x1 = -10;
+float x2 = 10;
+float x3 = 35;
+float x4 = 18;
+float x5 = 30;
+
+void setup() {
+ size(240, 120);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ x1 += 0.5;
+ x2 += 0.5;
+ x3 += 0.5;
+ x4 += 0.5;
+ x5 += 0.5;
+ arc(x1, 20, 20, 20, 0.52, 5.76);
+ arc(x2, 40, 20, 20, 0.52, 5.76);
+ arc(x3, 60, 20, 20, 0.52, 5.76);
+ arc(x4, 80, 20, 20, 0.52, 5.76);
+ arc(x5, 100, 20, 20, 0.52, 5.76);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_03/Ex_11_03.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_03/Ex_11_03.pde
new file mode 100644
index 000000000..abe98f839
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_03/Ex_11_03.pde
@@ -0,0 +1,19 @@
+float[] x = new float[3000];
+
+void setup() {
+ size(240, 120);
+ noStroke();
+ fill(255, 200);
+ for (int i = 0; i < x.length; i++) {
+ x[i] = random(-1000, 200);
+ }
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < x.length; i++) {
+ x[i] += 0.5;
+ float y = i * 0.4;
+ arc(x[i], y, 12, 12, 0.52, 5.76);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_04/Ex_11_04.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_04/Ex_11_04.pde
new file mode 100644
index 000000000..6b090abfe
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_04/Ex_11_04.pde
@@ -0,0 +1,9 @@
+int[] x; // Declare the array
+
+void setup() {
+ size(200, 200);
+ x = new int[2]; // Create the array
+ x[0] = 12; // Assign the first value
+ x[1] = 2; // Assign the second value
+}
+
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_05/Ex_11_05.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_05/Ex_11_05.pde
new file mode 100644
index 000000000..020510562
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_05/Ex_11_05.pde
@@ -0,0 +1,8 @@
+int[] x = new int[2]; // Declare and create the array
+
+void setup() {
+ size(200, 200);
+ x[0] = 12; // Assign the first value
+ x[1] = 2; // Assign the second value
+}
+
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_06/Ex_11_06.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_06/Ex_11_06.pde
new file mode 100644
index 000000000..5e5ab5c2f
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_06/Ex_11_06.pde
@@ -0,0 +1,6 @@
+int[] x = { 12, 2 }; // Declare, create, and assign
+
+void setup() {
+ size(200, 200);
+}
+
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_07/Ex_11_07.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_07/Ex_11_07.pde
new file mode 100644
index 000000000..2426835eb
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_07/Ex_11_07.pde
@@ -0,0 +1,14 @@
+float[] x = {-20, 20};
+
+void setup() {
+ size(240, 120);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ x[0] += 0.5; // Increase the first element
+ x[1] += 0.5; // Increase the second element
+ arc(x[0], 30, 40, 40, 0.52, 5.76);
+ arc(x[1], 90, 40, 40, 0.52, 5.76);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_08/Ex_11_08.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_08/Ex_11_08.pde
new file mode 100644
index 000000000..d49bf2c85
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_08/Ex_11_08.pde
@@ -0,0 +1,16 @@
+float[] gray;
+
+void setup() {
+ size(240, 120);
+ gray = new float[width];
+ for (int i = 0; i < gray.length; i++) {
+ gray[i] = random(0, 255);
+ }
+}
+
+void draw() {
+ for (int i = 0; i < gray.length; i++) {
+ stroke(gray[i]);
+ line(i, 0, i, height);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_09/Ex_11_09.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_09/Ex_11_09.pde
new file mode 100644
index 000000000..3d07aa631
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_09/Ex_11_09.pde
@@ -0,0 +1,23 @@
+int num = 60;
+int[] x = new int[num];
+int[] y = new int[num];
+
+void setup() {
+ size(240, 120);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ // Copy array values from back to front
+ for (int i = x.length-1; i > 0; i--) {
+ x[i] = x[i-1];
+ y[i] = y[i-1];
+ }
+ x[0] = mouseX; // Set the first element
+ y[0] = mouseY; // Set the first element
+ for (int i = 0; i < x.length; i++) {
+ fill(i * 4);
+ ellipse(x[i], y[i], 40, 40);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_10/Ex_11_10.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_10/Ex_11_10.pde
new file mode 100644
index 000000000..e3bcd79f5
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_10/Ex_11_10.pde
@@ -0,0 +1,18 @@
+JitterBug[] bugs = new JitterBug[33];
+
+void setup() {
+ size(240, 120);
+ for (int i = 0; i < bugs.length; i++) {
+ float x = random(width);
+ float y = random(height);
+ int r = i + 2;
+ bugs[i] = new JitterBug(x, y, r);
+ }
+}
+
+void draw() {
+ for (int i = 0; i < bugs.length; i++) {
+ bugs[i].move();
+ bugs[i].display();
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_10/JitterBug.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_10/JitterBug.pde
new file mode 100644
index 000000000..25fb83ac0
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_10/JitterBug.pde
@@ -0,0 +1,22 @@
+class JitterBug {
+
+ float x;
+ float y;
+ int diameter;
+ float speed = 2.5;
+
+ JitterBug(float tempX, float tempY, int tempDiameter) {
+ x = tempX;
+ y = tempY;
+ diameter = tempDiameter;
+ }
+
+ void move() {
+ x += random(-speed, speed);
+ y += random(-speed, speed);
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/Ex_11_11.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_11/Ex_11_11.pde
new file mode 100644
index 000000000..39ceda336
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_11/Ex_11_11.pde
@@ -0,0 +1,18 @@
+JitterBug[] bugs = new JitterBug[33];
+
+void setup() {
+ size(240, 120);
+ for (int i = 0; i < bugs.length; i++) {
+ float x = random(width);
+ float y = random(height);
+ int r = i + 2;
+ bugs[i] = new JitterBug(x, y, r);
+ }
+}
+
+void draw() {
+ for (JitterBug b : bugs) {
+ b.move();
+ b.display();
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/JitterBug.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_11/JitterBug.pde
new file mode 100644
index 000000000..25fb83ac0
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_11/JitterBug.pde
@@ -0,0 +1,22 @@
+class JitterBug {
+
+ float x;
+ float y;
+ int diameter;
+ float speed = 2.5;
+
+ JitterBug(float tempX, float tempY, int tempDiameter) {
+ x = tempX;
+ y = tempY;
+ diameter = tempDiameter;
+ }
+
+ void move() {
+ x += random(-speed, speed);
+ y += random(-speed, speed);
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0000.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0000.png
new file mode 100644
index 000000000..0df04ecc1
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0000.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0001.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0001.png
new file mode 100644
index 000000000..161b6a9fa
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0001.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0002.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0002.png
new file mode 100644
index 000000000..3c68633a4
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0002.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0003.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0003.png
new file mode 100644
index 000000000..355215669
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0003.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0004.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0004.png
new file mode 100644
index 000000000..0cc95c58a
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0004.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0005.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0005.png
new file mode 100644
index 000000000..a7ae8ec85
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0005.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0006.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0006.png
new file mode 100644
index 000000000..0d2f1c6e3
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0006.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0007.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0007.png
new file mode 100644
index 000000000..83b4dbda7
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0007.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0008.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0008.png
new file mode 100644
index 000000000..bd6ad0498
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0008.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0009.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0009.png
new file mode 100644
index 000000000..a83862b6a
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0009.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0010.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0010.png
new file mode 100644
index 000000000..ded05d01c
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0010.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0011.png b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0011.png
new file mode 100644
index 000000000..ccf7bb615
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_11/data/frame-0011.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/Ex_11_12.pde b/content/gswp_2e/examples/11_Arrays/Ex_11_12/Ex_11_12.pde
new file mode 100644
index 000000000..725665f50
--- /dev/null
+++ b/content/gswp_2e/examples/11_Arrays/Ex_11_12/Ex_11_12.pde
@@ -0,0 +1,20 @@
+int numFrames = 12; // The number of frames
+PImage[] images = new PImage[numFrames]; // Make the array
+int currentFrame = 0;
+
+void setup() {
+ size(240, 120);
+ for (int i = 0; i < images.length; i++) {
+ String imageName = "frame-" + nf(i, 4) + ".png";
+ images[i] = loadImage(imageName); // Load each image
+ }
+ frameRate(24);
+}
+
+void draw() {
+ image(images[currentFrame], 0, 0);
+ currentFrame++; // Next frame
+ if (currentFrame >= images.length) {
+ currentFrame = 0; // Return to first frame
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0000.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0000.png
new file mode 100644
index 000000000..0df04ecc1
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0000.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0001.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0001.png
new file mode 100644
index 000000000..161b6a9fa
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0001.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0002.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0002.png
new file mode 100644
index 000000000..3c68633a4
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0002.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0003.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0003.png
new file mode 100644
index 000000000..355215669
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0003.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0004.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0004.png
new file mode 100644
index 000000000..0cc95c58a
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0004.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0005.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0005.png
new file mode 100644
index 000000000..a7ae8ec85
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0005.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0006.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0006.png
new file mode 100644
index 000000000..0d2f1c6e3
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0006.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0007.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0007.png
new file mode 100644
index 000000000..83b4dbda7
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0007.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0008.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0008.png
new file mode 100644
index 000000000..bd6ad0498
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0008.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0009.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0009.png
new file mode 100644
index 000000000..a83862b6a
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0009.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0010.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0010.png
new file mode 100644
index 000000000..ded05d01c
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0010.png differ
diff --git a/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0011.png b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0011.png
new file mode 100644
index 000000000..ccf7bb615
Binary files /dev/null and b/content/gswp_2e/examples/11_Arrays/Ex_11_12/data/frame-0011.png differ
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_01/Ex_12_01.pde b/content/gswp_2e/examples/12_Data/Ex_12_01/Ex_12_01.pde
new file mode 100644
index 000000000..dd7aaf405
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_01/Ex_12_01.pde
@@ -0,0 +1,15 @@
+Table stats;
+
+void setup() {
+ stats = loadTable("ortiz.csv");
+ for (int i = 0; i < stats.getRowCount(); i++) {
+ // Gets an integer from row i, column 0 in the file
+ int year = stats.getInt(i, 0);
+ // Gets the integer from row i, column 1
+ int homeRuns = stats.getInt(i, 1);
+ int rbi = stats.getInt(i, 2);
+ // Read a number that includes decimal points
+ float average = stats.getFloat(i, 3);
+ println(year, homeRuns, rbi, average);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_01/data/ortiz.csv b/content/gswp_2e/examples/12_Data/Ex_12_01/data/ortiz.csv
new file mode 100644
index 000000000..8c02dfca3
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_01/data/ortiz.csv
@@ -0,0 +1,18 @@
+1997,1,6,0.327
+1998,9,46,0.277
+1999,0,0,0
+2000,10,63,0.282
+2001,18,48,0.234
+2002,20,75,0.272
+2003,31,101,0.288
+2004,41,139,0.301
+2005,47,148,0.3
+2006,54,137,0.287
+2007,35,117,0.332
+2008,23,89,0.264
+2009,28,99,0.238
+2010,32,102,0.27
+2011,29,96,0.309
+2012,23,60,0.318
+2013,30,103,0.309
+2014,35,104,0.263
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_02/Ex_12_02.pde b/content/gswp_2e/examples/12_Data/Ex_12_02/Ex_12_02.pde
new file mode 100644
index 000000000..eb364db98
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_02/Ex_12_02.pde
@@ -0,0 +1,33 @@
+int[] homeRuns;
+
+void setup() {
+ size(480, 120);
+ Table stats = loadTable("ortiz.csv");
+ int rowCount = stats.getRowCount();
+ homeRuns = new int[rowCount];
+ for (int i = 0; i < homeRuns.length; i++) {
+ homeRuns[i] = stats.getInt(i, 1);
+ }
+}
+
+void draw() {
+ background(204);
+ // Draw background grid for data
+ stroke(255);
+ line(20, 100, 20, 20);
+ line(20, 100, 460, 100);
+ for (int i = 0; i < homeRuns.length; i++) {
+ float x = map(i, 0, homeRuns.length-1, 20, 460);
+ line(x, 20, x, 100);
+ }
+ // Draw lines based on home run data
+ noFill();
+ stroke(204, 51, 0);
+ beginShape();
+ for (int i = 0; i < homeRuns.length; i++) {
+ float x = map(i, 0, homeRuns.length-1, 20, 460);
+ float y = map(homeRuns[i], 0, 60, 100, 20);
+ vertex(x, y);
+ }
+ endShape();
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_02/data/ortiz.csv b/content/gswp_2e/examples/12_Data/Ex_12_02/data/ortiz.csv
new file mode 100644
index 000000000..8c02dfca3
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_02/data/ortiz.csv
@@ -0,0 +1,18 @@
+1997,1,6,0.327
+1998,9,46,0.277
+1999,0,0,0
+2000,10,63,0.282
+2001,18,48,0.234
+2002,20,75,0.272
+2003,31,101,0.288
+2004,41,139,0.301
+2005,47,148,0.3
+2006,54,137,0.287
+2007,35,117,0.332
+2008,23,89,0.264
+2009,28,99,0.238
+2010,32,102,0.27
+2011,29,96,0.309
+2012,23,60,0.318
+2013,30,103,0.309
+2014,35,104,0.263
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_03/Ex_12_03.pde b/content/gswp_2e/examples/12_Data/Ex_12_03/Ex_12_03.pde
new file mode 100644
index 000000000..5b95033f9
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_03/Ex_12_03.pde
@@ -0,0 +1,26 @@
+Table cities;
+
+void setup() {
+ size(240, 120);
+ cities = loadTable("cities.csv", "header");
+ stroke(255);
+}
+
+void draw() {
+ background(0, 26, 51);
+ float xoffset = map(mouseX, 0, width, -width*3, -width);
+ translate(xoffset, -300);
+ scale(10);
+ strokeWeight(0.1);
+ for (int i = 0; i < cities.getRowCount(); i++) {
+ float latitude = cities.getFloat(i, "lat");
+ float longitude = cities.getFloat(i, "lng");
+ setXY(latitude, longitude);
+ }
+}
+
+void setXY(float lat, float lng) {
+ float x = map(lng, -180, 180, 0, width);
+ float y = map(lat, 90, -90, 0, height);
+ point(x, y);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_03/data/cities.csv b/content/gswp_2e/examples/12_Data/Ex_12_03/data/cities.csv
new file mode 100644
index 000000000..281e1cf5b
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_03/data/cities.csv
@@ -0,0 +1,29471 @@
+zip,state,city,lat,lng
+35004,AL,Acmar,33.584132,-86.51557
+35005,AL,Adamsville,33.588437,-86.959727
+35006,AL,Adger,33.434277,-87.167455
+35007,AL,Keystone,33.236868,-86.812861
+35010,AL,New Site,32.941445,-85.951086
+35014,AL,Alpine,33.331165,-86.208934
+35016,AL,Arab,34.328339,-86.489638
+35019,AL,Baileyton,34.268298,-86.621299
+35020,AL,Bessemer,33.409002,-86.947547
+35023,AL,Hueytown,33.414625,-86.999607
+35031,AL,Blountsville,34.092937,-86.568628
+35033,AL,Bremen,33.973664,-87.004281
+35034,AL,Brent,32.93567,-87.211387
+35035,AL,Brierfield,33.042747,-86.951672
+35040,AL,Calera,33.1098,-86.755987
+35042,AL,Centreville,32.950324,-87.11924
+35043,AL,Chelsea,33.371582,-86.614132
+35044,AL,Coosa Pines,33.266928,-86.337622
+35045,AL,Clanton,32.835532,-86.642472
+35049,AL,Cleveland,33.992106,-86.559355
+35051,AL,Columbiana,33.176964,-86.616145
+35053,AL,Crane Hill,34.082117,-87.048395
+35054,AL,Cropwell,33.506448,-86.280026
+35055,AL,Cullman,34.176146,-86.829777
+35061,AL,Dolomite,33.465424,-86.956435
+35062,AL,Dora,33.734947,-87.040148
+35063,AL,Empire,33.825589,-87.016139
+35064,AL,Fairfield,33.473494,-86.918262
+35068,AL,Coalburg,33.611283,-86.813614
+35071,AL,Gardendale,33.71891,-86.822481
+35072,AL,Goodwater,33.074642,-86.078149
+35073,AL,Alden,33.63356,-86.948221
+35077,AL,Hanceville,34.051569,-86.784844
+35078,AL,Harpersville,33.36746,-86.429441
+35079,AL,Hayden,33.885806,-86.81767
+35080,AL,Helena,33.316978,-86.813786
+35083,AL,Holly Pond,34.190085,-86.617441
+35085,AL,Jemison,32.980539,-86.718052
+35087,AL,Joppa,34.283739,-86.551939
+35089,AL,Kellyton,32.979068,-86.048397
+35091,AL,Kimberly,33.768355,-86.808417
+35094,AL,Leeds,33.528333,-86.574824
+35096,AL,Lincoln,33.605913,-86.111152
+35098,AL,Logan,34.184079,-87.038115
+35111,AL,Mc Calla,33.284546,-87.102379
+35114,AL,Maylene,33.231694,-86.872745
+35115,AL,Montevallo,33.124765,-86.862228
+35116,AL,Morris,33.739172,-86.772551
+35117,AL,Mount Olive,33.67678,-86.87171
+35118,AL,Sylvan Springs,33.540696,-87.043998
+35120,AL,Odenville,33.675611,-86.408952
+35121,AL,Oneonta,33.925858,-86.474118
+35124,AL,Indian Springs,33.31046,-86.806176
+35125,AL,Pell City,33.597889,-86.343151
+35126,AL,Dixiana,33.708131,-86.656542
+35127,AL,Pleasant Grove,33.488336,-86.976586
+35130,AL,Quinton,33.656065,-87.10066
+35131,AL,Ragland,33.736677,-86.1619
+35133,AL,Remlap,33.846204,-86.641662
+35135,AL,Riverside,33.608832,-86.198341
+35136,AL,Rockford,32.877957,-86.240006
+35143,AL,Shelby,33.078483,-86.553606
+35146,AL,Springville,33.738647,-86.439407
+35147,AL,Sterrett,33.446103,-86.491732
+35148,AL,Sumiton,33.768005,-87.044545
+35150,AL,Sylacauga,33.171675,-86.271257
+35160,AL,Talladega,33.435445,-86.113352
+35171,AL,Thorsby,32.923755,-86.746724
+35172,AL,Trafford,33.819038,-86.743414
+35173,AL,Trussville,33.633932,-86.598068
+35175,AL,Union Grove,34.409345,-86.462793
+35176,AL,Vandiver,33.480704,-86.501278
+35178,AL,Vincent,33.401049,-86.399425
+35179,AL,Vinemont,34.262121,-86.912512
+35180,AL,Warrior,33.852862,-86.819849
+35183,AL,Weogufka,33.02381,-86.304203
+35184,AL,West Blocton,33.142431,-87.13694
+35186,AL,Wilsonville,33.229255,-86.529894
+35188,AL,Woodstock,33.169808,-87.163469
+35203,AL,Birmingham,33.520994,-86.806626
+35204,AL,Birmingham,33.51795,-86.837198
+35205,AL,Birmingham,33.495144,-86.805937
+35206,AL,Birmingham,33.567797,-86.719854
+35207,AL,Birmingham,33.559383,-86.815344
+35208,AL,Birmingham,33.497658,-86.879884
+35209,AL,Homewood,33.469624,-86.806738
+35210,AL,Irondale,33.532797,-86.685697
+35211,AL,Birmingham,33.481565,-86.85904
+35212,AL,Birmingham,33.540883,-86.749524
+35213,AL,Crestline Height,33.508195,-86.742108
+35214,AL,Birmingham,33.555445,-86.886989
+35215,AL,Center Point,33.635447,-86.693197
+35216,AL,Vestavia Hills,33.41531,-86.790425
+35217,AL,Birmingham,33.5887,-86.764995
+35218,AL,Birmingham,33.505972,-86.892993
+35221,AL,Birmingham,33.452316,-86.893493
+35222,AL,Birmingham,33.521859,-86.766579
+35223,AL,Mountain Brook,33.488726,-86.736584
+35224,AL,Birmingham,33.519126,-86.934193
+35226,AL,Bluff Park,33.403675,-86.831257
+35228,AL,Midfield,33.462446,-86.914703
+35233,AL,Birmingham,33.506161,-86.800257
+35234,AL,Birmingham,33.53775,-86.80685
+35235,AL,Center Point,33.618045,-86.661051
+35242,AL,Shoal Creek,33.401559,-86.705511
+35243,AL,Cahaba Heights,33.446053,-86.743676
+35244,AL,Hoover,33.371776,-86.776381
+35401,AL,Tuscaloosa,33.196891,-87.562666
+35404,AL,Holt,33.210914,-87.488079
+35405,AL,Tuscaloosa,33.161704,-87.514435
+35406,AL,Tuscaloosa,33.272174,-87.536035
+35441,AL,Stewart,32.872354,-87.708558
+35442,AL,Aliceville,33.122813,-88.166689
+35443,AL,Boligee,32.774646,-88.026652
+35444,AL,Brookwood,33.277523,-87.309025
+35446,AL,Buhl,33.249448,-87.718886
+35447,AL,Carrollton,33.248506,-88.132122
+35452,AL,Coker,33.252612,-87.636528
+35453,AL,Cottondale,33.176667,-87.387051
+35456,AL,Duncanville,33.082815,-87.494977
+35457,AL,Echola,33.316559,-87.807202
+35458,AL,Elrod,33.343678,-87.801429
+35459,AL,Emelle,32.754963,-88.305747
+35460,AL,Epes,32.763371,-88.161443
+35461,AL,Ethelsville,33.386816,-88.221987
+35462,AL,Eutaw,32.888871,-87.930297
+35463,AL,Fosters,33.135859,-87.735688
+35464,AL,Gainesville,32.908364,-88.271558
+35466,AL,Gordo,33.346917,-87.900504
+35469,AL,Knoxville,32.982423,-87.791855
+35470,AL,Coatopa,32.588509,-88.173592
+35474,AL,Cypress,32.978853,-87.615134
+35476,AL,Northport,33.283425,-87.591441
+35480,AL,Ralph,33.062868,-87.744984
+35481,AL,Reform,33.395945,-88.020277
+35490,AL,Vance,33.17498,-87.257362
+35501,AL,Jasper,33.871672,-87.249144
+35540,AL,Addison,34.205571,-87.194766
+35541,AL,Arley,34.063234,-87.182761
+35542,AL,Bankston,33.70083,-87.68965
+35543,AL,Bear Creek,34.213469,-87.686083
+35544,AL,Beaverton,33.942877,-88.01567
+35546,AL,Berry,33.694485,-87.622563
+35548,AL,Brilliant,34.037702,-87.756315
+35549,AL,Carbon Hill,33.909252,-87.540328
+35550,AL,Cordova,33.768033,-87.18406
+35552,AL,Detroit,34.010874,-88.16063
+35553,AL,Double Springs,34.138682,-87.397431
+35554,AL,Eldridge,33.931546,-87.619397
+35555,AL,Fayette,33.697397,-87.834647
+35563,AL,Guin,33.967624,-87.90238
+35564,AL,Hackleburg,34.267803,-87.860762
+35565,AL,Haleyville,34.231423,-87.593811
+35570,AL,Hamilton,34.153413,-88.008521
+35571,AL,Hodges,34.341664,-87.959023
+35572,AL,Houston,34.118042,-87.26183
+35574,AL,Kennedy,33.574964,-88.05172
+35575,AL,Lynn,34.052984,-87.539814
+35576,AL,Millport,33.54013,-88.200003
+35578,AL,Nauvoo,33.929859,-87.432449
+35579,AL,Oakman,33.700174,-87.368574
+35580,AL,Parrish,33.721307,-87.265773
+35581,AL,Phil Campbell,34.347018,-87.715431
+35582,AL,Red Bay,34.451259,-88.112914
+35585,AL,Spruce Pine,34.384796,-87.712149
+35586,AL,Sulligent,33.8549,-88.150774
+35587,AL,Townley,33.84702,-87.437248
+35592,AL,Vernon,33.761285,-88.097919
+35593,AL,Vina,34.37116,-88.077422
+35594,AL,Winfield,33.930256,-87.79716
+35601,AL,Decatur,34.589599,-86.98868
+35603,AL,Decatur,34.548417,-87.000389
+35610,AL,Anderson,34.951777,-87.272327
+35611,AL,Athens,34.803604,-86.970733
+35616,AL,Cherokee,34.744188,-87.972445
+35618,AL,Courtland,34.671866,-87.314255
+35619,AL,Danville,34.452189,-87.053187
+35620,AL,Elkmont,34.915241,-86.910452
+35621,AL,Eva,34.347778,-86.704427
+35622,AL,Falkville,34.347653,-86.913086
+35630,AL,Florence,34.830547,-87.655985
+35633,AL,Florence,34.882471,-87.739778
+35640,AL,Hartselle,34.448206,-86.924235
+35643,AL,Hillsboro,34.64763,-87.180379
+35645,AL,Killen,34.901632,-87.508185
+35646,AL,Leighton,34.710982,-87.522133
+35647,AL,Lester,34.918364,-87.143396
+35648,AL,Lexington,34.955924,-87.393519
+35650,AL,Moulton,34.505836,-87.222385
+35651,AL,Mount Hope,34.462969,-87.451453
+35652,AL,Rogersville,34.849544,-87.323671
+35653,AL,Russellville,34.506568,-87.725726
+35660,AL,Sheffield,34.757829,-87.697057
+35661,AL,Muscle Shoals,34.756136,-87.630443
+35670,AL,Somerville,34.499548,-86.800931
+35671,AL,Tanner,34.713037,-86.989152
+35672,AL,Town Creek,34.649138,-87.426195
+35673,AL,Trinity,34.591771,-87.09127
+35674,AL,Tuscumbia,34.687432,-87.683259
+35677,AL,Waterloo,34.93568,-87.962412
+35739,AL,Ardmore,34.980447,-86.834612
+35740,AL,Bridgeport,34.944638,-85.727681
+35741,AL,Brownsboro,34.716733,-86.468703
+35744,AL,Dutton,34.604558,-85.906729
+35745,AL,Estillfork,34.913017,-86.171571
+35746,AL,Fackler,34.82589,-85.984648
+35747,AL,Grant,34.495902,-86.259041
+35748,AL,Gurley,34.713964,-86.394028
+35749,AL,Harvest,34.82732,-86.749929
+35750,AL,Hazel Green,34.949627,-86.593484
+35751,AL,Hollytree,34.798979,-86.233627
+35752,AL,Hollywood,34.730428,-85.953173
+35754,AL,Laceys Spring,34.499647,-86.612869
+35755,AL,Langston,34.497831,-86.10563
+35758,AL,Triana,34.713409,-86.750951
+35759,AL,Meridianville,34.861779,-86.578879
+35760,AL,New Hope,34.549445,-86.3961
+35761,AL,New Market,34.899991,-86.448742
+35763,AL,Big Cove,34.612859,-86.466577
+35764,AL,Paint Rock,34.667122,-86.332562
+35765,AL,Pisgah,34.688601,-85.803044
+35766,AL,Princeton,34.840217,-86.250068
+35768,AL,Hytop,34.67227,-86.051336
+35771,AL,Section,34.543275,-85.994002
+35772,AL,Stevenson,34.876885,-85.850803
+35773,AL,Toney,34.911644,-86.699951
+35774,AL,Trenton,34.740065,-86.291264
+35775,AL,Valhermoso Sprin,34.538145,-86.678
+35776,AL,Woodville,34.668927,-86.22961
+35801,AL,Huntsville,34.726866,-86.567318
+35802,AL,Huntsville,34.667922,-86.560347
+35803,AL,Huntsville,34.620506,-86.55096
+35805,AL,Huntsville,34.705943,-86.616493
+35806,AL,Huntsville,34.744765,-86.670411
+35808,AL,Huntsville,34.684525,-86.653821
+35810,AL,Huntsville,34.778378,-86.609063
+35811,AL,Huntsville,34.778949,-86.543786
+35816,AL,Huntsville,34.738864,-86.624948
+35824,AL,Huntsville,34.658321,-86.729486
+35901,AL,Southside,33.997248,-86.010279
+35903,AL,Hokes Bluff,33.997057,-85.928724
+35904,AL,Gadsden,34.021694,-86.049479
+35905,AL,Glencoe,33.956787,-85.927586
+35950,AL,Albertville,34.273859,-86.206447
+35952,AL,Snead,34.042916,-86.350879
+35953,AL,Ashville,33.837366,-86.255167
+35954,AL,Attalla,34.029597,-86.096717
+35957,AL,Boaz,34.173686,-86.148003
+35958,AL,Bryant,34.945026,-85.632445
+35959,AL,Cedar Bluff,34.241662,-85.602567
+35960,AL,Centre,34.111592,-85.609229
+35961,AL,Collinsville,34.267957,-85.861969
+35962,AL,Crossville,34.258784,-86.030575
+35963,AL,Dawson,34.356838,-85.929161
+35966,AL,Flat Rock,34.807598,-85.708372
+35967,AL,Fort Payne,34.436792,-85.712394
+35971,AL,Fyffe,34.437284,-85.928849
+35972,AL,Gallant,33.997586,-86.234606
+35973,AL,Gaylesville,34.357324,-85.558893
+35974,AL,Geraldine,34.343864,-86.040393
+35975,AL,Groveoak,34.435874,-86.040023
+35976,AL,Guntersville,34.32193,-86.305463
+35978,AL,Henagar,34.618604,-85.727381
+35979,AL,Higdon,34.873247,-85.622507
+35980,AL,Horton,34.190033,-86.317318
+35981,AL,Ider,34.735059,-85.641577
+35983,AL,Leesburg,34.191083,-85.77051
+35984,AL,Mentone,34.587236,-85.577728
+35986,AL,Rainsville,34.498884,-85.844605
+35987,AL,Steele,33.941679,-86.228929
+35988,AL,Sylvania,34.558962,-85.792128
+35989,AL,Valley Head,34.5697,-85.627208
+36003,AL,Autaugaville,32.462462,-86.714938
+36004,AL,Eufaula,31.786701,-85.239657
+36005,AL,Banks,31.836792,-85.799844
+36006,AL,Billingsley,32.610578,-86.716301
+36009,AL,Brantley,31.570963,-86.274343
+36010,AL,Brundidge,31.701324,-85.817668
+36013,AL,Cecil,32.300891,-86.011241
+36016,AL,Clayton,31.887413,-85.450932
+36017,AL,Clio,31.68521,-85.590419
+36022,AL,Deatsville,32.613405,-86.338211
+36024,AL,Eclectic,32.65419,-86.031614
+36025,AL,Elmore,32.545378,-86.316134
+36026,AL,Equality,32.813908,-86.105064
+36027,AL,Eufaula,31.905063,-85.165605
+36028,AL,Dozier,31.506614,-86.366315
+36029,AL,Fitzpatrick,32.151607,-85.888329
+36030,AL,Forest Home,31.85318,-86.786377
+36031,AL,Fort Davis,32.28945,-85.700688
+36032,AL,Fort Deposit,31.995979,-86.576142
+36033,AL,Georgiana,31.628662,-86.733965
+36034,AL,Glenwood,31.664143,-86.170972
+36035,AL,Goshen,31.82497,-86.104851
+36036,AL,Grady,32.019397,-86.129246
+36037,AL,Greenville,31.810036,-86.622919
+36038,AL,Gantt,31.416909,-86.419836
+36039,AL,Hardaway,32.312939,-85.883837
+36040,AL,Hayneville,32.195707,-86.654994
+36041,AL,Highland Home,31.928292,-86.297111
+36042,AL,Honoraville,31.878397,-86.398064
+36043,AL,Hope Hull,32.224256,-86.393189
+36046,AL,Lapine,31.985423,-86.278534
+36047,AL,Letohatchee,32.086199,-86.488013
+36048,AL,Louisville,31.794262,-85.558062
+36049,AL,Luverne,31.70739,-86.256601
+36051,AL,Marbury,32.639373,-86.510138
+36052,AL,Mathews,32.128288,-86.041262
+36053,AL,Midway,32.09552,-85.531523
+36054,AL,Millbrook,32.499485,-86.364125
+36061,AL,Perote,32.003459,-85.74773
+36064,AL,Pike Road,32.335705,-86.09589
+36066,AL,Prattville,32.478695,-86.42997
+36067,AL,Prattville,32.471501,-86.483072
+36069,AL,Ramer,32.067745,-86.246329
+36071,AL,Rutledge,31.755867,-86.348464
+36075,AL,Shorter,32.383585,-85.91616
+36078,AL,Tallassee,32.550997,-85.89781
+36080,AL,Titus,32.690019,-86.239334
+36081,AL,Troy,31.794471,-85.965493
+36083,AL,Tuskegee,32.431623,-85.68606
+36088,AL,Tuskegee Institu,32.417699,-85.714848
+36089,AL,Union Springs,32.166252,-85.678746
+36091,AL,Verbena,32.759565,-86.543753
+36092,AL,Wetumpka,32.54509,-86.188039
+36104,AL,Montgomery,32.373037,-86.308129
+36105,AL,Montgomery,32.32573,-86.310449
+36106,AL,Montgomery,32.354268,-86.267278
+36107,AL,Montgomery,32.380405,-86.279885
+36108,AL,Montgomery,32.341682,-86.352904
+36109,AL,Montgomery,32.383443,-86.243394
+36110,AL,Montgomery,32.421686,-86.274997
+36111,AL,Montgomery,32.337363,-86.271543
+36113,AL,Maxwell A F B,32.388133,-86.355848
+36115,AL,Gunter Afs,32.406814,-86.247327
+36116,AL,Montgomery,32.312943,-86.242056
+36117,AL,Montgomery,32.373568,-86.183299
+36201,AL,Anniston,33.653896,-85.838152
+36203,AL,Oxford,33.596829,-85.83347
+36205,AL,Fort Mc Clellan,33.710168,-85.801467
+36206,AL,Anniston,33.719124,-85.838904
+36250,AL,Alexandria,33.780785,-85.892447
+36251,AL,Ashland,33.247363,-85.828976
+36255,AL,Cragford,33.217148,-85.710797
+36256,AL,Daviston,33.033471,-85.753831
+36258,AL,Delta,33.457303,-85.679279
+36260,AL,Eastaboga,33.603132,-85.96075
+36262,AL,Fruithurst,33.771732,-85.43814
+36263,AL,Graham,33.462976,-85.334034
+36264,AL,Heflin,33.611515,-85.588471
+36265,AL,Jacksonville,33.830966,-85.77518
+36266,AL,Lineville,33.328613,-85.734609
+36267,AL,Millerville,33.158959,-85.969001
+36268,AL,Munford,33.540987,-85.936322
+36269,AL,Muscadine,33.752913,-85.378907
+36270,AL,Newell,33.440172,-85.505925
+36271,AL,Ohatchee,33.778779,-86.025357
+36272,AL,Piedmont,33.838946,-85.645997
+36273,AL,Ranburne,33.561627,-85.378604
+36274,AL,Rock Mills,33.156443,-85.357854
+36276,AL,Wadley,33.149192,-85.551344
+36277,AL,Weaver,33.756286,-85.810666
+36278,AL,Wedowee,33.301854,-85.473737
+36279,AL,Wellington,33.863843,-85.915325
+36280,AL,Woodland,33.355453,-85.353768
+36301,AL,Taylor,31.202888,-85.418036
+36303,AL,Napier Field,31.255239,-85.412462
+36310,AL,Abbeville,31.575479,-85.279044
+36311,AL,Ariton,31.582996,-85.707716
+36312,AL,Ashford,31.1888,-85.253488
+36314,AL,Black,31.01318,-85.745634
+36316,AL,Chancellor,31.173379,-85.910897
+36317,AL,Clopton,31.602843,-85.482308
+36318,AL,Coffee Springs,31.138758,-85.918224
+36319,AL,Columbia,31.335235,-85.145488
+36320,AL,Cottonwood,31.098934,-85.375665
+36322,AL,Daleville,31.281091,-85.730473
+36323,AL,Elba,31.41373,-86.077728
+36330,AL,Enterprise,31.340789,-85.842111
+36340,AL,Geneva,31.041445,-85.884748
+36343,AL,Gordon,31.10019,-85.123412
+36344,AL,Hartford,31.08598,-85.719204
+36345,AL,Headland,31.353406,-85.332277
+36346,AL,Jack,31.552392,-86.043083
+36349,AL,Malvern,31.157528,-85.522327
+36350,AL,Midland City,31.36716,-85.513033
+36351,AL,New Brockton,31.36898,-85.940386
+36352,AL,Newton,31.331064,-85.599229
+36353,AL,Newville,31.440295,-85.328741
+36360,AL,Ozark,31.439069,-85.643629
+36362,AL,Fort Rucker,31.348011,-85.721374
+36370,AL,Pansey,31.131778,-85.238549
+36373,AL,Shorterville,31.625627,-85.14584
+36374,AL,Skipperville,31.551588,-85.549578
+36375,AL,Slocomb,31.095558,-85.582954
+36376,AL,Webb,31.265618,-85.254385
+36401,AL,Evergreen,31.458009,-86.925771
+36419,AL,Allen,31.624266,-87.66746
+36420,AL,Andalusia,31.297142,-86.490468
+36425,AL,Beatrice,31.727324,-87.171912
+36426,AL,East Brewton,31.118926,-87.067325
+36432,AL,Castleberry,31.326113,-87.026754
+36435,AL,Coy,31.888851,-87.392558
+36436,AL,Dickinson,31.717167,-87.656929
+36441,AL,Flomaton,31.040233,-87.266365
+36442,AL,Florala,31.017194,-86.338528
+36444,AL,Franklin,31.723815,-87.441237
+36445,AL,Frisco City,31.423478,-87.381744
+36446,AL,Fulton,31.790947,-87.708065
+36451,AL,Grove Hill,31.675502,-87.763571
+36453,AL,Kinston,31.262118,-86.069532
+36454,AL,Lenox,31.327261,-87.19671
+36456,AL,Mc Kenzie,31.54495,-86.735615
+36460,AL,Monroeville,31.51533,-87.340993
+36467,AL,Opp,31.279861,-86.257105
+36471,AL,Peterman,31.589953,-87.259984
+36473,AL,Range,31.30169,-87.319739
+36474,AL,Red Level,31.439931,-86.61209
+36475,AL,Repton,31.425569,-87.172039
+36477,AL,Samson,31.104918,-86.067416
+36480,AL,Uriah,31.313467,-87.570518
+36481,AL,Vredenburgh,31.73443,-87.416184
+36482,AL,Whatley,31.639453,-87.656502
+36483,AL,Wing,31.148127,-86.56119
+36502,AL,Atmore,31.057245,-87.487347
+36505,AL,Axis,31.006817,-88.04274
+36507,AL,Bay Minette,30.86354,-87.76444
+36509,AL,Bayou La Batre,30.407983,-88.250697
+36510,AL,Bigbee,31.589072,-88.165294
+36511,AL,Bon Secour,30.328883,-87.721355
+36515,AL,Carlton,31.322449,-87.837793
+36518,AL,Chatom,31.487638,-88.269887
+36521,AL,Chunchula,30.991178,-88.131126
+36522,AL,Citronelle,31.042533,-88.254949
+36523,AL,Coden,30.418834,-88.168276
+36524,AL,Coffeeville,31.78428,-88.071542
+36525,AL,Creola,30.901267,-88.017414
+36526,AL,Daphne,30.61972,-87.889522
+36527,AL,Spanish Fort,30.695852,-87.88668
+36528,AL,Dauphin Island,30.252057,-88.109644
+36529,AL,Deer Park,31.184892,-88.32731
+36530,AL,Elberta,30.394239,-87.58896
+36532,AL,Fairhope,30.50116,-87.883546
+36535,AL,Foley,30.400664,-87.685737
+36538,AL,Frankville,31.64684,-88.133185
+36539,AL,Fruitdale,31.348843,-88.376597
+36540,AL,Gainestown,31.425822,-87.682176
+36541,AL,Grand Bay,30.498288,-88.32825
+36542,AL,Fort Morgan,30.268954,-87.712795
+36544,AL,Irvington,30.480241,-88.239563
+36545,AL,Jackson,31.513098,-87.867192
+36548,AL,Leroy,31.491021,-87.968672
+36549,AL,Lillian,30.39724,-87.474452
+36550,AL,Little River,31.22459,-87.754796
+36551,AL,Loxley,30.617964,-87.75624
+36553,AL,Mc Intosh,31.236108,-88.051102
+36555,AL,Magnolia Springs,30.394497,-87.785781
+36558,AL,Millry,31.626871,-88.355872
+36560,AL,Mount Vernon,31.097375,-88.035044
+36561,AL,Orange Beach,30.290596,-87.555888
+36562,AL,Perdido,30.98058,-87.628374
+36567,AL,Robertsdale,30.561608,-87.637268
+36569,AL,Saint Stephens,31.533028,-88.052094
+36570,AL,Salitpa,31.654667,-87.959618
+36571,AL,Saraland,30.833197,-88.093387
+36572,AL,Satsuma,30.851628,-88.053312
+36574,AL,Seminole,30.504806,-87.465938
+36575,AL,Semmes,30.754408,-88.266705
+36576,AL,Silverhill,30.522237,-87.745676
+36579,AL,Stockton,31.01293,-87.863323
+36580,AL,Summerdale,30.475225,-87.699183
+36582,AL,Theodore,30.544374,-88.180748
+36583,AL,Tibbie,31.373742,-88.266828
+36584,AL,Vinegar Bend,31.25841,-88.386466
+36585,AL,Wagarville,31.410205,-88.070519
+36586,AL,Walker Springs,31.626166,-87.835355
+36587,AL,Wilmer,30.813745,-88.333196
+36602,AL,Mobile,30.688828,-88.045308
+36603,AL,Mobile,30.692141,-88.05622
+36604,AL,Mobile,30.681963,-88.067804
+36605,AL,Mobile,30.634117,-88.084646
+36606,AL,Mobile,30.672899,-88.100909
+36607,AL,Mobile,30.697486,-88.1029
+36608,AL,Mobile,30.69636,-88.187784
+36609,AL,Mobile,30.660527,-88.161806
+36610,AL,Prichard,30.737846,-88.083761
+36611,AL,Chickasaw,30.766821,-88.084973
+36612,AL,Mobile,30.751844,-88.11311
+36613,AL,Eight Mile,30.795074,-88.182311
+36615,AL,Brookley Field,30.631199,-88.068871
+36617,AL,Mobile,30.714522,-88.091796
+36618,AL,Mobile,30.732178,-88.175753
+36619,AL,Mobile,30.592803,-88.194645
+36693,AL,Mobile,30.631076,-88.158843
+36695,AL,Mobile,30.647431,-88.229245
+36701,AL,Selma,32.419719,-87.024527
+36703,AL,Selma,32.415553,-87.013546
+36720,AL,Alberta,32.144889,-87.342503
+36722,AL,Arlington,32.066784,-87.559691
+36726,AL,Camden,32.004732,-87.295049
+36727,AL,Campbell,31.963512,-88.006072
+36728,AL,Catherine,32.182,-87.483623
+36732,AL,Demopolis,32.490792,-87.839669
+36736,AL,Dixons Mills,32.067209,-87.745356
+36738,AL,Faunsdale,32.423259,-87.618079
+36740,AL,Forkland,32.644661,-87.881676
+36742,AL,Gallion,32.529771,-87.698542
+36744,AL,Greensboro,32.716721,-87.590494
+36748,AL,Linden,32.305343,-87.795358
+36749,AL,Jones,32.608515,-86.889266
+36750,AL,Maplesville,32.804507,-86.871704
+36751,AL,Lower Peach Tree,31.850365,-87.568224
+36752,AL,Burkville,32.300292,-86.609868
+36754,AL,Magnolia,32.141931,-87.699815
+36756,AL,Marion,32.646301,-87.331437
+36758,AL,Plantersville,32.617608,-86.947531
+36759,AL,Marion Junction,32.426589,-87.270181
+36761,AL,Boys Ranch,32.095387,-86.92497
+36762,AL,Morvin,31.967305,-87.972897
+36765,AL,Newbern,32.551465,-87.561472
+36767,AL,Orrville,32.294859,-87.221368
+36768,AL,Pine Apple,31.926522,-87.004667
+36769,AL,Pine Hill,31.973546,-87.577086
+36771,AL,Prairie,32.084762,-87.448723
+36773,AL,Safford,32.300242,-87.369345
+36775,AL,Sardis,32.284358,-86.991959
+36776,AL,Sawyerville,32.757796,-87.740201
+36779,AL,Sprott,32.654376,-87.141599
+36782,AL,Sweet Water,32.077272,-87.922755
+36783,AL,Thomaston,32.253776,-87.597438
+36784,AL,Thomasville,31.906728,-87.759842
+36785,AL,Benton,32.281924,-86.859867
+36786,AL,Uniontown,32.446966,-87.493398
+36790,AL,Stanton,32.709631,-86.886848
+36792,AL,Randolph,32.888834,-86.90701
+36793,AL,Lawley,32.864558,-86.956708
+36801,AL,Opelika,32.627771,-85.358629
+36830,AL,Auburn,32.602043,-85.489001
+36850,AL,Camp Hill,32.782749,-85.64738
+36852,AL,Cusseta,32.803194,-85.215791
+36853,AL,Dadeville,32.82239,-85.770395
+36854,AL,Valley,32.811349,-85.174911
+36855,AL,Five Points,33.042408,-85.324264
+36858,AL,Hatchechubbee,32.284531,-85.302882
+36860,AL,Hurtsboro,32.245429,-85.395903
+36861,AL,Jacksons Gap,32.879698,-85.848662
+36862,AL,Lafayette,32.925237,-85.442563
+36863,AL,Lanett,32.861609,-85.21608
+36866,AL,Notasulga,32.543727,-85.68707
+36867,AL,Phenix City,32.407816,-85.095082
+36869,AL,Phenix City,32.470647,-85.018118
+36871,AL,Pittsview,32.173346,-85.131248
+36874,AL,Salem,32.621157,-85.183966
+36875,AL,Seale,32.305339,-85.167733
+36877,AL,Smiths,32.520072,-85.100027
+36879,AL,Waverly,32.763167,-85.514372
+36904,AL,Butler,32.082906,-88.206391
+36907,AL,Cuba,32.410973,-88.361083
+36908,AL,Gilbertown,31.866602,-88.326514
+36910,AL,Jachin,32.244174,-88.233356
+36912,AL,Lisman,32.217722,-88.323419
+36915,AL,Needham,32.012165,-88.345798
+36916,AL,Pennington,32.226245,-88.0931
+36919,AL,Silas,31.766754,-88.309149
+36921,AL,Toxey,31.93153,-88.31794
+36922,AL,Ward,32.334063,-88.297114
+36925,AL,York,32.472765,-88.268304
+98791,AK,98791,51.938901,-176.310048
+99501,AK,Anchorage,61.211571,-149.876077
+99502,AK,Anchorage,61.096163,-150.093943
+99503,AK,Anchorage,61.189953,-149.893844
+99504,AK,Anchorage,61.203696,-149.74467
+99505,AK,Fort Richardson,61.275256,-149.675454
+99506,AK,Elmendorf Afb,61.251531,-149.812667
+99507,AK,Anchorage,61.153543,-149.828912
+99508,AK,Anchorage,61.205959,-149.810085
+99515,AK,Anchorage,61.119381,-149.897401
+99516,AK,Anchorage,61.10541,-149.779998
+99517,AK,Anchorage,61.190136,-149.936111
+99518,AK,Anchorage,61.154862,-149.886571
+99549,AK,Port Heiden,56.964333,-158.566367
+99551,AK,Akiachak,60.891854,-161.39233
+99552,AK,Akiak,60.890632,-161.199325
+99553,AK,Akutan,54.143012,-165.785368
+99554,AK,Alakanuk,62.746967,-164.60228
+99555,AK,Aleknagik,59.269688,-158.619882
+99556,AK,Nikolaevsk,59.788818,-151.732933
+99557,AK,Chuathbaluk,61.691648,-157.758502
+99558,AK,Anvik,62.830913,-160.130441
+99559,AK,Atmautluak,60.832389,-161.824053
+99561,AK,Chefornak,60.153746,-164.210294
+99563,AK,Chevak,61.583982,-164.776457
+99564,AK,Chignik,56.301639,-158.415696
+99565,AK,Chignik Lagoon,56.251277,-158.673528
+99567,AK,Chugiak,61.409802,-149.453736
+99568,AK,Clam Gulch,60.201603,-151.422628
+99569,AK,Clarks Point,58.84921,-158.451241
+99571,AK,Nelson Lagoon,55.610952,-161.942941
+99572,AK,Cooper Landing,60.476692,-149.823514
+99573,AK,Copper Center,61.91581,-144.97793
+99574,AK,Chenega Bay,60.102558,-147.943316
+99575,AK,Crooked Creek,61.818072,-158.002483
+99576,AK,Koliganek,59.059279,-158.973533
+99577,AK,Eagle River,61.311357,-149.508515
+99578,AK,Eek,60.215058,-162.032341
+99579,AK,Egegik,58.206174,-157.342202
+99580,AK,Ekwok,59.362792,-157.478211
+99581,AK,Emmonak,62.827404,-164.131298
+99583,AK,False Pass,54.841028,-163.436845
+99585,AK,Marshall,61.837087,-161.7394
+99586,AK,Slana,62.654744,-143.568393
+99588,AK,Glennallen,62.103895,-145.661684
+99589,AK,Goodnews Bay,59.085008,-161.587146
+99590,AK,Grayling,63.372013,-159.404907
+99591,AK,Saint George Isl,56.60324,-169.547257
+99602,AK,Holy Cross,62.192584,-159.825092
+99603,AK,Port Graham,59.665495,-151.462644
+99604,AK,Hooper Bay,61.537157,-165.891045
+99606,AK,Kokhanok,59.564836,-155.462556
+99607,AK,Kalskag,61.541006,-160.3261
+99610,AK,Kasilof,60.316365,-151.28958
+99611,AK,Kenai,60.614467,-151.254556
+99612,AK,King Cove,55.062848,-162.305561
+99613,AK,Igiugig,58.724264,-156.641603
+99614,AK,Kipnuk,59.923204,-164.101013
+99615,AK,Akhiok,57.781967,-152.500169
+99620,AK,Kotlik,63.029471,-163.554153
+99621,AK,Kwethluk,60.771814,-161.38849
+99622,AK,Kwigillingok,59.881022,-162.984938
+99625,AK,Levelock,59.371395,-154.976815
+99626,AK,Lower Kalskag,61.51377,-160.359966
+99627,AK,Mc Grath,62.967153,-155.585153
+99628,AK,Manokotak,59.009559,-158.989699
+99630,AK,Mekoryuk,60.365679,-166.283583
+99631,AK,Moose Pass,60.85852,-149.255911
+99632,AK,Mountain Village,62.158913,-163.883822
+99633,AK,Naknek,58.885699,-156.705405
+99634,AK,Napakiak,60.663758,-161.738144
+99636,AK,New Stuyahok,59.593533,-157.297205
+99638,AK,Nikolski,52.988337,-168.788427
+99639,AK,Ninilchik,60.010833,-151.639604
+99640,AK,Nondalton,60.030837,-154.731675
+99645,AK,Butte,61.613814,-149.065323
+99647,AK,Pedro Bay,59.92238,-153.821856
+99648,AK,Perryville,55.945289,-159.259333
+99649,AK,Pilot Point,57.595193,-157.449272
+99650,AK,Pilot Station,61.946159,-162.874716
+99651,AK,Platinum,58.63364,-162.043201
+99653,AK,Port Alsworth,60.636416,-154.433803
+99654,AK,Wasilla,61.592349,-149.395875
+99655,AK,Quinhagak,59.738057,-161.874938
+99656,AK,Red Devil,61.735389,-157.195969
+99657,AK,Russian Mission,61.591302,-161.558413
+99658,AK,Saint Marys,62.054106,-163.205263
+99659,AK,Saint Michael,63.47759,-162.109141
+99660,AK,Saint Paul Islan,57.178697,-170.293408
+99661,AK,Sand Point,55.319236,-160.491435
+99662,AK,Scammon Bay,61.845019,-165.581945
+99664,AK,Seward,60.132874,-149.39849
+99665,AK,Shageluk,62.661092,-159.52816
+99668,AK,Sleetmute,61.634555,-157.118284
+99669,AK,Soldotna,60.481778,-151.13582
+99670,AK,South Naknek,58.736221,-156.850289
+99671,AK,Stebbins,63.478468,-162.227355
+99672,AK,Sterling,60.520373,-150.849792
+99676,AK,Talkeetna,62.260516,-150.110097
+99679,AK,Tuluksak,61.108848,-160.938924
+99681,AK,Tununak,60.539322,-165.097464
+99682,AK,Tyonek,61.117929,-151.348495
+99683,AK,Trapper Creek,61.441361,-150.284455
+99684,AK,Unalakleet,63.883478,-160.788365
+99685,AK,Unalaska,53.887114,-166.519855
+99686,AK,Valdez,60.895044,-146.195628
+99687,AK,Wasilla,61.578032,-149.533003
+99688,AK,Willow,61.771511,-150.188891
+99689,AK,Yakutat,59.620211,-139.778858
+99691,AK,Nikolai,63.001603,-154.381247
+99692,AK,Dutch Harbor,53.362757,-167.510656
+99701,AK,Coldfoot,64.840238,-147.710431
+99702,AK,Eielson Afb,64.67352,-147.08051
+99703,AK,Fort Wainwright,64.828303,-147.655673
+99704,AK,Clear,64.418121,-149.139885
+99705,AK,North Pole,64.78049,-147.369353
+99709,AK,Fairbanks,64.85437,-147.846917
+99712,AK,Fairbanks,64.910879,-147.510479
+99714,AK,Salcha,64.50905,-146.952974
+99720,AK,Allakaket,66.543197,-152.712155
+99721,AK,Anaktuvuk Pass,68.11878,-151.679005
+99722,AK,Arctic Village,68.077395,-145.423115
+99723,AK,Barrow,71.234637,-156.817409
+99724,AK,Beaver,66.33883,-147.279803
+99726,AK,Bettles Field,67.100495,-151.062414
+99727,AK,Buckland,65.981052,-161.131676
+99729,AK,Cantwell,63.395458,-148.89735
+99730,AK,Central,65.468058,-144.74886
+99733,AK,Circle,65.824542,-144.08262
+99734,AK,Prudhoe Bay,70.070057,-148.559636
+99736,AK,Deering,66.062265,-162.711951
+99737,AK,Dot Lake,64.005426,-145.613611
+99739,AK,Elim,64.621662,-162.260371
+99740,AK,Fort Yukon,66.520744,-145.306439
+99741,AK,Galena,64.760784,-156.797701
+99742,AK,Gambell,63.776555,-171.701685
+99743,AK,Healy,63.917123,-149.011128
+99744,AK,Anderson,64.300693,-149.1718
+99745,AK,Hughes,66.038246,-154.26443
+99746,AK,Huslia,65.689918,-156.291976
+99747,AK,Kaktovik,70.042889,-143.631329
+99748,AK,Kaltag,64.330452,-158.724251
+99749,AK,Kiana,67.18026,-158.152204
+99750,AK,Kivalina,67.665859,-163.733617
+99751,AK,Kobuk,66.912253,-157.066864
+99752,AK,Kotzebue,66.846459,-162.126493
+99753,AK,Koyuk,64.931668,-161.149957
+99755,AK,Denali National,63.516075,-149.539532
+99756,AK,Manley Hot Sprin,65.02058,-150.573267
+99757,AK,Lake Minchumina,63.903884,-152.430081
+99758,AK,Minto,65.058399,-149.691186
+99759,AK,Point Lay,69.705626,-162.906148
+99760,AK,Nenana,64.557656,-149.086744
+99761,AK,Noatak,66.97553,-160.509453
+99762,AK,Golovin,64.505775,-165.310667
+99763,AK,Noorvik,66.836353,-161.044132
+99765,AK,Nulato,64.778024,-157.991353
+99766,AK,Point Hope,68.312058,-166.72618
+99767,AK,Rampart,65.383627,-150.011201
+99768,AK,Ruby,64.720062,-155.503872
+99769,AK,Savoonga,63.679737,-170.470908
+99770,AK,Selawik,65.713537,-158.534287
+99771,AK,Shaktoolik,64.375498,-161.174589
+99772,AK,Shishmaref,66.230562,-166.137276
+99773,AK,Shungnak,66.958141,-157.613496
+99774,AK,Stevens Village,65.995894,-149.118286
+99777,AK,Tanana,65.156483,-152.103747
+99778,AK,Teller,65.240164,-166.3833
+99780,AK,Border,63.435022,-142.523046
+99781,AK,Venetie,67.010446,-146.413723
+99782,AK,Wainwright,70.620064,-160.012532
+99783,AK,Wales,65.688212,-168.520521
+99784,AK,White Mountain,64.702791,-163.42185
+99785,AK,Brevig Mission,65.334187,-166.478578
+99786,AK,Ambler,67.46951,-156.455652
+99788,AK,Chalkyitsik,66.719,-143.638121
+99789,AK,Nuiqsut,70.192737,-150.997119
+99801,AK,Juneau,58.362767,-134.529429
+99820,AK,Angoon,57.569832,-134.371052
+99824,AK,Douglas,58.275597,-134.395041
+99826,AK,Gustavus,58.42835,-135.761542
+99827,AK,Haines,59.251886,-135.542032
+99829,AK,Hoonah,58.032237,-135.558435
+99833,AK,Petersburg,56.827134,-133.160683
+99835,AK,Sitka,57.051436,-135.316569
+99840,AK,Skagway,59.468471,-135.301794
+99901,AK,Ketchikan,55.372028,-131.683175
+99919,AK,Thorne Bay,55.66086,-132.513815
+99921,AK,Craig,55.47317,-133.117081
+99922,AK,Hydaburg,55.137406,-132.633175
+99923,AK,Hyder,55.925867,-130.124915
+99925,AK,Klawock,55.552611,-133.055503
+99926,AK,Metlakatla,55.121491,-131.579001
+99927,AK,Point Baker,56.307858,-133.376372
+99929,AK,Wrangell,56.433524,-132.352918
+99950,AK,Ketchikan,55.942471,-133.18479
+85003,AZ,Phoenix,33.451095,-112.077428
+85004,AZ,Phoenix,33.455708,-112.068584
+85006,AZ,Phoenix,33.465016,-112.047357
+85007,AZ,Phoenix,33.452298,-112.089326
+85008,AZ,Phoenix,33.466457,-111.998381
+85009,AZ,Phoenix,33.456373,-112.128368
+85012,AZ,Phoenix,33.509744,-112.067816
+85013,AZ,Phoenix,33.508493,-112.082657
+85014,AZ,Phoenix,33.510263,-112.05557
+85015,AZ,Phoenix,33.508164,-112.101064
+85016,AZ,Phoenix,33.502117,-112.030496
+85017,AZ,Phoenix,33.515263,-112.121232
+85018,AZ,Phoenix,33.495796,-111.988259
+85019,AZ,Phoenix,33.512284,-112.141681
+85020,AZ,Phoenix,33.562281,-112.055888
+85021,AZ,Phoenix,33.559965,-112.092686
+85022,AZ,Phoenix,33.631513,-112.052008
+85023,AZ,Phoenix,33.632383,-112.111838
+85024,AZ,Phoenix,33.661664,-112.036956
+85027,AZ,New River Stage,33.667157,-112.102723
+85028,AZ,Phoenix,33.585115,-112.008724
+85029,AZ,Phoenix,33.596133,-112.119913
+85031,AZ,Phoenix,33.493909,-112.16963
+85032,AZ,Phoenix,33.623807,-112.004369
+85033,AZ,Phoenix,33.494426,-112.213185
+85034,AZ,Phoenix,33.441251,-112.042135
+85035,AZ,Phoenix,33.472353,-112.183177
+85037,AZ,Phoenix,33.491278,-112.246763
+85039,AZ,Phoenix,33.495362,-112.288573
+85040,AZ,Phoenix,33.390475,-112.03126
+85041,AZ,Phoenix,33.388882,-112.095437
+85043,AZ,Phoenix,33.449056,-112.197245
+85044,AZ,Phoenix,33.329124,-111.9943
+85051,AZ,Phoenix,33.559113,-112.133168
+85201,AZ,Mesa,33.43174,-111.846931
+85202,AZ,Mesa,33.385095,-111.872429
+85203,AZ,Mesa,33.436952,-111.805697
+85204,AZ,Mesa,33.399168,-111.789554
+85205,AZ,Mesa,33.43685,-111.712939
+85206,AZ,Mesa,33.402603,-111.724223
+85207,AZ,Mesa,33.432073,-111.64256
+85208,AZ,Mesa,33.398416,-111.651297
+85210,AZ,Mesa,33.38867,-111.842757
+85213,AZ,Mesa,33.436688,-111.773114
+85219,AZ,Gold Canyon,33.360787,-111.51331
+85220,AZ,Apache Junction,33.415211,-111.571818
+85222,AZ,Eleven Mile Corn,32.892667,-111.756093
+85224,AZ,Chandler,33.330091,-111.863156
+85225,AZ,Chandler,33.310505,-111.823881
+85226,AZ,Chandler,33.30917,-111.919827
+85228,AZ,Coolidge,32.957399,-111.534378
+85231,AZ,Eloy,32.750929,-111.583275
+85232,AZ,Florence,32.996881,-111.361234
+85234,AZ,Gilbert,33.352746,-111.780876
+85236,AZ,Higley,33.302382,-111.696926
+85237,AZ,Kearny,33.059443,-110.91227
+85239,AZ,Mobile,32.987379,-112.075228
+85240,AZ,Williams Afb,33.310289,-111.668801
+85242,AZ,Arizona Boys Ran,33.238577,-111.643596
+85247,AZ,Sacaton,33.097699,-111.775162
+85248,AZ,Sun Lakes,33.223056,-111.866899
+85249,AZ,Chandler,33.241384,-111.774486
+85250,AZ,Scottsdale,33.521767,-111.904926
+85251,AZ,Scottsdale,33.493559,-111.916697
+85253,AZ,Paradise Valley,33.549439,-111.956546
+85254,AZ,Scottsdale,33.616476,-111.955422
+85255,AZ,Scottsdale,33.696801,-111.889213
+85256,AZ,Scottsdale,33.485793,-111.85333
+85257,AZ,Scottsdale,33.46693,-111.915129
+85258,AZ,Scottsdale,33.564747,-111.893067
+85259,AZ,Scottsdale,33.587943,-111.840438
+85260,AZ,Scottsdale,33.601323,-111.88671
+85262,AZ,Scottsdale,33.77524,-111.779135
+85264,AZ,Fort Mcdowell,33.611807,-111.68062
+85268,AZ,Fountain Hills,33.608489,-111.723685
+85272,AZ,Stanfield,32.882321,-111.965987
+85273,AZ,Superior,33.288716,-111.09846
+85281,AZ,Tempe,33.422675,-111.926144
+85282,AZ,Tempe,33.391669,-111.924896
+85283,AZ,Tempe,33.366524,-111.93122
+85284,AZ,Tempe,33.336302,-111.919696
+85292,AZ,Winkelman,33.00572,-110.772682
+85301,AZ,Glendale,33.531122,-112.176703
+85302,AZ,Glendale,33.567487,-112.175289
+85303,AZ,Glendale,33.526215,-112.214937
+85304,AZ,Glendale,33.594289,-112.174575
+85305,AZ,Glendale,33.529103,-112.248232
+85306,AZ,Glendale,33.623882,-112.177563
+85307,AZ,Luke Afb,33.534879,-112.326735
+85308,AZ,Glendale,33.653924,-112.169391
+85309,AZ,Luke Afb,33.539993,-112.356186
+85310,AZ,Glendale,33.704726,-112.164131
+85321,AZ,Why,32.373485,-112.858681
+85322,AZ,Arlington,33.313317,-112.789058
+85323,AZ,Avondale,33.432114,-112.343754
+85324,AZ,Rock Springs,34.073197,-112.130956
+85326,AZ,Buckeye,33.38896,-112.607728
+85328,AZ,Cibola,33.614886,-114.512204
+85331,AZ,Cave Creek,33.821896,-112.015106
+85332,AZ,Congress,34.176425,-112.76801
+85333,AZ,Dateland,32.867886,-113.463126
+85335,AZ,El Mirage,33.608153,-112.324147
+85337,AZ,Gila Bend,32.93059,-112.746832
+85338,AZ,Goodyear,33.436809,-112.383385
+85339,AZ,Laveen,33.343572,-112.171618
+85340,AZ,Litchfield Park,33.494127,-112.380497
+85342,AZ,Morristown,33.772993,-112.548331
+85343,AZ,Palo Verde,33.34848,-112.646662
+85344,AZ,Empire Landing,34.0254,-114.266342
+85345,AZ,Peoria,33.576135,-112.234424
+85347,AZ,Roll,32.936635,-113.564287
+85348,AZ,Salome,33.748141,-113.571459
+85350,AZ,Somerton,32.563398,-114.7127
+85351,AZ,Sun City,33.606104,-112.279701
+85353,AZ,Tolleson,33.434686,-112.277444
+85354,AZ,Tonopah,33.422797,-112.952785
+85355,AZ,Waddell,33.567285,-112.43869
+85356,AZ,Wellton,32.749251,-114.176616
+85361,AZ,Wittmann,33.726425,-112.446578
+85362,AZ,Yarnell,34.414076,-112.62166
+85363,AZ,Youngtown,33.590751,-112.301305
+85364,AZ,Yuma,32.701507,-114.642362
+85365,AZ,Yuma Proving Gro,32.671352,-114.548633
+85373,AZ,Sun City,33.658756,-112.321397
+85374,AZ,Surprise,33.630028,-112.33143
+85375,AZ,Sun City West,33.662576,-112.255434
+85381,AZ,Peoria,33.604761,-112.223723
+85382,AZ,Peoria,33.63083,-112.207177
+85390,AZ,Wickenburg,33.911282,-112.738973
+85501,AZ,Globe,33.402426,-110.789247
+85530,AZ,Bylas,33.126549,-110.11702
+85533,AZ,Clifton,33.132343,-109.246199
+85534,AZ,Franklin,32.793976,-109.129575
+85535,AZ,Eden,33.028629,-109.953682
+85539,AZ,Miami,33.431928,-110.881182
+85540,AZ,Morenci,33.043593,-109.311517
+85541,AZ,Payson,34.219779,-111.287774
+85542,AZ,Peridot,33.478874,-110.37252
+85543,AZ,Pima,32.909661,-109.856009
+85544,AZ,Strawberry,34.390915,-111.473483
+85545,AZ,Roosevelt,33.635753,-110.974884
+85546,AZ,Safford,32.829491,-109.626641
+85550,AZ,San Carlos,33.310643,-110.395323
+85552,AZ,Thatcher,32.819902,-109.730245
+85602,AZ,Benson,31.98826,-110.294113
+85603,AZ,Bisbee,31.408557,-109.911736
+85606,AZ,Cochise,32.097891,-109.92393
+85607,AZ,Douglas,31.35111,-109.544698
+85610,AZ,Elfrida,31.713891,-109.619277
+85611,AZ,Elgin,31.66002,-110.611403
+85613,AZ,Fort Huachuca,31.558735,-110.344131
+85614,AZ,Green Valley,31.854271,-111.000253
+85615,AZ,Hereford,31.403545,-110.204728
+85616,AZ,Huachuca City,31.663896,-110.333414
+85617,AZ,Mc Neal,31.502969,-109.630971
+85618,AZ,Mammoth,32.723875,-110.643961
+85621,AZ,Nogales,31.376969,-110.943508
+85623,AZ,Oracle,32.600506,-110.796126
+85624,AZ,Patagonia,31.535317,-110.696774
+85625,AZ,Pearce,31.966608,-109.795032
+85629,AZ,Sahuarita,31.945169,-111.000154
+85630,AZ,Saint David,31.897251,-110.215377
+85631,AZ,San Manuel,32.695831,-110.656788
+85632,AZ,Portal,32.208167,-109.367152
+85634,AZ,Pisinemo,32.031572,-111.922207
+85635,AZ,Sierra Vista,31.536467,-110.266565
+85637,AZ,Sonoita,31.866154,-110.724418
+85638,AZ,Tombstone,31.721598,-110.058449
+85640,AZ,Amado,31.594194,-111.039693
+85641,AZ,Vail,32.035926,-110.88375
+85643,AZ,Willcox,32.372977,-109.863111
+85645,AZ,Amado,31.643759,-111.072233
+85653,AZ,Marana,32.404749,-111.273621
+85701,AZ,Tucson,32.213873,-110.969445
+85704,AZ,Casas Adobes,32.329175,-110.984593
+85705,AZ,Tucson,32.269088,-110.984536
+85706,AZ,Tucson,32.139172,-110.945127
+85708,AZ,Tucson,32.179989,-110.869283
+85710,AZ,Tucson,32.213813,-110.824046
+85711,AZ,Tucson,32.212729,-110.882892
+85712,AZ,Tucson,32.250043,-110.886919
+85713,AZ,Tucson,32.194065,-110.973896
+85714,AZ,Tucson,32.170657,-110.971891
+85715,AZ,Tucson,32.269213,-110.834837
+85716,AZ,Tucson,32.246815,-110.922176
+85718,AZ,Tucson,32.311154,-110.917882
+85719,AZ,Tucson,32.247426,-110.949142
+85730,AZ,Tucson,32.180951,-110.81904
+85735,AZ,Tucson,32.057796,-111.260758
+85736,AZ,Tucson,31.667909,-111.317842
+85737,AZ,Oro Valley,32.431679,-110.954463
+85741,AZ,Tucson,32.347215,-111.041873
+85743,AZ,Tucson,32.33655,-111.177071
+85745,AZ,Tucson,32.243359,-111.017907
+85746,AZ,Tucson,32.142244,-111.050569
+85747,AZ,Tucson,32.071142,-110.667337
+85748,AZ,Tucson,32.214981,-110.775765
+85749,AZ,Tucson,32.273285,-110.765829
+85901,AZ,Show Low,34.060117,-110.054633
+85920,AZ,Alpine,33.827878,-109.12829
+85922,AZ,Blue,33.651245,-109.06849
+85924,AZ,Concho,34.445787,-109.674096
+85925,AZ,Eagar,33.954571,-109.246933
+85928,AZ,Heber,34.4163,-110.568647
+85929,AZ,Lakeside,34.166224,-109.986878
+85935,AZ,Pinetop,34.117459,-109.919668
+85936,AZ,Saint Johns,34.501008,-109.379617
+85937,AZ,Snowflake,34.495859,-110.080742
+85938,AZ,Springerville,34.119333,-109.304066
+86001,AZ,Flagstaff,35.185911,-111.661979
+86004,AZ,Flagstaff,35.225736,-111.574109
+86021,AZ,Colorado City,36.976266,-112.952427
+86022,AZ,Fredonia,36.904397,-112.497864
+86025,AZ,Holbrook,34.908451,-110.143412
+86030,AZ,Hotevilla,36.211141,-110.566107
+86033,AZ,Kayenta,36.688327,-110.265229
+86034,AZ,Keams Canyon,35.808206,-110.284461
+86035,AZ,Leupp,35.336528,-110.992651
+86036,AZ,Marble Canyon,36.956943,-111.558166
+86038,AZ,Mormon Lake,34.916896,-111.454914
+86039,AZ,Kykotsmovi Villa,35.579084,-110.368805
+86040,AZ,Greenehaven,36.896625,-111.43847
+86042,AZ,Polacca,35.811812,-110.51114
+86043,AZ,Second Mesa,35.903782,-110.6472
+86044,AZ,Tonalea,35.934555,-110.882042
+86045,AZ,Tuba City,36.103729,-111.268566
+86046,AZ,Williams,35.543398,-112.17075
+86047,AZ,Winslow,35.16078,-110.511382
+86053,AZ,Kaibito,36.484798,-111.136973
+86054,AZ,Shonto,36.61594,-110.647743
+86301,AZ,Prescott,34.629909,-113.022459
+86303,AZ,Groom Creek,34.558577,-112.473459
+86314,AZ,Prescott Valley,34.601934,-112.326378
+86320,AZ,Ash Fork,35.214998,-112.502681
+86321,AZ,Bagdad,34.578484,-113.175535
+86322,AZ,Camp Verde,34.569733,-111.855131
+86323,AZ,Chino Valley,34.775739,-112.473099
+86324,AZ,Clarkdale,34.747793,-112.033417
+86325,AZ,Cornville,34.725593,-111.908556
+86326,AZ,Cottonwood,34.705547,-112.009099
+86327,AZ,Dewey,34.536753,-112.256665
+86332,AZ,Kirkland,34.454149,-112.896641
+86333,AZ,Mayer,34.365535,-112.129551
+86334,AZ,Paulden,35.03129,-112.544105
+86335,AZ,Rimrock,34.63799,-111.784222
+86336,AZ,Sedona,34.826645,-111.750627
+86337,AZ,Seligman,35.321246,-112.954805
+86343,AZ,Crown King,34.224062,-112.333971
+86401,AZ,Kingman,35.258379,-114.05689
+86403,AZ,Desert Hills,34.492879,-114.308083
+86412,AZ,Hualapai,35.540732,-113.295324
+86430,AZ,Bullhead City,35.014832,-114.588816
+86432,AZ,Littlefield,36.866524,-113.913693
+86434,AZ,Peach Springs,35.537795,-113.420199
+86435,AZ,Supai,36.224157,-112.693212
+86436,AZ,Topock,34.778388,-114.481666
+86440,AZ,Mohave Valley,34.892942,-114.595115
+86441,AZ,Dolan Springs,35.774789,-114.547771
+86442,AZ,Bullhead City,35.106001,-114.594737
+86444,AZ,Meadview,35.813733,-114.327696
+86502,AZ,Chambers,35.143044,-109.37389
+86503,AZ,Chinle,36.130367,-109.603693
+86505,AZ,Ganado,35.651844,-109.283168
+86507,AZ,Lukachukai,36.418111,-109.244614
+86509,AZ,Navajo,34.817202,-109.396217
+86510,AZ,Pinon,36.100243,-110.221077
+86514,AZ,Teec Nos Pos,36.779694,-109.359039
+86535,AZ,Dennehotso,36.777286,-109.861001
+86538,AZ,Many Farms,36.408259,-109.634021
+86556,AZ,Tsaile,36.307075,-109.217627
+71601,AR,North Cedar,34.215405,-91.995812
+71602,AR,Dollarway,34.257001,-92.089718
+71603,AR,Pine Bluff,34.189745,-92.044786
+71630,AR,Arkansas City,33.614328,-91.232529
+71631,AR,Banks,33.549665,-92.260386
+71635,AR,North,33.152369,-91.959152
+71638,AR,Dermott,33.524054,-91.439391
+71639,AR,Dumas,33.892102,-91.486056
+71640,AR,Eudora,33.12135,-91.271552
+71642,AR,Fountain Hill,33.342951,-91.835627
+71643,AR,Gould,34.034503,-91.576798
+71644,AR,Tamo,34.030484,-91.67082
+71646,AR,Hamburg,33.2058,-91.802265
+71647,AR,Ingalls,33.422207,-92.127714
+71651,AR,Jersey,33.388914,-92.296613
+71652,AR,Kingsland,33.86002,-92.301415
+71653,AR,Lake Village,33.327408,-91.282487
+71654,AR,Mc Gehee,33.62971,-91.392781
+71655,AR,Monticello,33.624951,-91.794845
+71658,AR,Montrose,33.307516,-91.522776
+71660,AR,New Edinburg,33.758846,-92.193909
+71661,AR,Parkdale,33.121267,-91.542793
+71662,AR,Pickens,33.807923,-91.39157
+71663,AR,Portland,33.231773,-91.513935
+71665,AR,Rison,33.945325,-92.118762
+71666,AR,Rohwer,33.616003,-91.205124
+71667,AR,Star City,33.940528,-91.865343
+71670,AR,Reed,33.67479,-91.520287
+71671,AR,Warren,33.613983,-92.077824
+71674,AR,Watson,33.890737,-91.281455
+71675,AR,Wilmar,33.621296,-91.925697
+71676,AR,Wilmot,33.057557,-91.572283
+71677,AR,Winchester,33.752039,-91.543059
+71678,AR,Yorktown,34.017166,-91.796472
+71701,AR,East Camden,33.575866,-92.833386
+71720,AR,Bearden,33.729797,-92.61802
+71722,AR,Bluff City,33.698191,-93.186811
+71725,AR,Carthage,34.063625,-92.62623
+71726,AR,Reader,33.700148,-93.018716
+71730,AR,El Dorado,33.20735,-92.662856
+71740,AR,Emerson,33.089054,-93.198699
+71742,AR,Fordyce,33.817648,-92.422475
+71743,AR,Gurdon,33.912493,-93.141691
+71744,AR,Hampton,33.537613,-92.52951
+71745,AR,Harrell,33.510865,-92.391243
+71747,AR,Huttig,33.045888,-92.194153
+71748,AR,Ivan,33.902984,-92.439406
+71749,AR,Junction City,33.043965,-92.684254
+71751,AR,Louann,33.411744,-92.782759
+71752,AR,Mc Neil,33.36222,-93.193006
+71753,AR,Magnolia,33.264678,-93.239153
+71758,AR,Mount Holly,33.308534,-92.944265
+71759,AR,Norphlet,33.309619,-92.657619
+71762,AR,Smackover,33.339831,-92.74425
+71763,AR,Manning,33.902989,-92.810984
+71764,AR,Stephens,33.455044,-93.021391
+71765,AR,Strong,33.119526,-92.362104
+71766,AR,Thornton,33.767694,-92.468299
+71767,AR,Tinsman,33.643436,-92.382192
+71769,AR,Village,33.281849,-93.046404
+71770,AR,Waldo,33.360017,-93.294915
+71801,AR,Perrytown,33.656645,-93.590305
+71822,AR,Ashdown,33.678711,-94.135102
+71825,AR,Blevins,33.875468,-93.536035
+71826,AR,Bradley,33.106963,-93.627496
+71827,AR,Buckner,33.375323,-93.446998
+71828,AR,Cale,33.616403,-93.26497
+71831,AR,Columbus,33.745108,-93.85588
+71832,AR,De Queen,34.044206,-94.338559
+71833,AR,Dierks,34.13232,-94.015243
+71834,AR,Doddridge,33.105448,-93.954307
+71835,AR,Emmet,33.692896,-93.423242
+71836,AR,Foreman,33.71759,-94.388108
+71837,AR,Fouke,33.302476,-93.900953
+71838,AR,Fulton,33.629876,-93.808562
+71839,AR,Garland City,33.335161,-93.731624
+71841,AR,Gillham,34.157003,-94.316497
+71842,AR,Horatio,33.939221,-94.295942
+71845,AR,Lewisville,33.373603,-93.595258
+71846,AR,Lockesburg,33.930553,-94.127588
+71847,AR,Mc Caskill,33.923042,-93.626605
+71851,AR,Mineral Springs,33.863852,-93.918828
+71852,AR,Nashville,33.957646,-93.870709
+71853,AR,Ogden,33.585706,-94.027826
+71855,AR,Ozan,33.902775,-93.771443
+71857,AR,Prescott,33.804029,-93.372544
+71858,AR,Rosston,33.561693,-93.303891
+71859,AR,Saratoga,33.759883,-93.876723
+71860,AR,Stamps,33.356877,-93.501307
+71861,AR,Taylor,33.107957,-93.446019
+71862,AR,Washington,33.754596,-93.673529
+71864,AR,Willisville,33.484731,-93.31212
+71865,AR,Wilton,33.734794,-94.135746
+71866,AR,Winthrop,33.858321,-94.395174
+71901,AR,Lake Catherine,34.501475,-93.026024
+71909,AR,Hot Springs Vill,34.65862,-93.006386
+71913,AR,Lake Hamilton,34.473304,-93.109177
+71921,AR,Amity,34.259362,-93.420551
+71922,AR,Antoine,34.028296,-93.437169
+71923,AR,Arkadelphia,34.11525,-93.068989
+71929,AR,Bismarck,34.311033,-93.187236
+71931,AR,Blakely,34.703957,-93.063509
+71933,AR,Bonnerdale,34.349751,-93.319415
+71935,AR,Caddo Gap,34.397579,-93.586376
+71937,AR,Cove,34.419159,-94.39234
+71940,AR,Delight,34.023772,-93.524666
+71941,AR,Donaldson,34.221221,-92.909384
+71942,AR,Friendship,34.241225,-92.980393
+71943,AR,Glenwood,34.319207,-93.555881
+71944,AR,Grannis,34.237021,-94.3255
+71945,AR,Hatfield,34.487703,-94.371397
+71949,AR,Jessieville,34.693729,-93.196318
+71950,AR,Kirby,34.255153,-93.616716
+71952,AR,Langley,34.314035,-93.850942
+71953,AR,Mena,34.581435,-94.220984
+71956,AR,Buckville,34.577182,-93.160041
+71957,AR,Mount Ida,34.561194,-93.574904
+71958,AR,Murfreesboro,34.101734,-93.710903
+71959,AR,Newhope,34.227347,-93.890487
+71960,AR,Norman,34.459633,-93.674304
+71961,AR,Oden,34.611292,-93.821103
+71962,AR,Okolona,34.055138,-93.289679
+71964,AR,Pearcy,34.435092,-93.242015
+71965,AR,Pencil Bluff,34.639946,-93.742947
+71968,AR,Royal,34.515049,-93.289734
+71969,AR,Sims,34.646181,-93.674071
+71970,AR,Story,34.668695,-93.537587
+71971,AR,Umpire,34.292129,-94.031377
+71972,AR,Vandervoort,34.379535,-94.369788
+71973,AR,Wickes,34.308806,-94.340257
+72001,AR,Adona,35.046956,-92.903325
+72002,AR,Alexander,34.631266,-92.472673
+72003,AR,Almyra,34.41459,-91.430992
+72004,AR,Altheimer,34.306168,-91.828916
+72005,AR,Amagon,35.561559,-91.079636
+72006,AR,Augusta,35.278806,-91.352653
+72007,AR,Austin,35.028369,-91.959398
+72010,AR,Bald Knob,35.311331,-91.550197
+72011,AR,Bauxite,34.545537,-92.360531
+72012,AR,Beebe,35.093743,-91.907449
+72013,AR,Bee Branch,35.423367,-92.408523
+72014,AR,Beedeville,35.420267,-91.106371
+72015,AR,Benton,34.580087,-92.595241
+72016,AR,Bigelow,34.984659,-92.630842
+72017,AR,Biscoe,34.833706,-91.490028
+72020,AR,Bradford,35.427655,-91.518973
+72021,AR,Brinkley,34.878124,-91.188596
+72022,AR,Bryant,34.606786,-92.492015
+72023,AR,Cabot,34.945724,-92.031771
+72024,AR,Carlisle,34.793291,-91.745929
+72025,AR,Casa,35.032168,-93.047005
+72026,AR,Casscoe,34.473625,-91.324798
+72027,AR,Center Ridge,35.398063,-92.558167
+72028,AR,Choctaw,35.523528,-92.426412
+72029,AR,Clarendon,34.660138,-91.256426
+72030,AR,Cleveland,35.358328,-92.712821
+72031,AR,Clinton,35.604537,-92.475825
+72032,AR,Conway,35.084199,-92.423574
+72036,AR,Cotton Plant,35.017827,-91.229043
+72038,AR,Crocketts Bluff,34.425272,-91.232079
+72039,AR,Twin Groves,35.291042,-92.432952
+72040,AR,Des Arc,34.97507,-91.511342
+72041,AR,De Valls Bluff,34.744704,-91.498218
+72042,AR,De Witt,34.285312,-91.333627
+72044,AR,Edgemont,35.623006,-92.199471
+72045,AR,El Paso,35.114176,-92.090076
+72046,AR,England,34.557458,-91.948422
+72047,AR,Enola,35.208705,-92.212328
+72048,AR,Ethel,34.243525,-91.139839
+72051,AR,Fox,35.768208,-92.304266
+72052,AR,Garner,35.130305,-91.742884
+72055,AR,Gillett,34.121838,-91.380048
+72057,AR,Grapevine,34.130893,-92.310944
+72058,AR,Greenbrier,35.229547,-92.357792
+72060,AR,Griffithville,35.114383,-91.624234
+72061,AR,Guy,35.318487,-92.331539
+72063,AR,Hattieville,35.290713,-92.778317
+72064,AR,Hazen,34.783833,-91.576699
+72065,AR,Hensley,34.591133,-92.214019
+72066,AR,Hickory Plains,34.978642,-91.750844
+72067,AR,Greers Ferry,35.549812,-92.182284
+72068,AR,Higginson,35.188254,-91.71828
+72069,AR,Holly Grove,34.599294,-91.184376
+72070,AR,Houston,35.036209,-92.691319
+72072,AR,Humnoke,34.541896,-91.756616
+72073,AR,Humphrey,34.403387,-91.67896
+72076,AR,Gravel Ridge,34.881985,-92.130435
+72079,AR,Jefferson,34.355285,-92.148574
+72080,AR,Jerusalem,35.37975,-92.813886
+72081,AR,Judsonia,35.324954,-91.649087
+72082,AR,Kensett,35.229939,-91.669672
+72083,AR,Keo,34.604072,-92.007844
+72084,AR,Leola,34.185605,-92.597865
+72086,AR,Lonoke,34.783162,-91.921367
+72087,AR,Lonsdale,34.556203,-92.834034
+72101,AR,Mc Crory,35.247292,-91.179327
+72102,AR,Mc Rae,35.11322,-91.821551
+72103,AR,Shannon Hills,34.621756,-92.384618
+72104,AR,Malvern,34.355715,-92.829162
+72105,AR,Jones Mills,34.453624,-92.861975
+72106,AR,Mayflower,34.966853,-92.400102
+72110,AR,Morrilton,35.169227,-92.735436
+72111,AR,Mount Vernon,35.260613,-92.137334
+72112,AR,Newport,35.598823,-91.257064
+72113,AR,Maumelle,34.849085,-92.405892
+72114,AR,North Little Roc,34.766974,-92.265376
+72116,AR,Sherwood,34.807629,-92.237359
+72117,AR,North Little Roc,34.776305,-92.194604
+72118,AR,Camp Joseph T Ro,34.821598,-92.307875
+72120,AR,North Little Roc,34.859292,-92.214169
+72121,AR,Pangburn,35.421583,-91.795971
+72122,AR,Paron,34.785289,-92.748176
+72125,AR,Perry,35.042732,-92.787976
+72126,AR,Perryville,34.970096,-92.847171
+72127,AR,Plumerville,35.157466,-92.620435
+72128,AR,Poyen,34.350828,-92.599037
+72129,AR,Prattsville,34.307865,-92.513105
+72130,AR,Prim,35.685733,-92.134596
+72131,AR,Quitman,35.404988,-92.133334
+72132,AR,Redfield,34.452647,-92.17579
+72133,AR,Reydell,34.143281,-91.550395
+72134,AR,Roe,34.628592,-91.377058
+72135,AR,Roland,34.88287,-92.519152
+72136,AR,Romance,35.215462,-92.06985
+72137,AR,Rose Bud,35.321447,-92.061988
+72140,AR,Saint Charles,34.335296,-91.16808
+72141,AR,Scotland,35.507956,-92.586652
+72142,AR,Scott,34.694215,-92.11566
+72143,AR,Georgetown,35.253512,-91.762931
+72150,AR,Sheridan,34.316527,-92.365713
+72152,AR,Sherrill,34.358148,-91.993285
+72153,AR,Shirley,35.573259,-92.29751
+72156,AR,Solgohachia,35.270056,-92.675387
+72157,AR,Springfield,35.274879,-92.54567
+72160,AR,Stuttgart,34.485358,-91.548742
+72165,AR,Thida,35.553556,-91.461823
+72166,AR,Tichnor,34.089311,-91.243684
+72167,AR,Traskwood,34.450791,-92.654734
+72168,AR,Tucker,34.441442,-91.916265
+72170,AR,Ulm,34.579938,-91.51343
+72173,AR,Vilonia,35.071895,-92.183235
+72175,AR,Wabbaseka,34.393552,-91.754948
+72176,AR,Ward,34.95316,-91.900383
+72179,AR,Wilburn,35.454547,-91.907248
+72181,AR,Wooster,35.197308,-92.450998
+72182,AR,Wright,34.437656,-92.06308
+72201,AR,Little Rock,34.748342,-92.281939
+72202,AR,Little Rock,34.736322,-92.274067
+72204,AR,Little Rock,34.726904,-92.344041
+72205,AR,Little Rock,34.750971,-92.345512
+72206,AR,Little Rock,34.683599,-92.277606
+72207,AR,Little Rock,34.772121,-92.356481
+72208,AR,Ferndale,34.781575,-92.585581
+72209,AR,Little Rock,34.672509,-92.352919
+72210,AR,Little Rock,34.707625,-92.465981
+72211,AR,Little Rock,34.758819,-92.431485
+72212,AR,Little Rock,34.787076,-92.422232
+72301,AR,West Memphis,35.148442,-90.17792
+72310,AR,Armorel,35.942843,-89.758118
+72311,AR,Aubrey,34.702727,-90.911331
+72313,AR,Bassett,35.513808,-90.192155
+72314,AR,Birdeye,35.409571,-90.67074
+72315,AR,Blytheville A F,35.934482,-89.922497
+72320,AR,Brickeys,34.854814,-90.537738
+72321,AR,Burdette,35.814769,-89.942312
+72324,AR,Cherry Valley,35.399122,-90.761329
+72326,AR,Colt,35.096062,-90.787204
+72327,AR,Crawfordsville,35.211873,-90.335107
+72328,AR,Crumrod,34.216167,-90.949535
+72329,AR,Driver,35.559714,-89.960526
+72330,AR,Dyess,35.595394,-90.215716
+72331,AR,Earle,35.27989,-90.450261
+72332,AR,Edmondson,35.022309,-90.328672
+72333,AR,Elaine,34.308668,-90.873485
+72335,AR,Forrest City,35.009129,-90.788572
+72338,AR,Frenchmans Bayou,35.478419,-90.055933
+72339,AR,Gilmore,35.386408,-90.264664
+72340,AR,Goodwin,34.959149,-90.983518
+72341,AR,Haynes,34.883752,-90.766621
+72342,AR,Helena,34.532491,-90.629784
+72346,AR,Heth,35.097335,-90.458554
+72347,AR,Hickory Ridge,35.399457,-90.982283
+72348,AR,Hughes,34.945416,-90.474142
+72350,AR,Joiner,35.505239,-90.14779
+72351,AR,Keiser,35.678626,-90.096171
+72354,AR,Lepanto,35.606909,-90.335883
+72355,AR,Lexa,34.672694,-90.78532
+72358,AR,Luxora,35.760786,-89.92204
+72360,AR,Marianna,34.775929,-90.77852
+72364,AR,Marion,35.2077,-90.198908
+72365,AR,Marked Tree,35.534933,-90.419387
+72366,AR,Marvell,34.548541,-90.941322
+72367,AR,Mellwood,34.220032,-91.008589
+72368,AR,Moro,34.802953,-91.006026
+72369,AR,Oneida,34.405267,-90.826045
+72370,AR,Osceola,35.701864,-89.979764
+72372,AR,Palestine,34.966346,-90.904929
+72373,AR,Parkin,35.258557,-90.556417
+72374,AR,Poplar Grove,34.539397,-90.881274
+72376,AR,Proctor,35.083396,-90.255026
+72379,AR,Snow Lake,34.066466,-91.007083
+72381,AR,Tomato,35.806666,-89.787092
+72384,AR,Turrell,35.296936,-90.262979
+72386,AR,Tyronza,35.486477,-90.351944
+72390,AR,West Helena,34.549635,-90.654531
+72392,AR,Wheatley,34.920703,-91.108645
+72394,AR,Widener,35.059167,-90.629313
+72395,AR,Wilson,35.566004,-90.042749
+72396,AR,Wynne,35.233036,-90.79303
+72397,AR,Fair Oaks,35.236817,-91.014304
+72401,AR,Jonesboro,35.833016,-90.696526
+72410,AR,Alicia,35.942327,-91.081003
+72411,AR,Bay,35.74559,-90.550658
+72412,AR,Beech Grove,36.183172,-90.618084
+72413,AR,Biggers,36.342978,-90.784467
+72414,AR,Black Oak,35.835851,-90.354227
+72415,AR,Black Rock,36.114874,-91.117629
+72416,AR,Bono,35.908592,-90.784753
+72417,AR,Brookland,35.91647,-90.576228
+72419,AR,Caraway,35.758951,-90.335797
+72421,AR,Cash,35.830145,-90.941007
+72422,AR,Corning,36.415532,-90.58702
+72424,AR,Datto,36.389685,-90.723117
+72425,AR,Delaplaine,36.199485,-90.734482
+72426,AR,Dell,35.850118,-90.035449
+72428,AR,Etowah,35.714707,-90.218172
+72429,AR,Fisher,35.513956,-90.955001
+72430,AR,Greenway,36.334766,-90.225257
+72432,AR,Harrisburg,35.572222,-90.703752
+72433,AR,Hoxie,36.032573,-90.971504
+72434,AR,Imboden,36.19763,-91.185442
+72435,AR,Knobel,36.317647,-90.599048
+72436,AR,Lafe,36.21547,-90.506973
+72437,AR,Lake City,35.81715,-90.442327
+72438,AR,Leachville,35.933216,-90.195488
+72440,AR,Lynn,36.016639,-91.254588
+72441,AR,Mc Dougal,36.379909,-90.394093
+72442,AR,Roseland,35.874885,-90.180252
+72443,AR,Marmaduke,36.195117,-90.38368
+72444,AR,Maynard,36.438563,-90.874921
+72445,AR,Minturn,35.976096,-91.033704
+72447,AR,Monette,35.900168,-90.343658
+72449,AR,O Kean,36.179672,-90.824069
+72450,AR,Paragould,36.060033,-90.525093
+72453,AR,Peach Orchard,36.283045,-90.670217
+72454,AR,Piggott,36.386993,-90.19261
+72455,AR,Pocahontas,36.282876,-90.996782
+72456,AR,Pollard,36.431725,-90.275123
+72457,AR,Portia,36.080699,-91.068004
+72458,AR,Powhatan,36.080044,-91.148214
+72459,AR,Ravenden,36.202863,-91.25934
+72460,AR,Ravenden Springs,36.310384,-91.209433
+72461,AR,Rector,36.267177,-90.270201
+72464,AR,Saint Francis,36.454771,-90.144991
+72465,AR,Sedgwick,35.985965,-90.880099
+72466,AR,Smithville,36.090815,-91.274456
+72467,AR,State University,35.914894,-90.454245
+72469,AR,Calamine,35.972622,-91.375398
+72470,AR,Success,36.453615,-90.728128
+72471,AR,Swifton,35.827366,-91.126358
+72472,AR,Payneway,35.668914,-90.518738
+72473,AR,Tuckerman,35.730678,-91.200347
+72476,AR,College City,36.077814,-90.952809
+72478,AR,Warm Springs,36.467531,-91.038707
+72479,AR,Weiner,35.629052,-90.928928
+72482,AR,Williford,36.245335,-91.379226
+72501,AR,Batesville,35.782614,-91.63519
+72512,AR,Horseshoe Bend,36.202502,-91.755334
+72513,AR,Agnos,36.219732,-91.610746
+72515,AR,Bexar,36.306103,-91.985998
+72516,AR,Boswell,36.01084,-92.044307
+72517,AR,Brockwell,36.135755,-91.951308
+72519,AR,Jordan,36.144771,-92.145494
+72520,AR,Camp,36.402531,-91.726166
+72521,AR,Cave City,35.951684,-91.544432
+72522,AR,Charlotte,35.833393,-91.396217
+72523,AR,Concord,35.641355,-91.833339
+72524,AR,Cord,35.81844,-91.337455
+72526,AR,Cushman,35.869663,-91.776455
+72527,AR,Desha,35.731524,-91.678287
+72528,AR,Dolph,36.222878,-92.11766
+72529,AR,Cherokee Village,36.30114,-91.528075
+72530,AR,Drasco,35.661606,-91.939818
+72531,AR,Elizabeth,36.323776,-92.093366
+72532,AR,Evening Shade,36.085532,-91.598014
+72533,AR,Fifty Six,35.991958,-92.218169
+72534,AR,Floral,35.602337,-91.734101
+72536,AR,Franklin,36.129093,-91.809592
+72537,AR,Gamaliel,36.461794,-92.228447
+72538,AR,Gepp,36.436443,-92.099507
+72539,AR,Glencoe,36.288962,-91.769483
+72540,AR,Guion,35.960135,-91.934287
+72542,AR,Hardy,36.322746,-91.411027
+72543,AR,Heber Springs,35.510278,-92.039211
+72544,AR,Henderson,36.356829,-92.269253
+72546,AR,Ida,35.594326,-91.930081
+72550,AR,Locust Grove,35.717705,-91.741443
+72553,AR,Magness,35.710062,-91.485041
+72554,AR,Mammoth Spring,36.407648,-91.575712
+72555,AR,Marcella,35.749654,-91.941891
+72556,AR,Zion,36.059958,-91.905196
+72557,AR,Moko,36.468902,-91.858663
+72560,AR,Hanover,35.865769,-92.114762
+72561,AR,Mount Pleasant,35.975909,-91.785013
+72562,AR,Newark,35.71183,-91.439395
+72564,AR,Oil Trough,35.613147,-91.470305
+72565,AR,Oxford,36.211408,-91.925849
+72566,AR,Pineville,36.167704,-92.107299
+72567,AR,Pleasant Grove,35.842349,-91.931905
+72568,AR,Pleasant Plains,35.589301,-91.632043
+72569,AR,Poughkeepsie,36.071526,-91.451575
+72571,AR,Rosie,35.663816,-91.534003
+72572,AR,Saffell,35.917957,-91.297753
+72573,AR,Sage,36.042476,-91.824569
+72575,AR,Salado,35.703493,-91.597924
+72576,AR,Byron,36.365401,-91.836321
+72577,AR,Sidney,35.991554,-91.634593
+72578,AR,Sturkie,36.463869,-91.989917
+72579,AR,Sulphur Rock,35.754466,-91.507333
+72581,AR,Tumbling Shoals,35.546985,-91.970359
+72583,AR,Viola,36.392429,-91.993198
+72584,AR,Violet Hill,36.162966,-91.847064
+72585,AR,Wideman,36.198739,-92.001796
+72587,AR,Wiseman,36.228022,-91.849499
+72601,AR,Harrison,36.241707,-93.106162
+72610,AR,Alco,35.894511,-92.380753
+72611,AR,Alpena,36.299768,-93.2792
+72612,AR,Bass,35.892225,-92.999832
+72616,AR,Berryville,36.351908,-93.558725
+72617,AR,Big Flat,36.006824,-92.391681
+72618,AR,Bruno,36.124617,-92.763651
+72619,AR,Bull Shoals,36.370958,-92.593765
+72623,AR,Clarkridge,36.443311,-92.35159
+72624,AR,Compton,36.097941,-93.309903
+72626,AR,Cotter,36.280378,-92.532787
+72628,AR,Deer,35.852982,-93.317388
+72629,AR,Dennard,35.725236,-92.557456
+72632,AR,Eureka Springs,36.417465,-93.737915
+72633,AR,Everton,36.153366,-92.914989
+72634,AR,Flippin,36.268219,-92.577995
+72635,AR,Gassville,36.317525,-92.473637
+72638,AR,Green Forest,36.322408,-93.405875
+72639,AR,Harriet,35.974187,-92.50055
+72640,AR,Hasty,36.015229,-93.045966
+72641,AR,Jasper,36.003798,-93.204771
+72642,AR,Lakeview,36.397308,-92.504416
+72644,AR,Lead Hill,36.430886,-92.930194
+72645,AR,Leslie,35.82716,-92.566293
+72648,AR,Dogpatch,36.095121,-93.144822
+72650,AR,Marshall,35.926697,-92.640203
+72651,AR,Midway,36.290454,-92.431398
+72653,AR,Mountain Home,36.331153,-92.375337
+72655,AR,Mount Judea,35.834674,-93.082391
+72657,AR,Timbo,35.896338,-92.252536
+72658,AR,Norfork,36.206571,-92.273011
+72660,AR,Oak Grove,36.461347,-93.432129
+72661,AR,Oakland,36.444227,-92.583187
+72662,AR,Omaha,36.46123,-93.188753
+72663,AR,Onia,35.940339,-92.345859
+72666,AR,Parthenon,35.940836,-93.267776
+72668,AR,Peel,36.444374,-92.776143
+72669,AR,Pindall,36.067479,-92.886409
+72670,AR,Ponca,36.066225,-93.401985
+72675,AR,Saint Joe,35.987707,-92.792828
+72679,AR,Tilly,35.6976,-92.844209
+72680,AR,Newnata,35.855318,-92.337929
+72682,AR,Valley Springs,36.146823,-92.979937
+72683,AR,Vendor,35.948062,-93.100815
+72685,AR,Western Grove,36.082994,-92.971649
+72686,AR,Witts Springs,35.785514,-92.815518
+72687,AR,Yellville,36.225322,-92.724472
+72701,AR,Fayetteville,36.052045,-94.153395
+72703,AR,Fayetteville,36.099183,-94.17163
+72712,AR,Bentonville,36.357703,-94.22242
+72714,AR,Bella Vista,36.465086,-94.251969
+72716,AR,Wal-Mart Inc,36.326554,-94.181483
+72717,AR,Canehill,35.910992,-94.3862
+72718,AR,Cave Springs,36.266771,-94.207836
+72719,AR,Centerton,36.366993,-94.30891
+72721,AR,Combs,35.848297,-93.825218
+72722,AR,Decatur,36.334749,-94.453411
+72727,AR,Elkins,36.017719,-94.007323
+72729,AR,Evansville,35.819345,-94.478936
+72730,AR,Farmington,36.043635,-94.253871
+72732,AR,Garfield,36.428817,-93.951197
+72733,AR,Gateway,36.485751,-93.935016
+72734,AR,Gentry,36.26516,-94.475131
+72735,AR,Goshen,36.107523,-93.987262
+72736,AR,Gravette,36.415513,-94.477862
+72738,AR,Hindsville,36.142206,-93.863339
+72739,AR,Hiwasse,36.441589,-94.338993
+72740,AR,Huntsville,36.104348,-93.727893
+72742,AR,Kingston,36.04845,-93.504357
+72744,AR,Lincoln,35.956931,-94.42724
+72745,AR,Lowell,36.243318,-94.082725
+72747,AR,Maysville,36.401062,-94.581278
+72749,AR,Morrow,35.85373,-94.425793
+72751,AR,Pea Ridge,36.453884,-94.118026
+72752,AR,Pettigrew,35.834562,-93.618079
+72753,AR,Prairie Grove,35.991809,-94.316861
+72756,AR,Rogers,36.336316,-94.114784
+72760,AR,Saint Paul,35.849576,-93.734743
+72761,AR,Siloam Springs,36.179969,-94.528036
+72762,AR,Springdale,36.183521,-94.176216
+72764,AR,Bethel Heights,36.177918,-94.104682
+72768,AR,Sulphur Springs,36.479434,-94.452069
+72769,AR,Summers,36.013827,-94.500027
+72773,AR,Wesley,35.957264,-93.911478
+72774,AR,West Fork,35.908153,-94.230375
+72776,AR,Witter,35.935583,-93.621
+72801,AR,Russellville,35.284208,-93.131476
+72820,AR,Alix,35.430767,-93.726416
+72821,AR,Altus,35.404873,-93.811494
+72823,AR,Atkins,35.244948,-92.950696
+72824,AR,Belleville,35.103762,-93.451817
+72826,AR,Blue Mountain,35.130386,-93.716797
+72827,AR,Bluffton,34.901635,-93.591946
+72828,AR,Briggsville,34.916065,-93.515748
+72830,AR,Clarksville,35.490763,-93.491056
+72832,AR,Coal Hill,35.437117,-93.67203
+72833,AR,Danville,35.049541,-93.392933
+72834,AR,Dardanelle,35.195507,-93.187316
+72835,AR,Delaware,35.278005,-93.346152
+72837,AR,Dover,35.407356,-93.135526
+72838,AR,Gravelly,34.888123,-93.680249
+72839,AR,Hagarville,35.523291,-93.344256
+72840,AR,Hartman,35.443583,-93.614196
+72841,AR,Harvey,34.867912,-93.752538
+72842,AR,Waveland,35.111845,-93.576719
+72843,AR,Hector,35.40574,-92.965559
+72845,AR,Knoxville,35.374897,-93.361797
+72846,AR,Lamar,35.434868,-93.355157
+72847,AR,London,35.337017,-93.238907
+72851,AR,New Blaine,35.318912,-93.44457
+72852,AR,Oark,35.709454,-93.558531
+72853,AR,Ola,35.03091,-93.21356
+72854,AR,Ozone,35.657478,-93.43111
+72855,AR,Paris,35.294149,-93.726469
+72856,AR,Pelsor,35.691158,-93.016088
+72857,AR,Plainview,34.966793,-93.309897
+72858,AR,Pottsville,35.239785,-93.056386
+72860,AR,Rover,34.947522,-93.401728
+72863,AR,Scranton,35.330816,-93.539362
+72865,AR,Subiaco,35.31346,-93.63869
+72901,AR,Fort Smith,35.365272,-94.411035
+72903,AR,Fort Smith,35.342673,-94.378361
+72904,AR,Fort Smith,35.405122,-94.38723
+72905,AR,Fort Chaffee,35.297366,-94.340521
+72916,AR,Fort Smith,35.250175,-94.370308
+72921,AR,Alma,35.500043,-94.207337
+72923,AR,Barling,35.332963,-94.308226
+72924,AR,Bates,34.909295,-94.393155
+72926,AR,Boles,34.765363,-94.062864
+72927,AR,Booneville,35.136385,-93.927433
+72928,AR,Branch,35.297055,-93.94537
+72930,AR,Cecil,35.434176,-93.942932
+72932,AR,Cedarville,35.590231,-94.344618
+72933,AR,Charleston,35.311502,-94.03368
+72934,AR,Chester,35.689776,-94.202026
+72936,AR,Greenwood,35.195476,-94.253027
+72937,AR,Hackett,35.194476,-94.398328
+72938,AR,Hartford,35.022233,-94.381876
+72940,AR,Huntington,35.096267,-94.331283
+72941,AR,Central City,35.337513,-94.165637
+72943,AR,Magazine,35.15873,-93.800336
+72944,AR,Mansfield,35.0432,-94.22036
+72946,AR,Mountainburg,35.570027,-94.109094
+72947,AR,Mulberry,35.517246,-93.988505
+72948,AR,Natural Dam,35.674259,-94.412377
+72949,AR,Ozark,35.524645,-93.837423
+72950,AR,Parks,34.800333,-93.950913
+72951,AR,Ratcliff,35.276032,-93.842149
+72952,AR,Rudy,35.539805,-94.237376
+72955,AR,Uniontown,35.574822,-94.43487
+72956,AR,Van Buren,35.453989,-94.327762
+72958,AR,Waldron,34.902642,-94.077243
+72959,AR,Winslow,35.831206,-94.118657
+75502,AR,Texarkana,33.432644,-94.011281
+90001,CA,Los Angeles,33.973093,-118.247896
+90002,CA,Los Angeles,33.94969,-118.246213
+90003,CA,Los Angeles,33.965335,-118.272739
+90004,CA,Los Angeles,34.076163,-118.302863
+90005,CA,Los Angeles,34.058508,-118.301197
+90006,CA,Los Angeles,34.049323,-118.291687
+90007,CA,Los Angeles,34.029442,-118.287095
+90008,CA,Los Angeles,34.011643,-118.341123
+90010,CA,Los Angeles,34.060633,-118.302664
+90011,CA,Los Angeles,34.007856,-118.258189
+90012,CA,Los Angeles,34.061396,-118.238479
+90013,CA,Los Angeles,34.044841,-118.243366
+90014,CA,Los Angeles,34.044272,-118.250937
+90015,CA,Los Angeles,34.043439,-118.271613
+90016,CA,Los Angeles,34.029826,-118.352787
+90017,CA,Los Angeles,34.055864,-118.266582
+90018,CA,Los Angeles,34.028972,-118.315173
+90019,CA,Los Angeles,34.048158,-118.33426
+90020,CA,Los Angeles,34.066535,-118.302211
+90021,CA,Los Angeles,34.033303,-118.244698
+90022,CA,East Los Angeles,34.023638,-118.155319
+90023,CA,Los Angeles,34.024478,-118.197498
+90024,CA,Los Angeles,34.063691,-118.440796
+90025,CA,Los Angeles,34.044662,-118.448717
+90026,CA,Los Angeles,34.076629,-118.264641
+90027,CA,Los Angeles,34.104031,-118.292516
+90028,CA,Los Angeles,34.100549,-118.325363
+90029,CA,Los Angeles,34.089982,-118.294393
+90031,CA,Los Angeles,34.078349,-118.211279
+90032,CA,Los Angeles,34.081785,-118.175323
+90033,CA,Los Angeles,34.048676,-118.208442
+90034,CA,Los Angeles,34.028977,-118.400482
+90035,CA,Los Angeles,34.053096,-118.380615
+90036,CA,Los Angeles,34.069888,-118.349175
+90037,CA,Los Angeles,34.002982,-118.286284
+90038,CA,Los Angeles,34.089769,-118.321489
+90039,CA,Los Angeles,34.112089,-118.259428
+90040,CA,City Of Commerce,33.99471,-118.151352
+90041,CA,Los Angeles,34.133932,-118.208205
+90042,CA,Los Angeles,34.114527,-118.192902
+90043,CA,Los Angeles,33.987099,-118.33211
+90044,CA,Los Angeles,33.955089,-118.290119
+90045,CA,Los Angeles,33.963075,-118.394128
+90046,CA,Cole,34.09743,-118.357979
+90047,CA,Los Angeles,33.956896,-118.307304
+90048,CA,Los Angeles,34.073656,-118.371969
+90049,CA,Los Angeles,34.066,-118.473967
+90056,CA,Los Angeles,33.985329,-118.370703
+90057,CA,Los Angeles,34.062172,-118.276262
+90058,CA,Vernon,33.997344,-118.235365
+90059,CA,Los Angeles,33.929331,-118.24628
+90061,CA,Los Angeles,33.924493,-118.271638
+90062,CA,Los Angeles,34.00324,-118.307277
+90063,CA,Hazard,34.044017,-118.185432
+90064,CA,Los Angeles,34.035279,-118.425911
+90065,CA,Los Angeles,34.107307,-118.226637
+90066,CA,Los Angeles,34.002956,-118.429769
+90067,CA,Los Angeles,34.055146,-118.409479
+90068,CA,Los Angeles,34.115625,-118.330476
+90069,CA,West Hollywood,34.090573,-118.378753
+90071,CA,Los Angeles,34.052043,-118.257127
+90077,CA,Los Angeles,34.111245,-118.450155
+90201,CA,Bell Gardens,33.969177,-118.17205
+90210,CA,Beverly Hills,34.090107,-118.406477
+90211,CA,Beverly Hills,34.065217,-118.383007
+90212,CA,Beverly Hills,34.061855,-118.399544
+90220,CA,Rancho Dominguez,33.890654,-118.239044
+90221,CA,East Rancho Domi,33.897324,-118.203724
+90222,CA,Rosewood,33.911535,-118.234034
+90230,CA,Culver City,33.994927,-118.399115
+90232,CA,Culver City,34.016809,-118.397332
+90240,CA,Downey,33.958135,-118.117381
+90241,CA,Downey,33.941612,-118.13062
+90242,CA,Downey,33.921789,-118.139465
+90245,CA,El Segundo,33.924275,-118.411924
+90247,CA,Gardena,33.892463,-118.296122
+90248,CA,Gardena,33.874506,-118.289312
+90249,CA,Gardena,33.899762,-118.319854
+90250,CA,Holly Park,33.913214,-118.346978
+90254,CA,Hermosa Beach,33.864309,-118.395511
+90255,CA,Huntington Park,33.976879,-118.216053
+90260,CA,Lawndale,33.887908,-118.351014
+90262,CA,Lynwood,33.924076,-118.201289
+90265,CA,Malibu,34.040184,-118.735149
+90266,CA,Manhattan Beach,33.889594,-118.399562
+90270,CA,Maywood,33.988992,-118.187685
+90272,CA,Pacific Palisade,34.054097,-118.536874
+90274,CA,Palos Verdes Est,33.770094,-118.374763
+90277,CA,Redondo Beach,33.830656,-118.383221
+90278,CA,Redondo Beach,33.870654,-118.371459
+90280,CA,South Gate,33.94617,-118.201349
+90290,CA,Topanga,34.10759,-118.602268
+90291,CA,Venice,33.993772,-118.463463
+90292,CA,Marina Del Rey,33.977876,-118.452475
+90293,CA,Playa Del Rey,33.957745,-118.437314
+90301,CA,Inglewood,33.955048,-118.355575
+90302,CA,Inglewood,33.974496,-118.354805
+90303,CA,Inglewood,33.937691,-118.332058
+90304,CA,Lennox,33.938514,-118.355562
+90305,CA,Inglewood,33.958304,-118.32585
+90401,CA,Santa Monica,34.017628,-118.490708
+90402,CA,Santa Monica,34.034875,-118.503011
+90403,CA,Santa Monica,34.028658,-118.49241
+90404,CA,Santa Monica,34.026828,-118.4733
+90405,CA,Santa Monica,34.01001,-118.471708
+90501,CA,Torrance,33.826817,-118.31183
+90502,CA,Torrance,33.828555,-118.292039
+90503,CA,Torrance,33.839709,-118.354236
+90504,CA,Torrance,33.870815,-118.329517
+90505,CA,Torrance,33.810635,-118.350733
+90506,CA,Torrance,33.885367,-118.329543
+90601,CA,Whittier,34.001119,-118.037139
+90602,CA,Whittier,33.96931,-118.033703
+90603,CA,Whittier,33.943199,-117.992685
+90604,CA,Whittier,33.929931,-118.012075
+90605,CA,Whittier,33.941338,-118.035568
+90606,CA,Los Nietos,33.977019,-118.065639
+90620,CA,Buena Park,33.840607,-118.011359
+90621,CA,Buena Park,33.873136,-117.994257
+90623,CA,Cerritos,33.849017,-118.040618
+90630,CA,Cypress,33.818613,-118.038696
+90631,CA,La Habra Heights,33.932173,-117.949703
+90638,CA,La Mirada,33.906681,-118.010081
+90640,CA,Montebello,34.013342,-118.112986
+90650,CA,Norwalk,33.90564,-118.081767
+90660,CA,Pico Rivera,33.98857,-118.088269
+90670,CA,Santa Fe Springs,33.946407,-118.083801
+90680,CA,Stanton,33.803029,-117.994709
+90701,CA,Cerritos,33.866568,-118.068046
+90704,CA,Avalon,33.331963,-118.343706
+90706,CA,Bellflower,33.886676,-118.126527
+90710,CA,Harbor City,33.797006,-118.299114
+90712,CA,Lakewood,33.851201,-118.145727
+90713,CA,Lakewood,33.847302,-118.111464
+90715,CA,Lakewood,33.840453,-118.076707
+90716,CA,Hawaiian Gardens,33.82958,-118.072964
+90717,CA,Rancho Palos Ver,33.793339,-118.31693
+90720,CA,Rossmoor,33.795291,-118.069891
+90723,CA,Paramount,33.896867,-118.163152
+90731,CA,San Pedro,33.733894,-118.291425
+90732,CA,Rancho Palos Ver,33.744947,-118.310597
+90740,CA,Seal Beach,33.760971,-118.08428
+90744,CA,Wilmington,33.785475,-118.264451
+90745,CA,Carson,33.822968,-118.268352
+90746,CA,Carson,33.858444,-118.255449
+90802,CA,Long Beach,33.770553,-118.182025
+90803,CA,Long Beach,33.761932,-118.134073
+90804,CA,Signal Hill,33.782993,-118.155187
+90805,CA,Long Beach,33.863457,-118.180102
+90806,CA,Signal Hill,33.799319,-118.187443
+90807,CA,Signal Hill,33.830712,-118.18092
+90808,CA,Long Beach,33.824145,-118.110299
+90810,CA,Carson,33.810985,-118.215006
+90813,CA,Long Beach,33.78202,-118.183488
+90814,CA,Long Beach,33.771576,-118.147988
+90815,CA,Long Beach,33.793908,-118.119249
+90822,CA,Long Beach,33.744415,-118.239257
+91001,CA,Altadena,34.191187,-118.13919
+91006,CA,Arcadia,34.132389,-118.026374
+91007,CA,Arcadia,34.124271,-118.051483
+91010,CA,Bradbury,34.137445,-117.967005
+91011,CA,Flintridge,34.209282,-118.199008
+91016,CA,Monrovia,34.143959,-118.001376
+91020,CA,Montrose,34.211425,-118.230529
+91024,CA,Sierra Madre,34.165101,-118.051916
+91030,CA,South Pasadena,34.110939,-118.154696
+91040,CA,Shadow Hills,34.261025,-118.321359
+91042,CA,Tujunga,34.254389,-118.284856
+91101,CA,Pasadena,34.146762,-118.139119
+91103,CA,Pasadena,34.166906,-118.155119
+91104,CA,Pasadena,34.167776,-118.12609
+91105,CA,Pasadena,34.135455,-118.163577
+91106,CA,Pasadena,34.143527,-118.126647
+91107,CA,Pasadena,34.150997,-118.088905
+91108,CA,San Marino,34.120698,-118.111745
+91201,CA,Glendale,34.171606,-118.289892
+91202,CA,Glendale,34.165235,-118.265649
+91203,CA,Glendale,34.151718,-118.263614
+91204,CA,Glendale,34.137871,-118.259947
+91205,CA,Glendale,34.137798,-118.24245
+91206,CA,Glendale,34.155605,-118.232217
+91207,CA,Glendale,34.164856,-118.245086
+91208,CA,Glendale,34.19212,-118.234966
+91214,CA,La Crescenta,34.231619,-118.245687
+91301,CA,Oak Park,34.157163,-118.75718
+91302,CA,Calabasas,34.141854,-118.664103
+91303,CA,Canoga Park,34.199257,-118.59828
+91304,CA,Canoga Park,34.219671,-118.611059
+91306,CA,Winnetka,34.2092,-118.57492
+91307,CA,West Hills,34.196343,-118.638892
+91311,CA,Chatsworth,34.258253,-118.591357
+91316,CA,Encino,34.165479,-118.517542
+91320,CA,Newbury Park,34.177393,-118.935798
+91321,CA,Newhall,34.379519,-118.523005
+91324,CA,Northridge,34.236743,-118.546595
+91325,CA,Northridge,34.235332,-118.51884
+91326,CA,Porter Ranch,34.274191,-118.541235
+91330,CA,California State,34.23805,-118.528634
+91331,CA,Arleta,34.258081,-118.420692
+91335,CA,Reseda,34.200663,-118.539071
+91340,CA,San Fernando,34.287509,-118.435242
+91342,CA,Sylmar,34.30538,-118.432181
+91343,CA,North Hills,34.236636,-118.47582
+91344,CA,Granada Hills,34.277068,-118.4992
+91345,CA,Mission Hills,34.261873,-118.458659
+91350,CA,Agua Dulce,34.459742,-118.488955
+91351,CA,Canyon Country,34.426203,-118.449011
+91352,CA,Sun Valley,34.220907,-118.369853
+91354,CA,Valencia,34.446608,-118.537437
+91355,CA,Valencia,34.398456,-118.55352
+91356,CA,Tarzana,34.16708,-118.541354
+91360,CA,Thousand Oaks,34.209179,-118.873908
+91361,CA,Westlake Village,34.147233,-118.83832
+91362,CA,Westlake Village,34.191884,-118.830601
+91364,CA,Woodland Hills,34.155652,-118.600019
+91367,CA,Woodland Hills,34.176689,-118.615891
+91381,CA,Newhall,34.381067,-118.582134
+91384,CA,Castaic,34.482695,-118.62537
+91401,CA,Van Nuys,34.180152,-118.432375
+91402,CA,Panorama City,34.226158,-118.447009
+91403,CA,Sherman Oaks,34.151407,-118.460325
+91405,CA,Van Nuys,34.200068,-118.445636
+91406,CA,Van Nuys,34.200568,-118.486821
+91411,CA,Van Nuys,34.178133,-118.457396
+91423,CA,Sherman Oaks,34.152565,-118.432208
+91436,CA,Encino,34.15098,-118.488238
+91501,CA,Burbank,34.186238,-118.300898
+91502,CA,Burbank,34.174487,-118.305912
+91504,CA,Burbank,34.200097,-118.326401
+91505,CA,Burbank,34.168998,-118.344175
+91506,CA,Burbank,34.171746,-118.323148
+91601,CA,North Hollywood,34.16867,-118.371274
+91602,CA,Toluca Lake,34.151095,-118.367606
+91604,CA,Studio City,34.143025,-118.391311
+91605,CA,North Hollywood,34.205747,-118.400069
+91606,CA,North Hollywood,34.187182,-118.386538
+91607,CA,Valley Village,34.167217,-118.398905
+91701,CA,Alta Loma,34.133922,-117.599149
+91702,CA,Azusa,34.12476,-117.903083
+91706,CA,Irwindale,34.084245,-117.969539
+91709,CA,Chino Hills,33.979735,-117.730791
+91710,CA,Chino,34.012532,-117.684401
+91711,CA,Claremont,34.109167,-117.718293
+91719,CA,Corona,33.861839,-117.531916
+91720,CA,Corona,33.876995,-117.594288
+91722,CA,Covina,34.097162,-117.906544
+91723,CA,Covina,34.08596,-117.884285
+91724,CA,Covina,34.093752,-117.855982
+91730,CA,Rancho Cucamonga,34.107039,-117.59408
+91731,CA,El Monte,34.079142,-118.037108
+91732,CA,El Monte,34.070533,-118.01492
+91733,CA,South El Monte,34.055676,-118.044381
+91737,CA,Alta Loma,34.144883,-117.579295
+91739,CA,Etiwanda,34.119873,-117.519329
+91740,CA,Glendora,34.128663,-117.855155
+91744,CA,Industry,34.029428,-117.934098
+91745,CA,Hacienda Heights,33.997741,-117.965205
+91746,CA,Bassett,34.050963,-117.980026
+91748,CA,Rowland Heights,33.981777,-117.896946
+91750,CA,La Verne,34.115905,-117.77077
+91752,CA,Mira Loma,33.993845,-117.523574
+91754,CA,Monterey Park,34.053409,-118.127144
+91759,CA,Mt Baldy,34.218082,-117.580219
+91760,CA,Norco,33.927983,-117.557866
+91761,CA,Ontario,34.031647,-117.618662
+91762,CA,Ontario,34.058415,-117.66647
+91763,CA,Montclair,34.073298,-117.698669
+91764,CA,Ontario,34.076308,-117.625402
+91765,CA,Diamond Bar,34.006585,-117.809822
+91766,CA,Phillips Ranch,34.043268,-117.752086
+91767,CA,Pomona,34.081187,-117.736171
+91768,CA,Pomona,34.066168,-117.776312
+91770,CA,Rosemead,34.065767,-118.08529
+91773,CA,San Dimas,34.102263,-117.81694
+91775,CA,San Gabriel,34.115486,-118.085658
+91776,CA,San Gabriel,34.089027,-118.095471
+91780,CA,Temple City,34.101586,-118.053652
+91786,CA,Upland,34.114432,-117.658336
+91789,CA,Diamond Bar,34.016625,-117.857828
+91790,CA,West Covina,34.067336,-117.936643
+91791,CA,West Covina,34.065267,-117.897767
+91792,CA,West Covina,34.022852,-117.897459
+91801,CA,Alhambra,34.091436,-118.129288
+91803,CA,Alhambra,34.074514,-118.143354
+91901,CA,Alpine,32.828161,-116.754328
+91902,CA,Bonita,32.667143,-117.022065
+91905,CA,Boulevard,32.671934,-116.319982
+91906,CA,Campo,32.660491,-116.490459
+91910,CA,Chula Vista,32.637139,-117.06756
+91911,CA,Chula Vista,32.608428,-117.056459
+91913,CA,Chula Vista,32.651296,-116.985237
+91914,CA,Chula Vista,32.65875,-116.96517
+91915,CA,Chula Vista,32.631513,-116.940807
+91916,CA,Descanso,32.872971,-116.602732
+91917,CA,Dulzura,32.615172,-116.728523
+91932,CA,Imperial Beach,32.578289,-117.11478
+91934,CA,Jacumba,32.624934,-116.195184
+91935,CA,Jamul,32.716289,-116.832332
+91941,CA,La Mesa,32.760431,-117.011541
+91942,CA,La Mesa,32.783506,-117.018879
+91945,CA,Lemon Grove,32.73323,-117.032646
+91950,CA,National City,32.674916,-117.089747
+91962,CA,Pine Valley,32.835047,-116.512733
+91963,CA,Potrero,32.620477,-116.603748
+91977,CA,Spring Valley,32.724014,-116.997644
+91978,CA,Spring Valley,32.732892,-116.959551
+91980,CA,Tecate,32.592205,-116.606397
+92003,CA,Bonsall,33.294033,-117.18969
+92004,CA,Borrego Springs,33.238649,-116.351394
+92007,CA,Cardiff By The S,33.025265,-117.274371
+92008,CA,Carlsbad,33.160241,-117.324998
+92009,CA,Carlsbad,33.095407,-117.261888
+92014,CA,Del Mar,32.971474,-117.237314
+92019,CA,El Cajon,32.777726,-116.919055
+92020,CA,El Cajon,32.792765,-116.966504
+92021,CA,El Cajon,32.817847,-116.922336
+92024,CA,Encinitas,33.053469,-117.26891
+92025,CA,Escondido,33.110117,-117.069987
+92026,CA,Escondido,33.160513,-117.097808
+92027,CA,Escondido,33.138824,-117.051966
+92028,CA,Fallbrook,33.369015,-117.228952
+92029,CA,Escondido,33.089497,-117.112793
+92036,CA,Julian,33.053355,-116.565812
+92037,CA,La Jolla,32.845488,-117.25208
+92040,CA,Lakeside,32.856181,-116.920089
+92054,CA,Oceanside,33.20723,-117.357294
+92055,CA,Marine Corp Base,33.327929,-117.409452
+92056,CA,Oceanside,33.196784,-117.283089
+92057,CA,Oceanside,33.240654,-117.302484
+92059,CA,Pala,33.377662,-117.071725
+92061,CA,Pauma Valley,33.306285,-116.959552
+92064,CA,Poway,32.975619,-117.040223
+92065,CA,Ramona,33.029349,-116.853548
+92066,CA,Ranchita,33.24055,-116.539121
+92068,CA,San Luis Rey,33.294367,-117.306403
+92069,CA,San Marcos,33.144386,-117.169716
+92070,CA,Santa Ysabel,33.147579,-116.69635
+92071,CA,Santee,32.848636,-116.986154
+92075,CA,Solana Beach,32.993739,-117.2598
+92082,CA,Valley Center,33.249046,-117.012232
+92083,CA,Vista,33.187296,-117.245854
+92084,CA,Vista,33.213118,-117.224285
+92086,CA,Warner Springs,33.303666,-116.721385
+92101,CA,San Diego,32.71852,-117.159316
+92102,CA,San Diego,32.713893,-117.121858
+92103,CA,San Diego,32.746638,-117.163552
+92104,CA,San Diego,32.745425,-117.127189
+92105,CA,San Diego,32.7423,-117.094681
+92106,CA,San Diego,32.72725,-117.226829
+92107,CA,San Diego,32.742531,-117.243307
+92108,CA,San Diego,32.778327,-117.133525
+92109,CA,San Diego,32.796923,-117.240534
+92110,CA,San Diego,32.763476,-117.202847
+92111,CA,San Diego,32.797185,-117.17081
+92113,CA,San Diego,32.697047,-117.115257
+92114,CA,San Diego,32.705923,-117.05235
+92115,CA,San Diego,32.760742,-117.072056
+92116,CA,San Diego,32.762446,-117.124166
+92117,CA,San Diego,32.823948,-117.196536
+92118,CA,Coronado,32.68069,-117.169823
+92119,CA,San Diego,32.803587,-117.026065
+92120,CA,San Diego,32.79581,-117.070708
+92121,CA,San Diego,32.891894,-117.203503
+92122,CA,San Diego,32.857736,-117.211507
+92123,CA,San Diego,32.797297,-117.139248
+92124,CA,San Diego,32.820113,-117.098613
+92126,CA,San Diego,32.916136,-117.140227
+92127,CA,San Diego,33.027854,-117.085596
+92128,CA,San Diego,33.00666,-117.068982
+92129,CA,San Diego,32.965185,-117.121308
+92130,CA,San Diego,32.955533,-117.225201
+92131,CA,San Diego,32.912343,-117.089758
+92135,CA,San Diego,32.702482,-117.19202
+92136,CA,San Diego,32.681585,-117.124678
+92139,CA,San Diego,32.680612,-117.047375
+92145,CA,San Diego,32.870365,-117.116518
+92154,CA,San Diego,32.575276,-117.070725
+92155,CA,San Diego,32.676144,-117.160335
+92173,CA,San Ysidro,32.562567,-117.042976
+92201,CA,Chiriaco Summit,33.721899,-116.235729
+92210,CA,Indian Wells,33.716334,-116.338129
+92220,CA,Banning,33.92816,-116.889928
+92223,CA,Beaumont,33.950429,-116.970079
+92225,CA,Lost Lake,33.605715,-114.597131
+92227,CA,Brawley,32.979181,-115.529613
+92230,CA,Cabazon,33.908583,-116.773948
+92231,CA,Calexico,32.683227,-115.502815
+92233,CA,Calipatria,33.166956,-115.511402
+92234,CA,Cathedral City,33.809839,-116.466497
+92236,CA,Coachella,33.674965,-116.177231
+92239,CA,Eagle Mountain,33.604941,-115.052603
+92240,CA,Desert Hot Sprin,33.904973,-116.366222
+92242,CA,Big River,34.149142,-114.33928
+92243,CA,El Centro,32.789332,-115.566508
+92249,CA,Heber,32.698918,-115.428281
+92250,CA,Holtville,32.810387,-115.377456
+92251,CA,Imperial,32.846954,-115.572984
+92252,CA,Joshua Tree,34.150163,-116.303763
+92253,CA,La Quinta,33.668474,-116.308081
+92256,CA,Morongo Valley,34.060646,-116.565641
+92257,CA,Niland,33.378373,-115.696455
+92260,CA,Palm City,33.730842,-116.366442
+92262,CA,Palm Springs,33.841406,-116.53466
+92264,CA,Palm Springs,33.801828,-116.516958
+92267,CA,Parker Dam,34.297977,-114.155969
+92270,CA,Rancho Mirage,33.764284,-116.422451
+92272,CA,Blythe,33.951256,-116.495855
+92274,CA,Salton City,33.543418,-116.11584
+92276,CA,Thousand Palms,33.808158,-116.371305
+92277,CA,Twentynine Palms,34.145509,-116.060133
+92278,CA,Twentynine Palms,34.237969,-116.06041
+92280,CA,Vidal,34.156109,-114.565602
+92281,CA,Westmorland,33.041058,-115.630723
+92282,CA,White Water,33.927591,-116.693154
+92283,CA,Felicity,32.832922,-114.636634
+92284,CA,Yucca Valley,34.155936,-116.431313
+92301,CA,Adelanto,34.584128,-117.424189
+92304,CA,Amboy,34.599012,-115.774907
+92305,CA,Angelus Oaks,34.153149,-116.948482
+92307,CA,Apple Valley,34.529081,-117.2132
+92308,CA,Apple Valley,34.469814,-117.192684
+92309,CA,Baker,35.360573,-116.063754
+92310,CA,Fort Irwin,35.40148,-116.644759
+92311,CA,Barstow,34.89145,-117.038702
+92314,CA,Big Bear City,34.242233,-116.920412
+92316,CA,Bloomington,34.066198,-117.399295
+92320,CA,Calimesa,33.994586,-117.04304
+92324,CA,Grand Terrace,34.057964,-117.318577
+92327,CA,Daggett,34.86677,-116.887555
+92328,CA,Death Valley,36.467165,-116.893682
+92332,CA,Essex,34.560626,-115.280344
+92335,CA,Fontana,34.079351,-117.455114
+92336,CA,Fontana,34.117276,-117.437759
+92338,CA,Ludlow,34.901779,-116.386202
+92339,CA,Forest Falls,34.08805,-116.914147
+92342,CA,Helendale,34.749859,-117.33666
+92345,CA,Hesperia,34.422215,-117.302527
+92346,CA,East Highland,34.126969,-117.208717
+92347,CA,Hinkley,34.92788,-117.180867
+92351,CA,Kelso,34.9678,-115.577574
+92354,CA,Loma Linda,34.052833,-117.251286
+92356,CA,Lucerne Valley,34.44695,-116.918857
+92358,CA,Lytle Creek,34.255755,-117.518613
+92359,CA,Mentone,34.077372,-117.112581
+92363,CA,Needles,34.782369,-114.587134
+92364,CA,Nipton,35.46761,-115.481436
+92365,CA,Newberry Springs,34.885001,-116.746373
+92368,CA,Oro Grande,34.617832,-117.332733
+92371,CA,Phelan,34.444901,-117.519604
+92372,CA,Pinon Hills,34.442937,-117.640262
+92373,CA,Redlands,34.039659,-117.180352
+92374,CA,Redlands,34.064989,-117.167182
+92376,CA,Rialto,34.113155,-117.377133
+92384,CA,Shoshone,35.899239,-116.264476
+92389,CA,Tecopa,35.897925,-115.829824
+92392,CA,Spring Valley La,34.503917,-117.319235
+92394,CA,George Afb,34.577325,-117.363516
+92397,CA,Wrightwood,34.362839,-117.6249
+92399,CA,Yucaipa,34.028197,-117.048925
+92401,CA,San Bernardino,34.110521,-117.289753
+92404,CA,San Bernardino,34.142577,-117.260572
+92405,CA,Muscoy,34.144101,-117.310765
+92407,CA,San Bernardino,34.20928,-117.293697
+92408,CA,San Bernardino,34.083127,-117.271059
+92409,CA,San Bernardino,34.103685,-117.241291
+92410,CA,San Bernardino,34.107729,-117.296789
+92411,CA,San Bernardino,34.121414,-117.317158
+92501,CA,Riverside,33.9924,-117.369421
+92503,CA,Riverside,33.920808,-117.458862
+92504,CA,Riverside,33.931458,-117.411948
+92505,CA,Riverside,33.922769,-117.486687
+92506,CA,Riverside,33.945485,-117.375696
+92507,CA,Riverside,33.976086,-117.338874
+92508,CA,Riverside,33.889676,-117.304264
+92509,CA,Rubidoux,33.997355,-117.444896
+92530,CA,Lake Elsinore,33.659816,-117.348535
+92532,CA,Lake Elsinore,33.651662,-117.271278
+92536,CA,Aguanga,33.447306,-116.799693
+92539,CA,Anza,33.568812,-116.71355
+92543,CA,Hemet,33.741613,-116.972974
+92544,CA,Hemet,33.738978,-116.924306
+92545,CA,Hemet,33.739857,-117.015078
+92548,CA,Homeland,33.74528,-117.111845
+92549,CA,Idyllwild,33.730433,-116.710665
+92553,CA,Moreno Valley,33.915719,-117.235066
+92555,CA,Moreno Valley,33.937659,-117.185105
+92557,CA,Moreno Valley,33.955257,-117.245682
+92561,CA,Mountain Center,33.531667,-116.581954
+92562,CA,Murrieta,33.563071,-117.273838
+92563,CA,Murrieta,33.56903,-117.178298
+92567,CA,Lakeview,33.807712,-117.118704
+92570,CA,Mead Valley,33.797535,-117.280005
+92571,CA,Perris,33.810979,-117.217968
+92582,CA,San Jacinto,33.788281,-116.981911
+92583,CA,Gilman Hot Sprin,33.78604,-116.955201
+92584,CA,Menifee,33.664744,-117.1743
+92585,CA,Romoland,33.744518,-117.171899
+92586,CA,Sun City,33.704373,-117.196942
+92587,CA,Canyon Lake,33.688756,-117.252653
+92590,CA,Temecula,33.490269,-117.182437
+92591,CA,Temecula,33.521687,-117.128571
+92592,CA,Temecula,33.498314,-117.095774
+92595,CA,Wildomar,33.602115,-117.263953
+92596,CA,Winchester,33.624269,-117.088518
+92610,CA,Foothill Ranch,33.666822,-117.664995
+92621,CA,Brea,33.922897,-117.886742
+92624,CA,Capistrano Beach,33.459115,-117.662657
+92625,CA,Corona Del Mar,33.602066,-117.874331
+92626,CA,Costa Mesa,33.677711,-117.909623
+92627,CA,Costa Mesa,33.647793,-117.917667
+92629,CA,Monarch Bay,33.476964,-117.700483
+92630,CA,Lake Forest,33.640015,-117.68819
+92631,CA,Fullerton,33.880519,-117.89157
+92632,CA,Fullerton,33.865848,-117.928376
+92633,CA,Fullerton,33.873913,-117.961043
+92635,CA,Fullerton,33.901181,-117.927801
+92640,CA,Garden Grove,33.785826,-117.92906
+92641,CA,Garden Grove,33.786651,-117.975526
+92643,CA,Garden Grove,33.762641,-117.930193
+92644,CA,Garden Grove,33.765532,-117.96935
+92645,CA,Garden Grove,33.78324,-118.02639
+92646,CA,Huntington Beach,33.668448,-117.967771
+92647,CA,Huntington Beach,33.721018,-118.003035
+92648,CA,Huntington Beach,33.674577,-117.999012
+92649,CA,Huntington Beach,33.719111,-118.045142
+92651,CA,Laguna Niguel,33.542927,-117.772351
+92653,CA,Laguna Hills,33.60028,-117.70854
+92655,CA,Midway City,33.744794,-117.983539
+92656,CA,Aliso Viejo,33.572367,-117.708906
+92657,CA,Newport Beach,33.596382,-117.855317
+92660,CA,Newport Beach,33.630027,-117.8757
+92661,CA,Newport Beach,33.604429,-117.906237
+92662,CA,Newport Beach,33.606459,-117.891732
+92663,CA,Newport Beach,33.623084,-117.92788
+92665,CA,Orange,33.83096,-117.844903
+92666,CA,Orange,33.785258,-117.845461
+92667,CA,Villa Park,33.81036,-117.828421
+92668,CA,Orange,33.786481,-117.87532
+92669,CA,Orange,33.791672,-117.800285
+92670,CA,Placentia,33.880323,-117.859837
+92672,CA,San Clemente,33.430809,-117.610139
+92675,CA,Mission Viejo,33.511714,-117.657409
+92677,CA,Laguna Niguel,33.522871,-117.705154
+92679,CA,Coto De Caza,33.634576,-117.577709
+92680,CA,Tustin,33.73713,-117.819193
+92683,CA,Westminster,33.752756,-117.991312
+92686,CA,Yorba Linda,33.888361,-117.799619
+92687,CA,Yorba Linda,33.88238,-117.731162
+92688,CA,Rancho Santa Mar,33.651822,-117.588388
+92691,CA,Mission Viejo,33.617155,-117.664119
+92692,CA,Mission Viejo,33.610872,-117.64245
+92701,CA,Santa Ana,33.75016,-117.857665
+92703,CA,Santa Ana,33.746613,-117.899589
+92704,CA,Santa Ana,33.726513,-117.904683
+92705,CA,Cowan Heights,33.74866,-117.768902
+92706,CA,Santa Ana,33.764434,-117.881791
+92707,CA,Santa Ana Height,33.715938,-117.870346
+92708,CA,Fountain Valley,33.710762,-117.952318
+92709,CA,El Toro Marine C,33.681287,-117.715018
+92714,CA,Irvine,33.68764,-117.798928
+92715,CA,Irvine,33.650884,-117.821251
+92718,CA,Irvine,33.658179,-117.711476
+92720,CA,Irvine,33.707495,-117.765533
+92801,CA,Anaheim,33.842679,-117.954035
+92802,CA,Anaheim,33.806909,-117.92219
+92804,CA,Anaheim,33.81908,-117.974985
+92805,CA,Anaheim,33.835332,-117.906263
+92806,CA,Anaheim,33.837344,-117.875928
+92807,CA,Anaheim,33.851583,-117.787657
+92808,CA,Anaheim,33.857569,-117.748445
+93001,CA,San Buenaventura,34.290531,-119.28882
+93003,CA,San Buenaventura,34.270568,-119.2214
+93004,CA,San Buenaventura,34.278091,-119.168727
+93010,CA,Camarillo,34.231328,-119.046361
+93012,CA,Camarillo,34.22179,-118.986648
+93013,CA,Carpinteria,34.403589,-119.518257
+93015,CA,Bardsdale,34.402557,-118.904071
+93021,CA,Moorpark,34.278421,-118.877139
+93022,CA,Oak View,34.402021,-119.298168
+93023,CA,Ojai,34.44512,-119.256477
+93030,CA,Oxnard,34.214142,-119.174952
+93033,CA,Oxnard,34.168505,-119.171732
+93035,CA,Oxnard,34.182177,-119.215975
+93041,CA,Port Hueneme,34.162572,-119.197317
+93042,CA,Point Mugu Nawc,34.123432,-119.09931
+93043,CA,Port Hueneme Cbc,34.16212,-119.206008
+93060,CA,Santa Paula,34.354718,-119.071328
+93063,CA,Santa Susana,34.279202,-118.699229
+93065,CA,Simi Valley,34.265589,-118.765349
+93066,CA,Somis,34.279753,-119.011537
+93067,CA,Summerland,34.424541,-119.596016
+93101,CA,Santa Barbara,34.419668,-119.70782
+93103,CA,Santa Barbara,34.429065,-119.683275
+93105,CA,Santa Barbara,34.436915,-119.728538
+93108,CA,Montecito,34.434258,-119.64255
+93109,CA,Santa Barbara,34.403848,-119.7194
+93110,CA,Santa Barbara,34.441814,-119.764668
+93111,CA,Santa Barbara,34.445262,-119.802509
+93117,CA,Goleta,34.429631,-119.861245
+93202,CA,Armona,36.309459,-119.705279
+93203,CA,Arvin,35.196629,-118.8336
+93204,CA,Avenal,35.987667,-120.122716
+93205,CA,Bodfish,35.587046,-118.484656
+93206,CA,Buttonwillow,35.403268,-119.465926
+93207,CA,California Hot S,35.892422,-118.646317
+93210,CA,Coalinga,36.162435,-120.348928
+93212,CA,Corcoran,36.086455,-119.560665
+93214,CA,Cuyama,34.933694,-119.661339
+93215,CA,Delano,35.771511,-119.24594
+93217,CA,Di Giorgio,35.247604,-118.846755
+93219,CA,Earlimart,35.854195,-119.253406
+93221,CA,Exeter,36.304055,-119.12928
+93223,CA,Farmersville,36.300169,-119.205357
+93224,CA,Fellows,35.202579,-119.564757
+93225,CA,Frazier Park,34.826463,-119.035488
+93226,CA,Glennville,35.737677,-118.71693
+93230,CA,Hanford,36.331419,-119.649094
+93234,CA,Huron,36.237144,-120.101964
+93235,CA,Ivanhoe,36.385622,-119.218884
+93238,CA,Kernville,35.755005,-118.404723
+93239,CA,Kettleman City,36.021501,-119.964361
+93240,CA,Mountain Mesa,35.617889,-118.441256
+93241,CA,Lamont,35.257059,-118.912419
+93242,CA,Laton,36.437834,-119.715565
+93243,CA,Gorman,34.828862,-118.879126
+93244,CA,Lemoncove,36.396084,-119.004986
+93245,CA,Lemoore Naval Ai,36.309535,-119.831017
+93247,CA,Lindsay,36.209551,-119.088427
+93249,CA,Lost Hills,35.613111,-119.721573
+93250,CA,Mc Farland,35.675779,-119.227156
+93251,CA,Mc Kittrick,35.303097,-119.636627
+93252,CA,Maricopa,35.038353,-119.407661
+93254,CA,New Cuyama,34.996709,-119.823806
+93255,CA,Onyx,35.713584,-118.190227
+93256,CA,Pixley,35.955286,-119.256427
+93257,CA,Porterville,36.068636,-119.031549
+93260,CA,Posey,35.813496,-118.664286
+93262,CA,Giant Forest,36.573878,-118.772271
+93263,CA,Shafter,35.496994,-119.280075
+93265,CA,Springville,36.136314,-118.796059
+93266,CA,Stratford,36.178976,-119.823564
+93267,CA,Strathmore,36.147237,-119.079163
+93268,CA,Taft,35.148164,-119.455674
+93270,CA,Terra Bella,35.95698,-119.031239
+93271,CA,Three Rivers,36.437686,-118.88754
+93272,CA,Tipton,36.054567,-119.30781
+93274,CA,Tulare,36.202155,-119.33802
+93276,CA,Tupman,35.288547,-119.341994
+93277,CA,Visalia,36.311379,-119.306471
+93280,CA,Pond,35.593375,-119.344728
+93283,CA,Weldon,35.639076,-118.285856
+93285,CA,Wofford Heights,35.724556,-118.455877
+93286,CA,Woodlake,36.431334,-119.091764
+93287,CA,Woody,35.70681,-118.843872
+93291,CA,Visalia,36.355108,-119.301029
+93301,CA,Bakersfield,35.386611,-119.017063
+93304,CA,Bakersfield,35.339581,-119.021793
+93305,CA,College Heights,35.387772,-118.982042
+93306,CA,Bakersfield,35.386697,-118.939104
+93307,CA,Bakersfield,35.327484,-118.983851
+93308,CA,Bakersfield,35.424395,-119.043319
+93309,CA,Bakersfield,35.33839,-119.062713
+93311,CA,Bakersfield,35.303891,-119.105647
+93312,CA,Greenacres,35.382082,-119.15014
+93313,CA,Bakersfield,35.297391,-119.050936
+93401,CA,San Luis Obispo,35.263453,-120.650933
+93402,CA,Los Osos,35.317203,-120.833261
+93405,CA,San Luis Obispo,35.290058,-120.681724
+93420,CA,Halcyon,35.11449,-120.57289
+93422,CA,Atascadero,35.475439,-120.663838
+93426,CA,Bradley,35.809255,-120.972793
+93427,CA,Buellton,34.62093,-120.192233
+93428,CA,Cambria,35.556568,-121.084029
+93430,CA,Cayucos,35.444606,-120.890791
+93431,CA,Cholame,35.543847,-120.194827
+93432,CA,Creston,35.491543,-120.554238
+93433,CA,Grover Beach,35.120969,-120.617348
+93434,CA,Guadalupe,34.959989,-120.570329
+93436,CA,Lompoc,34.658349,-120.450605
+93437,CA,Lompoc,34.753215,-120.517096
+93442,CA,Morro Bay,35.37953,-120.844745
+93444,CA,Nipomo,35.029806,-120.489413
+93445,CA,Oceano,35.10187,-120.608044
+93446,CA,Adelaide,35.635248,-120.670676
+93449,CA,Shell Beach,35.149212,-120.651788
+93450,CA,San Ardo,35.985685,-120.861191
+93451,CA,Parkfield,35.753209,-120.696532
+93452,CA,San Simeon,35.666815,-121.144033
+93453,CA,California Valle,35.341254,-120.3202
+93454,CA,Santa Maria,34.954538,-120.43245
+93455,CA,Orcutt,34.879786,-120.429128
+93460,CA,Santa Ynez,34.623966,-120.071332
+93461,CA,Shandon,35.651273,-120.372047
+93463,CA,Ballard,34.609931,-120.129286
+93465,CA,Templeton,35.555082,-120.710737
+93501,CA,Mojave,35.047767,-118.173475
+93505,CA,California City,35.127783,-117.965142
+93510,CA,Acton,34.483541,-118.195929
+93512,CA,Benton,37.798099,-118.498526
+93513,CA,Big Pine,37.167857,-118.291597
+93514,CA,Toms Place,37.386301,-118.44156
+93516,CA,Boron,35.003748,-117.662921
+93517,CA,Bridgeport,38.256601,-119.208025
+93518,CA,Havilah,35.356798,-118.410264
+93519,CA,Cantil,35.282558,-117.993868
+93523,CA,North Edwards,34.930507,-117.915384
+93526,CA,Independence,36.839578,-118.204808
+93527,CA,Pearsonville,35.674498,-117.834844
+93528,CA,Johannesburg,35.370655,-117.637325
+93529,CA,June Lake,37.777324,-119.082492
+93531,CA,Keene,35.237502,-118.607563
+93532,CA,Elizabeth Lake,34.668297,-118.444719
+93534,CA,Lancaster,34.690888,-118.149129
+93535,CA,Hi Vista,34.684751,-118.063245
+93536,CA,Quartz Hill,34.673619,-118.213336
+93541,CA,Lee Vining,37.988988,-119.123413
+93543,CA,Juniper Hills,34.547372,-117.957405
+93544,CA,Crystalaire,34.495914,-117.798841
+93545,CA,Lone Pine,36.579781,-118.057824
+93546,CA,Crowley Lake,37.642361,-118.976383
+93550,CA,Lake Los Angeles,34.571483,-118.061306
+93551,CA,Leona Valley,34.601404,-118.181207
+93553,CA,Juniper Hills,34.491124,-117.902893
+93554,CA,Randsburg,35.352176,-117.726396
+93555,CA,China Lake Nwc,35.631376,-117.679733
+93560,CA,Willow Springs,34.863117,-118.19636
+93561,CA,Bear Valley Spri,35.129776,-118.522227
+93562,CA,Argus,35.760817,-117.382992
+93563,CA,Valyermo,34.339014,-117.8271
+93601,CA,Ahwahnee,37.407631,-119.723251
+93602,CA,Auberry,37.072635,-119.457202
+93604,CA,Bass Lake,37.324359,-119.556839
+93608,CA,Cantua Creek,36.492123,-120.335252
+93609,CA,Caruthers,36.535847,-119.844581
+93610,CA,Chowchilla,37.101371,-120.269077
+93612,CA,Clovis,36.823146,-119.689757
+93614,CA,Coarsegold,37.221378,-119.745545
+93615,CA,Cutler,36.524266,-119.287023
+93616,CA,Del Rey,36.654306,-119.59291
+93618,CA,Dinuba,36.534931,-119.39087
+93620,CA,Dos Palos,37.00253,-120.633348
+93621,CA,Dunlap,36.744635,-119.089931
+93622,CA,Firebaugh,36.8651,-120.470048
+93623,CA,Fish Camp,37.51692,-119.642005
+93625,CA,Fowler,36.628153,-119.671025
+93626,CA,Friant,37.002416,-119.696501
+93627,CA,Helm,36.499231,-120.093598
+93630,CA,Kerman,36.730576,-120.072444
+93631,CA,Kingsburg,36.508047,-119.543298
+93633,CA,Kings Canyon Nat,36.780601,-119.068201
+93635,CA,Los Banos,37.06266,-120.854387
+93637,CA,Madera,36.94026,-120.081966
+93638,CA,Madera,36.968726,-120.012778
+93640,CA,Mendota,36.742365,-120.409287
+93641,CA,Miramonte,36.68938,-119.047718
+93643,CA,North Fork,37.212531,-119.514324
+93644,CA,Oakhurst,37.347561,-119.644854
+93645,CA,O Neals,37.086874,-119.745369
+93646,CA,Orange Cove,36.624283,-119.313502
+93647,CA,Orosi,36.546368,-119.281522
+93648,CA,Parlier,36.610265,-119.537482
+93650,CA,Pinedale,36.841107,-119.800359
+93651,CA,Prather,36.993799,-119.526771
+93652,CA,Raisin,36.598928,-119.903158
+93653,CA,Raymond,37.27898,-119.876567
+93654,CA,Reedley,36.604406,-119.437785
+93656,CA,Riverdale,36.429525,-119.871953
+93657,CA,Sanger,36.7243,-119.547796
+93660,CA,San Joaquin,36.605869,-120.188934
+93662,CA,Selma,36.569524,-119.617026
+93664,CA,Shaver Lake,37.139695,-119.273031
+93667,CA,Tollhouse,36.99434,-119.391415
+93668,CA,Tranquillity,36.658376,-120.261655
+93669,CA,Wishon,37.281028,-119.557014
+93675,CA,Squaw Valley,36.707146,-119.181449
+93701,CA,Fresno,36.748727,-119.786705
+93702,CA,Fresno,36.739954,-119.753215
+93703,CA,Fresno,36.768445,-119.759401
+93704,CA,Fig Garden Villa,36.798781,-119.799745
+93705,CA,Fresno,36.786285,-119.828617
+93706,CA,Easton,36.700589,-119.820408
+93710,CA,Fresno,36.823643,-119.76205
+93711,CA,Fresno,36.830297,-119.831896
+93720,CA,Fresno,36.857944,-119.765522
+93721,CA,Fresno,36.737714,-119.784273
+93722,CA,Fresno,36.791779,-119.880119
+93725,CA,Calwa,36.675312,-119.742477
+93726,CA,Fresno,36.794943,-119.760445
+93727,CA,Fresno,36.752796,-119.706055
+93728,CA,Fresno,36.758095,-119.811314
+93901,CA,Salinas,36.667693,-121.659589
+93905,CA,Salinas,36.681143,-121.617606
+93906,CA,Salinas,36.710339,-121.643805
+93907,CA,Prunedale,36.765385,-121.665588
+93908,CA,Salinas,36.601122,-121.672861
+93920,CA,Big Sur,36.245798,-121.700897
+93923,CA,Carmel,36.545693,-121.894875
+93924,CA,Carmel Valley,36.478709,-121.724356
+93925,CA,Chualar,36.595042,-121.431964
+93926,CA,Gonzales,36.490038,-121.410347
+93927,CA,Greenfield,36.320178,-121.24507
+93930,CA,King City,36.202776,-121.127329
+93932,CA,Lockwood,35.989287,-121.205946
+93933,CA,Marina,36.684922,-121.793383
+93940,CA,Del Rey Oaks,36.595642,-121.8848
+93941,CA,Fort Ord,36.644627,-121.804999
+93950,CA,Pacific Grove,36.616737,-121.921957
+93953,CA,Pebble Beach,36.590735,-121.942044
+93955,CA,Sand City,36.609208,-121.835724
+93960,CA,Soledad,36.41964,-121.324286
+94002,CA,Belmont,37.517433,-122.292671
+94005,CA,Brisbane,37.681104,-122.400118
+94010,CA,Hillsborough,37.575884,-122.362952
+94014,CA,Colma,37.698187,-122.452679
+94015,CA,Daly City,37.678696,-122.478015
+94019,CA,Half Moon Bay,37.479057,-122.445929
+94020,CA,La Honda,37.272285,-122.293889
+94021,CA,Loma Mar,37.254437,-122.281996
+94022,CA,Los Altos,37.381432,-122.125754
+94024,CA,Los Altos,37.354745,-122.086205
+94025,CA,West Menlo Park,37.453401,-122.179136
+94027,CA,Atherton,37.456255,-122.200198
+94028,CA,Ladera,37.378859,-122.208131
+94030,CA,Millbrae,37.600382,-122.401985
+94035,CA,Moffett Field,37.41001,-122.051944
+94038,CA,Moss Beach,37.531039,-122.50683
+94040,CA,Mountain View,37.385532,-122.087983
+94041,CA,Mountain View,37.389347,-122.078341
+94043,CA,Mountain View,37.405567,-122.077468
+94044,CA,Pacifica,37.619559,-122.481607
+94060,CA,Pescadero,37.206518,-122.364876
+94061,CA,Redwood City,37.464661,-122.230406
+94062,CA,Woodside,37.452119,-122.255879
+94063,CA,Redwood City,37.481544,-122.209134
+94065,CA,Redwood City,37.533128,-122.248564
+94066,CA,San Bruno,37.624742,-122.429021
+94070,CA,San Carlos,37.496859,-122.267356
+94074,CA,San Gregorio,37.325513,-122.355552
+94080,CA,South San Franci,37.65382,-122.4347
+94086,CA,Sunnyvale,37.376407,-122.023771
+94087,CA,Sunnyvale,37.350214,-122.034859
+94089,CA,Sunnyvale,37.398255,-122.000637
+94102,CA,San Francisco,37.781334,-122.416728
+94103,CA,San Francisco,37.77254,-122.414664
+94104,CA,San Francisco,37.791487,-122.401826
+94105,CA,San Francisco,37.786427,-122.389229
+94107,CA,San Francisco,37.762147,-122.397099
+94108,CA,San Francisco,37.792931,-122.40791
+94109,CA,San Francisco,37.791687,-122.418579
+94110,CA,San Francisco,37.750858,-122.415344
+94111,CA,San Francisco,37.797376,-122.400147
+94112,CA,San Francisco,37.71954,-122.441081
+94114,CA,San Francisco,37.758716,-122.432977
+94115,CA,San Francisco,37.785607,-122.435835
+94116,CA,San Francisco,37.744144,-122.486296
+94117,CA,San Francisco,37.771234,-122.441272
+94118,CA,San Francisco,37.781174,-122.461414
+94121,CA,San Francisco,37.778616,-122.489178
+94122,CA,San Francisco,37.759326,-122.483647
+94123,CA,San Francisco,37.799865,-122.434163
+94124,CA,San Francisco,37.730888,-122.388649
+94127,CA,San Francisco,37.735385,-122.457116
+94129,CA,San Francisco,37.800507,-122.464958
+94130,CA,San Francisco,37.823128,-122.369319
+94131,CA,San Francisco,37.745032,-122.438335
+94132,CA,San Francisco,37.721118,-122.47545
+94133,CA,San Francisco,37.800175,-122.409081
+94134,CA,San Francisco,37.718968,-122.409577
+94301,CA,Palo Alto,37.444324,-122.149685
+94303,CA,East Palo Alto,37.455641,-122.131902
+94304,CA,Palo Alto,37.433424,-122.184234
+94305,CA,Stanford,37.423573,-122.161867
+94306,CA,Palo Alto,37.418009,-122.127375
+94401,CA,Russian River,37.572271,-122.320262
+94402,CA,San Mateo,37.550685,-122.32762
+94403,CA,San Mateo,37.539495,-122.299796
+94404,CA,Foster City,37.551614,-122.263577
+94501,CA,Coast Guard Isla,37.764783,-122.260516
+94507,CA,Alamo,37.853695,-122.022868
+94508,CA,Angwin,38.576906,-122.447732
+94509,CA,Antioch,37.993917,-121.808906
+94510,CA,Benicia,38.068459,-122.161392
+94512,CA,Birds Landing,38.150402,-121.844318
+94513,CA,Brentwood,37.932415,-121.689427
+94514,CA,Byron,37.902616,-121.602211
+94515,CA,Calistoga,38.582305,-122.581384
+94517,CA,Clayton,37.915442,-121.909967
+94518,CA,Concord,37.950434,-122.026296
+94519,CA,Concord,37.984082,-122.011948
+94520,CA,Concord,37.982259,-122.036178
+94521,CA,Concord,37.957503,-121.974955
+94523,CA,Pleasant Hill,37.954002,-122.07371
+94525,CA,Crockett,38.051865,-122.217659
+94526,CA,Danville,37.813985,-121.96598
+94528,CA,Diablo,37.83883,-121.960951
+94530,CA,El Cerrito,37.915633,-122.298521
+94533,CA,Fairfield,38.267084,-122.03565
+94535,CA,Travis Afb,38.274313,-121.946317
+94536,CA,Fremont,37.560493,-121.999935
+94538,CA,Fremont,37.530815,-121.971215
+94539,CA,Fremont,37.517579,-121.928733
+94541,CA,Hayward,37.674048,-122.089418
+94542,CA,Hayward,37.658566,-122.047236
+94544,CA,Hayward,37.637443,-122.067029
+94545,CA,Hayward,37.633245,-122.0971
+94546,CA,Castro Valley,37.701527,-122.078183
+94547,CA,Hercules,38.006649,-122.263702
+94548,CA,Knightsen,37.9818,-121.672149
+94549,CA,Lafayette,37.896105,-122.11194
+94550,CA,Livermore,37.68299,-121.762983
+94552,CA,Castro Valley,37.713107,-122.038113
+94553,CA,Pacheco,37.993246,-122.111693
+94555,CA,Fremont,37.573458,-122.046925
+94556,CA,Moraga,37.843653,-122.124185
+94558,CA,Spanish Flat,38.328137,-122.305518
+94559,CA,Napa,38.290362,-122.284086
+94560,CA,Newark,37.536812,-122.031956
+94561,CA,Oakley,37.994034,-121.703623
+94563,CA,Orinda,37.878659,-122.172848
+94564,CA,Pinole,37.996903,-122.287477
+94565,CA,Shore Acres,38.016887,-121.908178
+94566,CA,Pleasanton,37.665804,-121.8755
+94567,CA,Pope Valley,38.678192,-122.472244
+94568,CA,Dublin,37.716597,-121.922589
+94569,CA,Port Costa,38.046013,-122.186649
+94571,CA,Rio Vista,38.163734,-121.701635
+94572,CA,Rodeo,38.03069,-122.258139
+94574,CA,Saint Helena,38.513776,-122.461921
+94577,CA,San Leandro,37.720467,-122.158705
+94578,CA,San Leandro,37.702377,-122.123969
+94579,CA,San Leandro,37.689209,-122.150659
+94580,CA,San Lorenzo,37.678671,-122.129547
+94583,CA,San Ramon,37.756188,-121.952224
+94585,CA,Suisun City,38.240834,-122.042003
+94586,CA,Sunol,37.609403,-121.898636
+94587,CA,Union City,37.589458,-122.049702
+94588,CA,Pleasanton,37.687311,-121.8957
+94589,CA,American Canyon,38.148345,-122.249333
+94590,CA,Vallejo,38.105302,-122.247367
+94591,CA,Vallejo,38.09853,-122.212354
+94592,CA,Mare Island,38.094654,-122.27273
+94595,CA,Walnut Creek,37.875317,-122.070259
+94596,CA,Walnut Creek,37.905279,-122.054909
+94598,CA,Walnut Creek,37.919424,-122.025879
+94599,CA,Yountville,38.403813,-122.358506
+94601,CA,Oakland,37.780595,-122.216587
+94602,CA,Oakland,37.801133,-122.210368
+94603,CA,Oakland,37.740239,-122.171017
+94605,CA,Oakland,37.764132,-122.163326
+94606,CA,Oakland,37.79565,-122.24292
+94607,CA,Oakland,37.807084,-122.285051
+94608,CA,Emeryville,37.836466,-122.280363
+94609,CA,Oakland,37.836096,-122.26367
+94610,CA,Oakland,37.812636,-122.244322
+94611,CA,Piedmont,37.828157,-122.22683
+94612,CA,Oakland,37.808473,-122.266774
+94613,CA,Oakland,37.782427,-122.181585
+94618,CA,Piedmont,37.84368,-122.24191
+94619,CA,Oakland,37.787786,-122.18838
+94621,CA,Oakland,37.758924,-122.185335
+94702,CA,Berkeley,37.865611,-122.285126
+94703,CA,Berkeley,37.863028,-122.274914
+94704,CA,Berkeley,37.866428,-122.257048
+94705,CA,Berkeley,37.85711,-122.249964
+94706,CA,Albany,37.890045,-122.295394
+94707,CA,Kensington,37.893118,-122.276517
+94708,CA,Kensington,37.890829,-122.25976
+94709,CA,Berkeley,37.878397,-122.265461
+94710,CA,Berkeley,37.869603,-122.295929
+94801,CA,Richmond,37.940039,-122.36201
+94803,CA,El Sobrante,37.969287,-122.290092
+94804,CA,Richmond,37.926523,-122.33421
+94805,CA,Richmond,37.941719,-122.323756
+94806,CA,San Pablo,37.972374,-122.336929
+94901,CA,San Rafael,37.969144,-122.510502
+94903,CA,Civic Center,38.015044,-122.54521
+94904,CA,Kentfield,37.950599,-122.535501
+94920,CA,Belvedere,37.889885,-122.472627
+94922,CA,Bodega,38.339264,-122.951364
+94923,CA,Bodega Bay,38.330921,-123.037308
+94924,CA,Bolinas,37.907875,-122.694655
+94925,CA,Corte Madera,37.922256,-122.513202
+94928,CA,Rohnert Park,38.347027,-122.69408
+94930,CA,Fairfax,37.988289,-122.593711
+94931,CA,Cotati,38.325918,-122.704831
+94933,CA,Forest Knolls,38.012178,-122.69074
+94937,CA,Inverness,38.083514,-122.856774
+94938,CA,Lagunitas,38.013929,-122.701576
+94939,CA,Larkspur,37.936743,-122.536202
+94940,CA,Marshall,38.176221,-122.890011
+94941,CA,Mill Valley,37.895757,-122.533885
+94945,CA,Novato,38.1163,-122.571416
+94946,CA,Nicasio,38.054622,-122.696402
+94947,CA,Novato,38.097258,-122.583691
+94949,CA,Novato,38.061837,-122.540408
+94951,CA,Penngrove,38.315948,-122.671772
+94952,CA,Petaluma,38.240349,-122.677727
+94954,CA,Petaluma,38.250739,-122.615536
+94956,CA,Point Reyes Stat,38.064794,-122.81621
+94960,CA,San Anselmo,37.984579,-122.571062
+94963,CA,San Geronimo,38.017155,-122.67784
+94965,CA,Sausalito,37.860147,-122.494555
+94970,CA,Stinson Beach,37.901992,-122.639305
+94972,CA,Valley Ford,38.315729,-122.924457
+94973,CA,Woodacre,38.006933,-122.638247
+95002,CA,Alviso,37.427659,-121.968597
+95003,CA,Aptos,36.978477,-121.891979
+95004,CA,Aromas,36.878522,-121.639781
+95005,CA,Ben Lomond,37.086183,-122.083869
+95006,CA,Boulder Creek,37.149934,-122.133053
+95008,CA,Campbell,37.280007,-121.95539
+95010,CA,Capitola,36.977359,-121.952145
+95012,CA,Castroville,36.77142,-121.747368
+95013,CA,Coyote,37.216721,-121.746021
+95014,CA,Monte Vista,37.317363,-122.038604
+95017,CA,Davenport,37.06306,-122.225735
+95018,CA,Felton,37.063124,-122.062162
+95019,CA,Freedom,36.936483,-121.776761
+95020,CA,Gilroy,37.016005,-121.57825
+95023,CA,Hollister,36.848404,-121.387101
+95030,CA,Monte Sereno,37.211677,-121.978684
+95032,CA,Los Gatos,37.231571,-121.950088
+95035,CA,Milpitas,37.436491,-121.892885
+95037,CA,Morgan Hill,37.129171,-121.64636
+95043,CA,Paicines,36.49478,-121.032853
+95045,CA,San Juan Bautist,36.849856,-121.532721
+95046,CA,San Martin,37.091118,-121.599901
+95050,CA,Santa Clara,37.34732,-121.954079
+95051,CA,Santa Clara,37.346992,-121.983848
+95054,CA,Santa Clara,37.394673,-121.95394
+95060,CA,Scotts Valley,36.982946,-122.043612
+95062,CA,Santa Cruz,36.972101,-121.988055
+95064,CA,Santa Cruz,36.995851,-122.057803
+95065,CA,Santa Cruz,37.003319,-121.982557
+95066,CA,Scotts Valley,37.057841,-122.014961
+95070,CA,Saratoga,37.272871,-122.018238
+95073,CA,Soquel,37.003525,-121.950255
+95076,CA,La Selva Beach,36.920515,-121.763437
+95110,CA,San Jose,37.32966,-121.890299
+95111,CA,San Jose,37.282276,-121.824038
+95112,CA,San Jose,37.341388,-121.880414
+95113,CA,San Jose,37.335188,-121.887227
+95116,CA,San Jose,37.351342,-121.850221
+95117,CA,San Jose,37.308896,-121.962126
+95118,CA,San Jose,37.256162,-121.889845
+95119,CA,San Jose,37.230135,-121.790067
+95120,CA,San Jose,37.217538,-121.861547
+95121,CA,San Jose,37.30593,-121.811939
+95122,CA,San Jose,37.329313,-121.833949
+95123,CA,San Jose,37.244594,-121.830502
+95124,CA,San Jose,37.256844,-121.920831
+95125,CA,San Jose,37.296187,-121.895476
+95126,CA,San Jose,37.322482,-121.917398
+95127,CA,San Jose,37.3664,-121.819516
+95128,CA,San Jose,37.314657,-121.934364
+95129,CA,San Jose,37.306537,-122.000494
+95130,CA,San Jose,37.288628,-121.979182
+95131,CA,San Jose,37.386368,-121.879977
+95132,CA,San Jose,37.40408,-121.860336
+95133,CA,San Jose,37.372875,-121.855959
+95134,CA,San Jose,37.413999,-121.943399
+95135,CA,San Jose,37.297539,-121.757228
+95136,CA,San Jose,37.268423,-121.847625
+95138,CA,San Jose,37.246259,-121.778641
+95139,CA,San Jose,37.225162,-121.766867
+95140,CA,Mount Hamilton,37.316087,-121.639948
+95141,CA,San Jose,37.169912,-121.755808
+95148,CA,San Jose,37.329765,-121.792111
+95202,CA,Stockton,37.960632,-121.287087
+95203,CA,Stockton,37.956515,-121.307688
+95204,CA,Stockton,37.974302,-121.315364
+95205,CA,Stockton,37.960986,-121.259241
+95206,CA,Stockton,37.931643,-121.287169
+95207,CA,Stockton,38.002025,-121.32056
+95209,CA,Stockton,38.033105,-121.343292
+95210,CA,Stockton,38.024997,-121.297229
+95211,CA,Univ Of The Paci,37.980364,-121.310336
+95212,CA,Stockton,38.034428,-121.246018
+95215,CA,Stockton,37.968545,-121.215295
+95219,CA,Stockton,38.010233,-121.363712
+95220,CA,Acampo,38.200413,-121.218576
+95222,CA,Angels Camp,38.064011,-120.55437
+95223,CA,Bear Valley,38.24175,-120.342231
+95228,CA,Copperopolis,37.937246,-120.638374
+95230,CA,Farmington,37.944771,-120.852343
+95231,CA,French Camp,37.877982,-121.282704
+95232,CA,Glencoe,38.351557,-120.594546
+95236,CA,Linden,38.021869,-121.074442
+95237,CA,Lockeford,38.162436,-121.135611
+95240,CA,Lodi,38.123579,-121.263034
+95242,CA,Lodi,38.132989,-121.311814
+95245,CA,Mokelumne Hill,38.328918,-120.567705
+95246,CA,Mountain Ranch,38.220363,-120.548137
+95247,CA,Murphys,38.126896,-120.461772
+95249,CA,San Andreas,38.186732,-120.668703
+95251,CA,Vallecito,38.101472,-120.467879
+95252,CA,Valley Springs,38.154355,-120.859742
+95255,CA,West Point,38.406201,-120.515862
+95257,CA,Wilseyville,38.384566,-120.442356
+95258,CA,Woodbridge,38.155124,-121.308632
+95301,CA,Atwater,37.353154,-120.600837
+95303,CA,Ballico,37.452455,-120.700152
+95306,CA,Catheys Valley,37.441409,-120.069017
+95307,CA,Ceres,37.588097,-120.949936
+95309,CA,Chinese Camp,37.856829,-120.406673
+95310,CA,Columbia,38.03975,-120.405552
+95311,CA,Coulterville,37.738642,-119.985813
+95313,CA,Crows Landing,37.438956,-121.019893
+95315,CA,Delhi,37.428629,-120.775489
+95316,CA,Denair,37.538419,-120.796474
+95317,CA,El Nido,37.13452,-120.483235
+95320,CA,Escalon,37.804428,-120.990044
+95321,CA,Groveland,37.840899,-120.191809
+95322,CA,Gustine,37.242456,-121.003965
+95323,CA,Hickman,37.619989,-120.71722
+95324,CA,Hilmar,37.408377,-120.856144
+95325,CA,Hornitos,37.492226,-120.226443
+95326,CA,Hughson,37.594364,-120.865281
+95327,CA,Jamestown,37.906544,-120.494567
+95329,CA,La Grange,37.678915,-120.358131
+95330,CA,Lathrop,37.820897,-121.282652
+95333,CA,Le Grand,37.234175,-120.251737
+95334,CA,Livingston,37.376168,-120.716156
+95335,CA,Cold Springs,38.20336,-120.001159
+95336,CA,Manteca,37.80875,-121.21856
+95338,CA,Mariposa,37.503918,-119.892496
+95340,CA,Red Top,37.300724,-120.461668
+95345,CA,Midpines,37.571009,-119.946548
+95346,CA,Mi Wuk Village,38.105576,-120.131762
+95348,CA,Merced,37.326964,-120.500897
+95350,CA,Modesto,37.674649,-121.011303
+95351,CA,Modesto,37.625022,-121.006033
+95354,CA,Modesto,37.644526,-120.968323
+95355,CA,Modesto,37.673515,-120.954658
+95356,CA,Modesto,37.699431,-121.027051
+95360,CA,Newman,37.317591,-121.025943
+95361,CA,Knights Ferry,37.775323,-120.849474
+95363,CA,Patterson,37.490592,-121.140732
+95364,CA,Pinecrest,38.341062,-119.865195
+95366,CA,Ripon,37.753286,-121.122909
+95367,CA,Riverbank,37.732809,-120.943019
+95368,CA,Salida,37.70713,-121.090484
+95369,CA,Snelling,37.514359,-120.481615
+95370,CA,Sonora,37.995692,-120.338498
+95372,CA,Soulsbyville,37.992794,-120.259892
+95374,CA,Stevinson,37.32575,-120.869856
+95376,CA,Tracy,37.742116,-121.419723
+95379,CA,Tuolumne,37.971339,-120.237496
+95380,CA,Turlock,37.503605,-120.850511
+95383,CA,Twain Harte,38.044722,-120.2155
+95386,CA,Waterford,37.650988,-120.753862
+95388,CA,Winton,37.39233,-120.6132
+95401,CA,Santa Rosa,38.443123,-122.751722
+95403,CA,Santa Rosa,38.477273,-122.748528
+95404,CA,Santa Rosa,38.449556,-122.689524
+95405,CA,Santa Rosa,38.438279,-122.66988
+95407,CA,Santa Rosa,38.410462,-122.727896
+95409,CA,Santa Rosa,38.461242,-122.642125
+95410,CA,Albion,39.215934,-123.721366
+95411,CA,95411,40.161039,-123.610187
+95412,CA,Annapolis,38.714485,-123.314214
+95414,CA,95414,40.290394,-123.649246
+95415,CA,Boonville,39.035007,-123.401954
+95417,CA,Branscomb,39.700531,-123.554982
+95420,CA,Caspar,39.365102,-123.798489
+95421,CA,Cazadero,38.566335,-123.182896
+95422,CA,Clearlake,38.957138,-122.636089
+95423,CA,Clearlake Oaks,39.034838,-122.66873
+95425,CA,Cloverdale,38.799396,-123.011725
+95427,CA,Comptche,39.249919,-123.585652
+95428,CA,Covelo,39.801864,-123.215015
+95429,CA,Dos Rios,39.709298,-123.298294
+95432,CA,Elk,39.160402,-123.723961
+95436,CA,Forestville,38.489442,-122.896683
+95437,CA,Fort Bragg,39.437452,-123.78835
+95439,CA,Fulton,38.494732,-122.77608
+95440,CA,95440,40.101665,-123.842409
+95441,CA,Geyserville,38.700398,-122.888921
+95442,CA,Glen Ellen,38.362538,-122.521002
+95443,CA,Glenhaven,38.99008,-122.522035
+95444,CA,Graton,38.434971,-122.866766
+95445,CA,Gualala,38.803619,-123.553975
+95446,CA,Guerneville,38.509573,-122.994416
+95448,CA,Healdsburg,38.61553,-122.856529
+95449,CA,Hopland,38.972056,-123.116956
+95450,CA,Jenner,38.474093,-123.135379
+95451,CA,Kelseyville,38.946164,-122.781707
+95452,CA,Kenwood,38.416794,-122.554679
+95453,CA,Lakeport,39.055147,-122.915082
+95454,CA,Laytonville,39.667811,-123.486862
+95455,CA,95455,39.851774,-123.618247
+95456,CA,Littleriver,39.271042,-123.753089
+95457,CA,Lower Lake,38.860682,-122.575426
+95458,CA,Lucerne,39.083393,-122.785125
+95459,CA,Manchester,38.992088,-123.670962
+95460,CA,Mendocino,39.323212,-123.78846
+95461,CA,Middletown,38.782504,-122.64352
+95462,CA,Russian River Md,38.462668,-123.00447
+95464,CA,Nice,39.122341,-122.842409
+95465,CA,Occidental,38.396911,-122.988194
+95466,CA,Philo,39.120005,-123.538218
+95467,CA,95467,39.962583,-123.814656
+95468,CA,Point Arena,38.915264,-123.660756
+95469,CA,Potter Valley,39.329639,-123.104181
+95470,CA,Redwood Valley,39.269446,-123.213289
+95472,CA,Freestone,38.391543,-122.838503
+95476,CA,Sonoma,38.295659,-122.472843
+95482,CA,Ukiah,39.151917,-123.200692
+95485,CA,Upper Lake,39.160829,-122.896114
+95488,CA,Westport,39.644059,-123.76426
+95489,CA,95489,40.038453,-124.032628
+95490,CA,Willits,39.411426,-123.350271
+95492,CA,Windsor,38.543182,-122.804375
+95493,CA,Witter Springs,39.182118,-122.97105
+95494,CA,Yorkville,38.908945,-123.233867
+95495,CA,95495,40.203331,-123.381217
+95497,CA,The Sea Ranch,38.725627,-123.467486
+95501,CA,Eureka,40.776237,-124.155892
+95521,CA,Mc Kinleyville,40.904901,-124.081069
+95524,CA,Bayside,40.822381,-124.027305
+95525,CA,Blue Lake,40.928701,-123.896696
+95526,CA,Ruth,40.468566,-123.549351
+95527,CA,Burnt Ranch,40.772238,-123.461248
+95528,CA,Carlotta,40.507027,-123.974287
+95531,CA,Crescent City,41.785402,-124.178448
+95536,CA,Ferndale,40.574488,-124.252268
+95540,CA,Fortuna,40.584931,-124.140654
+95543,CA,Gasquet,41.862768,-123.912467
+95546,CA,Hoopa,41.105937,-123.692754
+95547,CA,Hydesville,40.549576,-124.084489
+95548,CA,Klamath,41.542075,-124.033907
+95549,CA,Kneeland,40.71262,-123.946421
+95550,CA,Korbel,40.824369,-123.859413
+95551,CA,Loleta,40.6531,-124.228826
+95552,CA,Mad River,40.352352,-123.413994
+95554,CA,Myers Flat,40.194758,-123.822713
+95555,CA,Orick,41.30724,-124.050319
+95556,CA,Orleans,41.318092,-123.529564
+95558,CA,Petrolia,40.300558,-124.251236
+95560,CA,Redway,40.110081,-123.844194
+95562,CA,Rio Dell,40.495147,-124.104386
+95563,CA,Salyer,40.89095,-123.547833
+95564,CA,Samoa,40.803712,-124.193571
+95565,CA,Scotia,40.454665,-124.039074
+95567,CA,Smith River,41.936218,-124.166115
+95568,CA,Somes Bar,41.43304,-123.475928
+95569,CA,Redcrest,40.406458,-123.94205
+95570,CA,Westhaven,41.087949,-124.101253
+95573,CA,Willow Creek,40.938894,-123.631062
+95603,CA,Auburn,38.928311,-121.084347
+95605,CA,Bryte,38.592424,-121.526377
+95606,CA,Brooks,38.739277,-122.133391
+95607,CA,Capay,38.696964,-122.100993
+95608,CA,Carmichael,38.628393,-121.328683
+95610,CA,Citrus Heights,38.694571,-121.269211
+95612,CA,Clarksburg,38.395963,-121.556853
+95614,CA,Cool,38.903633,-120.972963
+95615,CA,Courtland,38.305756,-121.554297
+95616,CA,Davis,38.554817,-121.748495
+95618,CA,El Macero,38.542151,-121.676722
+95619,CA,Diamond Springs,38.66302,-120.836071
+95620,CA,Liberty Farms,38.458691,-121.815825
+95621,CA,Citrus Heights,38.695155,-121.307501
+95624,CA,Elk Grove,38.412744,-121.359914
+95626,CA,Elverta,38.716424,-121.431038
+95627,CA,Esparto,38.694191,-122.021391
+95628,CA,Fair Oaks,38.655408,-121.261065
+95629,CA,Fiddletown,38.53141,-120.715926
+95630,CA,El Dorado Hills,38.687885,-121.140927
+95631,CA,Foresthill,39.00229,-120.861127
+95632,CA,Galt,38.269846,-121.29383
+95633,CA,Garden Valley,38.866495,-120.856672
+95634,CA,Georgetown,38.919892,-120.793388
+95635,CA,Greenwood,38.936234,-120.916589
+95636,CA,Grizzly Flats,38.628665,-120.542508
+95637,CA,Guinda,38.816568,-122.189659
+95638,CA,Herald,38.31282,-121.158898
+95640,CA,Ione,38.351882,-120.943265
+95641,CA,Isleton,38.155392,-121.604858
+95642,CA,Jackson,38.357514,-120.754877
+95643,CA,Kelsey,38.797636,-120.824056
+95645,CA,Knights Landing,38.822032,-121.720003
+95648,CA,Lincoln,38.904035,-121.295541
+95650,CA,Loomis,38.80711,-121.169826
+95651,CA,Lotus,38.801712,-120.928864
+95652,CA,Mcclellan Afb,38.655416,-121.40311
+95653,CA,Madison,38.680164,-121.972129
+95655,CA,Mather Afb,38.549224,-121.282394
+95658,CA,Newcastle,38.872467,-121.142616
+95659,CA,Trowbridge,38.882726,-121.553043
+95660,CA,North Highlands,38.68855,-121.374913
+95661,CA,Roseville,38.734612,-121.233968
+95662,CA,Orangevale,38.682384,-121.222902
+95663,CA,Penryn,38.856654,-121.179149
+95664,CA,Pilot Hill,38.826312,-121.029765
+95665,CA,Pine Grove,38.396783,-120.643713
+95666,CA,Pioneer,38.460271,-120.531815
+95667,CA,Placerville,38.719479,-120.804564
+95668,CA,Pleasant Grove,38.787773,-121.507967
+95669,CA,Plymouth,38.48811,-120.870258
+95670,CA,Gold River,38.601897,-121.289434
+95672,CA,Rescue,38.719353,-120.994526
+95673,CA,Rio Linda,38.689311,-121.445152
+95674,CA,Rio Oso,38.960998,-121.505305
+95677,CA,Rocklin,38.791898,-121.243406
+95678,CA,Roseville,38.750895,-121.302801
+95679,CA,Rumsey,38.8762,-122.253738
+95681,CA,Sheridan,38.99153,-121.362062
+95682,CA,Cameron Park,38.665616,-120.975925
+95683,CA,Rancho Murieta,38.507475,-121.094089
+95684,CA,Somerset,38.607414,-120.666306
+95685,CA,Sutter Creek,38.418569,-120.785454
+95687,CA,Vacaville,38.341915,-121.962285
+95688,CA,Vacaville,38.3812,-121.989912
+95689,CA,Volcano,38.477319,-120.617761
+95690,CA,Walnut Grove,38.236362,-121.524849
+95691,CA,West Sacramento,38.567979,-121.539671
+95692,CA,Wheatland,39.019197,-121.422126
+95693,CA,Wilton,38.412069,-121.225656
+95694,CA,Winters,38.529462,-121.974544
+95695,CA,Woodland,38.674294,-121.77932
+95698,CA,Zamora,38.799896,-121.90654
+95701,CA,Alta,39.228032,-120.773165
+95703,CA,Applegate,38.995487,-120.990511
+95709,CA,Camino,38.744938,-120.671979
+95713,CA,Iowa Hill,39.076936,-120.960163
+95714,CA,Dutch Flat,39.197788,-120.826224
+95715,CA,Emigrant Gap,39.286907,-120.662902
+95717,CA,Gold Run,39.175102,-120.856909
+95720,CA,Kyburz,38.780036,-120.25529
+95721,CA,Echo Lake,38.810254,-120.070498
+95722,CA,Meadow Vista,39.003101,-121.029155
+95724,CA,Norden,39.319566,-120.400876
+95726,CA,Pacific House,38.745581,-120.585114
+95728,CA,Soda Springs,39.338467,-120.465493
+95735,CA,Twin Bridges,38.808615,-120.128851
+95742,CA,Rancho Cordova,38.604313,-121.204019
+95758,CA,Elk Grove,38.404238,-121.430706
+95814,CA,Sacramento,38.579792,-121.489404
+95815,CA,Sacramento,38.613303,-121.443543
+95816,CA,Sacramento,38.572788,-121.46753
+95817,CA,Sacramento,38.549785,-121.458324
+95818,CA,Sacramento,38.556778,-121.492884
+95819,CA,Sacramento,38.568293,-121.436634
+95820,CA,Sacramento,38.534694,-121.445139
+95821,CA,Sacramento,38.623889,-121.383807
+95822,CA,Sacramento,38.509139,-121.493541
+95823,CA,Sacramento,38.479711,-121.443846
+95824,CA,Sacramento,38.517843,-121.441883
+95825,CA,Sacramento,38.589226,-121.405677
+95826,CA,Sacramento,38.553868,-121.369265
+95827,CA,Sacramento,38.56623,-121.328593
+95828,CA,Sacramento,38.483718,-121.401504
+95829,CA,Sacramento,38.472564,-121.346631
+95830,CA,Sacramento,38.476556,-121.281453
+95831,CA,Sacramento,38.496226,-121.529661
+95832,CA,Sacramento,38.475387,-121.482967
+95833,CA,Sacramento,38.616993,-121.494487
+95834,CA,Sacramento,38.633418,-121.492052
+95835,CA,Sacramento,38.662595,-121.483444
+95836,CA,Sacramento,38.707346,-121.532259
+95837,CA,Sacramento,38.681726,-121.60297
+95838,CA,Sacramento,38.640566,-121.44396
+95841,CA,Sacramento,38.662699,-121.340608
+95842,CA,Sacramento,38.687385,-121.35046
+95864,CA,Sacramento,38.587768,-121.376889
+95901,CA,Marysville,39.141653,-121.522467
+95910,CA,Alleghany,39.512698,-120.727176
+95912,CA,Arbuckle,39.013787,-122.027405
+95914,CA,Bangor,39.424862,-121.350499
+95915,CA,Belden,39.921746,-121.325924
+95916,CA,Berry Creek,39.638394,-121.385467
+95917,CA,Biggs,39.414918,-121.695873
+95918,CA,Browns Valley,39.284428,-121.346482
+95919,CA,Brownsville,39.452534,-121.261179
+95920,CA,Butte City,39.456348,-121.978046
+95922,CA,Camptonville,39.450784,-121.023066
+95923,CA,Canyondam,40.207958,-121.156324
+95926,CA,Cohasset,39.756466,-121.851806
+95928,CA,Chico,39.729523,-121.81555
+95932,CA,Colusa,39.21311,-122.011563
+95934,CA,Crescent Mills,40.081915,-120.881993
+95935,CA,Dobbins,39.371469,-121.234386
+95936,CA,Downieville,39.570265,-120.677767
+95937,CA,Dunnigan,38.893671,-121.996577
+95938,CA,Durham,39.641599,-121.791983
+95939,CA,Elk Creek,39.598914,-122.557244
+95941,CA,Forbestown,39.541712,-121.213443
+95942,CA,Butte Meadows,40.129931,-121.500205
+95943,CA,Glenn,39.606871,-122.038443
+95944,CA,Goodyears Bar,39.572891,-120.820698
+95945,CA,Grass Valley,39.207617,-121.037401
+95946,CA,Penn Valley,39.218778,-121.193519
+95947,CA,Greenville,40.142404,-120.927299
+95948,CA,Gridley,39.358855,-121.689777
+95949,CA,Grass Valley,39.1029,-121.069357
+95953,CA,Live Oak,39.266904,-121.66393
+95954,CA,Magalia,39.831728,-121.597455
+95955,CA,Maxwell,39.292494,-122.195161
+95956,CA,Meadow Valley,39.918488,-121.05629
+95957,CA,Meridian,39.116812,-121.88138
+95959,CA,Nevada City,39.275395,-121.019634
+95960,CA,North San Juan,39.354037,-121.13498
+95961,CA,Olivehurst,39.089483,-121.550059
+95962,CA,Oregon House,39.314388,-121.209229
+95963,CA,Orland,39.744578,-122.157885
+95965,CA,Pulga,39.532967,-121.578396
+95966,CA,Oroville,39.491448,-121.502029
+95968,CA,Palermo,39.436148,-121.545389
+95969,CA,Paradise,39.759804,-121.603097
+95970,CA,Princeton,39.428313,-122.030181
+95971,CA,Quincy,39.940504,-120.928493
+95972,CA,Rackerby,39.4059,-121.336192
+95975,CA,Rough And Ready,39.228585,-121.150856
+95977,CA,Smartville,39.204305,-121.266716
+95979,CA,Stonyford,39.333652,-122.517811
+95981,CA,La Porte,39.604136,-121.074566
+95982,CA,Sutter,39.168114,-121.756527
+95983,CA,Taylorsville,40.064911,-120.801797
+95984,CA,Twain,40.002769,-121.150729
+95987,CA,Williams,39.148855,-122.162375
+95988,CA,Willows,39.523751,-122.199204
+95991,CA,Yuba City,39.128619,-121.621599
+95993,CA,Yuba City,39.128193,-121.655168
+96001,CA,Redding,40.560493,-122.411627
+96002,CA,Redding,40.548586,-122.333932
+96003,CA,Redding,40.627751,-122.352962
+96006,CA,Adin,41.21751,-120.943193
+96007,CA,Anderson,40.457432,-122.328218
+96008,CA,Bella Vista,40.740945,-122.07245
+96010,CA,Big Bar,40.74796,-123.229006
+96013,CA,Burney,40.894927,-121.655036
+96014,CA,Callahan,41.383257,-122.764046
+96015,CA,Canby,41.466358,-120.921769
+96016,CA,Cassel,40.907832,-121.524497
+96019,CA,Shasta Lake,40.680262,-122.365395
+96020,CA,Chester,40.297457,-121.227338
+96021,CA,Corning,39.929566,-122.195991
+96022,CA,Cottonwood,40.369072,-122.337463
+96024,CA,Douglas City,40.634151,-122.923867
+96025,CA,Dunsmuir,41.212439,-122.273397
+96027,CA,Sawyers Bar,41.468303,-122.914189
+96028,CA,Fall River Mills,41.03931,-121.460562
+96031,CA,Forks Of Salmon,41.256978,-123.09781
+96032,CA,Fort Jones,41.617027,-122.883207
+96033,CA,French Gulch,40.703517,-122.622868
+96034,CA,Gazelle,41.510485,-122.537122
+96035,CA,Gerber,40.042997,-122.164937
+96038,CA,Grenada,41.612512,-122.525829
+96039,CA,Happy Camp,41.801802,-123.388045
+96040,CA,Hat Creek,40.767673,-121.463687
+96041,CA,Hayfork,40.550431,-123.163416
+96044,CA,Hornbrook,41.907738,-122.526528
+96045,CA,Horse Creek,41.833732,-123.013919
+96047,CA,Igo,40.431795,-122.654023
+96048,CA,Helena,40.768187,-123.062671
+96050,CA,Klamath River,41.863699,-122.819693
+96051,CA,Lakehead,40.958775,-122.359281
+96052,CA,Lewiston,40.745986,-122.842591
+96055,CA,Los Molinos,40.049735,-122.099175
+96056,CA,Mcarthur,41.111407,-121.214896
+96057,CA,Mccloud,41.252108,-122.13562
+96058,CA,Macdoel,41.883028,-121.944472
+96059,CA,Manton,40.433125,-121.836521
+96062,CA,Millville,40.565316,-122.111088
+96063,CA,Mineral,40.328826,-121.524807
+96064,CA,Montague,41.724294,-122.463799
+96065,CA,Montgomery Creek,40.912378,-121.923313
+96067,CA,Mount Shasta,41.317435,-122.324017
+96069,CA,Oak Run,40.68631,-122.040932
+96071,CA,Old Station,40.62557,-121.458476
+96073,CA,Palo Cedro,40.576661,-122.239805
+96075,CA,Paynes Creek,40.351415,-121.764952
+96076,CA,Wildwood,40.316528,-122.918013
+96080,CA,Red Bluff,40.179535,-122.238281
+96085,CA,Scott Bar,41.77364,-122.988183
+96086,CA,Seiad Valley,41.886589,-123.243762
+96087,CA,Shasta,40.610896,-122.49685
+96088,CA,Shingletown,40.504959,-121.885668
+96091,CA,Trinity Center,41.061548,-122.723919
+96093,CA,Weaverville,40.731701,-122.935303
+96094,CA,Edgewood,41.439466,-122.384803
+96096,CA,Whitmore,40.65255,-121.877076
+96097,CA,Yreka,41.720558,-122.637604
+96101,CA,Alturas,41.476742,-120.545584
+96103,CA,Cromberg,39.784745,-120.627397
+96104,CA,Cedarville,41.475871,-120.151551
+96105,CA,Chilcoot,39.805683,-120.175212
+96106,CA,Clio,39.74326,-120.560458
+96107,CA,Coleville,38.502903,-119.482784
+96108,CA,Davis Creek,41.862555,-120.323549
+96109,CA,Doyle,40.000799,-120.107693
+96111,CA,Floriston,39.445746,-120.025421
+96112,CA,Fort Bidwell,41.864441,-120.161983
+96113,CA,Herlong,40.148492,-120.171271
+96114,CA,Janesville,40.296325,-120.50982
+96115,CA,Lake City,41.668208,-120.181424
+96117,CA,Litchfield,40.362788,-120.253975
+96118,CA,Loyalton,39.662974,-120.229662
+96120,CA,Hope Valley,38.76473,-119.807275
+96121,CA,Milford,40.182763,-120.389508
+96122,CA,Portola,39.810883,-120.466858
+96123,CA,Ravendale,40.831705,-120.16001
+96124,CA,Calpine,39.651699,-120.4442
+96125,CA,Sierra City,39.559248,-120.624135
+96126,CA,Sierraville,39.594294,-120.347789
+96128,CA,Standish,40.350863,-120.406847
+96130,CA,Susanville,40.398282,-120.646442
+96132,CA,Termo,40.946667,-120.517378
+96133,CA,Topaz,38.64151,-119.512164
+96134,CA,Tulelake,41.931621,-121.434688
+96135,CA,Vinton,39.720719,-120.204994
+96136,CA,Wendel,40.346233,-120.352156
+96137,CA,Peninsula Villag,40.270359,-121.109224
+96140,CA,Carnelian Bay,39.231937,-120.075328
+96141,CA,Homewood,39.078157,-120.179035
+96142,CA,Tahoma,39.064406,-120.135747
+96143,CA,Kings Beach,39.240119,-120.023287
+96145,CA,Tahoe City,39.180618,-120.144532
+96148,CA,Tahoe Vista,39.24475,-120.052128
+96150,CA,South Lake Tahoe,38.916976,-119.986469
+96161,CA,Truckee,39.338546,-120.172942
+96162,CA,Truckee,39.319321,-120.295031
+80002,CO,Arvada,39.794533,-105.098402
+80003,CO,Arvada,39.828572,-105.065549
+80004,CO,Arvada,39.814066,-105.11771
+80005,CO,Arvada,39.842189,-105.109719
+80010,CO,Aurora,39.736788,-104.864618
+80011,CO,Aurora,39.737809,-104.815233
+80012,CO,Aurora,39.698672,-104.837693
+80013,CO,Aurora,39.657457,-104.784566
+80014,CO,Aurora,39.666171,-104.834954
+80015,CO,Aurora,39.62552,-104.787438
+80016,CO,Aurora,39.618713,-104.741734
+80017,CO,Aurora,39.694827,-104.788093
+80018,CO,Aurora,39.710179,-104.707102
+80019,CO,Aurora,39.765608,-104.706906
+80020,CO,Broomfield,39.924513,-105.060902
+80021,CO,Westminster,39.875996,-105.102837
+80022,CO,Commerce City,39.825875,-104.911349
+80026,CO,Lafayette,39.997964,-105.096346
+80027,CO,Louisville,39.978942,-105.145557
+80030,CO,Westminster,39.854238,-105.037086
+80033,CO,Wheat Ridge,39.774036,-105.096195
+80045,CO,Aurora,39.748014,-104.837954
+80101,CO,Agate,39.420256,-103.984575
+80102,CO,Bennett,39.725398,-104.427284
+80103,CO,Byers,39.698454,-104.201872
+80104,CO,Castle Rock,39.39256,-104.860187
+80105,CO,Deer Trail,39.593121,-104.068003
+80106,CO,Elbert,39.096892,-104.574631
+80107,CO,Elizabeth,39.383618,-104.591961
+80110,CO,Cherry Hills Vil,39.646027,-104.990022
+80111,CO,Cherry Hills Vil,39.610327,-104.882832
+80112,CO,Englewood,39.58051,-104.901115
+80116,CO,Franktown,39.372841,-104.725569
+80117,CO,Kiowa,39.323972,-104.452263
+80118,CO,Larkspur,39.201079,-104.854587
+80120,CO,Littleton,39.599426,-105.0044
+80121,CO,Greenwood Villag,39.605835,-104.957285
+80122,CO,Littleton,39.581418,-104.955673
+80123,CO,Bow Mar,39.596854,-105.07766
+80124,CO,Littleton,39.55061,-104.897204
+80125,CO,Littleton,39.484466,-105.056098
+80126,CO,Highlands Ranch,39.55134,-104.963751
+80127,CO,Littleton,39.591968,-105.132811
+80132,CO,Monument,39.100726,-104.85416
+80133,CO,Palmer Lake,39.120498,-104.914795
+80134,CO,Parker,39.505466,-104.734904
+80135,CO,Deckers,39.330109,-105.008305
+80136,CO,Strasburg,39.781359,-104.268258
+80137,CO,Watkins,39.762317,-104.583391
+80202,CO,Denver,39.749107,-104.994591
+80203,CO,Denver,39.731285,-104.981111
+80204,CO,Denver,39.734022,-105.025854
+80205,CO,Denver,39.758993,-104.966141
+80206,CO,Denver,39.733109,-104.9524
+80207,CO,Denver,39.758425,-104.91771
+80209,CO,Denver,39.707437,-104.968587
+80210,CO,Denver,39.679003,-104.963124
+80211,CO,Denver,39.766515,-105.020377
+80212,CO,Mountain View,39.772396,-105.046979
+80214,CO,Edgewater,39.746931,-105.062036
+80215,CO,Lakewood,39.744033,-105.102329
+80216,CO,Denver,39.783469,-104.966946
+80218,CO,Denver,39.732747,-104.971652
+80219,CO,Denver,39.695624,-105.034134
+80220,CO,Denver,39.7312,-104.912866
+80221,CO,Federal Heights,39.840562,-105.007985
+80222,CO,Glendale,39.682803,-104.927992
+80223,CO,Denver,39.700239,-105.002799
+80224,CO,Denver,39.687995,-104.910778
+80226,CO,Lakewood,39.712186,-105.066703
+80227,CO,Denver,39.666746,-105.085359
+80228,CO,Lakewood,39.696898,-105.143009
+80229,CO,Thornton,39.860998,-104.961749
+80231,CO,Denver,39.679324,-104.884326
+80232,CO,Lakewood,39.697282,-105.094524
+80233,CO,Northglenn,39.901222,-104.958257
+80234,CO,Northglenn,39.905479,-105.004474
+80235,CO,Denver,39.647175,-105.079466
+80236,CO,Denver,39.653535,-105.037595
+80237,CO,Denver,39.64314,-104.89866
+80239,CO,Denver,39.787757,-104.828837
+80241,CO,Northglenn,39.927792,-104.941809
+80249,CO,Denver,39.778264,-104.75565
+80301,CO,Boulder,40.049733,-105.21426
+80302,CO,Boulder,40.017235,-105.285131
+80303,CO,Boulder,39.991381,-105.239178
+80304,CO,Boulder,40.037482,-105.277073
+80401,CO,Golden,39.730548,-105.191528
+80403,CO,Golden,39.823219,-105.282516
+80421,CO,Bailey,39.448233,-105.469282
+80422,CO,Black Hawk,39.801105,-105.503991
+80423,CO,Bond,39.869119,-106.676273
+80428,CO,Clark,40.726783,-106.921482
+80429,CO,Climax,39.298804,-106.258027
+80430,CO,Coalmont,40.538252,-106.532134
+80433,CO,Conifer,39.519735,-105.316873
+80435,CO,Keystone,39.574827,-106.057345
+80439,CO,Evergreen,39.637405,-105.340248
+80440,CO,Fairplay,39.225617,-105.999416
+80441,CO,Foxton,39.372056,-105.24815
+80446,CO,Granby,40.012834,-105.889916
+80447,CO,Grand Lake,40.228862,-105.860488
+80452,CO,Idaho Springs,39.740192,-105.598261
+80455,CO,Jamestown,40.10056,-105.418971
+80456,CO,Jefferson,39.300926,-105.78633
+80459,CO,Kremmling,40.063224,-106.395472
+80461,CO,Leadville,39.249742,-106.301545
+80463,CO,Mc Coy,39.913377,-106.730906
+80465,CO,Morrison,39.612452,-105.174641
+80466,CO,Nederland,39.970259,-105.481265
+80467,CO,Oak Creek,40.256733,-106.929621
+80468,CO,Parshall,40.053765,-106.225492
+80470,CO,Pine,39.46667,-105.374116
+80471,CO,Pinecliffe,39.942898,-105.354004
+80474,CO,Rollinsville,39.910757,-105.472596
+80479,CO,Toponas,40.119601,-106.908172
+80480,CO,Walden,40.709978,-106.276728
+80481,CO,Ward,40.072572,-105.508023
+80487,CO,Steamboat Spring,40.474124,-106.8457
+80501,CO,Longmont,40.177921,-105.10095
+80503,CO,Longmont,40.15588,-105.162432
+80504,CO,Longmont,40.130615,-104.950446
+80510,CO,Allenspark,40.226775,-105.520064
+80512,CO,Bellvue,40.626528,-105.260977
+80513,CO,Berthoud,40.299333,-105.105459
+80514,CO,Dacono,40.08361,-104.929705
+80515,CO,Drake,40.443257,-105.296925
+80516,CO,Erie,40.059746,-105.068583
+80517,CO,Estes Park,40.365761,-105.514163
+80521,CO,Fort Collins,40.581293,-105.103884
+80524,CO,Fort Collins,40.59865,-105.05811
+80525,CO,Fort Collins,40.538354,-105.054715
+80526,CO,Fort Collins,40.547294,-105.107646
+80534,CO,Johnstown,40.335526,-104.923558
+80535,CO,Laporte,40.634683,-105.148757
+80536,CO,Virginia Dale,40.779878,-105.367745
+80537,CO,Loveland,40.384917,-105.09164
+80538,CO,Loveland,40.426239,-105.089985
+80540,CO,Lyons,40.235715,-105.323071
+80543,CO,Milliken,40.310656,-104.876137
+80545,CO,Red Feather Lake,40.796451,-105.624455
+80549,CO,Wellington,40.725525,-105.031844
+80550,CO,Windsor,40.483663,-104.899442
+80601,CO,Lochbui,39.980553,-104.810278
+80610,CO,Ault,40.593772,-104.735629
+80611,CO,Briggsdale,40.639192,-104.28707
+80612,CO,Carr,40.866551,-104.885865
+80615,CO,Eaton,40.527272,-104.714559
+80620,CO,Evans,40.380255,-104.697095
+80621,CO,Wattenburg,40.078876,-104.865639
+80622,CO,Galeton,40.515034,-104.597254
+80624,CO,Gill,40.469586,-104.499995
+80631,CO,Garden City,40.413968,-104.704756
+80634,CO,Greeley,40.410947,-104.754113
+80640,CO,Henderson,39.898304,-104.871834
+80642,CO,Hudson,40.060555,-104.653208
+80643,CO,Keenesburg,40.095847,-104.446366
+80644,CO,Kersey,40.396305,-104.528768
+80645,CO,La Salle,40.321138,-104.726784
+80648,CO,Nunn,40.726483,-104.785012
+80649,CO,Orchard,40.363946,-104.097325
+80650,CO,Pierce,40.635911,-104.763764
+80651,CO,Platteville,40.213121,-104.802776
+80652,CO,Roggen,40.207445,-104.315747
+80653,CO,Weldona,40.368093,-103.967755
+80654,CO,Hoyt,40.205651,-104.052814
+80701,CO,Fort Morgan,40.254084,-103.803119
+80720,CO,Akron,40.180315,-103.225885
+80721,CO,Amherst,40.682386,-102.170567
+80722,CO,Atwood,40.517432,-103.039301
+80723,CO,Brush,40.260255,-103.62788
+80726,CO,Crook,40.874743,-102.847174
+80727,CO,Eckley,40.113775,-102.482776
+80728,CO,Fleming,40.637019,-102.868821
+80729,CO,Grover,40.871635,-104.234613
+80731,CO,Haxtun,40.640587,-102.605175
+80733,CO,Hillrose,40.307186,-103.541816
+80734,CO,Holyoke,40.582542,-102.282545
+80735,CO,Hale,39.733147,-102.211563
+80736,CO,Iliff,40.769174,-103.096808
+80737,CO,Julesburg,40.97083,-102.257501
+80740,CO,Lindon,39.830849,-103.314471
+80741,CO,Willard,40.511548,-103.34471
+80742,CO,New Raymer,40.685079,-103.838982
+80743,CO,Otis,40.202989,-102.939219
+80744,CO,Ovid,40.945865,-102.387396
+80745,CO,Padroni,40.954911,-103.358163
+80747,CO,Peetz,40.95195,-103.116606
+80749,CO,Sedgwick,40.910317,-102.529122
+80750,CO,Snyder,40.330655,-103.597134
+80751,CO,Sterling,40.63062,-103.221183
+80754,CO,Stoneham,40.686994,-103.638687
+80755,CO,Vernon,39.933127,-102.319343
+80757,CO,Last Chance,39.938105,-103.578033
+80758,CO,Laird,40.104917,-102.233751
+80759,CO,Yuma,40.130063,-102.707174
+80801,CO,Anton,39.686527,-103.434296
+80802,CO,Arapahoe,38.841716,-102.19401
+80804,CO,Arriba,39.30253,-103.270968
+80805,CO,Bethune,39.344771,-102.428142
+80807,CO,Burlington,39.310649,-102.258281
+80808,CO,Calhan,38.964773,-104.355274
+80809,CO,North Pole,38.921314,-104.993684
+80810,CO,Cheyenne Wells,38.819762,-102.358173
+80812,CO,Cope,39.746227,-102.988098
+80814,CO,Divide,38.957622,-105.19937
+80815,CO,Flagler,39.312654,-103.062395
+80816,CO,Florissant,38.827669,-105.226106
+80817,CO,Fountain,38.699563,-104.700469
+80818,CO,Genoa,39.338328,-103.460689
+80820,CO,Guffey,38.814584,-105.57835
+80821,CO,Hugo,39.084318,-103.498971
+80822,CO,Joes,39.672771,-102.615134
+80823,CO,Karval,38.71194,-103.500613
+80824,CO,Kirk,39.617072,-102.477554
+80825,CO,Kit Carson,38.803984,-102.819842
+80827,CO,Lake George,39.034233,-105.434654
+80828,CO,Limon,39.27126,-103.685572
+80829,CO,Manitou Springs,38.854994,-104.905839
+80830,CO,Matheson,39.132044,-103.913165
+80831,CO,Peyton,38.954097,-104.54722
+80832,CO,Ramah,39.073571,-104.124733
+80833,CO,Rush,38.764248,-104.024065
+80834,CO,Seibert,39.318329,-102.882184
+80835,CO,Simla,39.146457,-104.086236
+80836,CO,Stratton,39.308733,-102.597928
+80840,CO,United States Ai,38.990448,-104.860139
+80861,CO,Vona,39.323564,-102.739287
+80863,CO,Woodland Park,38.996929,-105.062292
+80864,CO,Yoder,38.775252,-104.218353
+80903,CO,Colorado Springs,38.838832,-104.814466
+80904,CO,Colorado Springs,38.853318,-104.859513
+80905,CO,Colorado Springs,38.837692,-104.836997
+80906,CO,Colorado Springs,38.790164,-104.819893
+80907,CO,Colorado Springs,38.876001,-104.817034
+80908,CO,Colorado Springs,39.023745,-104.693331
+80909,CO,Colorado Springs,38.852038,-104.773483
+80910,CO,Colorado Springs,38.815164,-104.770299
+80911,CO,Colorado Springs,38.745665,-104.722322
+80913,CO,Fort Carson,38.741967,-104.782218
+80914,CO,Cheyenne Mtn Afb,38.784241,-104.719052
+80915,CO,Colorado Springs,38.855845,-104.713422
+80916,CO,Colorado Springs,38.807619,-104.74034
+80917,CO,Colorado Springs,38.886027,-104.739904
+80918,CO,Colorado Springs,38.912924,-104.773444
+80919,CO,Colorado Springs,38.926795,-104.84642
+80920,CO,Colorado Springs,38.949732,-104.766951
+80921,CO,Colorado Springs,39.048674,-104.814042
+80922,CO,Colorado Springs,38.90503,-104.698161
+80925,CO,Colorado Springs,38.731329,-104.660087
+80926,CO,Colorado Springs,38.698073,-104.85051
+80928,CO,Colorado Springs,38.623261,-104.457043
+80929,CO,Colorado Springs,38.796837,-104.607857
+80930,CO,Colorado Springs,38.828926,-104.526924
+81001,CO,Pueblo,38.287876,-104.584828
+81003,CO,Pueblo,38.284277,-104.62337
+81004,CO,Pueblo,38.244063,-104.627829
+81005,CO,Pueblo,38.235157,-104.660031
+81006,CO,Pueblo,38.24465,-104.531834
+81007,CO,Pueblo West,38.319975,-104.743264
+81008,CO,Pueblo,38.313251,-104.628433
+81020,CO,Aguilar,37.393304,-104.676926
+81021,CO,Arlington,38.40677,-103.369741
+81022,CO,North Avondale,38.211603,-104.359686
+81023,CO,Beulah,38.083712,-104.97245
+81025,CO,Boone,38.264614,-104.25851
+81026,CO,Brandon,38.485133,-102.781906
+81027,CO,Branson,37.051775,-103.874115
+81028,CO,Bristol,38.133184,-102.342642
+81029,CO,Campo,37.119547,-102.546423
+81036,CO,Chivington,38.444141,-102.50536
+81039,CO,Fowler,38.123071,-104.029908
+81040,CO,Farisita,37.763753,-105.237397
+81041,CO,Granada,38.054485,-102.32712
+81043,CO,Hartman,38.145291,-102.186609
+81044,CO,Caddoa,38.107347,-102.933145
+81045,CO,Haswell,38.447431,-103.150543
+81047,CO,Holly,38.0205,-102.141466
+81049,CO,Villegreen,37.331189,-103.358348
+81050,CO,Timpas,37.991552,-103.549068
+81052,CO,Lamar,38.084136,-102.619195
+81054,CO,Deora,38.065514,-103.208492
+81055,CO,Cuchara,37.498292,-105.012994
+81057,CO,Mc Clave,38.150484,-102.816934
+81058,CO,Manzanola,38.110861,-103.876602
+81059,CO,Delhi,37.478533,-104.13074
+81062,CO,Olney Springs,38.201877,-103.941033
+81063,CO,Ordway,38.209546,-103.800277
+81064,CO,Utleyville,37.355885,-102.893106
+81067,CO,Rocky Ford,38.049016,-103.725143
+81069,CO,Rye,37.937145,-104.886257
+81071,CO,Towner,38.462172,-102.295367
+81073,CO,Springfield,37.406727,-102.617322
+81076,CO,Sugar City,38.244368,-103.655557
+81080,CO,81080,38.438391,-102.108268
+81081,CO,Trinchera,37.075662,-104.118354
+81082,CO,Jansen,37.175475,-104.500715
+81084,CO,Lycan,37.57476,-102.320128
+81087,CO,Vilas,37.373043,-102.44374
+81089,CO,Farista,37.638159,-104.804301
+81090,CO,Walsh,37.352057,-102.253716
+81091,CO,Weston,37.170211,-104.824749
+81092,CO,Wiley,38.158978,-102.714734
+81101,CO,Alamosa,37.470274,-105.878602
+81120,CO,Antonito,37.085473,-106.037946
+81121,CO,Arboles,37.101633,-107.390749
+81122,CO,Bayfield,37.260328,-107.613728
+81123,CO,Blanca,37.431702,-105.517784
+81125,CO,Center,37.734295,-106.090628
+81130,CO,Creede,37.816367,-106.927679
+81132,CO,La Garita,37.671346,-106.350502
+81133,CO,Fort Garland,37.426978,-105.404879
+81136,CO,Hooper,37.723203,-105.871193
+81137,CO,Ignacio,37.126412,-107.639465
+81140,CO,La Jara,37.290726,-106.005427
+81143,CO,Moffat,38.045195,-105.841051
+81144,CO,Monte Vista,37.573095,-106.140833
+81146,CO,Mosca,37.635796,-105.806866
+81147,CO,Pagosa Springs,37.252345,-107.038497
+81149,CO,Saguache,38.09775,-106.187592
+81150,CO,San Acacio,37.201347,-105.439949
+81151,CO,Sanford,37.208724,-105.928588
+81152,CO,Mesita,37.05057,-105.575625
+81153,CO,San Pablo,37.134872,-105.346196
+81154,CO,South Fork,37.67248,-106.612451
+81155,CO,Villa Grove,38.2952,-106.110183
+81201,CO,Salida,38.525909,-105.997818
+81210,CO,Almont,38.64997,-106.627099
+81211,CO,Buena Vista,38.838003,-106.147121
+81212,CO,Canon City,38.445074,-105.217829
+81220,CO,Cimarron,38.387633,-107.482366
+81224,CO,Crested Butte,38.869081,-106.961899
+81226,CO,Florence,38.385016,-105.123233
+81228,CO,Granite,39.095294,-106.311417
+81230,CO,Gunnison,38.551056,-106.931013
+81233,CO,Howard,38.388519,-105.747124
+81235,CO,Lake City,37.986769,-107.302037
+81236,CO,Nathrop,38.710343,-106.116576
+81239,CO,Parlin,38.508762,-106.677995
+81240,CO,Penrose,38.433622,-105.011325
+81241,CO,Pitkin,38.608542,-106.516774
+81243,CO,Powderhorn,38.282165,-107.108449
+81250,CO,81250,38.395556,-105.531825
+81251,CO,Twin Lakes,39.090231,-106.435079
+81252,CO,Westcliffe,38.123023,-105.433154
+81253,CO,Wetmore,38.189857,-105.106441
+81301,CO,Durango,37.287388,-107.861684
+81320,CO,Cahone,37.69163,-108.579442
+81321,CO,Cortez,37.354949,-108.583726
+81323,CO,Dolores,37.466571,-108.471748
+81324,CO,Dove Creek,37.763199,-108.918147
+81325,CO,Egnar,37.934448,-108.929889
+81326,CO,Hesperus,37.165368,-108.121917
+81327,CO,Lewis,37.47101,-108.61891
+81328,CO,Mancos,37.347133,-108.298242
+81331,CO,Pleasant View,37.588763,-108.809487
+81334,CO,Towaoc,37.208408,-108.719993
+81335,CO,Yellow Jacket,37.499526,-108.785167
+81401,CO,Montrose,38.46783,-107.875182
+81410,CO,Austin,38.797544,-107.97384
+81411,CO,Bedrock,38.384352,-108.953224
+81413,CO,Cedaredge,38.911878,-107.926786
+81415,CO,Crawford,38.69408,-107.614864
+81416,CO,Delta,38.734891,-108.060421
+81418,CO,Eckert,38.844982,-107.962452
+81419,CO,Hotchkiss,38.812417,-107.747173
+81422,CO,Naturita,38.222559,-108.572836
+81423,CO,Norwood,38.110406,-108.284472
+81424,CO,Nucla,38.268219,-108.547644
+81425,CO,Olathe,38.597575,-107.992118
+81426,CO,Ophir,37.856197,-107.851961
+81427,CO,Ouray,38.02576,-107.67261
+81428,CO,Paonia,38.864978,-107.598483
+81430,CO,Placerville,38.008759,-108.024775
+81431,CO,Redvale,38.186452,-108.389536
+81432,CO,Ridgway,38.138074,-107.753341
+81433,CO,Silverton,37.808995,-107.666686
+81434,CO,Somerset,38.946801,-107.378145
+81435,CO,Telluride,37.940028,-107.821371
+81501,CO,Grand Junction,39.078326,-108.545692
+81503,CO,Grand Junction,39.056777,-108.575609
+81504,CO,Fruitvale,39.083136,-108.489094
+81505,CO,Grand Junction,39.107097,-108.596834
+81506,CO,Grand Junction,39.103209,-108.54911
+81520,CO,Clifton,39.0805,-108.449628
+81521,CO,Fruita,39.163656,-108.721757
+81522,CO,Gateway,38.915136,-108.791344
+81524,CO,Loma,39.227896,-108.814902
+81525,CO,Mack,39.255367,-108.929597
+81526,CO,Palisade,39.103178,-108.367977
+81527,CO,Whitewater,38.974422,-108.399042
+81601,CO,Glenwood Springs,39.529607,-107.325188
+81610,CO,Dinosaur,40.256609,-108.965184
+81611,CO,Aspen,39.195139,-106.823593
+81621,CO,Basalt,39.353466,-106.998752
+81623,CO,Marble,39.385431,-107.171012
+81624,CO,Collbran,39.245267,-107.924945
+81625,CO,Craig,40.522351,-107.561458
+81630,CO,De Beque,39.311764,-108.230405
+81631,CO,Eagle,39.634138,-106.75884
+81633,CO,Elk Springs,40.414588,-108.419729
+81635,CO,Battlement Mesa,39.440729,-108.038038
+81637,CO,Gypsum,39.661848,-106.967083
+81638,CO,Hamilton,40.32504,-107.584089
+81639,CO,Hayden,40.494487,-107.257055
+81640,CO,Maybell,40.650649,-108.272264
+81641,CO,Meeker,40.038726,-107.892498
+81642,CO,Meredith,39.335348,-106.67823
+81643,CO,Mesa,39.161161,-108.104401
+81647,CO,New Castle,39.570922,-107.542758
+81648,CO,Rangely,40.082844,-108.799148
+81650,CO,Rifle,39.549073,-107.789804
+81652,CO,Silt,39.541464,-107.657411
+81653,CO,Slater,40.947985,-107.497178
+81654,CO,Snowmass,39.250059,-106.950839
+81657,CO,Vail,39.623793,-106.463454
+6001,CT,Avon,41.790498,-72.865323
+6002,CT,Bloomfield,41.831647,-72.72493
+6010,CT,Bristol,41.682293,-72.930193
+6013,CT,Burlington,41.757296,-72.944386
+6016,CT,Windsorville,41.911405,-72.543667
+6018,CT,Canaan,42.024821,-73.323177
+6019,CT,Canton,41.838401,-72.898731
+6020,CT,Canton Center,41.871586,-72.905847
+6021,CT,Colebrook,42.028217,-73.104069
+6022,CT,Collinsville,41.851319,-72.92827
+6023,CT,East Berlin,41.61277,-72.719007
+6024,CT,East Canaan,42.011686,-73.278462
+6026,CT,East Granby,41.932215,-72.745889
+6027,CT,East Hartland,42.001617,-72.924213
+6029,CT,Ellington,41.911417,-72.462599
+6031,CT,Falls Village,41.95784,-73.351659
+6032,CT,Farmington,41.72839,-72.841476
+6033,CT,Glastonbury,41.707329,-72.572705
+6035,CT,Granby,41.960227,-72.799377
+6037,CT,Berlin,41.620826,-72.770482
+6039,CT,Lakeville,41.951631,-73.43766
+6040,CT,Manchester,41.777732,-72.52444
+6043,CT,Bolton,41.768888,-72.43958
+6051,CT,New Britain,41.666683,-72.772208
+6052,CT,New Britain,41.658792,-72.798858
+6053,CT,New Britain,41.686667,-72.790835
+6057,CT,New Hartford,41.846797,-73.010369
+6058,CT,Norfolk,41.985386,-73.199197
+6059,CT,North Canton,41.923516,-72.90414
+6060,CT,North Granby,42.021925,-72.840938
+6062,CT,Plainville,41.672653,-72.864373
+6063,CT,Pleasant Valley,41.924873,-72.982675
+6065,CT,Riverton,41.961395,-73.025469
+6066,CT,Vernon Rockville,41.850073,-72.464855
+6067,CT,Rocky Hill,41.658295,-72.663197
+6068,CT,Salisbury,42.001452,-73.421492
+6069,CT,Sharon,41.871446,-73.457758
+6070,CT,Simsbury,41.873712,-72.821267
+6071,CT,Somers,41.997813,-72.458266
+6073,CT,South Glastonbur,41.660682,-72.554308
+6074,CT,South Windsor,41.834081,-72.557585
+6076,CT,Stafford Springs,41.966127,-72.289857
+6078,CT,Suffield,41.990029,-72.641997
+6081,CT,Tariffville,41.907715,-72.767786
+6082,CT,Enfield,41.989016,-72.565218
+6084,CT,Tolland,41.869647,-72.371789
+6085,CT,Unionville,41.747711,-72.887406
+6088,CT,East Windsor,41.9099,-72.602945
+6089,CT,Weatogue,41.837152,-72.825254
+6090,CT,West Granby,41.965509,-72.855496
+6092,CT,West Simsbury,41.871797,-72.857749
+6093,CT,West Suffield,42.011464,-72.736232
+6095,CT,Windsor,41.856122,-72.663893
+6096,CT,Windsor Locks,41.926078,-72.645762
+6098,CT,Winsted,41.925214,-73.066341
+6103,CT,Hartford,41.767196,-72.675966
+6105,CT,Hartford,41.769116,-72.701006
+6106,CT,Hartford,41.749841,-72.694734
+6107,CT,W Hartford,41.755553,-72.75322
+6108,CT,East Hartford,41.780291,-72.618014
+6109,CT,Wethersfield,41.701332,-72.676308
+6110,CT,W Hartford,41.732566,-72.733691
+6111,CT,Maple Hill,41.686402,-72.729747
+6112,CT,Hartford,41.79053,-72.69641
+6114,CT,Hartford,41.740293,-72.680726
+6117,CT,W Hartford,41.790021,-72.745689
+6118,CT,East Hartford,41.747211,-72.610265
+6119,CT,W Hartford,41.762765,-72.726799
+6120,CT,Hartford,41.78596,-72.675807
+6226,CT,Willimantic,41.714918,-72.213396
+6231,CT,Amston,41.628969,-72.364601
+6232,CT,Andover,41.733215,-72.376719
+6234,CT,Brooklyn,41.780747,-71.954129
+6235,CT,Chaplin,41.802584,-72.137197
+6237,CT,Columbia,41.697274,-72.30717
+6238,CT,Coventry,41.782195,-72.333249
+6239,CT,Danielson,41.798246,-71.880703
+6241,CT,Dayville,41.854045,-71.868342
+6242,CT,Eastford,41.877104,-72.089451
+6243,CT,East Killingly,41.848756,-71.798534
+6247,CT,Hampton,41.761668,-72.067979
+6248,CT,Hebron,41.684161,-72.398553
+6249,CT,Lebanon,41.632988,-72.244035
+6250,CT,Mansfield Center,41.769814,-72.201112
+6254,CT,North Franklin,41.616141,-72.142544
+6255,CT,North Grosvenord,41.987878,-71.902734
+6256,CT,North Windham,41.745144,-72.160106
+6259,CT,Pomfret Center,41.869683,-71.98201
+6260,CT,Putnam,41.91853,-71.896804
+6262,CT,Quinebaug,42.021747,-71.939137
+6264,CT,Scotland,41.689849,-72.078263
+6266,CT,South Windham,41.667724,-72.168112
+6268,CT,Storrs Mansfield,41.805364,-72.257172
+6277,CT,Thompson,41.980285,-71.837587
+6278,CT,Warrenville,41.86434,-72.15873
+6279,CT,West Willington,41.873996,-72.272774
+6280,CT,Windham,41.702652,-72.15261
+6281,CT,Woodstock,41.960218,-72.004027
+6282,CT,Woodstock Valley,41.915296,-72.09366
+6320,CT,New London,41.350718,-72.106245
+6330,CT,Baltic,41.62629,-72.077499
+6331,CT,Canterbury,41.684403,-72.000985
+6333,CT,East Lyme,41.366806,-72.232987
+6334,CT,Bozrah,41.546515,-72.171078
+6335,CT,Gales Ferry,41.42852,-72.06719
+6336,CT,Gilman,41.58117,-72.126623
+6339,CT,Ledyard,41.44014,-71.995626
+6340,CT,Groton,41.357171,-72.057947
+6349,CT,Groton,41.397648,-72.090058
+6351,CT,Jewett City,41.605182,-71.980759
+6353,CT,Montville,41.445331,-72.126476
+6354,CT,Moosup,41.721031,-71.884962
+6355,CT,Mystic,41.361626,-71.977364
+6357,CT,Niantic,41.3253,-72.210819
+6359,CT,North Stonington,41.453113,-71.872701
+6360,CT,Norwich,41.537055,-72.08494
+6365,CT,Preston,41.522061,-72.021079
+6370,CT,Oakdale,41.470573,-72.190358
+6371,CT,Old Lyme,41.334745,-72.308562
+6374,CT,Plainfield,41.67753,-71.921968
+6375,CT,Quaker Hill,41.40324,-72.11722
+6377,CT,Sterling,41.715629,-71.819588
+6378,CT,Stonington,41.366437,-71.915544
+6379,CT,Pawcatuck,41.373475,-71.847761
+6380,CT,Taftville,41.565263,-72.052877
+6382,CT,Uncasville,41.462168,-72.112556
+6384,CT,Voluntown,41.583053,-71.855002
+6385,CT,Waterford,41.346853,-72.145816
+6401,CT,Ansonia,41.342712,-73.074211
+6403,CT,Beacon Falls,41.436917,-73.059656
+6405,CT,Branford,41.279991,-72.810643
+6409,CT,Centerbrook,41.34743,-72.41731
+6410,CT,Cheshire,41.505473,-72.908127
+6412,CT,Chester,41.404903,-72.464293
+6413,CT,Clinton,41.29117,-72.527973
+6415,CT,Colchester,41.566198,-72.344123
+6416,CT,Cromwell,41.61049,-72.666317
+6417,CT,Deep River,41.376478,-72.448568
+6418,CT,Derby,41.322858,-73.080035
+6419,CT,Killingworth,41.369622,-72.571192
+6420,CT,Salem,41.496627,-72.272454
+6422,CT,Durham,41.464951,-72.68752
+6423,CT,East Haddam,41.469575,-72.405876
+6424,CT,East Hampton,41.576058,-72.509345
+6426,CT,Essex,41.354944,-72.396504
+6430,CT,Fairfield,41.166442,-73.257109
+6432,CT,Fairfield,41.201651,-73.235408
+6437,CT,Guilford,41.31537,-72.69679
+6438,CT,Haddam,41.462718,-72.504988
+6441,CT,Higganum,41.468246,-72.575143
+6442,CT,Ivoryton,41.342101,-72.440387
+6443,CT,Madison,41.309019,-72.615254
+6447,CT,Marlborough,41.641226,-72.460871
+6450,CT,Meriden,41.533396,-72.799734
+6455,CT,Middlefield,41.516789,-72.718624
+6457,CT,Middletown,41.556895,-72.665225
+6460,CT,Milford,41.217466,-73.054948
+6468,CT,Monroe,41.331171,-73.224333
+6469,CT,Moodus,41.507807,-72.441879
+6470,CT,Newtown,41.393095,-73.316744
+6471,CT,North Branford,41.327985,-72.776034
+6472,CT,Northford,41.396219,-72.780909
+6473,CT,North Haven,41.382156,-72.85852
+6475,CT,Old Saybrook,41.291297,-72.385022
+6477,CT,Orange,41.281527,-73.028725
+6478,CT,Oxford,41.420237,-73.12961
+6479,CT,Plantsville,41.579747,-72.899031
+6480,CT,Portland,41.585223,-72.612797
+6481,CT,Rockfall,41.534094,-72.699674
+6482,CT,Sandy Hook,41.408706,-73.248522
+6483,CT,Seymour,41.386209,-73.081745
+6484,CT,Shelton,41.304689,-73.129439
+6488,CT,Southbury,41.476695,-73.224077
+6489,CT,Southington,41.605221,-72.872681
+6490,CT,Southport,41.14527,-73.290205
+6492,CT,Wallingford,41.459997,-72.822179
+6497,CT,Stratford,41.2044,-73.135594
+6498,CT,Westbrook,41.292662,-72.456313
+6510,CT,New Haven,41.308701,-72.92706
+6511,CT,New Haven,41.318364,-72.931771
+6512,CT,East Haven,41.280522,-72.874144
+6513,CT,East Haven,41.314215,-72.882554
+6514,CT,Hamden,41.361987,-72.93613
+6515,CT,New Haven,41.329301,-72.966445
+6516,CT,West Haven,41.270079,-72.963842
+6517,CT,Hamden,41.348393,-72.911678
+6518,CT,Hamden,41.409664,-72.911001
+6519,CT,New Haven,41.296284,-72.937307
+6524,CT,Bethany,41.426194,-73.000704
+6525,CT,Woodbridge,41.351668,-73.013902
+6604,CT,Bridgeport,41.179574,-73.201859
+6605,CT,Bridgeport,41.166796,-73.216251
+6606,CT,Bridgeport,41.20907,-73.208619
+6607,CT,Bridgeport,41.178382,-73.165048
+6608,CT,Bridgeport,41.189466,-73.181141
+6610,CT,Bridgeport,41.200508,-73.168771
+6611,CT,Trumbull,41.25641,-73.211063
+6612,CT,Easton,41.252328,-73.287108
+6702,CT,Waterbury,41.556568,-73.038545
+6704,CT,Waterbury,41.575435,-73.031805
+6705,CT,Waterbury,41.550328,-72.996268
+6706,CT,Waterbury,41.536261,-73.03064
+6708,CT,Waterbury,41.551102,-73.064495
+6710,CT,Waterbury,41.567503,-73.046821
+6712,CT,Prospect,41.502198,-72.978803
+6716,CT,Wolcott,41.596995,-72.982799
+6750,CT,Bantam,41.721483,-73.252028
+6751,CT,Bethlehem,41.638683,-73.209098
+6752,CT,Bridgewater,41.528684,-73.360936
+6754,CT,Warren,41.770084,-73.367472
+6755,CT,Gaylordsville,41.648635,-73.483524
+6756,CT,Goshen,41.833452,-73.242876
+6757,CT,Kent,41.731619,-73.458345
+6758,CT,Lakeside,41.69001,-73.238235
+6759,CT,Litchfield,41.754069,-73.200011
+6762,CT,Middlebury,41.534277,-73.11307
+6763,CT,Morris,41.688121,-73.176509
+6770,CT,Naugatuck,41.492039,-73.049342
+6776,CT,New Milford,41.581745,-73.412752
+6777,CT,New Preston Marb,41.689373,-73.349296
+6778,CT,Northfield,41.707382,-73.132079
+6779,CT,Oakville,41.590932,-73.087311
+6782,CT,Plymouth,41.661121,-73.044887
+6783,CT,Roxbury,41.5509,-73.299346
+6784,CT,Sherman,41.571366,-73.494694
+6785,CT,South Kent,41.695051,-73.469023
+6786,CT,Terryville,41.676197,-73.009214
+6787,CT,Thomaston,41.678643,-73.088557
+6790,CT,Torrington,41.813065,-73.115579
+6791,CT,Harwinton,41.770145,-73.072819
+6793,CT,Washington Depot,41.634595,-73.293518
+6794,CT,Washington Depot,41.655924,-73.327352
+6795,CT,Watertown,41.605654,-73.122122
+6796,CT,West Cornwall,41.868888,-73.331271
+6798,CT,Woodbury,41.552061,-73.208264
+6801,CT,Bethel,41.381298,-73.400827
+6804,CT,Brookfield,41.46504,-73.397986
+6807,CT,Cos Cob,41.052952,-73.593498
+6810,CT,Danbury,41.391663,-73.453165
+6811,CT,Danbury,41.423983,-73.471587
+6812,CT,New Fairfield,41.472999,-73.497784
+6820,CT,Darien,41.076759,-73.485254
+6830,CT,Byram,41.030238,-73.630047
+6831,CT,Greenwich,41.054885,-73.659405
+6840,CT,New Canaan,41.151024,-73.494356
+6850,CT,Norwalk,41.12222,-73.435827
+6851,CT,Norwalk,41.132346,-73.405802
+6853,CT,Norwalk,41.070243,-73.439667
+6854,CT,Norwalk,41.095722,-73.428485
+6855,CT,Norwalk,41.101382,-73.401119
+6870,CT,Old Greenwich,41.035437,-73.567253
+6877,CT,Ridgefield,41.297683,-73.497268
+6878,CT,Riverside,41.037998,-73.581136
+6880,CT,Westport,41.143433,-73.349579
+6883,CT,Weston,41.219499,-73.371474
+6896,CT,West Redding,41.306915,-73.3935
+6897,CT,Wilton,41.201761,-73.438323
+6901,CT,Stamford,41.053083,-73.539039
+6902,CT,Stamford,41.052552,-73.537428
+6903,CT,Stamford,41.135235,-73.568356
+6905,CT,Ridgeway,41.082576,-73.543757
+6906,CT,Stamford,41.069218,-73.523563
+6907,CT,Stamford,41.094206,-73.520297
+19701,DE,Bear,39.610187,-75.674729
+19702,DE,Newark,39.634869,-75.699339
+19703,DE,Claymont,39.804432,-75.46494
+19707,DE,Hockessin,39.77604,-75.688873
+19709,DE,Middletown,39.481535,-75.683183
+19711,DE,Newark,39.701129,-75.737534
+19713,DE,Newark,39.669881,-75.715101
+19720,DE,Manor,39.67703,-75.589938
+19734,DE,Townsend,39.381882,-75.683368
+19801,DE,Wilmington,39.737752,-75.549658
+19802,DE,Wilmington,39.75638,-75.534041
+19803,DE,Talleyville,39.793236,-75.531076
+19804,DE,Newport,39.720854,-75.612815
+19805,DE,Wilmington,39.743375,-75.582724
+19806,DE,Wilmington,39.757076,-75.563503
+19807,DE,Greenville,39.782206,-75.607205
+19808,DE,Marshallton,39.734737,-75.663891
+19809,DE,Edgemoor,39.771913,-75.494592
+19810,DE,Edgemoor,39.819377,-75.505999
+19901,DE,Dover,39.156639,-75.535983
+19902,DE,Dover Afb,39.120246,-75.478966
+19930,DE,Bethany Beach,38.531009,-75.067396
+19931,DE,Bethel,38.568517,-75.624298
+19933,DE,Bridgeville,38.736628,-75.608768
+19934,DE,Camden Wyoming,39.099099,-75.596559
+19938,DE,Clayton,39.256395,-75.690361
+19939,DE,Dagsboro,38.559559,-75.21133
+19940,DE,Delmar,38.476955,-75.575887
+19941,DE,Ellendale,38.805737,-75.405588
+19943,DE,Felton,39.022538,-75.582906
+19945,DE,Frankford,38.51767,-75.200633
+19946,DE,Frederica,39.034188,-75.454458
+19947,DE,Georgetown,38.679006,-75.393198
+19950,DE,Greenwood,38.817519,-75.593547
+19951,DE,Harbeson,38.672294,-75.223621
+19952,DE,Harrington,38.924031,-75.584268
+19953,DE,Hartly,39.15421,-75.693476
+19954,DE,Houston,38.91143,-75.506354
+19956,DE,Laurel,38.553695,-75.563052
+19958,DE,Lewes,38.738149,-75.174702
+19960,DE,Lincoln,38.86128,-75.399961
+19962,DE,Magnolia,39.07353,-75.508321
+19963,DE,Milford,38.921801,-75.429877
+19964,DE,Marydel,39.099794,-75.728661
+19966,DE,Long Neck,38.593436,-75.255547
+19967,DE,Millville,38.558946,-75.107762
+19968,DE,Milton,38.768687,-75.295298
+19970,DE,Millville,38.555528,-75.096518
+19971,DE,Dewey Beach,38.714715,-75.107346
+19973,DE,Seaford,38.640358,-75.604122
+19975,DE,Selbyville,38.465357,-75.157325
+19977,DE,Smyrna,39.293379,-75.600832
+19979,DE,Viola,39.041872,-75.572605
+20001,DC,Washington,38.912217,-77.017691
+20002,DC,Washington,38.902365,-76.990055
+20003,DC,Washington,38.882941,-76.989539
+20004,DC,Washington,38.892955,-77.026303
+20005,DC,Washington,38.906731,-77.031236
+20006,DC,Washington,38.896444,-77.044701
+20007,DC,Washington,38.914365,-77.074042
+20008,DC,Washington,38.936282,-77.059936
+20009,DC,Washington,38.920202,-77.037504
+20010,DC,Washington,38.93272,-77.032183
+20011,DC,Washington,38.951786,-77.020251
+20012,DC,Washington,38.975712,-77.028248
+20015,DC,Washington,38.965768,-77.067961
+20016,DC,Washington,38.938117,-77.086037
+20017,DC,Washington,38.936723,-76.994038
+20018,DC,Washington,38.927724,-76.976159
+20019,DC,Washington,38.890237,-76.937588
+20020,DC,Washington,38.860039,-76.974187
+20024,DC,Washington,38.875939,-77.016028
+20032,DC,Washington,38.833843,-76.999549
+20036,DC,Washington,38.908704,-77.041434
+20037,DC,Washington,38.901446,-77.050448
+20301,DC,Pentagon,38.891019,-77.038196
+20336,DC,Washington,38.839473,-77.014827
+32008,FL,Branford,29.939472,-82.899288
+32009,FL,Bryceville,30.419274,-81.972397
+32011,FL,Callahan,30.551958,-81.814465
+32013,FL,Day,30.149666,-83.285052
+32033,FL,Elkton,29.788243,-81.46199
+32034,FL,Amelia Island,30.635388,-81.468829
+32038,FL,Fort White,29.92073,-82.687938
+32040,FL,Glen Saint Mary,30.286058,-82.204056
+32043,FL,Green Cove Sprin,30.00425,-81.726182
+32044,FL,Hampton,29.857511,-82.148347
+32046,FL,Hilliard,30.688367,-81.93453
+32052,FL,Jasper,30.502914,-82.932186
+32053,FL,Jennings,30.548243,-83.134971
+32054,FL,Lake Butler,30.003485,-82.382796
+32055,FL,Lake City,30.165239,-82.659888
+32058,FL,Lawtey,30.047164,-82.105544
+32059,FL,Lee,30.397863,-83.284392
+32060,FL,Boys Ranch,30.286622,-83.024994
+32061,FL,Lulu,30.07544,-82.538481
+32062,FL,Mc Alpin,30.150899,-82.966182
+32063,FL,Macclenny,30.273671,-82.132475
+32065,FL,Orange Park,30.138233,-81.774199
+32066,FL,Mayo,30.039979,-83.146208
+32068,FL,Middleburg,30.083984,-81.864476
+32071,FL,O Brien,30.038114,-82.93005
+32073,FL,Orange Park,30.16369,-81.72907
+32082,FL,Ponte Vedra Beac,30.215326,-81.386383
+32083,FL,Raiford,30.070379,-82.20012
+32084,FL,Saint Augustine,29.880457,-81.298367
+32086,FL,Saint Augustine,29.828514,-81.323734
+32087,FL,Sanderson,30.302536,-82.337741
+32091,FL,Starke,29.958299,-82.118518
+32092,FL,Saint Augustine,29.947511,-81.526379
+32094,FL,Wellborn,30.179624,-82.850532
+32095,FL,Saint Augustine,29.905726,-81.347626
+32096,FL,White Springs,30.338749,-82.776453
+32097,FL,Yulee,30.622225,-81.590603
+32102,FL,Astor,29.165031,-81.539929
+32110,FL,Bunnell,29.45616,-81.324431
+32112,FL,Crescent City,29.445438,-81.557909
+32113,FL,Citra,29.39182,-82.106222
+32114,FL,Daytona Beach,29.201168,-81.037071
+32117,FL,Holly Hill,29.236006,-81.054698
+32118,FL,Daytona Beach,29.221874,-81.009469
+32119,FL,Dunlawton,29.152526,-81.022142
+32124,FL,Port Orange,29.122456,-81.106746
+32127,FL,Port Orange,29.1124,-80.988351
+32130,FL,De Leon Springs,29.116592,-81.348762
+32131,FL,East Palatka,29.660861,-81.587879
+32132,FL,Edgewater,28.981801,-80.910344
+32134,FL,Salt Springs,29.279554,-81.887757
+32136,FL,Flagler Beach,29.474978,-81.130288
+32137,FL,Palm Coast,29.556515,-81.21899
+32139,FL,Georgetown,29.403315,-81.629783
+32140,FL,Florahome,29.758105,-81.862224
+32141,FL,Edgewater,28.945481,-80.896869
+32145,FL,Hastings,29.705147,-81.490908
+32148,FL,Interlachen,29.627001,-81.889432
+32159,FL,Lady Lake,28.929939,-81.925598
+32168,FL,New Smyrna Beach,29.024672,-80.958436
+32169,FL,New Smyrna Beach,29.017196,-80.888463
+32174,FL,Ormond Beach,29.283305,-81.088216
+32176,FL,Ormond Beach,29.322192,-81.058432
+32177,FL,Palatka,29.657748,-81.659452
+32179,FL,Ocklawaha,29.064308,-81.88569
+32180,FL,Pierson,29.222596,-81.43533
+32181,FL,Pomona Park,29.502106,-81.630739
+32187,FL,San Mateo,29.588827,-81.5921
+32189,FL,Satsuma,29.559354,-81.640596
+32190,FL,Seville,29.320084,-81.527894
+32195,FL,Weirsdale,28.978182,-81.893168
+32202,FL,Jacksonville,30.329882,-81.651672
+32204,FL,Jacksonville,30.318899,-81.685445
+32205,FL,Jacksonville,30.317236,-81.722034
+32206,FL,Jacksonville,30.351073,-81.648769
+32207,FL,Jacksonville,30.290766,-81.63205
+32208,FL,Jacksonville,30.393664,-81.688939
+32209,FL,Jacksonville,30.35841,-81.691974
+32210,FL,Jacksonville,30.268743,-81.747312
+32211,FL,Jacksonville,30.348034,-81.588248
+32212,FL,Jacksonville N A,30.220905,-81.68848
+32215,FL,Cecil Field Nas,30.23295,-81.663142
+32216,FL,Jacksonville,30.293907,-81.547387
+32217,FL,Jacksonville,30.240678,-81.616956
+32218,FL,Jacksonville,30.45067,-81.662631
+32219,FL,Jacksonville,30.403365,-81.763451
+32220,FL,Jacksonville,30.329003,-81.817572
+32221,FL,Jacksonville,30.283707,-81.820231
+32222,FL,Jacksonville,30.229176,-81.813081
+32223,FL,Jacksonville,30.154817,-81.629961
+32224,FL,Jacksonville,30.303076,-81.440427
+32225,FL,Jacksonville,30.350968,-81.506092
+32226,FL,Jacksonville,30.473485,-81.544808
+32227,FL,Jacksonville Bea,30.388275,-81.405424
+32233,FL,Atlantic Beach,30.348258,-81.415866
+32234,FL,Baldwin,30.229562,-81.978345
+32244,FL,Jacksonville,30.223137,-81.75558
+32250,FL,Jacksonville Bea,30.28319,-81.406243
+32256,FL,Jacksonville,30.221356,-81.557139
+32257,FL,Jacksonville,30.192703,-81.605042
+32258,FL,Jacksonville,30.145944,-81.573864
+32259,FL,Jacksonville,30.095578,-81.621701
+32266,FL,Neptune Beach,30.31548,-81.405123
+32301,FL,Tallahassee,30.428563,-84.259337
+32303,FL,Tallahassee,30.487433,-84.318946
+32304,FL,Tallahassee,30.447752,-84.321132
+32306,FL,Tallahassee,30.442152,-84.295594
+32308,FL,Tallahassee,30.507725,-84.206903
+32310,FL,Tallahassee,30.399125,-84.3298
+32311,FL,Tallahassee,30.415625,-84.186995
+32312,FL,Tallahassee,30.518474,-84.262708
+32320,FL,Apalachicola,29.725465,-85.006264
+32321,FL,Bristol,30.422279,-84.946558
+32322,FL,Carrabelle,29.869205,-84.635845
+32324,FL,Chattahoochee,30.683394,-84.828044
+32327,FL,Crawfordville,30.210831,-84.320479
+32328,FL,Saint George Isl,29.733906,-84.8701
+32331,FL,Greenville,30.451199,-83.647397
+32333,FL,Havana,30.609242,-84.41434
+32334,FL,Hosford,30.363875,-84.805433
+32336,FL,Lamont,30.365341,-83.900266
+32340,FL,Madison,30.480209,-83.406678
+32344,FL,Monticello,30.519681,-83.892454
+32346,FL,Panacea,30.015322,-84.391212
+32347,FL,Perry,30.097489,-83.585021
+32350,FL,Pinetta,30.599703,-83.340463
+32351,FL,Quincy,30.586675,-84.60945
+32356,FL,Salem,29.823815,-83.385828
+32358,FL,Sopchoppy,30.071353,-84.454877
+32359,FL,Steinhatchee,29.673871,-83.372332
+32401,FL,Panama City,30.160624,-85.649403
+32403,FL,Panama City,30.058252,-85.576225
+32404,FL,Panama City,30.165291,-85.576264
+32405,FL,Panama City,30.194949,-85.672686
+32407,FL,Panama City Beac,30.194623,-85.791984
+32408,FL,Panama City Beac,30.160859,-85.763628
+32409,FL,Southport,30.310679,-85.644536
+32413,FL,Panama City Beac,30.245835,-85.904946
+32420,FL,Alford,30.714106,-85.34838
+32421,FL,Altha,30.531882,-85.17043
+32423,FL,Bascom,30.951365,-85.09722
+32424,FL,Blountstown,30.4394,-85.062022
+32425,FL,Bonifay,30.846369,-85.689962
+32426,FL,Campbellton,30.95629,-85.376596
+32427,FL,Caryville,30.796878,-85.799787
+32428,FL,Chipley,30.710658,-85.548646
+32430,FL,Clarksville,30.356834,-85.189806
+32431,FL,Cottondale,30.800359,-85.384672
+32433,FL,De Funiak Spring,30.751783,-86.138006
+32437,FL,Ebro,30.435181,-85.888066
+32438,FL,Fountain,30.475327,-85.429272
+32439,FL,Freeport,30.489596,-86.168441
+32440,FL,Graceville,30.942601,-85.513622
+32442,FL,Grand Ridge,30.714831,-85.020954
+32443,FL,Greenwood,30.852506,-85.15549
+32444,FL,Lynn Haven,30.236165,-85.646658
+32445,FL,Malone,30.960245,-85.163874
+32446,FL,Marianna,30.758587,-85.229367
+32449,FL,Kinard,30.263241,-85.206467
+32455,FL,Ponce De Leon,30.704146,-85.954633
+32456,FL,Port Saint Joe,29.83539,-85.298787
+32459,FL,Santa Rosa Beach,30.365883,-86.245809
+32460,FL,Sneads,30.727619,-84.933655
+32462,FL,Vernon,30.62668,-85.755286
+32464,FL,Westville,30.874689,-85.912973
+32465,FL,Wewahitchka,30.093255,-85.20483
+32466,FL,Youngstown,30.326913,-85.516881
+32501,FL,Pensacola,30.422282,-87.224763
+32503,FL,Pensacola,30.456406,-87.210432
+32504,FL,Pensacola,30.487299,-87.187242
+32505,FL,Pensacola,30.448069,-87.258937
+32506,FL,Pensacola,30.412912,-87.309185
+32507,FL,Pensacola,30.373707,-87.312558
+32508,FL,Pensacola,30.351063,-87.274945
+32514,FL,Pensacola,30.524148,-87.216723
+32526,FL,Pensacola,30.475593,-87.317925
+32531,FL,Baker,30.831569,-86.677015
+32533,FL,Cantonment,30.614253,-87.325052
+32534,FL,Pensacola,30.530065,-87.279324
+32535,FL,Century,30.968742,-87.321582
+32536,FL,Crestview,30.77061,-86.553678
+32541,FL,Sandestin,30.397198,-86.484903
+32542,FL,Eglin A F B,30.479409,-86.615958
+32547,FL,Fort Walton Beac,30.447297,-86.627487
+32548,FL,Fort Walton Beac,30.415262,-86.621479
+32561,FL,Gulf Breeze,30.3847,-87.043875
+32564,FL,Holt,30.72522,-86.704638
+32565,FL,Jay,30.898488,-87.133237
+32566,FL,Navarre,30.590261,-86.937102
+32567,FL,Laurel Hill,30.95236,-86.400323
+32568,FL,Walnut Hill,30.870043,-87.449628
+32569,FL,Mary Esther,30.412186,-86.712719
+32570,FL,Milton,30.660413,-87.047278
+32571,FL,Pace,30.616173,-87.15033
+32578,FL,Niceville,30.495771,-86.41446
+32579,FL,Shalimar,30.445565,-86.571724
+32580,FL,Valparaiso,30.509197,-86.500914
+32583,FL,Milton,30.576058,-87.066273
+32601,FL,Gainesville,29.645029,-82.310046
+32603,FL,Gainesville,29.651484,-82.349286
+32605,FL,Gainesville,29.678458,-82.36794
+32606,FL,Gainesville,29.695393,-82.402324
+32607,FL,Gainesville,29.645618,-82.403252
+32608,FL,Gainesville,29.613204,-82.387282
+32609,FL,Gainesville,29.70053,-82.308032
+32611,FL,Gainesville,29.644148,-82.35092
+32615,FL,Santa Fe,29.796996,-82.480531
+32617,FL,Anthony,29.304785,-82.126157
+32618,FL,Archer,29.559738,-82.51084
+32619,FL,Bell,29.78373,-82.871106
+32620,FL,32620,29.050444,-82.04621
+32621,FL,Bronson,29.460952,-82.635644
+32622,FL,Brooker,29.919028,-82.295634
+32625,FL,Cedar Key,29.171006,-83.016793
+32626,FL,Chiefland,29.483243,-82.880896
+32629,FL,32629,28.910801,-82.60677
+32630,FL,32630,29.063564,-82.433118
+32631,FL,Earleton,29.722159,-82.113762
+32636,FL,32636,28.742508,-82.290401
+32640,FL,Hawthorne,29.573998,-82.105625
+32642,FL,32642,28.926371,-82.392516
+32643,FL,High Springs,29.841022,-82.615628
+32646,FL,32646,28.785839,-82.593623
+32648,FL,Horseshoe Beach,29.48689,-83.261587
+32649,FL,32649,29.076034,-82.661343
+32650,FL,32650,28.851002,-82.320713
+32652,FL,32652,28.80514,-82.343647
+32656,FL,Keystone Heights,29.797579,-81.989885
+32661,FL,32661,28.824661,-82.528448
+32665,FL,32665,28.911886,-82.501478
+32666,FL,Melrose,29.732456,-82.027863
+32667,FL,Micanopy,29.526029,-82.279698
+32668,FL,Morriston,29.28126,-82.491668
+32669,FL,Newberry,29.660906,-82.585188
+32670,FL,32670,29.216545,-82.111182
+32671,FL,32671,29.166825,-82.090654
+32672,FL,32672,29.109572,-82.012052
+32673,FL,32673,28.991755,-82.231082
+32674,FL,32674,29.161336,-82.172984
+32675,FL,32675,29.209198,-82.231943
+32676,FL,32676,29.078026,-82.18804
+32680,FL,Old Town,29.624558,-83.057393
+32684,FL,32684,28.920137,-82.037814
+32686,FL,Reddick,29.375352,-82.243995
+32688,FL,32688,29.226185,-82.043715
+32691,FL,32691,28.999563,-82.046434
+32693,FL,Trenton,29.626375,-82.809345
+32694,FL,Waldo,29.787096,-82.160791
+32696,FL,Williston,29.397737,-82.485601
+32698,FL,32698,29.022103,-82.728163
+32701,FL,Altamonte Spring,28.662728,-81.371908
+32702,FL,Altoona,29.021935,-81.632322
+32703,FL,Hunt Club,28.661865,-81.485149
+32707,FL,Casselberry,28.661671,-81.312215
+32708,FL,Winter Springs,28.683097,-81.281367
+32709,FL,Christmas,28.546244,-81.01157
+32712,FL,Apopka,28.711976,-81.513615
+32713,FL,Debary,28.884573,-81.306506
+32714,FL,Forest City,28.664983,-81.408533
+32720,FL,Deland,29.02659,-81.334853
+32724,FL,Deland,29.04225,-81.286341
+32725,FL,Deltona,28.898897,-81.247307
+32726,FL,Eustis,28.857686,-81.64513
+32730,FL,Fern Park,28.651161,-81.341837
+32732,FL,Geneva,28.750299,-81.11137
+32735,FL,Grand Island,28.886552,-81.739093
+32738,FL,Deltona,28.909311,-81.192171
+32744,FL,Lake Helen,28.980567,-81.233367
+32746,FL,Heathrow,28.752352,-81.338075
+32750,FL,Longwood,28.711994,-81.355238
+32751,FL,Eatonville,28.631284,-81.354598
+32754,FL,Mims,28.697383,-80.866278
+32757,FL,Mount Dora,28.792787,-81.645593
+32759,FL,Oak Hill,28.869985,-80.855063
+32763,FL,Orange City,28.945291,-81.299524
+32764,FL,Osteen,28.842617,-81.156224
+32765,FL,Oviedo,28.651256,-81.206593
+32766,FL,Chuluota,28.640634,-81.118237
+32767,FL,Paisley,28.999323,-81.503009
+32771,FL,Sanford,28.801307,-81.285044
+32773,FL,Sanford,28.764385,-81.282042
+32776,FL,Sorrento,28.803519,-81.532317
+32778,FL,Tavares,28.801027,-81.73405
+32779,FL,Springs Plaza,28.703978,-81.422767
+32780,FL,Titusville,28.569712,-80.819141
+32784,FL,Dona Vista,28.931443,-81.671653
+32789,FL,Winter Park,28.597824,-81.353436
+32792,FL,Aloma,28.60779,-81.302112
+32796,FL,Titusville,28.627078,-80.842915
+32798,FL,Zellwood,28.71944,-81.576174
+32801,FL,Orlando,28.539882,-81.372668
+32803,FL,Orlando,28.555897,-81.353462
+32804,FL,Fairvilla,28.576547,-81.391955
+32805,FL,Orlando,28.5302,-81.404516
+32806,FL,Orlando,28.513958,-81.356968
+32807,FL,Azalea Park,28.544924,-81.305274
+32808,FL,Pine Hills,28.580463,-81.44758
+32809,FL,Pine Castle,28.461916,-81.381751
+32810,FL,Lockhart,28.622183,-81.425852
+32811,FL,Orlo Vista,28.516082,-81.442014
+32812,FL,Orlando,28.49981,-81.328816
+32813,FL,Naval Training C,28.570467,-81.328966
+32815,FL,Kennedy Space Ce,28.498821,-80.58248
+32817,FL,Union Park,28.590251,-81.253537
+32818,FL,Orlando,28.580147,-81.484618
+32819,FL,Sand Lake,28.467258,-81.452484
+32820,FL,Union Park,28.578256,-81.110628
+32821,FL,Orlando,28.395724,-81.466602
+32822,FL,Ventura,28.504765,-81.293874
+32824,FL,Orlando,28.393157,-81.362187
+32825,FL,Orlando,28.546865,-81.257081
+32826,FL,Orlando,28.582601,-81.190705
+32827,FL,Orlando,28.43168,-81.342979
+32828,FL,Orlando,28.552297,-81.179489
+32829,FL,Orlando,28.484877,-81.260778
+32830,FL,Lake Buena Vista,28.369378,-81.519034
+32831,FL,Orlando,28.488229,-81.191768
+32832,FL,Orlando,28.377428,-81.188807
+32833,FL,Union Park,28.531797,-81.098129
+32835,FL,Orlando,28.528885,-81.478663
+32836,FL,Orlando,28.460842,-81.49564
+32837,FL,Orlando,28.394861,-81.417882
+32839,FL,Orlando,28.487102,-81.408162
+32901,FL,Melbourne,28.069132,-80.620015
+32903,FL,Indialantic,28.109059,-80.578718
+32904,FL,Melbourne Villag,28.073177,-80.668577
+32905,FL,Palm Bay,28.014605,-80.599087
+32907,FL,Palm Bay,28.016849,-80.673889
+32908,FL,Palm Bay,27.981636,-80.689426
+32909,FL,Palm Bay,27.96936,-80.647327
+32920,FL,Cape Canaveral,28.39034,-80.604267
+32922,FL,Cocoa,28.367183,-80.746455
+32925,FL,Patrick A F B,28.259896,-80.607126
+32926,FL,Cocoa,28.390987,-80.786969
+32927,FL,Port Saint John,28.46844,-80.791114
+32931,FL,Cocoa Beach,28.332451,-80.612066
+32934,FL,Eau Gallie,28.136822,-80.691683
+32935,FL,Melbourne,28.138385,-80.652353
+32937,FL,Indian Harbor Be,28.178571,-80.598671
+32940,FL,Melbourne,28.206136,-80.684959
+32948,FL,Fellsmere,27.764273,-80.601947
+32951,FL,Melbourne Beach,28.021923,-80.538936
+32952,FL,Merritt Island,28.328607,-80.67818
+32953,FL,Merritt Island,28.391234,-80.695865
+32955,FL,Rockledge,28.313441,-80.73193
+32958,FL,Sebastian,27.790082,-80.478432
+32960,FL,Vero Beach,27.632985,-80.403075
+32962,FL,Vero Beach,27.588486,-80.392251
+32963,FL,Indian River Sho,27.653623,-80.360916
+32966,FL,Vero Beach,27.637214,-80.47939
+32967,FL,Vero Beach,27.697223,-80.441617
+32968,FL,Vero Beach,27.59993,-80.438223
+32976,FL,Barefoot Bay,27.878146,-80.516051
+33004,FL,Dania,26.047557,-80.144728
+33009,FL,Hallandale,25.985019,-80.140737
+33010,FL,Hialeah,25.832536,-80.280801
+33012,FL,Hialeah,25.865395,-80.3059
+33013,FL,Hialeah,25.859351,-80.272533
+33014,FL,Hialeah,25.896349,-80.306255
+33015,FL,Hialeah,25.938841,-80.316545
+33016,FL,Hialeah,25.880262,-80.33681
+33019,FL,Hollywood,26.007011,-80.121931
+33020,FL,Hollywood,26.016091,-80.15166
+33021,FL,Hollywood,26.021836,-80.189085
+33023,FL,Miramar,25.987516,-80.216035
+33024,FL,Pembroke Pines,26.024273,-80.240183
+33025,FL,Hollywood,25.992061,-80.271236
+33026,FL,Hollywood,26.022927,-80.297441
+33027,FL,Hollywood,25.997449,-80.32484
+33028,FL,Hollywood,26.024804,-80.330797
+33029,FL,Pembroke Pines,26.01375,-80.428407
+33030,FL,Homestead,25.476639,-80.483853
+33031,FL,Homestead,25.532314,-80.507463
+33032,FL,Princeton,25.521191,-80.40918
+33033,FL,Homestead,25.490576,-80.438014
+33034,FL,Florida City,25.396332,-80.548438
+33035,FL,Homestead,25.457338,-80.457153
+33036,FL,Islamorada,24.923331,-80.629953
+33037,FL,Ocean Reef,25.140214,-80.406084
+33039,FL,Homestead Air Fo,25.499088,-80.390513
+33040,FL,Naval Air Statio,24.565313,-81.762179
+33042,FL,Summerland Key,24.655322,-81.493564
+33043,FL,Big Pine Key,24.679996,-81.362029
+33050,FL,Marathon,24.727919,-81.038581
+33054,FL,Opa Locka,25.909662,-80.247004
+33055,FL,Carol City,25.944076,-80.277291
+33056,FL,Carol City,25.946906,-80.248059
+33060,FL,Pompano Beach,26.231529,-80.12346
+33062,FL,Pompano Beach,26.234314,-80.094133
+33063,FL,Margate,26.249221,-80.211483
+33064,FL,Lighthouse Point,26.278698,-80.112439
+33065,FL,Coral Springs,26.271403,-80.255578
+33066,FL,Margate,26.254237,-80.177878
+33067,FL,North Coral Spri,26.305134,-80.22188
+33068,FL,Pompano Beach,26.216021,-80.22054
+33069,FL,Pompano Beach,26.228817,-80.163486
+33070,FL,Tavernier,25.010788,-80.521816
+33071,FL,Pompano Beach,26.243515,-80.260085
+33073,FL,Pompano Beach,26.299693,-80.180966
+33076,FL,Pompano Beach,26.291902,-80.248086
+33122,FL,Miami,25.7911,-80.320733
+33125,FL,Miami,25.782547,-80.234118
+33126,FL,Miami,25.776255,-80.291932
+33127,FL,Miami,25.814344,-80.205121
+33128,FL,Miami,25.775612,-80.208858
+33129,FL,Miami,25.755926,-80.201301
+33130,FL,Miami,25.767197,-80.205888
+33131,FL,Miami,25.762852,-80.189506
+33132,FL,Miami,25.786712,-80.179996
+33133,FL,Coral Gables,25.732251,-80.243639
+33134,FL,Coral Gables,25.755582,-80.269576
+33135,FL,Miami,25.766391,-80.231746
+33136,FL,Miami,25.786385,-80.204232
+33137,FL,Miami,25.815648,-80.189663
+33138,FL,Miami Shores,25.850208,-80.18526
+33139,FL,Carl Fisher,25.785179,-80.136378
+33140,FL,Miami,25.819505,-80.127921
+33141,FL,North Bay Villag,25.852384,-80.133578
+33142,FL,Miami,25.812966,-80.232023
+33143,FL,South Miami,25.700252,-80.301408
+33144,FL,Miami,25.762563,-80.309631
+33145,FL,Coral Gables,25.752648,-80.235134
+33146,FL,Coral Gables,25.720089,-80.274649
+33147,FL,Miami,25.850675,-80.236558
+33149,FL,Key Biscayne,25.692104,-80.162475
+33150,FL,Miami,25.851214,-80.206968
+33154,FL,Bal Harbour,25.879094,-80.127055
+33155,FL,Miami,25.7392,-80.31032
+33156,FL,Kendall,25.66767,-80.308535
+33157,FL,Perrine,25.604384,-80.352473
+33158,FL,Miami,25.636433,-80.318703
+33160,FL,North Miami Beac,25.936086,-80.135141
+33161,FL,North Miami,25.893806,-80.182034
+33162,FL,North Miami Beac,25.92807,-80.177238
+33165,FL,Olympia Heights,25.735353,-80.359084
+33166,FL,Miami Springs,25.817473,-80.29902
+33167,FL,Miami,25.885605,-80.229168
+33168,FL,Miami,25.890232,-80.210106
+33169,FL,Miami,25.944083,-80.21436
+33170,FL,Quail Heights,25.558847,-80.3981
+33172,FL,Miami,25.773523,-80.357232
+33173,FL,Miami,25.699242,-80.361824
+33174,FL,Miami,25.762779,-80.361128
+33175,FL,Olympia Heights,25.733677,-80.408226
+33176,FL,Miami,25.657449,-80.362667
+33177,FL,Quail Heights,25.593255,-80.39377
+33178,FL,Miami,25.814079,-80.354925
+33179,FL,Miami,25.957095,-80.181382
+33180,FL,Ojus,25.961902,-80.139447
+33181,FL,North Miami Beac,25.896548,-80.160329
+33182,FL,Miami,25.787678,-80.416643
+33183,FL,Miami,25.699977,-80.412969
+33184,FL,Miami,25.757382,-80.402997
+33185,FL,Olympia Heights,25.718082,-80.437366
+33186,FL,Miami,25.669437,-80.408501
+33187,FL,Quail Heights,25.597112,-80.47137
+33189,FL,Quail Heights,25.57431,-80.350851
+33190,FL,Quail Heights,25.560935,-80.35381
+33193,FL,Miami,25.696365,-80.440087
+33196,FL,Miami,25.661502,-80.441031
+33301,FL,Fort Lauderdale,26.121561,-80.128778
+33304,FL,Oakland Park,26.137908,-80.125283
+33305,FL,Oakland Park,26.153115,-80.127768
+33306,FL,Oakland Park,26.165091,-80.112572
+33308,FL,Oakland Park,26.187883,-80.107674
+33309,FL,Fort Lauderdale,26.181698,-80.174624
+33311,FL,Fort Lauderdale,26.142104,-80.172786
+33312,FL,Fort Lauderdale,26.096819,-80.181038
+33313,FL,City Of Sunrise,26.151145,-80.223142
+33314,FL,Davie,26.068199,-80.225034
+33315,FL,Fort Lauderdale,26.098885,-80.15408
+33316,FL,Fort Lauderdale,26.104193,-80.125951
+33317,FL,Plantation,26.113536,-80.224272
+33319,FL,Tamarac,26.181153,-80.225413
+33321,FL,Tamarac,26.212072,-80.264356
+33322,FL,Sunrise,26.151923,-80.271954
+33323,FL,Sunrise,26.164641,-80.307583
+33324,FL,Plantation,26.113639,-80.271019
+33325,FL,Davie,26.10862,-80.321952
+33326,FL,Davie,26.114338,-80.369941
+33327,FL,Fort Lauderdale,26.097291,-80.40645
+33328,FL,Davie,26.060708,-80.272022
+33330,FL,Davie,26.055479,-80.312907
+33331,FL,Davie,26.044366,-80.364533
+33332,FL,Davie,26.054436,-80.41299
+33334,FL,Oakland Park,26.181514,-80.135511
+33351,FL,Tamarac,26.177148,-80.273376
+33388,FL,Fort Lauderdale,26.117586,-80.250587
+33401,FL,West Palm Beach,26.713956,-80.065874
+33403,FL,Lake Park,26.803187,-80.073078
+33404,FL,Riviera Beach,26.781343,-80.06852
+33405,FL,West Palm Beach,26.669968,-80.058234
+33406,FL,Glen Ridge,26.655582,-80.093026
+33407,FL,West Palm Beach,26.749154,-80.072492
+33408,FL,North Palm Beach,26.828854,-80.060334
+33409,FL,Haverhill,26.713218,-80.096347
+33410,FL,Palm Beach Garde,26.844373,-80.087304
+33411,FL,Royal Palm Beach,26.700539,-80.209898
+33412,FL,West Palm Beach,26.805526,-80.248203
+33413,FL,West Palm Beach,26.67616,-80.140474
+33414,FL,West Palm Beach,26.662707,-80.25299
+33415,FL,Haverhill,26.655722,-80.127966
+33417,FL,Haverhill,26.713006,-80.124764
+33418,FL,Palm Beach Garde,26.838977,-80.132533
+33426,FL,Boynton Beach,26.51747,-80.083427
+33428,FL,Boca Raton,26.344605,-80.210942
+33430,FL,Belle Glade,26.684289,-80.672392
+33431,FL,Boca Raton,26.379929,-80.097488
+33432,FL,Boca Raton,26.34619,-80.084421
+33433,FL,Boca Raton,26.346409,-80.156399
+33434,FL,Boca Raton,26.383909,-80.174858
+33435,FL,Briny Breezes,26.529161,-80.06424
+33436,FL,Village Of Golf,26.526862,-80.106423
+33437,FL,Boynton Beach,26.531187,-80.141812
+33438,FL,Canal Point,26.859279,-80.629931
+33440,FL,Clewiston,26.717171,-80.949249
+33441,FL,Deerfield Beach,26.309556,-80.099173
+33442,FL,Deerfield Beach,26.312365,-80.141242
+33444,FL,Delray Beach,26.456445,-80.079321
+33445,FL,Delray Beach,26.456359,-80.105397
+33446,FL,Delray Beach,26.451717,-80.158016
+33455,FL,Hobe Sound,27.081306,-80.150851
+33458,FL,Jupiter,26.933938,-80.120091
+33460,FL,Lake Worth,26.618207,-80.055996
+33461,FL,Lake Worth,26.62316,-80.094573
+33462,FL,Lantana,26.576766,-80.077264
+33463,FL,Greenacres,26.609609,-80.130503
+33467,FL,Lake Worth,26.610366,-80.168299
+33469,FL,Tequesta,26.966066,-80.100161
+33470,FL,Loxahatchee,26.738295,-80.276007
+33471,FL,Moore Haven,26.832749,-81.218776
+33476,FL,Pahokee,26.814199,-80.662897
+33477,FL,Jupiter,26.921701,-80.077034
+33478,FL,Jupiter,26.921242,-80.214388
+33480,FL,Palm Beach,26.72065,-80.038825
+33483,FL,Delray Beach,26.45457,-80.065637
+33484,FL,Delray Beach,26.454272,-80.13459
+33486,FL,Boca Raton,26.348099,-80.110418
+33487,FL,Highland Beach,26.409142,-80.089072
+33493,FL,South Bay,26.670126,-80.731214
+33496,FL,Boca Raton,26.402975,-80.181287
+33498,FL,Boca Raton,26.390693,-80.216087
+33510,FL,Brandon,27.955112,-82.296554
+33511,FL,Brandon,27.905649,-82.288116
+33513,FL,Bushnell,28.661062,-82.155297
+33514,FL,Center Hill,28.663484,-81.996289
+33525,FL,Ridge Manor,28.386912,-82.207936
+33527,FL,Dover,27.991975,-82.213845
+33534,FL,Gibsonton,27.841059,-82.369831
+33538,FL,Lake Panasoffkee,28.795261,-82.136279
+33540,FL,Zephyrhills,28.24096,-82.168347
+33541,FL,Zephyrhills,28.231063,-82.20566
+33543,FL,Wesley Chapel,28.210365,-82.288956
+33544,FL,Zephyrhills,28.263664,-82.34933
+33547,FL,Lithia,27.829349,-82.135679
+33549,FL,Lutz,28.136688,-82.461045
+33556,FL,Odessa,28.142072,-82.590506
+33565,FL,Plant City,28.069855,-82.157554
+33566,FL,Plant City,28.009448,-82.113816
+33567,FL,Plant City,27.976167,-82.146268
+33569,FL,Riverview,27.844952,-82.312473
+33570,FL,Ruskin,27.701501,-82.435501
+33572,FL,Apollo Beach,27.771553,-82.410199
+33573,FL,Sun City Center,27.714711,-82.353832
+33576,FL,San Antonio,28.337139,-82.288237
+33584,FL,Seffner,27.992199,-82.286296
+33592,FL,Thonotosassa,28.061747,-82.308212
+33594,FL,Valrico,27.912435,-82.246557
+33597,FL,Ridge Manor Esta,28.577492,-82.092975
+33598,FL,Wimauma,27.701497,-82.315136
+33602,FL,Tampa,27.961381,-82.45972
+33603,FL,Tampa,27.984534,-82.462997
+33604,FL,Tampa,28.017312,-82.457848
+33605,FL,Tampa,27.967078,-82.433368
+33606,FL,Tampa,27.933828,-82.467035
+33607,FL,Tampa,27.962538,-82.489535
+33608,FL,Tampa,27.865916,-82.507097
+33609,FL,Tampa,27.942456,-82.50572
+33610,FL,Tampa,27.995125,-82.404584
+33611,FL,Tampa,27.891422,-82.506714
+33612,FL,Tampa,28.050187,-82.450018
+33613,FL,Tampa,28.077184,-82.445519
+33614,FL,Tampa,28.00914,-82.503393
+33615,FL,Tampa,28.008057,-82.580495
+33616,FL,Tampa,27.87418,-82.52029
+33617,FL,Tampa,28.038358,-82.394876
+33618,FL,Carrollwood,28.075875,-82.493291
+33619,FL,Tampa,27.93824,-82.375558
+33620,FL,Tampa,28.069465,-82.409188
+33624,FL,Carrollwood,28.077194,-82.524944
+33625,FL,Tampa,28.072551,-82.558987
+33626,FL,Tampa,28.050932,-82.616378
+33629,FL,Tampa,27.92102,-82.507897
+33634,FL,Tampa,28.006783,-82.556006
+33635,FL,Tampa,28.03013,-82.604822
+33637,FL,Tampa,28.03377,-82.365876
+33647,FL,Tampa,28.114698,-82.367751
+33701,FL,Saint Petersburg,27.772318,-82.638609
+33702,FL,Saint Petersburg,27.842712,-82.644795
+33703,FL,Saint Petersburg,27.816957,-82.626393
+33704,FL,Saint Petersburg,27.795435,-82.637289
+33705,FL,Saint Petersburg,27.739113,-82.64349
+33706,FL,Saint Petersburg,27.745606,-82.751646
+33707,FL,Saint Petersburg,27.75487,-82.720791
+33708,FL,Madeira Beach,27.816529,-82.800779
+33709,FL,Kenneth City,27.817427,-82.729845
+33710,FL,Saint Petersburg,27.789798,-82.724285
+33711,FL,Saint Petersburg,27.74649,-82.689708
+33712,FL,Saint Petersburg,27.735336,-82.666298
+33713,FL,Saint Petersburg,27.789015,-82.677939
+33714,FL,Saint Petersburg,27.817621,-82.677612
+33715,FL,Tierra Verde,27.694792,-82.715646
+33716,FL,Saint Petersburg,27.873764,-82.640039
+33801,FL,Lakeland,28.038134,-81.939153
+33803,FL,Lakeland,28.014045,-81.952283
+33805,FL,Lakeland,28.072006,-81.96091
+33809,FL,Lakeland,28.123356,-81.984219
+33811,FL,Southside,27.966284,-82.007236
+33813,FL,Southside,27.969534,-81.933187
+33821,FL,Arcadia,27.18996,-81.865755
+33823,FL,Auburndale,28.072443,-81.812234
+33825,FL,Avon Park,27.600085,-81.501486
+33827,FL,Babson Park,27.831698,-81.534221
+33830,FL,Bartow,27.895664,-81.812684
+33834,FL,Duette,27.627738,-81.845058
+33837,FL,Davenport,28.196265,-81.607912
+33838,FL,Dundee,28.019412,-81.621207
+33839,FL,Eagle Lake,27.978661,-81.756357
+33841,FL,Fort Meade,27.746356,-81.782346
+33843,FL,Frostproof,27.721058,-81.514778
+33844,FL,Grenelefe,28.095073,-81.614712
+33849,FL,Kathleen,28.205224,-82.043499
+33850,FL,Lake Alfred,28.089483,-81.727138
+33852,FL,Lake Placid,27.294474,-81.364918
+33853,FL,Lake Wales,27.903734,-81.548805
+33857,FL,Lorida,27.414952,-81.196533
+33860,FL,Mulberry,27.90202,-82.001489
+33865,FL,Ona,27.412657,-81.92805
+33868,FL,Polk City,28.19867,-81.808282
+33870,FL,Sebring,27.492391,-81.435712
+33872,FL,Sebring,27.470289,-81.487242
+33873,FL,Wauchula,27.551742,-81.807388
+33880,FL,Eloise,27.999296,-81.751507
+33881,FL,Winter Haven,28.045219,-81.732485
+33884,FL,Cypress Gardens,27.994901,-81.678905
+33890,FL,Zolfo Springs,27.480042,-81.742328
+33901,FL,Fort Myers,26.620403,-81.8725
+33903,FL,Fort Myers,26.678138,-81.909632
+33904,FL,Cape Coral Centr,26.57746,-81.952243
+33905,FL,Tice,26.676472,-81.785341
+33907,FL,Fort Myers,26.568057,-81.873558
+33908,FL,Fort Myers,26.502518,-81.927589
+33909,FL,Cape Coral Centr,26.680276,-81.958909
+33912,FL,Fort Myers,26.49722,-81.824554
+33913,FL,Fort Myers,26.522808,-81.706469
+33914,FL,Cape Coral Centr,26.56971,-81.990915
+33916,FL,Fort Myers,26.646595,-81.842946
+33917,FL,Fort Myers,26.707947,-81.859447
+33919,FL,College Parkway,26.554159,-81.900587
+33920,FL,Alva,26.714657,-81.635055
+33922,FL,Bokeelia,26.662726,-82.140064
+33923,FL,Bonita Springs,26.348035,-81.789963
+33924,FL,Captiva,26.750541,-82.261017
+33927,FL,El Jobean,26.97608,-82.19957
+33928,FL,Estero,26.435052,-81.810244
+33931,FL,Fort Myers Beach,26.451952,-81.924543
+33934,FL,Immokalee,26.409794,-81.445365
+33935,FL,Labelle,26.732093,-81.434027
+33936,FL,Lehigh Acres,26.615302,-81.61046
+33937,FL,Marco Island,25.939568,-81.720394
+33940,FL,Naples,26.171391,-81.802196
+33942,FL,Naples,26.201578,-81.766125
+33943,FL,Ochopee,25.87998,-81.311228
+33946,FL,Placida,26.819301,-82.261638
+33947,FL,Placida,26.90039,-82.293778
+33948,FL,Port Charlotte,26.98268,-82.141173
+33950,FL,Punta Gorda,26.915163,-82.053166
+33952,FL,Port Charlotte,26.990475,-82.096372
+33953,FL,Port Charlotte,27.004008,-82.211743
+33954,FL,Port Charlotte,27.022815,-82.110782
+33955,FL,Punta Gorda,26.823981,-81.954712
+33956,FL,Saint James City,26.529012,-82.091591
+33957,FL,Sanibel,26.4514,-82.086825
+33960,FL,Venus,27.13463,-81.359412
+33961,FL,Naples,26.027721,-81.658635
+33962,FL,Naples,26.113096,-81.749661
+33963,FL,Naples,26.263499,-81.808092
+33964,FL,Naples,26.211253,-81.640436
+33971,FL,Lehigh Acres,26.602252,-81.665822
+33980,FL,Port Charlotte,26.983969,-82.058886
+33981,FL,Port Charlotte,26.937925,-82.238774
+33982,FL,Punta Gorda,26.966751,-81.954484
+33983,FL,Punta Gorda,27.007398,-82.016268
+33990,FL,Cape Coral Centr,26.630893,-81.945967
+33991,FL,Cape Coral Centr,26.628881,-82.006703
+33999,FL,Naples,26.191612,-81.70927
+34202,FL,Braden River,27.46521,-82.431487
+34203,FL,Braden River,27.444871,-82.5404
+34205,FL,Westgate,27.480896,-82.584733
+34207,FL,College Plaza,27.439663,-82.580627
+34208,FL,Braden River,27.485881,-82.536961
+34209,FL,Palma Sola,27.487909,-82.627631
+34210,FL,Bradenton,27.454393,-82.635752
+34215,FL,Cortez,27.472686,-82.700642
+34217,FL,Bradenton Beach,27.515149,-82.721027
+34219,FL,Parrish,27.557162,-82.396009
+34221,FL,Palmetto,27.542946,-82.562957
+34222,FL,Ellenton,27.53818,-82.5006
+34223,FL,Englewood,26.966743,-82.359886
+34224,FL,Grove City,26.92504,-82.311731
+34228,FL,Whitney Beach,27.38669,-82.638403
+34229,FL,Osprey,27.18384,-82.485339
+34231,FL,South Trail,27.26757,-82.513793
+34232,FL,Forest Lakes,27.320056,-82.475709
+34233,FL,Sarasota,27.286614,-82.47698
+34234,FL,Meadows Village,27.365355,-82.535182
+34235,FL,Sarasota,27.367162,-82.484759
+34236,FL,Sarasota,27.331588,-82.548624
+34237,FL,Sarasota,27.336915,-82.512778
+34238,FL,Sarasota Square,27.243834,-82.482898
+34239,FL,Sarasota,27.311137,-82.519545
+34240,FL,Sarasota,27.32765,-82.385594
+34241,FL,Sarasota,27.282179,-82.418112
+34242,FL,Crescent Beach,27.266025,-82.546932
+34243,FL,Sarasota,27.407235,-82.530299
+34251,FL,Myakka City,27.364764,-82.184897
+34275,FL,Nokomis,27.138398,-82.451779
+34285,FL,Venice,27.093312,-82.44983
+34287,FL,North Port,27.047839,-82.241616
+34292,FL,Mid Venice,27.103245,-82.415112
+34293,FL,South Venice,27.053022,-82.404096
+34601,FL,Brooksville,28.565805,-82.373674
+34602,FL,Ridge Manor West,28.511167,-82.290545
+34606,FL,Spring Hill,28.46551,-82.598084
+34607,FL,Spring Hill,28.506546,-82.626671
+34608,FL,Spring Hill,28.479696,-82.556206
+34609,FL,Spring Hill,28.477611,-82.499896
+34610,FL,Shady Hills,28.405084,-82.530148
+34613,FL,Brooksville,28.546558,-82.521286
+34614,FL,Brooksville,28.662244,-82.523613
+34615,FL,Clearwater,27.986241,-82.780807
+34616,FL,Clearwater,27.945624,-82.786711
+34619,FL,Clearwater,27.976503,-82.717248
+34620,FL,Clearwater,27.913981,-82.715885
+34621,FL,Clearwater,28.02961,-82.723718
+34622,FL,Airport,27.896713,-82.676876
+34623,FL,Clearwater,28.002734,-82.747405
+34624,FL,Clearwater,27.93595,-82.743485
+34625,FL,Clearwater,27.973063,-82.745504
+34630,FL,Clearwater,27.984526,-82.822281
+34635,FL,Belleair Beach,27.917605,-82.840486
+34639,FL,Land O Lakes,28.225849,-82.45472
+34640,FL,Belleair Bluffs,27.915835,-82.801978
+34641,FL,Largo,27.907547,-82.75937
+34642,FL,Seminole,27.844571,-82.796896
+34643,FL,Largo,27.880334,-82.762806
+34644,FL,Largo,27.883597,-82.826287
+34646,FL,Largo,27.852906,-82.826978
+34647,FL,Largo,27.851549,-82.758701
+34648,FL,Largo,27.884391,-82.795946
+34652,FL,New Port Richey,28.232574,-82.732721
+34653,FL,New Port Richey,28.244398,-82.6986
+34654,FL,New Port Richey,28.302201,-82.626423
+34655,FL,New Port Richey,28.212898,-82.680729
+34665,FL,Pinellas Park,27.840313,-82.71335
+34666,FL,Pinellas Park,27.860742,-82.709353
+34667,FL,Hudson,28.364763,-82.675669
+34668,FL,Port Richey,28.301148,-82.692714
+34669,FL,Hudson,28.350634,-82.628793
+34677,FL,Oldsmar,28.046035,-82.684778
+34683,FL,Palm Harbor,28.066248,-82.758488
+34684,FL,Lake Tarpon,28.073963,-82.726573
+34685,FL,Palm Harbor,28.096725,-82.696357
+34689,FL,Tarpon Springs,28.138465,-82.743023
+34690,FL,Holiday,28.191273,-82.727935
+34691,FL,Holiday,28.191336,-82.755965
+34695,FL,Safety Harbor,28.009608,-82.696658
+34698,FL,Dunedin,28.028382,-82.779434
+34705,FL,Astatula,28.708754,-81.719473
+34711,FL,Clermont,28.552541,-81.757407
+34731,FL,Fruitland Park,28.863949,-81.899755
+34736,FL,Groveland,28.564445,-81.874526
+34737,FL,Howey In The Hil,28.709818,-81.789983
+34739,FL,Kenansville,27.876698,-81.050049
+34741,FL,Kissimmee,28.305056,-81.424208
+34743,FL,Buena Ventura La,28.329656,-81.356044
+34744,FL,Kissimmee,28.307807,-81.368122
+34746,FL,Kissimmee,28.26796,-81.467478
+34748,FL,Leesburg,28.807965,-81.885772
+34756,FL,Montverde,28.597153,-81.679368
+34758,FL,Kissimmee,28.198436,-81.487014
+34759,FL,Poinciana,28.124786,-81.458984
+34761,FL,Ocoee,28.583685,-81.532618
+34762,FL,Okahumpka,28.737257,-81.883949
+34769,FL,Saint Cloud,28.247992,-81.287626
+34771,FL,Saint Cloud,28.27301,-81.200311
+34772,FL,Saint Cloud,28.190518,-81.264493
+34773,FL,Saint Cloud,28.129295,-81.017552
+34785,FL,Wildwood,28.845353,-82.03473
+34786,FL,Windermere,28.50061,-81.535411
+34787,FL,Winter Garden,28.542321,-81.591127
+34788,FL,Haines Creek,28.85744,-81.781159
+34797,FL,Yalaha,28.744443,-81.826324
+34945,FL,Fort Pierce,27.438233,-80.443963
+34946,FL,Fort Pierce,27.50077,-80.35996
+34947,FL,Fort Pierce,27.449281,-80.359185
+34949,FL,Fort Pierce,27.389594,-80.261468
+34950,FL,Fort Pierce,27.448567,-80.3385
+34951,FL,Fort Pierce,27.539097,-80.405195
+34952,FL,Port Saint Lucie,27.288895,-80.297971
+34953,FL,Port Saint Lucie,27.262506,-80.379323
+34956,FL,Indiantown,27.061461,-80.480277
+34957,FL,Jensen Beach,27.235568,-80.227656
+34972,FL,Basinger,27.311532,-80.847853
+34974,FL,Okeechobee,27.200224,-80.84103
+34981,FL,Fort Pierce,27.404882,-80.362257
+34982,FL,Fort Pierce,27.390764,-80.324633
+34983,FL,Port Saint Lucie,27.309444,-80.345029
+34984,FL,Port Saint Lucie,27.265476,-80.338936
+34986,FL,Port Saint Lucie,27.32148,-80.403045
+34987,FL,Port Saint Lucie,27.260595,-80.477052
+34988,FL,Port Saint Lucie,27.323233,-80.51726
+34990,FL,Palm City,27.165646,-80.291646
+34994,FL,Stuart,27.196834,-80.253786
+34996,FL,Stuart,27.192857,-80.216378
+34997,FL,Stuart,27.139817,-80.212937
+30001,GA,Austell,33.807226,-84.605026
+30002,GA,Avondale Estates,33.771727,-84.260691
+30021,GA,Clarkston,33.810107,-84.238825
+30027,GA,Conley,33.645104,-84.327571
+30030,GA,Decatur,33.769883,-84.295044
+30032,GA,Decatur,33.740825,-84.263165
+30033,GA,Decatur,33.812305,-84.281918
+30034,GA,Decatur,33.695385,-84.248939
+30035,GA,Decatur,33.72784,-84.2143
+30038,GA,Lithonia,33.682311,-84.160997
+30049,GA,Ellenwood,33.635376,-84.264333
+30050,GA,Forest Park,33.609737,-84.367075
+30057,GA,Lithia Springs,33.772999,-84.66081
+30058,GA,Centerville Gwin,33.746412,-84.099291
+30059,GA,Mableton,33.816572,-84.565062
+30060,GA,Marietta,33.909199,-84.564881
+30062,GA,Marietta,34.002521,-84.463291
+30064,GA,Marietta,33.934285,-84.607584
+30066,GA,Marietta,34.037807,-84.503817
+30067,GA,Marietta,33.928198,-84.473251
+30068,GA,Marietta,33.967861,-84.438549
+30071,GA,Norcross,33.938145,-84.197158
+30073,GA,Powder Springs,33.875377,-84.685645
+30075,GA,Roswell,34.040832,-84.385901
+30076,GA,Roswell,34.021324,-84.310408
+30079,GA,Scottdale,33.793396,-84.258521
+30080,GA,Smyrna,33.879602,-84.502284
+30082,GA,Smyrna,33.863051,-84.538234
+30083,GA,Stone Mountain,33.794233,-84.201754
+30084,GA,Tucker,33.856986,-84.21602
+30087,GA,Stone Mountain,33.811511,-84.128829
+30088,GA,Stone Mountain,33.75798,-84.18022
+30092,GA,Norcross,33.967688,-84.243787
+30093,GA,Norcross,33.905964,-84.183953
+30101,GA,Acworth,34.075627,-84.647741
+30103,GA,Adairsville,34.359527,-84.917634
+30104,GA,Aragon,34.066556,-85.069559
+30105,GA,Armuchee,34.441082,-85.184298
+30107,GA,Ball Ground,34.339262,-84.375756
+30108,GA,Bowdon,33.537259,-85.25329
+30110,GA,Bremen,33.730872,-85.128638
+30113,GA,Buchanan,33.82828,-85.150551
+30114,GA,Canton,34.205874,-84.457756
+30117,GA,Carrollton,33.579751,-85.081211
+30120,GA,Cartersville,34.186975,-84.820401
+30124,GA,Cave Spring,34.116683,-85.337906
+30125,GA,Cedartown,34.011196,-85.2459
+30130,GA,Cumming,34.220197,-84.146762
+30132,GA,Dallas,33.916315,-84.827791
+30134,GA,Douglasville,33.760645,-84.747719
+30135,GA,Douglasville,33.698936,-84.745441
+30136,GA,Duluth,33.98619,-84.157936
+30137,GA,Emerson,34.119969,-84.757045
+30139,GA,Fairmount,34.465241,-84.766878
+30140,GA,Felton,33.887066,-85.220781
+30141,GA,Hiram,33.867286,-84.769875
+30143,GA,Jasper,34.461965,-84.475881
+30144,GA,Kennesaw,34.028656,-84.60466
+30145,GA,Kingston,34.250053,-84.997299
+30147,GA,Lindale,34.170741,-85.182491
+30148,GA,Marble Hill,34.415353,-84.337151
+30153,GA,Rockmart,33.997912,-85.05937
+30161,GA,Rome,34.250726,-85.146501
+30165,GA,Rome,34.283679,-85.223122
+30170,GA,Roopville,33.432226,-85.167148
+30171,GA,Pine Log,34.392732,-84.780315
+30173,GA,Silver Creek,34.159272,-85.142933
+30174,GA,Suwanee,34.057245,-84.082391
+30175,GA,Talking Rock,34.539356,-84.491154
+30176,GA,Tallapoosa,33.760174,-85.300047
+30177,GA,Tate,34.42387,-84.365299
+30178,GA,Taylorsville,34.122941,-84.973859
+30179,GA,Temple,33.767687,-85.013315
+30180,GA,Villa Rica,33.71729,-84.929697
+30182,GA,Waco,33.683986,-85.219674
+30183,GA,Waleska,34.321662,-84.561981
+30184,GA,White,34.271683,-84.738327
+30185,GA,Whitesburg,33.511093,-84.925426
+30187,GA,Winston,33.663419,-84.863915
+30188,GA,Woodstock,34.106005,-84.511683
+30201,GA,Alpharetta,34.107677,-84.295167
+30202,GA,Alpharetta,34.035487,-84.238972
+30203,GA,Auburn,34.007758,-83.824128
+30204,GA,Barnesville,33.045713,-84.15147
+30205,GA,Brooks,33.298433,-84.476941
+30206,GA,Concord,33.099836,-84.447025
+30207,GA,Conyers,33.682932,-84.019818
+30208,GA,Conyers,33.607711,-84.012689
+30209,GA,Starrsville,33.570328,-83.890752
+30211,GA,Dacula,33.988234,-83.883849
+30213,GA,Fairburn,33.56482,-84.580857
+30214,GA,Woolsey,33.448054,-84.463586
+30216,GA,Flovilla,33.250012,-83.907938
+30217,GA,Glenn,33.291073,-85.105459
+30218,GA,Alvaton,33.149902,-84.580576
+30220,GA,Grantville,33.247253,-84.834977
+30221,GA,Grayson,33.898344,-83.979846
+30222,GA,Stovall,33.037169,-84.742173
+30223,GA,Griffin,33.2549,-84.272759
+30228,GA,Hampton,33.412398,-84.294744
+30230,GA,Hogansville,33.164382,-84.930856
+30233,GA,Jackson,33.282006,-83.978391
+30234,GA,Jenkinsburg,33.318619,-84.026122
+30236,GA,Jonesboro,33.524236,-84.358968
+30240,GA,La Grange,33.034025,-85.039511
+30243,GA,Lawrenceville,34.005049,-84.014944
+30244,GA,Lawrenceville,33.923781,-84.081652
+30245,GA,Lawrenceville,33.944293,-83.996413
+30247,GA,Lilburn,33.873182,-84.119595
+30248,GA,Locust Grove,33.344936,-84.09825
+30249,GA,Loganville,33.83366,-83.903631
+30251,GA,Luthersville,33.179817,-84.757707
+30253,GA,Mc Donough,33.46466,-84.135751
+30255,GA,Mansfield,33.540373,-83.727638
+30256,GA,Meansville,33.013387,-84.316938
+30257,GA,Milner,33.141023,-84.175909
+30258,GA,Molena,32.997845,-84.45578
+30259,GA,Moreland,33.273437,-84.75656
+30260,GA,Morrow,33.584934,-84.324695
+30262,GA,Newborn,33.494923,-83.668396
+30263,GA,Raymond,33.389404,-84.816952
+30265,GA,Newnan,33.39576,-84.712062
+30267,GA,Oxford,33.686474,-83.863517
+30268,GA,Palmetto,33.524195,-84.678999
+30269,GA,Peachtree City,33.391467,-84.563478
+30273,GA,Rex,33.580805,-84.278228
+30274,GA,Riverdale,33.553126,-84.400348
+30276,GA,Senoia,33.284459,-84.591779
+30277,GA,Sharpsburg,33.401287,-84.654027
+30278,GA,Snellville,33.848607,-84.028011
+30279,GA,Social Circle,33.656386,-83.706149
+30281,GA,Stockbridge,33.563343,-84.21649
+30285,GA,The Rock,32.971734,-84.242359
+30286,GA,Thomaston,32.901534,-84.3324
+30290,GA,Tyrone,33.471948,-84.591357
+30291,GA,Union City,33.583155,-84.549853
+30292,GA,Williamson,33.159838,-84.379493
+30293,GA,Woodbury,32.981318,-84.598632
+30295,GA,Zebulon,33.100235,-84.310827
+30296,GA,Riverdale,33.566716,-84.43645
+30303,GA,Atlanta,33.752504,-84.388846
+30305,GA,Atlanta,33.831963,-84.385145
+30306,GA,Atlanta,33.786027,-84.351418
+30307,GA,Atlanta,33.769138,-84.335957
+30308,GA,Atlanta,33.771839,-84.375744
+30309,GA,Atlanta,33.798407,-84.388338
+30310,GA,Atlanta,33.727849,-84.423173
+30311,GA,Atlanta,33.722957,-84.470219
+30312,GA,Atlanta,33.746749,-84.378125
+30313,GA,Atlanta,33.76825,-84.39352
+30314,GA,Atlanta,33.756103,-84.425546
+30315,GA,Atlanta,33.705062,-84.380771
+30316,GA,Atlanta,33.721686,-84.333913
+30317,GA,Atlanta,33.749788,-84.31685
+30318,GA,Atlanta,33.786454,-84.445432
+30319,GA,Atlanta,33.868728,-84.335091
+30324,GA,Atlanta,33.820609,-84.354867
+30326,GA,Atlanta,33.848168,-84.358232
+30327,GA,Atlanta,33.862723,-84.419966
+30328,GA,Sandy Springs,33.936295,-84.381143
+30329,GA,Atlanta,33.823555,-84.321402
+30330,GA,Atlanta,33.70645,-84.434735
+30331,GA,Atlanta,33.72241,-84.520468
+30334,GA,Atlanta,33.74715,-84.388188
+30336,GA,Atlanta,33.78534,-84.510028
+30337,GA,College Park,33.644227,-84.460849
+30338,GA,Dunwoody,33.944313,-84.316529
+30339,GA,Atlanta,33.87125,-84.462879
+30340,GA,Doraville,33.896377,-84.248265
+30341,GA,Chamblee,33.886727,-84.286969
+30342,GA,Atlanta,33.884245,-84.376091
+30344,GA,East Point,33.676214,-84.457292
+30345,GA,Atlanta,33.851347,-84.286961
+30346,GA,Atlanta,33.926717,-84.333354
+30349,GA,Atlanta,33.605331,-84.481258
+30350,GA,Atlanta,33.979471,-84.341146
+30354,GA,Hapeville,33.66546,-84.387025
+30360,GA,Atlanta,33.937772,-84.271645
+30401,GA,Oak Park,32.581938,-82.338668
+30410,GA,Ailey,32.214262,-82.47619
+30411,GA,Alamo,32.13298,-82.794445
+30413,GA,Bartow,32.863186,-82.470788
+30415,GA,Brooklet,32.294046,-81.628003
+30417,GA,Claxton,32.165009,-81.908032
+30420,GA,Cobbtown,32.264237,-82.133274
+30421,GA,Collins,32.185228,-82.10948
+30425,GA,Garfield,32.600776,-82.085599
+30426,GA,Girard,33.043689,-81.710581
+30427,GA,Glennville,31.946708,-81.948313
+30428,GA,Glenwood,32.157243,-82.675881
+30434,GA,Louisville,33.016342,-82.383616
+30436,GA,Lyons,32.171148,-82.307783
+30438,GA,Manassas,32.096551,-82.052925
+30439,GA,Metter,32.401034,-82.060722
+30441,GA,Midville,32.863794,-82.204181
+30442,GA,Millen,32.787739,-81.961807
+30445,GA,Mount Vernon,32.18398,-82.58672
+30446,GA,Newington,32.588385,-81.532686
+30450,GA,Portal,32.55504,-81.912257
+30452,GA,Register,32.338235,-81.872828
+30453,GA,Reidsville,32.054759,-82.147809
+30454,GA,Rockledge,32.391507,-82.747939
+30455,GA,Rocky Ford,32.656863,-81.741749
+30456,GA,Sardis,32.980946,-81.773039
+30457,GA,Soperton,32.386861,-82.587098
+30458,GA,Statesboro,32.440841,-81.773956
+30467,GA,Hiltonia,32.77627,-81.633394
+30470,GA,Tarrytown,32.290623,-82.516933
+30471,GA,Twin City,32.612926,-82.197856
+30473,GA,Uvalda,32.048271,-82.508879
+30474,GA,Vidalia,32.193408,-82.406724
+30477,GA,Wadley,32.874742,-82.402459
+30501,GA,Gainesville,34.307269,-83.825596
+30504,GA,Gainesville,34.272281,-83.879311
+30506,GA,Gainesville,34.356227,-83.888211
+30507,GA,Gainesville,34.25915,-83.771625
+30510,GA,Alto,34.459079,-83.601996
+30511,GA,Baldwin,34.456411,-83.529781
+30512,GA,Blairsville,34.876253,-83.992027
+30513,GA,Blue Ridge,34.855523,-84.328087
+30516,GA,Bowersville,34.399592,-83.048364
+30517,GA,Braselton,34.138941,-83.781162
+30518,GA,Buford,34.112373,-83.996459
+30520,GA,Canon,34.347766,-83.126693
+30521,GA,Carnesville,34.394723,-83.279209
+30522,GA,Cherrylog,34.773711,-84.443136
+30523,GA,Clarkesville,34.644993,-83.524304
+30525,GA,Clayton,34.882569,-83.40655
+30527,GA,Clermont,34.476091,-83.785311
+30528,GA,Cleveland,34.583949,-83.749985
+30529,GA,Commerce,34.213413,-83.448011
+30531,GA,Cornelia,34.520882,-83.54527
+30533,GA,Dahlonega,34.529949,-83.979838
+30534,GA,Juno,34.394331,-84.103705
+30535,GA,Demorest,34.575564,-83.569625
+30537,GA,Sky Valley,34.979659,-83.380113
+30538,GA,Eastanollee,34.50366,-83.258685
+30539,GA,East Ellijay,34.682636,-84.473062
+30540,GA,Ellijay,34.677514,-84.481226
+30541,GA,Epworth,34.944249,-84.441593
+30542,GA,Flowery Branch,34.181893,-83.902407
+30543,GA,Gillsville,34.300148,-83.675681
+30545,GA,Helen,34.686601,-83.739936
+30546,GA,Hiawassee,34.937667,-83.7478
+30547,GA,Homer,34.356312,-83.497432
+30548,GA,Hoschton,34.086578,-83.780253
+30549,GA,Jefferson,34.106197,-83.570813
+30552,GA,Lakemont,34.761697,-83.403763
+30553,GA,Lavonia,34.452758,-83.112992
+30554,GA,Lula,34.398513,-83.694459
+30555,GA,Mc Caysville,34.952212,-84.368294
+30557,GA,Martin,34.515482,-83.168553
+30558,GA,Maysville,34.273627,-83.584019
+30559,GA,Mineral Bluff,34.934112,-84.254066
+30560,GA,Morganton,34.871382,-84.211479
+30563,GA,Mount Airy,34.567825,-83.471272
+30564,GA,Murrayville,34.434167,-83.894919
+30565,GA,Nicholson,34.097016,-83.421031
+30566,GA,Oakwood,34.237196,-83.894013
+30567,GA,Pendergrass,34.179634,-83.663356
+30568,GA,Rabun Gap,34.957552,-83.390122
+30571,GA,Sautee Nacoochee,34.716245,-83.693116
+30572,GA,Suches,34.72529,-84.049582
+30575,GA,Talmo,34.19506,-83.71872
+30576,GA,Tiger,34.81741,-83.433317
+30577,GA,Toccoa,34.566474,-83.31144
+30582,GA,Young Harris,34.958791,-83.86882
+30601,GA,Athens,33.976097,-83.363174
+30605,GA,Athens,33.932097,-83.352508
+30606,GA,Athens,33.946085,-83.418019
+30607,GA,Athens,34.006978,-83.427761
+30619,GA,Arnoldsville,33.880338,-83.234137
+30620,GA,Bethlehem,33.926116,-83.728227
+30621,GA,Bishop,33.808091,-83.477655
+30622,GA,Bogart,33.934038,-83.50546
+30624,GA,Bowman,34.19193,-83.028437
+30625,GA,Buckhead,33.536842,-83.343484
+30627,GA,Carlton,33.985217,-83.003827
+30628,GA,Colbert,34.038246,-83.21906
+30629,GA,Comer,34.088776,-83.121978
+30630,GA,Crawford,33.909533,-83.189319
+30631,GA,Crawfordville,33.570801,-82.887234
+30633,GA,Danielsville,34.170799,-83.275841
+30634,GA,Dewy Rose,34.172052,-82.940894
+30635,GA,Elberton,34.108202,-82.844765
+30641,GA,Good Hope,33.761346,-83.594952
+30642,GA,Greensboro,33.563682,-83.170192
+30643,GA,Hartwell,34.357124,-82.929576
+30646,GA,Hull,34.04781,-83.311029
+30648,GA,Lexington,33.879913,-83.085809
+30650,GA,Madison,33.594681,-83.461781
+30655,GA,Monroe,33.808141,-83.707221
+30660,GA,Philomath,33.783593,-82.909975
+30662,GA,Royston,34.277793,-83.140614
+30663,GA,Rutledge,33.616316,-83.602302
+30666,GA,Statham,33.960233,-83.5893
+30667,GA,Stephens,33.771471,-83.115902
+30668,GA,Danburg,33.883294,-82.695558
+30669,GA,Union Point,33.634544,-83.087913
+30673,GA,Washington,33.726541,-82.742912
+30677,GA,Watkinsville,33.854247,-83.408043
+30678,GA,White Plains,33.484338,-83.090845
+30680,GA,Winder,33.998544,-83.711473
+30683,GA,Winterville,33.954253,-83.290645
+30701,GA,Calhoun,34.496456,-84.934545
+30705,GA,Chatsworth,34.758929,-84.794293
+30707,GA,Chickamauga,34.857963,-85.322136
+30708,GA,Cisco,34.847405,-84.717382
+30710,GA,Cohutta,34.932635,-84.945801
+30711,GA,Crandall,34.941225,-84.764533
+30720,GA,Dalton,34.76352,-84.987477
+30721,GA,Dalton,34.77922,-84.933871
+30725,GA,Flintstone,34.925162,-85.352443
+30728,GA,La Fayette,34.692008,-85.260212
+30730,GA,Lyerly,34.402958,-85.403826
+30731,GA,Cloudland,34.570909,-85.459723
+30733,GA,Plainville,34.41447,-85.031204
+30734,GA,Ranger,34.540361,-84.727018
+30735,GA,Hill City,34.591996,-84.916251
+30736,GA,Ringgold,34.92052,-85.154908
+30738,GA,Rising Fawn,34.853491,-85.471078
+30739,GA,Rock Spring,34.806534,-85.241481
+30740,GA,Rocky Face,34.774456,-85.056143
+30741,GA,Rossville,34.953481,-85.296785
+30742,GA,Fort Oglethorpe,34.964082,-85.242812
+30746,GA,Sugar Valley,34.551929,-85.026048
+30747,GA,Summerville,34.485899,-85.336224
+30750,GA,Lookout Mountain,34.933512,-85.379384
+30752,GA,Trenton,34.901681,-85.517118
+30753,GA,Trion,34.54679,-85.311156
+30755,GA,Tunnel Hill,34.854129,-85.046815
+30757,GA,Wildwood,34.977911,-85.430456
+30802,GA,Appling,33.627088,-82.285631
+30803,GA,Avera,33.140997,-82.514965
+30805,GA,Blythe,33.294088,-82.203044
+30808,GA,Dearing,33.40702,-82.395512
+30809,GA,Evans,33.541194,-82.139775
+30810,GA,Gibson,33.247097,-82.576591
+30813,GA,Grovetown,33.476622,-82.240937
+30814,GA,Harlem,33.417007,-82.309659
+30815,GA,Hephzibah,33.343328,-82.088689
+30816,GA,Keysville,33.17191,-82.183368
+30817,GA,Lincolnton,33.777335,-82.443481
+30818,GA,Matthews,33.217582,-82.286747
+30820,GA,Mitchell,33.20515,-82.681654
+30821,GA,Norwood,33.478921,-82.735575
+30822,GA,Perkins,32.905747,-81.869573
+30823,GA,Stapleton,33.189423,-82.459704
+30824,GA,Thomson,33.477363,-82.494204
+30828,GA,Warrenton,33.40914,-82.63568
+30830,GA,Waynesboro,33.101254,-81.990797
+30833,GA,Wrens,33.210397,-82.380962
+30901,GA,Augusta,33.460084,-81.972959
+30904,GA,Augusta,33.47374,-82.013078
+30905,GA,Fort Gordon,33.419032,-82.139179
+30906,GA,Peach Orchard,33.402024,-82.038358
+30907,GA,Martinez,33.511692,-82.099505
+30909,GA,Forest Hills,33.480932,-82.060439
+31001,GA,Abbeville,31.96484,-83.306845
+31002,GA,Adrian,32.563505,-82.569508
+31003,GA,Allentown,32.653829,-83.189796
+31005,GA,Bonaire,32.546037,-83.604736
+31006,GA,Butler,32.572597,-84.234308
+31007,GA,Byromville,32.185192,-83.899128
+31008,GA,Powersville,32.647384,-83.762244
+31009,GA,Cadwell,32.317395,-83.026767
+31011,GA,Chauncey,32.083532,-83.050804
+31012,GA,Chester,32.398152,-83.174029
+31014,GA,Cochran,32.398066,-83.322886
+31015,GA,Cordele,31.956625,-83.783507
+31016,GA,Culloden,32.830078,-84.045628
+31017,GA,Danville,32.593017,-83.303298
+31018,GA,Davisboro,32.944296,-82.622738
+31019,GA,Dexter,32.435639,-83.052771
+31020,GA,Dry Branch,32.70499,-83.495105
+31021,GA,East Dublin,32.547794,-82.90368
+31022,GA,Dudley,32.525879,-83.089918
+31023,GA,Eastman,32.208425,-83.185959
+31024,GA,Eatonton,33.312723,-83.36277
+31025,GA,Elko,32.333648,-83.730388
+31028,GA,Centerville,32.634375,-83.676773
+31029,GA,Forsyth,33.050764,-83.936209
+31030,GA,Fort Valley,32.54956,-83.888727
+31031,GA,Stevens Pottery,32.909212,-83.320416
+31032,GA,Gray,33.017177,-83.539951
+31033,GA,Haddock,33.051888,-83.431219
+31035,GA,Harrison,32.842007,-82.71593
+31036,GA,Hawkinsville,32.277834,-83.494763
+31037,GA,Helena,32.078093,-82.91782
+31038,GA,Round Oak,33.179994,-83.687092
+31041,GA,Ideal,32.393022,-84.148149
+31042,GA,Irwinton,32.808849,-83.173963
+31044,GA,Jeffersonville,32.741096,-83.385896
+31045,GA,Jewell,33.328754,-82.732803
+31046,GA,Juliette,33.119412,-83.823529
+31047,GA,Kathleen,32.467218,-83.61284
+31049,GA,Kite,32.707833,-82.527361
+31050,GA,Knoxville,32.64724,-83.943011
+31052,GA,Lizella,32.777316,-83.825009
+31054,GA,Mc Intyre,32.84679,-83.203953
+31055,GA,Mc Rae,32.043529,-82.887665
+31057,GA,Marshallville,32.452003,-83.943478
+31058,GA,Mauk,32.509016,-84.399906
+31060,GA,Milan,31.961797,-83.058845
+31061,GA,Milledgeville,33.079958,-83.237943
+31063,GA,Montezuma,32.302615,-84.004139
+31064,GA,Monticello,33.311797,-83.714049
+31065,GA,Montrose,32.561867,-83.160119
+31066,GA,Musella,32.820228,-84.045591
+31068,GA,Oglethorpe,32.284186,-84.082991
+31069,GA,Perry,32.46051,-83.728258
+31070,GA,Pinehurst,32.196692,-83.720853
+31071,GA,Pineview,32.090728,-83.515835
+31072,GA,Pitts,31.942533,-83.55788
+31075,GA,Rentz,32.363834,-82.913987
+31076,GA,Reynolds,32.55411,-84.101134
+31077,GA,Rhine,32.011303,-83.19831
+31078,GA,Roberta,32.722152,-84.045114
+31079,GA,Rochelle,31.949119,-83.444978
+31081,GA,Rupert,32.432524,-84.273753
+31082,GA,Deepstep,32.986972,-82.816934
+31085,GA,Shady Dale,33.401353,-83.704031
+31087,GA,Devereux,33.265516,-82.985948
+31088,GA,Warner Robins,32.593365,-83.641578
+31089,GA,Tennille,32.9063,-82.840024
+31090,GA,Toomsboro,32.821895,-83.084427
+31091,GA,Unadilla,32.255766,-83.74467
+31092,GA,Vienna,32.091291,-83.792198
+31093,GA,Warner Robins,32.636839,-83.639466
+31094,GA,Warthen,33.125455,-82.803899
+31096,GA,Wrightsville,32.721866,-82.726206
+31097,GA,Yatesville,32.915592,-84.159253
+31098,GA,Robins A F B,32.60958,-83.58775
+31201,GA,Huber,32.84386,-83.598686
+31204,GA,Macon,32.842393,-83.676634
+31206,GA,Wilson Airport,32.780758,-83.682303
+31210,GA,Macon,32.892565,-83.745537
+31211,GA,Macon,32.886905,-83.602062
+31301,GA,Allenhurst,31.774059,-81.618577
+31302,GA,Bloomingdale,32.117654,-81.308465
+31303,GA,Clyo,32.512646,-81.30857
+31304,GA,Crescent,31.49675,-81.389219
+31305,GA,Darien,31.382574,-81.431175
+31308,GA,Ellabell,32.127304,-81.498302
+31309,GA,Fleming,31.864477,-81.423165
+31312,GA,Guyton,32.31399,-81.389593
+31313,GA,Hinesville,31.851296,-81.607214
+31314,GA,Fort Stewart,31.979085,-81.440489
+31316,GA,Ludowici,31.770477,-81.745315
+31319,GA,Meridian,31.411068,-81.423915
+31320,GA,Midway,31.801803,-81.390897
+31321,GA,Pembroke,32.157088,-81.553341
+31322,GA,Pooler,32.114931,-81.251958
+31323,GA,Riceboro,31.735696,-81.467134
+31324,GA,Richmond Hill,31.896152,-81.294026
+31326,GA,Rincon,32.235632,-81.287777
+31327,GA,Sapelo Island,31.421948,-81.267933
+31328,GA,Tybee Island,32.006797,-80.850938
+31329,GA,Stillwell,32.4121,-81.326435
+31331,GA,Townsend,31.567339,-81.418204
+31401,GA,Savannah,32.067631,-81.102394
+31404,GA,State College,32.044178,-81.068704
+31405,GA,Savannah,32.039119,-81.124192
+31406,GA,Savannah,31.988993,-81.097893
+31407,GA,Port Wentworth,32.148075,-81.162891
+31408,GA,Garden City,32.109245,-81.168181
+31409,GA,Savannah,32.002104,-81.158371
+31410,GA,Savannah,32.016188,-80.983859
+31411,GA,Savannah,31.926801,-81.038074
+31419,GA,M M,31.985149,-81.177387
+31501,GA,Okefenokee,31.219686,-82.364512
+31510,GA,Alma,31.546525,-82.4633
+31512,GA,Ambrose,31.536712,-82.997637
+31513,GA,Baxley,31.783663,-82.348643
+31516,GA,Blackshear,31.293063,-82.261708
+31518,GA,Bristol,31.40278,-82.249594
+31519,GA,Broxton,31.648426,-82.904954
+31520,GA,Glynco,31.169652,-81.493045
+31522,GA,Saint Simons Isl,31.16916,-81.382421
+31525,GA,Brunswick,31.230411,-81.511365
+31527,GA,Jekyll Island,31.074049,-81.41281
+31532,GA,Denton,31.745842,-82.720146
+31533,GA,Douglas,31.497287,-82.846468
+31537,GA,Folkston,30.850838,-82.011617
+31539,GA,Hazlehurst,31.860569,-82.590947
+31542,GA,Hoboken,31.183777,-82.183847
+31543,GA,Hortense,31.319949,-81.959561
+31544,GA,Jacksonville,31.848079,-82.975003
+31545,GA,Jesup,31.604326,-81.88706
+31548,GA,Kingsland,30.797681,-81.707483
+31549,GA,Lumber City,31.925124,-82.707312
+31550,GA,Manor,31.108829,-82.574173
+31551,GA,Mershon,31.478279,-82.216995
+31552,GA,Millwood,31.250566,-82.644148
+31553,GA,Nahunta,31.182652,-81.972212
+31554,GA,Nicholls,31.449812,-82.603207
+31555,GA,Odum,31.699916,-81.994301
+31557,GA,Patterson,31.390338,-82.127444
+31558,GA,Saint Marys,30.773467,-81.565211
+31560,GA,Screven,31.516846,-82.039742
+31563,GA,Surrency,31.648931,-82.198218
+31565,GA,Waverly,31.042672,-81.56967
+31566,GA,Waynesville,31.244792,-81.803928
+31567,GA,West Green,31.592271,-82.756417
+31568,GA,White Oak,31.034037,-81.808237
+31569,GA,Woodbine,30.943692,-81.678313
+31601,GA,Clyattville,30.810578,-83.277166
+31602,GA,Bemiss,30.890268,-83.273299
+31620,GA,Adel,31.125143,-83.421346
+31622,GA,Alapaha,31.394027,-83.21321
+31624,GA,Axson,31.303455,-82.731945
+31625,GA,Barney,31.007424,-83.521934
+31626,GA,Boston,30.785547,-83.797085
+31629,GA,Dixie,30.772213,-83.67918
+31630,GA,Du Pont,30.999996,-82.855518
+31631,GA,Fargo,30.716587,-82.580056
+31632,GA,Hahira,30.941593,-83.357366
+31634,GA,Cogdell,31.044991,-82.743103
+31635,GA,Lakeland,31.038107,-83.088859
+31636,GA,Lake Park,30.690615,-83.175293
+31637,GA,Lenox,31.266405,-83.448135
+31638,GA,Morven,30.893733,-83.449796
+31639,GA,Nashville,31.207379,-83.231946
+31641,GA,Naylor,30.89846,-83.122368
+31642,GA,Pearson,31.310583,-82.859096
+31643,GA,Quitman,30.779699,-83.556748
+31645,GA,Ray City,31.08247,-83.214283
+31646,GA,Saint George,30.559161,-82.083367
+31647,GA,Sparks,31.178984,-83.447586
+31648,GA,Statenville,30.725503,-82.979863
+31649,GA,Stockton,31.022865,-83.013944
+31650,GA,Willacoochee,31.345481,-83.044931
+31701,GA,Albany,31.567783,-84.161923
+31704,GA,Marine Corps Log,31.550099,-84.050812
+31705,GA,Bridgeboro,31.550851,-84.090089
+31707,GA,Albany,31.578908,-84.211834
+31709,GA,Georgia Southwes,32.07077,-84.224729
+31711,GA,Andersonville,32.129907,-84.10101
+31712,GA,Arabi,31.862923,-83.72856
+31713,GA,Arlington,31.445597,-84.72572
+31714,GA,Ashburn,31.705877,-83.660775
+31715,GA,Attapulgus,30.750639,-84.486008
+31716,GA,Baconton,31.387804,-84.11345
+31717,GA,Bainbridge,30.897865,-84.573975
+31723,GA,Blakely,31.371854,-84.935285
+31724,GA,Bluffton,31.556189,-84.877175
+31725,GA,Brinson,30.960957,-84.667112
+31726,GA,Bronwood,31.821591,-84.359389
+31728,GA,Cairo,30.892462,-84.196246
+31729,GA,Calvary,30.747036,-84.32267
+31730,GA,Camilla,31.219915,-84.229683
+31733,GA,Chula,31.543855,-83.550864
+31734,GA,Climax,30.85731,-84.443217
+31735,GA,Cobb,31.961708,-83.958087
+31736,GA,Coleman,31.656831,-84.874471
+31737,GA,Colquitt,31.161871,-84.730896
+31738,GA,Coolidge,30.985908,-83.875245
+31740,GA,Cuthbert,31.769073,-84.788874
+31741,GA,Damascus,31.341528,-84.720047
+31742,GA,Graves,31.759846,-84.430782
+31743,GA,De Soto,31.950186,-84.027101
+31744,GA,Doerun,31.313647,-83.925316
+31745,GA,Donalsonville,30.981801,-84.887024
+31746,GA,Edison,31.564979,-84.745626
+31749,GA,Enigma,31.373599,-83.355157
+31750,GA,Fitzgerald,31.724769,-83.249534
+31751,GA,Fort Gaines,31.646353,-85.039375
+31754,GA,Georgetown,31.884763,-85.071137
+31756,GA,Hartsfield,31.217316,-83.970364
+31759,GA,Iron City,30.994728,-84.796632
+31760,GA,Irwinville,31.654238,-83.401708
+31761,GA,Jakin,31.175064,-84.994845
+31762,GA,Leary,31.505924,-84.509486
+31763,GA,Leesburg,31.681161,-84.159263
+31764,GA,Leslie,31.953952,-84.07834
+31765,GA,Meigs,31.062536,-84.082375
+31766,GA,Morgan,31.556557,-84.617798
+31767,GA,Springvale,31.823432,-85.057251
+31768,GA,Moultrie,31.179244,-83.764089
+31770,GA,Newton,31.313426,-84.441107
+31771,GA,Norman Park,31.069128,-83.94044
+31772,GA,Oakfield,31.779768,-83.97059
+31773,GA,Ochlocknee,30.959407,-84.0326
+31774,GA,Ocilla,31.592944,-83.256542
+31775,GA,Omega,31.360432,-83.593936
+31777,GA,Parrott,31.872016,-84.501152
+31778,GA,Pavo,30.940142,-83.740856
+31779,GA,Pelham,31.127233,-84.156367
+31780,GA,Plains,32.033908,-84.358638
+31781,GA,Poulan,31.467206,-83.761554
+31783,GA,Rebecca,31.797921,-83.523478
+31784,GA,Sale City,31.260004,-84.042195
+31786,GA,Shellman,31.743407,-84.616616
+31787,GA,Smithville,31.884692,-84.227066
+31789,GA,Sumner,31.53925,-83.724463
+31790,GA,Sycamore,31.655329,-83.606363
+31791,GA,Sylvester,31.539268,-83.860731
+31792,GA,Thomasville,30.838543,-83.969616
+31794,GA,Abac,31.451722,-83.498867
+31795,GA,Ty Ty,31.45595,-83.621989
+31796,GA,Warwick,31.734495,-83.920092
+31797,GA,Whigham,30.90701,-84.315771
+31798,GA,Wray,31.595229,-83.107484
+31801,GA,Juniper,32.565562,-84.612951
+31803,GA,Tazewell,32.354198,-84.527347
+31804,GA,Cataula,32.624246,-84.920691
+31805,GA,Cusseta,32.299026,-84.764537
+31806,GA,Ellaville,32.23901,-84.303868
+31807,GA,Ellerslie,32.661718,-84.877197
+31808,GA,Fortson,32.628841,-85.001654
+31811,GA,Hamilton,32.741795,-84.884753
+31812,GA,Junction City,32.608046,-84.45741
+31815,GA,Lumpkin,32.043465,-84.802227
+31816,GA,Manchester,32.8721,-84.631166
+31820,GA,Midland,32.561587,-84.855851
+31821,GA,Omaha,32.165234,-84.900792
+31822,GA,Pine Mountain,32.873488,-84.895953
+31823,GA,Pine Mountain Va,32.791849,-84.823874
+31824,GA,Preston,32.074031,-84.548918
+31825,GA,Richland,32.084578,-84.666724
+31826,GA,Shiloh,32.806678,-84.741171
+31827,GA,Talbotton,32.679702,-84.546206
+31829,GA,Upatoi,32.560057,-84.744819
+31830,GA,Warm Springs,32.895558,-84.821728
+31831,GA,Waverly Hall,32.679326,-84.742463
+31832,GA,Weston,31.963665,-84.575579
+31833,GA,West Point,32.833683,-85.119714
+31836,GA,Woodland,32.806066,-84.595187
+31901,GA,Columbus,32.473035,-84.979456
+31903,GA,Columbus,32.424513,-84.948127
+31904,GA,Columbus,32.516091,-84.978475
+31905,GA,Custer Terrace,32.369728,-84.945264
+31906,GA,Columbus,32.463819,-84.948422
+31907,GA,Columbus,32.477909,-84.89799
+31909,GA,Columbus,32.536913,-84.927404
+32350,GA,Pinetta,30.634794,-83.310491
+96701,HI,Aiea,21.390795,-157.933237
+96704,HI,Captain Cook,19.438604,-155.887463
+96705,HI,Eleele,21.923017,-159.538115
+96706,HI,Ewa Beach,21.327418,-158.010307
+96707,HI,Kapolei,21.345284,-158.087007
+96708,HI,Haiku,20.907097,-156.299983
+96710,HI,Hakalau,19.888217,-155.133335
+96712,HI,Haleiwa,21.631151,-158.069315
+96713,HI,Hana,20.761635,-156.039659
+96716,HI,Hanapepe,21.915644,-159.592022
+96717,HI,Hauula,21.61395,-157.915704
+96718,HI,Hawaii National,19.431103,-155.284015
+96719,HI,Hawi,20.238021,-155.838007
+96720,HI,Hilo,19.702522,-155.093921
+96722,HI,Princeville,22.215948,-159.462587
+96725,HI,Holualoa,19.610316,-155.917639
+96726,HI,Honaunau,19.44845,-155.893356
+96727,HI,Honokaa,20.08266,-155.488026
+96728,HI,Honomu,19.872767,-155.11766
+96729,HI,Hoolehua,21.173025,-157.079138
+96730,HI,Kaaawa,21.56737,-157.873734
+96732,HI,Kahului,20.881388,-156.478327
+96734,HI,Kailua,21.406262,-157.744781
+96740,HI,Kailua Kona,19.653053,-155.979809
+96742,HI,Kalaupapa,21.19289,-156.983453
+96743,HI,Kamuela,20.008128,-155.705189
+96744,HI,Kaneohe,21.422819,-157.811543
+96746,HI,Kapaa,22.086798,-159.344842
+96747,HI,Kaumakani,21.921329,-159.62413
+96748,HI,Kaunakakai,21.090504,-156.969015
+96749,HI,Keaau,19.589277,-154.992644
+96750,HI,Kealakekua,19.526149,-155.930025
+96752,HI,Kekaha,21.973509,-159.71988
+96753,HI,Kihei,20.744124,-156.447543
+96755,HI,Kapaau,20.218323,-155.798981
+96756,HI,Koloa,21.908293,-159.474927
+96757,HI,Kualapuu,21.160097,-157.027669
+96760,HI,Kurtistown,19.570637,-155.020659
+96761,HI,Lahaina,20.917432,-156.677162
+96762,HI,Laie,21.659513,-157.939377
+96763,HI,Lanai City,20.829323,-156.921027
+96764,HI,Laupahoehoe,19.980194,-155.232263
+96766,HI,Lihue,21.981618,-159.368258
+96768,HI,Makawao,20.846932,-156.332735
+96769,HI,Makaweli,21.927639,-159.790721
+96770,HI,Maunaloa,21.142202,-157.219277
+96771,HI,Mountain View,19.550587,-155.086436
+96772,HI,Naalehu,19.066844,-155.657474
+96773,HI,Ninole,19.904436,-155.159923
+96774,HI,Ookala,20.011887,-155.274666
+96775,HI,Paauhau,20.027748,-155.449088
+96776,HI,Paauilo,20.027119,-155.369728
+96777,HI,Pahala,19.207898,-155.481506
+96778,HI,Pahoa,19.508901,-154.923135
+96779,HI,Paia,20.91539,-156.38017
+96780,HI,Papaaloa,19.904835,-155.218402
+96781,HI,Papaikou,19.791643,-155.098442
+96782,HI,Pearl City,21.408393,-157.965164
+96783,HI,Pepeekeo,19.835283,-155.112994
+96785,HI,Volcano,19.480066,-155.19743
+96786,HI,Wahiawa,21.500596,-158.043527
+96789,HI,Mililani,21.45311,-158.017379
+96790,HI,Kula,20.753353,-156.326026
+96791,HI,Waialua,21.576623,-158.126673
+96792,HI,Waianae,21.435192,-158.178071
+96793,HI,Wailuku,20.896586,-156.503612
+96795,HI,Waimanalo,21.341786,-157.713094
+96796,HI,Waimea,21.968487,-159.669429
+96797,HI,Waipahu,21.398203,-158.012418
+96813,HI,Honolulu,21.317905,-157.852072
+96814,HI,Honolulu,21.299846,-157.843876
+96815,HI,Honolulu,21.281084,-157.826616
+96816,HI,Honolulu,21.288677,-157.800626
+96817,HI,Honolulu,21.329452,-157.861469
+96818,HI,Honolulu,21.353173,-157.926925
+96819,HI,Honolulu,21.34877,-157.875947
+96821,HI,Honolulu,21.292811,-157.755242
+96822,HI,Honolulu,21.311704,-157.829819
+96825,HI,Honolulu,21.298684,-157.698523
+96826,HI,Honolulu,21.294139,-157.828388
+83201,ID,Pocatello,42.887592,-112.438142
+83202,ID,Chubbuck,42.926548,-112.474873
+83203,ID,Fort Hall,42.988717,-112.459854
+83204,ID,Pocatello,42.846463,-112.443352
+83210,ID,Sterling,42.976717,-112.818124
+83211,ID,American Falls,42.789876,-112.870714
+83212,ID,Arbon,42.502634,-112.558481
+83213,ID,Arco,43.635521,-113.317559
+83214,ID,Arimo,42.559953,-112.174649
+83217,ID,Bancroft,42.720463,-111.842944
+83220,ID,Bern,42.319144,-111.392595
+83221,ID,Blackfoot,43.194327,-112.361545
+83226,ID,Challis,44.496912,-114.19463
+83227,ID,Clayton,44.273289,-114.410189
+83228,ID,Clifton,42.215972,-111.995737
+83230,ID,Conda,42.717126,-111.54023
+83231,ID,Darlington,43.7715,-113.380284
+83232,ID,Dayton,42.11836,-111.985836
+83234,ID,Downey,42.418127,-112.109019
+83235,ID,Ellis,44.878829,-114.001594
+83236,ID,Firth,43.302066,-112.158819
+83237,ID,Franklin,42.030389,-111.822862
+83238,ID,Geneva,42.313585,-111.072185
+83241,ID,Grace,42.549978,-111.739981
+83243,ID,Holbrook,42.222148,-112.693404
+83245,ID,Inkom,42.796379,-112.246474
+83246,ID,Lava Hot Springs,42.618474,-112.017644
+83250,ID,Mc Cammon,42.63362,-112.175758
+83251,ID,Mackay,43.91106,-113.611984
+83252,ID,Malad City,42.180783,-112.262045
+83253,ID,Patterson,44.701745,-113.916039
+83254,ID,Montpelier,42.35199,-111.31946
+83255,ID,Moore,43.782094,-113.260349
+83260,ID,Ovid,42.311423,-111.451109
+83261,ID,Paris,42.207065,-111.402938
+83262,ID,Pingree,43.195618,-112.449035
+83263,ID,Preston,42.110917,-111.856516
+83271,ID,Rockland,42.555582,-112.853982
+83272,ID,Saint Charles,42.112812,-111.389744
+83274,ID,Shelley,43.376901,-112.107549
+83276,ID,Soda Springs,42.671819,-111.569896
+83278,ID,Stanley,44.22908,-114.725414
+83280,ID,Stone,42.038983,-112.711473
+83283,ID,Thatcher,42.331959,-111.78899
+83285,ID,Wayan,43.02691,-111.254056
+83286,ID,Weston,42.044621,-111.97154
+83287,ID,Fish Haven,42.045926,-111.463323
+83301,ID,Twin Falls,42.556495,-114.469265
+83302,ID,Rogerson,42.219567,-114.603794
+83313,ID,Bellevue,43.439694,-114.249804
+83314,ID,Bliss,42.944859,-114.910387
+83316,ID,Buhl,42.600763,-114.782545
+83318,ID,Burley,42.524442,-113.793081
+83320,ID,Carey,43.274443,-113.892567
+83321,ID,Castleford,42.521015,-114.873433
+83322,ID,Corral,43.307127,-115.00871
+83323,ID,Declo,42.524005,-113.644794
+83324,ID,Dietrich,42.91254,-114.266408
+83325,ID,Eden,42.580374,-114.162762
+83326,ID,Elba,42.180865,-113.663559
+83327,ID,Fairfield,43.367504,-114.790845
+83328,ID,Filer,42.565269,-114.614047
+83330,ID,Gooding,42.937345,-114.711966
+83332,ID,Hagerman,42.814205,-114.88697
+83333,ID,Hailey,43.523861,-114.306398
+83334,ID,Hansen,42.524895,-114.299364
+83335,ID,Hazelton,42.595462,-114.134984
+83336,ID,Heyburn,42.559922,-113.770885
+83338,ID,Jerome,42.71784,-114.501244
+83340,ID,Obsidian,43.675459,-114.373664
+83341,ID,Kimberly,42.528656,-114.365725
+83342,ID,Naf,42.364652,-113.448656
+83343,ID,Minidoka,42.759784,-113.620033
+83344,ID,Murtaugh,42.477597,-114.160641
+83346,ID,Oakley,42.347561,-113.906945
+83347,ID,Paul,42.623999,-113.797125
+83348,ID,Picabo,43.310149,-114.086065
+83349,ID,Richfield,43.058839,-114.15079
+83350,ID,Acequia,42.621467,-113.66699
+83352,ID,Shoshone,42.947353,-114.382176
+83355,ID,Wendell,42.757868,-114.715391
+83401,ID,Ammon,43.517679,-111.990626
+83402,ID,Idaho Falls,43.493373,-112.057762
+83404,ID,Idaho Falls,43.475043,-112.012449
+83406,ID,Idaho Falls,43.473233,-111.966052
+83420,ID,Ashton,43.988078,-111.619526
+83422,ID,Driggs,43.726291,-111.119896
+83423,ID,Dubois,44.185769,-112.325852
+83424,ID,Felt,43.872407,-111.189496
+83425,ID,Hamer,43.930751,-112.187189
+83427,ID,Iona,43.525946,-111.928356
+83429,ID,Island Park,44.446606,-111.367914
+83431,ID,Lewisville,43.672476,-112.018884
+83434,ID,Menan,43.726576,-111.983702
+83435,ID,Monteview,43.986242,-112.578321
+83436,ID,Newdale,43.888078,-111.604192
+83440,ID,Rexburg,43.809968,-111.789022
+83442,ID,Rigby,43.671462,-111.900481
+83443,ID,Ririe,43.631961,-111.760692
+83444,ID,Roberts,43.7116,-112.119591
+83445,ID,Saint Anthony,44.274499,-111.523156
+83446,ID,Spencer,44.281444,-112.098821
+83448,ID,Sugar City,43.866852,-111.79004
+83449,ID,Swan Valley,43.405826,-111.279358
+83450,ID,Terreton,43.858635,-112.420041
+83451,ID,Teton,43.898751,-111.668145
+83452,ID,Tetonia,43.843713,-111.186997
+83455,ID,Victor,43.614827,-111.125934
+83462,ID,Carmen,45.255016,-113.857267
+83463,ID,Gibbonsville,45.484608,-113.956466
+83464,ID,Leadore,44.738909,-113.492586
+83466,ID,North Fork,45.377605,-113.857287
+83467,ID,Salmon,45.157142,-113.878356
+83469,ID,Shoup,45.18514,-114.405987
+83501,ID,South Gate Plaza,46.389457,-116.987714
+83520,ID,Ahsahka,46.510318,-116.371537
+83522,ID,Cottonwood,46.044789,-116.373306
+83523,ID,Craigmont,46.245292,-116.467655
+83524,ID,Culdesac,46.378012,-116.653579
+83525,ID,Dixie,45.888897,-115.359158
+83526,ID,Ferdinand,46.134877,-116.39817
+83530,ID,Grangeville,45.927239,-116.107639
+83533,ID,Greencreek,46.115523,-116.27239
+83535,ID,Juliaetta,46.575376,-116.718849
+83536,ID,Kamiah,46.21856,-116.034742
+83537,ID,Kendrick,46.628628,-116.604895
+83538,ID,Keuterville,45.929443,-116.535583
+83539,ID,Clearwater,46.125859,-115.92396
+83540,ID,Lapwai,46.412403,-116.790225
+83541,ID,Lenore,46.535408,-116.513015
+83542,ID,Lucile,45.556963,-116.266899
+83543,ID,Nezperce,46.247533,-116.239281
+83544,ID,Orofino,46.495197,-116.240417
+83545,ID,Peck,46.480661,-116.411394
+83546,ID,Pierce,46.492424,-115.807071
+83547,ID,Pollock,45.306754,-116.351742
+83548,ID,Reubens,46.336112,-116.533334
+83549,ID,Riggins,45.397006,-116.300553
+83553,ID,Weippe,46.38069,-115.938593
+83554,ID,White Bird,45.752096,-116.2889
+83555,ID,Winchester,46.238334,-116.620382
+83601,ID,Atlanta,43.567436,-115.357042
+83602,ID,Banks,44.149152,-115.983737
+83604,ID,Grasmere,42.76006,-115.677259
+83605,ID,Caldwell,43.662719,-116.700038
+83610,ID,Cambridge,44.59216,-116.675717
+83611,ID,West Mountain,44.493273,-116.027676
+83612,ID,Council,44.762754,-116.451833
+83615,ID,Donnelly,44.74937,-116.08578
+83616,ID,Eagle,43.706879,-116.361966
+83617,ID,Montour,43.879152,-116.511459
+83619,ID,Fruitland,44.002658,-116.914259
+83622,ID,Garden Valley,44.090932,-115.824311
+83623,ID,Glenns Ferry,42.962202,-115.315973
+83624,ID,Grand View,42.810101,-116.08187
+83627,ID,Hammett,42.981755,-115.565839
+83628,ID,Homedale,43.613844,-116.947228
+83629,ID,Horseshoe Bend,43.922882,-116.180898
+83631,ID,Idaho City,43.758601,-115.918436
+83632,ID,Indian Valley,44.549134,-116.442969
+83633,ID,King Hill,42.936104,-115.269098
+83634,ID,Kuna,43.487034,-116.381859
+83636,ID,Letha,43.840306,-116.585004
+83637,ID,Lowman,44.110616,-115.528488
+83638,ID,Mc Call,44.891784,-116.078873
+83639,ID,Marsing,43.539866,-116.823968
+83641,ID,Melba,43.37842,-116.548875
+83642,ID,Meridian,43.614963,-116.397538
+83643,ID,Mesa,44.657747,-116.42113
+83644,ID,Middleton,43.719052,-116.61122
+83645,ID,Midvale,44.441979,-116.703838
+83647,ID,Mountain Home,43.139223,-115.696334
+83648,ID,Mountain Home A,43.049315,-115.873609
+83650,ID,Oreana,43.207296,-116.605379
+83651,ID,Nampa,43.58342,-116.584818
+83654,ID,New Meadows,44.993969,-116.287438
+83655,ID,New Plymouth,43.959021,-116.804818
+83657,ID,Ola,44.235026,-116.290915
+83660,ID,Parma,43.789576,-116.940066
+83661,ID,Payette,44.07818,-116.920277
+83669,ID,Star,43.701296,-116.496735
+83670,ID,Sweet,43.99475,-116.323215
+83672,ID,Weiser,44.25222,-116.96507
+83676,ID,Wilder,43.657851,-116.912199
+83677,ID,Yellow Pine,44.969809,-115.49634
+83686,ID,Nampa,43.544125,-116.565962
+83687,ID,Nampa,43.593657,-116.536024
+83702,ID,Boise,43.632237,-116.205192
+83703,ID,Boise,43.660051,-116.252396
+83704,ID,Boise,43.633001,-116.295099
+83705,ID,Boise,43.585077,-116.219104
+83706,ID,Boise,43.588495,-116.191006
+83709,ID,Boise,43.574085,-116.29407
+83712,ID,Boise,43.602311,-116.164924
+83714,ID,Garden City,43.643036,-116.265751
+83801,ID,Athol,47.92674,-116.731821
+83802,ID,Avery,47.271431,-115.866012
+83803,ID,Bayview,47.96535,-116.568745
+83804,ID,Blanchard,48.022344,-116.990865
+83805,ID,Bonners Ferry,48.730642,-116.332178
+83808,ID,Calder,47.274135,-116.222793
+83809,ID,Careywood,48.062494,-116.598761
+83810,ID,Cataldo,47.552169,-116.443138
+83811,ID,Clark Fork,48.140457,-116.169865
+83812,ID,Clarkia,47.044477,-116.277408
+83813,ID,Cocolalla,48.124828,-116.657051
+83814,ID,Coeur D Alene,47.692841,-116.784976
+83821,ID,Coolin,48.522754,-116.840823
+83822,ID,Old Town,48.187988,-116.927382
+83823,ID,Deary,46.806062,-116.523782
+83824,ID,Desmet,47.125954,-116.893746
+83827,ID,Elk River,46.782972,-116.179943
+83830,ID,Fernwood,47.116027,-116.383126
+83832,ID,Genesee,46.571394,-116.928991
+83833,ID,Harrison,47.501692,-116.744607
+83834,ID,Harvard,46.937647,-116.702524
+83835,ID,Hayden Lake,47.773853,-116.776821
+83836,ID,Hope,48.244402,-116.279504
+83837,ID,Kellogg,47.543069,-116.125281
+83839,ID,Kingston,47.550881,-116.288722
+83842,ID,Medimont,47.462482,-116.568291
+83843,ID,Moscow,46.730921,-116.989683
+83845,ID,Moyie Springs,48.746434,-116.179603
+83846,ID,Mullan,47.470906,-115.792603
+83847,ID,Naples,48.60491,-116.319636
+83848,ID,Nordman,48.566944,-116.92126
+83850,ID,Pinehurst,47.501823,-116.264679
+83851,ID,Plummer,47.327782,-116.866161
+83853,ID,Porthill,48.992037,-116.477517
+83854,ID,Post Falls,47.720475,-116.935349
+83855,ID,Potlatch,46.944833,-116.914101
+83856,ID,Priest River,48.16637,-116.906617
+83857,ID,Princeton,46.899556,-116.828728
+83858,ID,Rathdrum,47.824107,-116.887294
+83860,ID,Sagle,48.2035,-116.5455
+83861,ID,Saint Maries,47.297727,-116.568107
+83864,ID,Sandpoint,48.311989,-116.533249
+83868,ID,Smelterville,47.537096,-116.240113
+83869,ID,Spirit Lake,47.965652,-116.868046
+83870,ID,Tensed,47.170735,-116.902716
+83871,ID,Troy,46.742648,-116.768105
+83872,ID,Viola,46.858293,-116.97319
+83873,ID,Wallace,47.490842,-115.962001
+83876,ID,Worley,47.429213,-116.905634
+60002,IL,Antioch,42.464811,-88.117802
+60004,IL,Arlington Height,42.111619,-87.979099
+60005,IL,Arlington Height,42.066599,-87.985461
+60007,IL,Elk Grove Villag,42.005613,-88.012775
+60008,IL,Rolling Meadows,42.072979,-88.019075
+60010,IL,Barrington,42.161387,-88.138345
+60012,IL,Crystal Lake,42.266198,-88.321294
+60013,IL,Cary,42.219599,-88.242594
+60014,IL,Crystal Lake,42.230755,-88.332364
+60015,IL,Deerfield,42.170494,-87.859033
+60016,IL,Des Plaines,42.046734,-87.885899
+60018,IL,Rosemont,42.015116,-87.897882
+60020,IL,Fox Lake,42.393701,-88.164752
+60021,IL,Fox River Grove,42.193594,-88.220483
+60022,IL,Glencoe,42.133339,-87.761486
+60025,IL,Glenview,42.075785,-87.822299
+60026,IL,Glenview Nas,42.09134,-87.824782
+60030,IL,Gages Lake,42.34848,-88.037789
+60031,IL,Gurnee,42.366906,-87.945232
+60033,IL,Harvard,42.422727,-88.604812
+60034,IL,Hebron,42.464173,-88.417583
+60035,IL,Highland Park,42.179446,-87.805894
+60037,IL,Fort Sheridan,42.209683,-87.805572
+60040,IL,Highwood,42.203549,-87.814068
+60041,IL,Ingleside,42.363093,-88.158749
+60042,IL,Island Lake,42.274186,-88.19263
+60043,IL,Kenilworth,42.088444,-87.716463
+60044,IL,Lake Bluff,42.28196,-87.85595
+60045,IL,Lake Forest,42.237398,-87.848154
+60046,IL,Lindenhurst,42.414796,-88.063318
+60047,IL,Long Grove,42.196721,-88.070299
+60048,IL,Libertyville,42.281001,-87.949955
+60050,IL,Mc Henry,42.345527,-88.254429
+60053,IL,Morton Grove,42.043133,-87.789879
+60056,IL,Mount Prospect,42.062392,-87.937667
+60060,IL,Mundelein,42.263616,-88.004762
+60061,IL,Vernon Hills,42.228753,-87.971852
+60062,IL,Northbrook,42.125443,-87.846535
+60064,IL,Abbott Park,42.318901,-87.847819
+60067,IL,Palatine,42.113888,-88.042937
+60068,IL,Park Ridge,42.012171,-87.841675
+60069,IL,Prairie View,42.192872,-87.904823
+60070,IL,Prospect Heights,42.103324,-87.914934
+60071,IL,Richmond,42.466863,-88.290024
+60072,IL,Ringwood,42.380427,-88.297073
+60073,IL,Round Lake,42.366809,-88.088819
+60074,IL,Palatine,42.145775,-88.022998
+60076,IL,Skokie,42.036168,-87.732828
+60077,IL,Skokie,42.034525,-87.754123
+60081,IL,Spring Grove,42.441267,-88.223734
+60082,IL,Techny,42.121425,-87.804882
+60083,IL,Wadsworth,42.446032,-87.904048
+60084,IL,Wauconda,42.263553,-88.133284
+60085,IL,Mc Gaw Park,42.361882,-87.852585
+60087,IL,Waukegan,42.398906,-87.855387
+60088,IL,Great Lakes,42.303173,-87.864192
+60089,IL,Buffalo Grove,42.159843,-87.964364
+60090,IL,Wheeling,42.13404,-87.934097
+60091,IL,Wilmette,42.076462,-87.724572
+60093,IL,Northfield,42.103605,-87.752256
+60096,IL,Winthrop Harbor,42.479269,-87.831788
+60097,IL,Wonder Lake,42.384908,-88.353364
+60098,IL,Woodstock,42.319775,-88.447671
+60099,IL,Zion,42.444249,-87.838925
+60101,IL,Addison,41.933509,-88.0054
+60102,IL,Lake In The Hill,42.170923,-88.301429
+60103,IL,Hanover Park,41.983559,-88.160356
+60104,IL,Bellwood,41.882484,-87.878557
+60106,IL,Bensenville,41.950145,-87.944973
+60107,IL,Streamwood,42.022539,-88.168965
+60108,IL,Bloomingdale,41.94827,-88.07824
+60110,IL,Carpentersville,42.123004,-88.2606
+60111,IL,Clare,42.027045,-88.837832
+60115,IL,De Kalb,41.934245,-88.760673
+60118,IL,Dundee,42.096197,-88.290202
+60119,IL,Elburn,41.882405,-88.461106
+60120,IL,Elgin,42.038356,-88.260631
+60123,IL,Elgin,42.037574,-88.318615
+60126,IL,Elmhurst,41.892661,-87.941025
+60129,IL,Esmond,42.022458,-88.94386
+60130,IL,Forest Park,41.874373,-87.810624
+60131,IL,Franklin Park,41.933878,-87.873423
+60134,IL,Geneva,41.886013,-88.310954
+60135,IL,Genoa,42.09811,-88.690803
+60136,IL,Gilberts,42.098377,-88.369089
+60137,IL,Glen Ellyn,41.866112,-88.064774
+60139,IL,Glendale Heights,41.920523,-88.079282
+60140,IL,Hampshire,42.080748,-88.517033
+60141,IL,Hines,41.862262,-87.835542
+60142,IL,Huntley,42.175555,-88.426848
+60143,IL,Itasca,41.971967,-88.020247
+60145,IL,Kingston,42.105654,-88.769496
+60146,IL,Kirkland,42.101406,-88.868522
+60148,IL,Lombard,41.872139,-88.015988
+60150,IL,Malta,41.918332,-88.868818
+60151,IL,Maple Park,41.923217,-88.59985
+60152,IL,Marengo,42.244189,-88.607369
+60153,IL,Broadview,41.874857,-87.847675
+60154,IL,Westchester,41.852368,-87.884488
+60157,IL,Medinah,41.970545,-88.057507
+60160,IL,Melrose Park,41.900347,-87.858066
+60162,IL,Hillside,41.872452,-87.901591
+60163,IL,Hillside,41.886538,-87.910678
+60164,IL,Northlake,41.917961,-87.89592
+60165,IL,Stone Park,41.903005,-87.881053
+60171,IL,River Grove,41.927886,-87.838707
+60172,IL,Roselle,41.979834,-88.085699
+60173,IL,Schaumburg,42.05807,-88.048189
+60174,IL,Saint Charles,41.919417,-88.307022
+60175,IL,Saint Charles,41.947842,-88.391799
+60176,IL,Schiller Park,41.956304,-87.869179
+60177,IL,South Elgin,41.996868,-88.298558
+60178,IL,Sycamore,41.991117,-88.692809
+60180,IL,Union,42.210274,-88.528295
+60181,IL,Villa Park,41.879899,-87.978246
+60185,IL,West Chicago,41.888558,-88.202168
+60187,IL,Wheaton,41.856592,-88.107633
+60188,IL,Carol Stream,41.91784,-88.136962
+60190,IL,Winfield,41.874358,-88.151621
+60191,IL,Wood Dale,41.960171,-87.980971
+60193,IL,Schaumburg,42.014432,-88.093481
+60194,IL,Hoffman Estates,42.039025,-88.109442
+60195,IL,Hoffman Estates,42.073865,-88.108709
+60201,IL,Evanston,42.054551,-87.694331
+60202,IL,Evanston,42.03022,-87.686544
+60203,IL,Evanston,42.048487,-87.71759
+60301,IL,Oak Park,41.888601,-87.798598
+60302,IL,Oak Park,41.892471,-87.789543
+60304,IL,Oak Park,41.872458,-87.787712
+60305,IL,River Forest,41.895064,-87.8159
+60401,IL,Beecher,41.34437,-87.611538
+60402,IL,Stickney,41.841819,-87.79075
+60406,IL,Blue Island,41.658187,-87.679465
+60407,IL,Braceville,41.228788,-88.269042
+60408,IL,Braidwood,41.26574,-88.223124
+60409,IL,Calumet City,41.615257,-87.548328
+60410,IL,Channahon,41.434664,-88.213786
+60411,IL,Sauk Village,41.506202,-87.613209
+60415,IL,Chicago Ridge,41.70171,-87.777381
+60416,IL,Coal City,41.290769,-88.282346
+60417,IL,Crete,41.438952,-87.602738
+60419,IL,Dolton,41.625723,-87.597952
+60420,IL,Dwight,41.088701,-88.415884
+60421,IL,Elwood,41.426018,-88.08642
+60422,IL,Flossmoor,41.540574,-87.683737
+60423,IL,Frankfort,41.509361,-87.824774
+60424,IL,Gardner,41.179321,-88.296543
+60425,IL,Glenwood,41.546718,-87.612584
+60426,IL,Markham,41.608536,-87.661115
+60429,IL,Hazel Crest,41.573803,-87.684885
+60430,IL,Homewood,41.555579,-87.661578
+60431,IL,Joliet,41.527154,-88.08241
+60432,IL,Joliet,41.537758,-88.057178
+60433,IL,Joliet,41.511873,-88.05687
+60435,IL,Shorewood,41.541468,-88.128107
+60436,IL,Rockdale,41.508818,-88.135779
+60437,IL,Kinsman,41.161825,-88.480477
+60438,IL,Lansing,41.566045,-87.544634
+60439,IL,Argonne,41.695076,-88.023558
+60440,IL,Bolingbrook,41.697605,-88.087315
+60441,IL,Romeoville,41.613481,-88.025581
+60442,IL,Manhattan,41.428883,-87.977133
+60443,IL,Matteson,41.510183,-87.740648
+60444,IL,Mazon,41.297189,-88.409561
+60445,IL,Crestwood,41.634106,-87.732418
+60447,IL,Minooka,41.461516,-88.278596
+60448,IL,Mokena,41.53421,-87.891121
+60449,IL,Monee,41.419133,-87.77484
+60450,IL,Morris,41.367233,-88.417769
+60451,IL,New Lenox,41.506701,-87.963083
+60452,IL,Oak Forest,41.607684,-87.754219
+60453,IL,Oak Lawn,41.714305,-87.751564
+60455,IL,Bridgeview,41.743128,-87.806572
+60456,IL,Hometown,41.73113,-87.731536
+60457,IL,Hickory Hills,41.726228,-87.828893
+60458,IL,Justice,41.744709,-87.834587
+60459,IL,Burbank,41.744704,-87.769907
+60460,IL,Odell,41.023773,-88.515641
+60461,IL,Olympia Fields,41.51564,-87.689952
+60462,IL,Orland Park,41.619378,-87.84225
+60463,IL,Palos Heights,41.662146,-87.792697
+60464,IL,Palos Park,41.662352,-87.852146
+60465,IL,Palos Hills,41.700389,-87.826276
+60466,IL,University Park,41.474064,-87.682867
+60468,IL,Peotone,41.33609,-87.78968
+60469,IL,Posen,41.62766,-87.687213
+60470,IL,Ransom,41.153048,-88.650214
+60471,IL,Richton Park,41.481854,-87.723834
+60472,IL,Robbins,41.642289,-87.708909
+60473,IL,South Holland,41.597916,-87.593814
+60475,IL,Steger,41.468608,-87.638585
+60476,IL,Thornton,41.572726,-87.607823
+60477,IL,Tinley Park,41.582535,-87.804963
+60478,IL,Country Club Hil,41.559773,-87.718452
+60479,IL,Verona,41.250094,-88.51701
+60480,IL,Willow Springs,41.736416,-87.878588
+60481,IL,Custer Park,41.298063,-88.130083
+60482,IL,Worth,41.689498,-87.786272
+60501,IL,Argo,41.784245,-87.807468
+60504,IL,Aurora,41.752269,-88.245281
+60505,IL,Aurora,41.758209,-88.297139
+60506,IL,Aurora,41.766414,-88.344582
+60510,IL,Batavia,41.848165,-88.309756
+60511,IL,Big Rock,41.759308,-88.537617
+60512,IL,Bristol,41.707446,-88.401354
+60513,IL,Brookfield,41.82167,-87.849246
+60514,IL,Clarendon Hills,41.779729,-87.955322
+60515,IL,Downers Grove,41.803428,-88.013753
+60516,IL,Downers Grove,41.760157,-88.015873
+60517,IL,Woodridge,41.751755,-88.04885
+60518,IL,Earlville,41.585901,-88.910346
+60520,IL,Hinckley,41.769108,-88.644831
+60521,IL,Oak Brook,41.7891,-87.940089
+60525,IL,Hodgkins,41.801345,-87.875252
+60530,IL,Lee,41.786418,-88.971386
+60531,IL,Leland,41.606591,-88.771574
+60532,IL,Lisle,41.786174,-88.0879
+60534,IL,Lyons,41.813016,-87.823559
+60538,IL,Montgomery,41.717742,-88.331965
+60539,IL,Mooseheart,41.824148,-88.331532
+60540,IL,Naperville,41.766198,-88.141038
+60541,IL,Newark,41.526679,-88.527006
+60542,IL,North Aurora,41.808932,-88.327424
+60543,IL,Oswego,41.684893,-88.345305
+60544,IL,Plainfield,41.600884,-88.199391
+60545,IL,Plano,41.666987,-88.53838
+60546,IL,North Riverside,41.837367,-87.821356
+60548,IL,Sandwich,41.635286,-88.639303
+60549,IL,Serena,41.499481,-88.75089
+60550,IL,Shabbona,41.763846,-88.875249
+60551,IL,Sheridan,41.516428,-88.670634
+60552,IL,Somonauk,41.638289,-88.681645
+60553,IL,Steward,41.847545,-89.015086
+60554,IL,Sugar Grove,41.774113,-88.439721
+60555,IL,Warrenville,41.828046,-88.19213
+60556,IL,Waterman,41.750365,-88.775381
+60558,IL,Western Springs,41.804864,-87.899485
+60559,IL,Westmont,41.772848,-87.975736
+60560,IL,Yorkville,41.638725,-88.443794
+60563,IL,Naperville,41.78955,-88.16901
+60564,IL,Naperville,41.704022,-88.195248
+60565,IL,Naperville,41.732833,-88.128245
+60601,IL,Chicago,41.885847,-87.618123
+60602,IL,Chicago,41.882883,-87.632125
+60603,IL,Chicago,41.87985,-87.628499
+60604,IL,Chicago,41.87845,-87.632999
+60605,IL,Chicago,41.87125,-87.627715
+60606,IL,Chicago,41.886822,-87.638648
+60607,IL,Chicago,41.872075,-87.657845
+60608,IL,Chicago,41.851482,-87.669444
+60609,IL,Chicago,41.809721,-87.653279
+60610,IL,Chicago,41.903294,-87.633565
+60611,IL,Chicago,41.897105,-87.622285
+60612,IL,Chicago,41.880483,-87.687333
+60613,IL,Chicago,41.954341,-87.657491
+60614,IL,Chicago,41.92286,-87.648295
+60615,IL,Chicago,41.802211,-87.600623
+60616,IL,Chicago,41.84258,-87.630552
+60617,IL,Chicago,41.725743,-87.556012
+60618,IL,Chicago,41.946401,-87.704214
+60619,IL,Chicago,41.745765,-87.60539
+60620,IL,Chicago,41.741119,-87.654251
+60621,IL,Chicago,41.774993,-87.642136
+60622,IL,Chicago,41.901923,-87.67785
+60623,IL,Chicago,41.849015,-87.7157
+60624,IL,Chicago,41.880394,-87.722349
+60625,IL,Chicago,41.970325,-87.704157
+60626,IL,Chicago,42.009475,-87.668887
+60627,IL,Riverdale,41.645918,-87.618213
+60628,IL,Chicago,41.693443,-87.624277
+60629,IL,Chicago,41.778149,-87.706936
+60630,IL,Chicago,41.969862,-87.760273
+60631,IL,Chicago,41.995145,-87.808215
+60632,IL,Chicago,41.809274,-87.70518
+60633,IL,Burnham,41.649791,-87.549489
+60634,IL,Norridge,41.945213,-87.796054
+60635,IL,Elmwood Park,41.922907,-87.808593
+60636,IL,Chicago,41.775989,-87.667368
+60637,IL,Chicago,41.781312,-87.605097
+60638,IL,Bedford Park,41.789703,-87.771927
+60639,IL,Chicago,41.920162,-87.753502
+60640,IL,Chicago,41.971928,-87.662405
+60641,IL,Chicago,41.945333,-87.747376
+60642,IL,Evergreen Park,41.718765,-87.701721
+60643,IL,Calumet Park,41.693243,-87.659445
+60644,IL,Chicago,41.882913,-87.758163
+60645,IL,Lincolnwood,42.007718,-87.6962
+60646,IL,Lincolnwood,41.996414,-87.759172
+60647,IL,Chicago,41.920903,-87.704322
+60648,IL,Chicago,42.031101,-87.81636
+60649,IL,Chicago,41.761968,-87.570252
+60650,IL,Cicero,41.84776,-87.76008
+60651,IL,Chicago,41.902509,-87.739307
+60652,IL,Chicago,41.745393,-87.713516
+60653,IL,Chicago,41.819645,-87.612605
+60654,IL,Chicago,41.888533,-87.635292
+60655,IL,Merrionette Park,41.693033,-87.702188
+60656,IL,Harwood Heights,41.971844,-87.819981
+60657,IL,Chicago,41.93992,-87.652805
+60658,IL,Alsip,41.671505,-87.729967
+60659,IL,Lincolnwood,41.991687,-87.700823
+60660,IL,Chicago,41.990879,-87.662856
+60661,IL,Chicago,41.881351,-87.642969
+60666,IL,Amf Ohare,41.9821,-87.906803
+60901,IL,Kankakee,41.116582,-87.869607
+60910,IL,Aroma Park,41.094653,-87.771887
+60911,IL,Ashkum,40.884431,-87.941148
+60912,IL,Beaverville,40.967164,-87.621715
+60913,IL,Bonfield,41.15731,-88.061854
+60914,IL,Bourbonnais,41.166119,-87.879023
+60915,IL,Bradley,41.145376,-87.860115
+60917,IL,Buckingham,41.043316,-88.177156
+60918,IL,Buckley,40.601827,-88.036092
+60919,IL,Cabery,40.981895,-88.192085
+60921,IL,Chatsworth,40.748441,-88.293662
+60922,IL,Chebanse,41.02541,-87.895917
+60924,IL,Cissna Park,40.585814,-87.87588
+60927,IL,Clifton,40.939444,-87.920237
+60928,IL,Crescent City,40.7682,-87.83703
+60929,IL,Cullom,40.878066,-88.276476
+60930,IL,Danforth,40.82443,-87.986824
+60931,IL,Donovan,40.889074,-87.604635
+60934,IL,Emington,40.978317,-88.321135
+60935,IL,Essex,41.167644,-88.184528
+60936,IL,Gibson City,40.465932,-88.360873
+60938,IL,Gilman,40.767987,-87.993336
+60940,IL,Grant Park,41.247677,-87.647992
+60941,IL,Herscher,41.046441,-88.085801
+60942,IL,Hoopeston,40.463873,-87.666229
+60946,IL,Kempton,40.912604,-88.209013
+60948,IL,Loda,40.524097,-88.092675
+60949,IL,Ludlow,40.374736,-88.137965
+60950,IL,Manteno,41.251439,-87.846761
+60951,IL,Martinton,40.905233,-87.744257
+60952,IL,Melvin,40.571379,-88.255078
+60953,IL,Milford,40.629253,-87.685332
+60954,IL,Momence,41.159308,-87.657515
+60955,IL,Onarga,40.712005,-87.995841
+60957,IL,Paxton,40.456546,-88.098989
+60959,IL,Piper City,40.755615,-88.187347
+60960,IL,Rankin,40.455911,-87.888355
+60961,IL,Reddick,41.10053,-88.208928
+60962,IL,Roberts,40.619333,-88.180414
+60963,IL,Rossville,40.362548,-87.669181
+60964,IL,Saint Anne,41.048725,-87.656363
+60966,IL,Sheldon,40.780288,-87.57364
+60968,IL,Thawville,40.684011,-88.09993
+60970,IL,Watseka,40.773351,-87.730932
+60973,IL,Wellington,40.53394,-87.65607
+61001,IL,Apple River,42.471432,-90.120145
+61006,IL,Ashton,41.864327,-89.2086
+61007,IL,Baileyville,42.190465,-89.593937
+61008,IL,Belvidere,42.259465,-88.850943
+61010,IL,Byron,42.129236,-89.265887
+61011,IL,Caledonia,42.38346,-88.918456
+61012,IL,Capron,42.408659,-88.746518
+61014,IL,Chadwick,41.996205,-89.896278
+61015,IL,Chana,41.993343,-89.211693
+61016,IL,Cherry Valley,42.220562,-88.961923
+61018,IL,Dakota,42.403078,-89.546782
+61019,IL,Davis,42.442157,-89.406721
+61020,IL,Davis Junction,42.09792,-89.083838
+61021,IL,Dixon,41.847797,-89.489303
+61024,IL,Durand,42.433653,-89.309378
+61025,IL,East Dubuque,42.487488,-90.604597
+61028,IL,Elizabeth,42.308942,-90.19862
+61030,IL,Forreston,42.122924,-89.583124
+61031,IL,Franklin Grove,41.857968,-89.317112
+61032,IL,Freeport,42.299148,-89.634521
+61036,IL,Galena,42.418233,-90.419509
+61038,IL,Garden Prairie,42.250983,-88.74367
+61039,IL,German Valley,42.21761,-89.471151
+61041,IL,Hanover,42.259405,-90.289707
+61042,IL,Harmon,41.697296,-89.569513
+61044,IL,Kent,42.315528,-89.919489
+61045,IL,Kings,42.013987,-89.099685
+61046,IL,Lanark,42.093534,-89.824732
+61047,IL,Egan,42.140975,-89.401024
+61048,IL,Lena,42.379054,-89.825251
+61049,IL,Lindenwood,42.050741,-89.033979
+61050,IL,Mc Connell,42.439511,-89.741545
+61051,IL,Milledgeville,41.96737,-89.780121
+61052,IL,Monroe Center,42.10501,-89.016946
+61053,IL,Mount Carroll,42.105308,-89.984454
+61054,IL,Mount Morris,42.047903,-89.434614
+61060,IL,Orangeville,42.472779,-89.644757
+61061,IL,Oregon,42.009512,-89.344364
+61062,IL,Pearl City,42.260972,-89.839329
+61063,IL,Pecatonica,42.305111,-89.347225
+61064,IL,Polo,41.98895,-89.598358
+61065,IL,Poplar Grove,42.359365,-88.842774
+61067,IL,Ridott,42.299607,-89.462664
+61068,IL,Rochelle,41.928156,-89.071035
+61070,IL,Rock City,42.410345,-89.475901
+61071,IL,Rock Falls,41.766525,-89.692473
+61072,IL,Rockton,42.454371,-89.088744
+61073,IL,Roscoe,42.421659,-88.99433
+61074,IL,Savanna,42.095581,-90.140061
+61075,IL,Scales Mound,42.471548,-90.258033
+61078,IL,Shannon,42.161049,-89.748075
+61080,IL,South Beloit,42.483672,-89.029791
+61081,IL,Sterling,41.805511,-89.70539
+61084,IL,Stillman Valley,42.11835,-89.189762
+61085,IL,Stockton,42.349224,-90.020185
+61087,IL,Warren,42.489001,-89.985992
+61088,IL,Winnebago,42.272723,-89.237316
+61089,IL,Winslow,42.48383,-89.806028
+61101,IL,Rockford,42.292233,-89.116118
+61102,IL,Rockford,42.254669,-89.124695
+61103,IL,Rockford,42.300986,-89.083326
+61104,IL,Rockford,42.255355,-89.076779
+61107,IL,Rockford,42.278629,-89.036107
+61108,IL,Rockford,42.251406,-89.023519
+61109,IL,Rockford,42.216581,-89.05118
+61111,IL,Loves Park,42.32952,-89.033521
+61112,IL,Rockford,42.245639,-88.970429
+61201,IL,Rock Island,41.491317,-90.564796
+61230,IL,Albany,41.765874,-90.208051
+61231,IL,Aledo,41.20078,-90.741629
+61232,IL,Andalusia,41.435324,-90.728385
+61234,IL,Annawan,41.398022,-89.912949
+61235,IL,Atkinson,41.41619,-90.022482
+61238,IL,Cambridge,41.311379,-90.18048
+61240,IL,Coal Valley,41.435143,-90.465179
+61241,IL,Green Rock,41.475224,-90.349231
+61242,IL,Cordova,41.69278,-90.307121
+61243,IL,Deer Grove,41.631599,-89.6972
+61244,IL,East Moline,41.511804,-90.432118
+61250,IL,Erie,41.655958,-90.084264
+61251,IL,Fenton,41.728495,-90.045685
+61252,IL,Fulton,41.8522,-90.150653
+61254,IL,Geneseo,41.46881,-90.171127
+61256,IL,Hampton,41.541805,-90.323037
+61257,IL,Hillsdale,41.592896,-90.226255
+61259,IL,Illinois City,41.389236,-90.892507
+61260,IL,Joy,41.226198,-90.851757
+61261,IL,Lyndon,41.719933,-89.916865
+61262,IL,Lynn Center,41.288761,-90.330444
+61263,IL,Matherville,41.269075,-90.602343
+61264,IL,Milan,41.426197,-90.573935
+61265,IL,Moline,41.490609,-90.497968
+61270,IL,Morrison,41.816664,-89.968995
+61272,IL,New Boston,41.215259,-90.98786
+61273,IL,Orion,41.363367,-90.384929
+61274,IL,Osco,41.363674,-90.268093
+61275,IL,Port Byron,41.601346,-90.326291
+61277,IL,Prophetstown,41.631223,-89.946665
+61279,IL,Reynolds,41.327675,-90.638367
+61281,IL,Sherrard,41.302669,-90.493863
+61282,IL,Silvis,41.500677,-90.412609
+61283,IL,Tampico,41.652158,-89.794793
+61284,IL,Taylor Ridge,41.382755,-90.734047
+61285,IL,Thomson,41.981626,-90.084443
+61301,IL,La Salle,41.344221,-89.095468
+61310,IL,Amboy,41.704181,-89.34716
+61311,IL,Ancona,41.055118,-88.766039
+61312,IL,Arlington,41.443669,-89.221949
+61313,IL,Blackstone,41.071945,-88.649782
+61314,IL,Buda,41.313973,-89.679476
+61318,IL,Compton,41.684976,-89.087708
+61319,IL,Manville,40.985827,-88.742694
+61320,IL,Dalzell,41.373077,-89.203269
+61321,IL,Dana,40.954675,-88.962793
+61325,IL,Grand Ridge,41.238621,-88.816836
+61326,IL,Granville,41.264212,-89.225029
+61327,IL,Hennepin,41.235154,-89.321791
+61330,IL,La Moille,41.537557,-89.297024
+61332,IL,Leonore,41.166368,-88.996936
+61333,IL,Long Point,40.989553,-88.881106
+61334,IL,Lostant,41.145007,-89.075031
+61335,IL,Mc Nabb,41.173026,-89.218664
+61336,IL,Magnolia,41.116374,-89.22701
+61337,IL,Malden,41.437743,-89.36761
+61341,IL,Marseilles,41.330201,-88.694678
+61342,IL,Mendota,41.544308,-89.10828
+61344,IL,Mineral,41.403556,-89.820087
+61345,IL,Neponset,41.290457,-89.794382
+61346,IL,New Bedford,41.540883,-89.778558
+61348,IL,Oglesby,41.292768,-89.055341
+61349,IL,Ohio,41.537149,-89.457411
+61350,IL,Ottawa,41.352619,-88.841589
+61353,IL,Paw Paw,41.685228,-88.967377
+61354,IL,Peru,41.333021,-89.126478
+61356,IL,Princeton,41.362934,-89.427017
+61358,IL,Rutland,40.984407,-89.038829
+61360,IL,Seneca,41.315248,-88.610013
+61361,IL,Sheffield,41.394876,-89.711502
+61362,IL,Spring Valley,41.327923,-89.20417
+61364,IL,Streator,41.12249,-88.830672
+61367,IL,Sublette,41.633144,-89.235409
+61368,IL,Tiskilwa,41.289055,-89.507968
+61369,IL,Toluca,41.004553,-89.13481
+61370,IL,Tonica,41.232741,-89.088993
+61373,IL,Utica,41.363033,-89.000795
+61375,IL,Varna,41.032723,-89.248331
+61376,IL,Normandy,41.553035,-89.592237
+61377,IL,Wenona,41.054846,-89.041637
+61378,IL,West Brooklyn,41.729156,-89.190917
+61379,IL,Wyanet,41.378452,-89.574423
+61401,IL,Galesburg,40.952138,-90.369807
+61410,IL,Abingdon,40.802312,-90.400898
+61411,IL,Adair,40.385197,-90.503742
+61412,IL,Alexis,41.052146,-90.543576
+61413,IL,Alpha,41.193029,-90.382081
+61414,IL,Altona,41.112828,-90.159826
+61415,IL,Avon,40.654947,-90.446053
+61416,IL,Bardolph,40.498078,-90.502495
+61417,IL,Berwick,40.779911,-90.505913
+61418,IL,Biggsville,40.853122,-90.856057
+61420,IL,Blandinsville,40.551585,-90.859521
+61421,IL,Bradford,41.15323,-89.652077
+61422,IL,Bushnell,40.553916,-90.506027
+61423,IL,Cameron,40.888963,-90.50013
+61425,IL,Carman,40.755054,-91.056396
+61427,IL,Cuba,40.4995,-90.181055
+61428,IL,Dahinda,40.95508,-90.139808
+61431,IL,Ellisville,40.604652,-90.287469
+61432,IL,Fairview,40.64418,-90.165265
+61433,IL,Fiatt,40.571779,-90.162186
+61434,IL,Galva,41.165627,-90.048093
+61435,IL,Gerlaw,40.999519,-90.622765
+61436,IL,Gilson,40.876525,-90.174663
+61437,IL,Gladstone,40.837682,-90.994078
+61438,IL,Good Hope,40.574891,-90.632432
+61440,IL,Industry,40.3256,-90.610524
+61441,IL,Ipava,40.359375,-90.296744
+61442,IL,Keithsburg,41.104333,-90.926337
+61443,IL,Kewanee,41.241116,-89.92739
+61447,IL,Kirkwood,40.863849,-90.745659
+61448,IL,Knoxville,40.910672,-90.287116
+61449,IL,La Fayette,41.109535,-89.957466
+61450,IL,La Harpe,40.584586,-90.968746
+61451,IL,Laura,40.933468,-89.934908
+61452,IL,Littleton,40.233929,-90.619008
+61453,IL,Little York,41.01529,-90.736434
+61454,IL,Lomax,40.676143,-91.039096
+61455,IL,Macomb,40.461674,-90.678674
+61458,IL,Maquon,40.784863,-90.200841
+61459,IL,Marietta,40.497775,-90.38846
+61460,IL,Media,40.761775,-90.85696
+61462,IL,Monmouth,40.910702,-90.644828
+61465,IL,New Windsor,41.198734,-90.459842
+61466,IL,North Henderson,41.100607,-90.473571
+61467,IL,Oneida,41.083236,-90.239093
+61469,IL,Oquawka,40.944174,-90.930199
+61470,IL,Prairie City,40.617952,-90.472748
+61471,IL,Raritan,40.687808,-90.831891
+61472,IL,Rio,41.110319,-90.389978
+61473,IL,Roseville,40.723821,-90.65145
+61474,IL,Saint Augustine,40.7289,-90.379781
+61475,IL,Sciota,40.567361,-90.707999
+61476,IL,Seaton,41.073222,-90.825654
+61477,IL,Smithfield,40.48551,-90.285601
+61478,IL,Smithshire,40.740021,-90.739874
+61479,IL,Speer,41.009682,-89.693254
+61480,IL,Stronghurst,40.752265,-90.925702
+61482,IL,Table Grove,40.378441,-90.423901
+61483,IL,Toulon,41.100949,-89.860584
+61484,IL,Vermont,40.30623,-90.422028
+61485,IL,Victoria,41.025635,-90.093325
+61486,IL,Viola,41.202422,-90.593583
+61488,IL,Wataga,41.022351,-90.27231
+61489,IL,Williamsfield,40.927724,-90.026725
+61490,IL,Woodhull,41.184887,-90.283282
+61491,IL,Wyoming,41.059879,-89.778238
+61501,IL,Astoria,40.231144,-90.344254
+61516,IL,Benson,40.83058,-89.116501
+61517,IL,Brimfield,40.840654,-89.897038
+61518,IL,Oak Hill,40.786938,-89.83725
+61519,IL,Bryant,40.483072,-90.066134
+61520,IL,Canton,40.560137,-90.024151
+61523,IL,Chillicothe,40.901349,-89.506793
+61524,IL,Dunfermline,40.490342,-90.031349
+61525,IL,Dunlap,40.844417,-89.639655
+61526,IL,Edelstein,40.945367,-89.585812
+61528,IL,Edwards,40.764362,-89.705344
+61529,IL,Elmwood,40.772594,-89.928882
+61530,IL,Eureka,40.715249,-89.270561
+61531,IL,Middlegrove,40.690265,-90.013434
+61532,IL,Forest City,40.35942,-89.833426
+61533,IL,Glasford,40.575976,-89.811326
+61534,IL,Green Valley,40.41978,-89.654925
+61536,IL,Hanna City,40.679776,-89.795242
+61537,IL,Henry,41.111543,-89.374328
+61539,IL,Kingston Mines,40.49028,-89.806791
+61540,IL,Lacon,41.021587,-89.400842
+61542,IL,Lewistown,40.383046,-90.156287
+61543,IL,Liverpool,40.411574,-90.038972
+61544,IL,London Mills,40.694954,-90.261594
+61545,IL,Cazenovia,40.871082,-89.370399
+61546,IL,Manito,40.415991,-89.789791
+61547,IL,Mapleton,40.611699,-89.718429
+61548,IL,Metamora,40.784428,-89.430876
+61550,IL,Morton,40.614771,-89.460445
+61554,IL,Pekin,40.567435,-89.624332
+61559,IL,Princeville,40.909277,-89.772285
+61560,IL,Putnam,41.19486,-89.440901
+61561,IL,Roanoke,40.795601,-89.209334
+61563,IL,Saint David,40.522571,-90.043739
+61565,IL,Sparland,41.013366,-89.45711
+61567,IL,Topeka,40.38108,-89.93263
+61568,IL,Tremont,40.505337,-89.483316
+61569,IL,Trivoli,40.679506,-89.913546
+61570,IL,Washburn,40.91413,-89.283049
+61571,IL,Sunnyland,40.699364,-89.447926
+61572,IL,Yates City,40.787826,-90.026481
+61602,IL,Peoria,40.687987,-89.601178
+61603,IL,Peoria Heights,40.713915,-89.580813
+61604,IL,Peoria,40.711142,-89.632377
+61605,IL,Peoria,40.677512,-89.626325
+61606,IL,Peoria,40.698926,-89.612189
+61607,IL,Bartonville,40.652434,-89.673898
+61611,IL,East Peoria,40.673121,-89.55141
+61614,IL,Peoria Heights,40.75481,-89.603295
+61615,IL,Peoria,40.770165,-89.632083
+61701,IL,Bloomington,40.478295,-88.989318
+61704,IL,Bloomington,40.471618,-88.962466
+61720,IL,Anchor,40.544091,-88.526581
+61721,IL,Armington,40.317046,-89.321775
+61722,IL,Arrowsmith,40.411966,-88.629648
+61723,IL,Atlanta,40.258624,-89.230021
+61724,IL,Bellflower,40.340091,-88.522702
+61725,IL,Carlock,40.602898,-89.109779
+61726,IL,Chenoa,40.744633,-88.721853
+61727,IL,Clinton,40.148708,-88.96266
+61728,IL,Colfax,40.570377,-88.620016
+61729,IL,Congerville,40.620762,-89.199397
+61730,IL,Cooksville,40.536014,-88.735047
+61731,IL,Cropsey,40.602983,-88.494343
+61732,IL,Danvers,40.536353,-89.188487
+61733,IL,Deer Creek,40.627992,-89.3003
+61734,IL,Delavan,40.369029,-89.532133
+61735,IL,Dewitt,40.184759,-88.763672
+61736,IL,Holder,40.380858,-88.870814
+61737,IL,Ellsworth,40.443154,-88.737121
+61738,IL,El Paso,40.738948,-89.011952
+61739,IL,Fairbury,40.745033,-88.516486
+61740,IL,Flanagan,40.879003,-88.86196
+61741,IL,Forrest,40.751324,-88.411143
+61743,IL,Graymont,40.90663,-88.760299
+61744,IL,Gridley,40.74387,-88.884044
+61745,IL,Heyworth,40.3307,-88.977608
+61747,IL,Hopedale,40.427318,-89.421398
+61748,IL,Hudson,40.620485,-88.975931
+61749,IL,Kenney,40.10247,-89.078925
+61752,IL,Le Roy,40.346781,-88.759813
+61753,IL,Lexington,40.635685,-88.806203
+61754,IL,Mc Lean,40.328159,-89.164483
+61755,IL,Mackinaw,40.539643,-89.345795
+61756,IL,Maroa,40.034159,-88.957769
+61759,IL,Minier,40.435889,-89.316484
+61760,IL,Minonk,40.898501,-89.034863
+61761,IL,Normal,40.512446,-88.988287
+61764,IL,Pontiac,40.876404,-88.632775
+61769,IL,Saunemin,40.888516,-88.40936
+61770,IL,Saybrook,40.432005,-88.524656
+61771,IL,Secor,40.722402,-89.127065
+61772,IL,Shirley,40.417437,-89.082181
+61773,IL,Sibley,40.582315,-88.38146
+61774,IL,Stanford,40.437575,-89.216434
+61775,IL,Strawn,40.647615,-88.404036
+61776,IL,Towanda,40.553326,-88.88865
+61777,IL,Wapella,40.232305,-88.967264
+61778,IL,Waynesville,40.243673,-89.114299
+61801,IL,Urbana,40.109522,-88.203631
+61810,IL,Allerton,39.918818,-87.931235
+61811,IL,Alvin,40.3007,-87.608003
+61812,IL,Armstrong,40.217548,-87.894256
+61813,IL,Bement,39.922207,-88.56877
+61814,IL,Bismarck,40.255187,-87.613769
+61816,IL,Broadlands,39.914247,-87.994831
+61817,IL,Catlin,40.069922,-87.711255
+61818,IL,Cerro Gordo,39.868062,-88.725634
+61820,IL,Champaign,40.111017,-88.240747
+61821,IL,Champaign,40.107262,-88.278847
+61830,IL,Cisco,39.997164,-88.696153
+61831,IL,Collison,40.220737,-87.798709
+61832,IL,Danville,40.136976,-87.621737
+61833,IL,Tilton,40.096406,-87.644048
+61839,IL,De Land,40.110656,-88.639193
+61840,IL,Dewey,40.313055,-88.276966
+61841,IL,Fairmount,40.037329,-87.836456
+61842,IL,Farmer City,40.244689,-88.663385
+61843,IL,Fisher,40.299126,-88.355991
+61844,IL,Fithian,40.11924,-87.879713
+61845,IL,Foosland,40.35537,-88.420177
+61846,IL,Georgetown,39.97922,-87.63648
+61847,IL,Gifford,40.302755,-88.031705
+61849,IL,Homer,40.034619,-87.962742
+61850,IL,Indianola,39.926819,-87.73882
+61851,IL,Ivesdale,39.950233,-88.445095
+61852,IL,Longview,39.901241,-88.075282
+61853,IL,Mahomet,40.196437,-88.39283
+61854,IL,Mansfield,40.214697,-88.517895
+61855,IL,Milmine,39.900702,-88.648696
+61856,IL,Monticello,40.02632,-88.568555
+61858,IL,Oakwood,40.116656,-87.7825
+61859,IL,Ogden,40.140117,-87.966499
+61862,IL,Penfield,40.310137,-87.95702
+61863,IL,Pesotum,39.9151,-88.274331
+61864,IL,Philo,40.005156,-88.159506
+61865,IL,Potomac,40.309,-87.823192
+61866,IL,Rantoul,40.310742,-88.146179
+61868,IL,Rantoul,40.295886,-88.149884
+61870,IL,Ridge Farm,39.915455,-87.634578
+61872,IL,Sadorus,39.961312,-88.344717
+61873,IL,Saint Joseph,40.120736,-88.047232
+61874,IL,Savoy,40.065373,-88.252837
+61875,IL,Seymour,40.103471,-88.394431
+61876,IL,Sidell,39.911018,-87.824802
+61877,IL,Sidney,40.023206,-88.069029
+61878,IL,Thomasboro,40.240206,-88.183033
+61880,IL,Tolono,39.985006,-88.259641
+61882,IL,Weldon,40.117741,-88.753055
+61883,IL,Westville,40.045113,-87.635952
+61884,IL,White Heath,40.100911,-88.519297
+61910,IL,Arcola,39.687001,-88.303679
+61911,IL,Arthur,39.707679,-88.455509
+61912,IL,Ashmore,39.525428,-88.034097
+61913,IL,Atwood,39.804368,-88.449446
+61914,IL,Bethany,39.634754,-88.754301
+61917,IL,Brocton,39.692311,-87.926258
+61919,IL,Camargo,39.799955,-88.146815
+61920,IL,Charleston,39.486933,-88.176115
+61924,IL,Chrisman,39.799572,-87.655552
+61925,IL,Dalton City,39.711943,-88.797459
+61928,IL,Gays,39.479553,-88.524153
+61929,IL,Hammond,39.79465,-88.579305
+61930,IL,Hindsboro,39.701799,-88.148611
+61931,IL,Humboldt,39.60118,-88.314089
+61932,IL,Hume,39.800882,-87.874659
+61933,IL,Kansas,39.552533,-87.935238
+61937,IL,Lovington,39.719192,-88.641675
+61938,IL,Mattoon,39.480184,-88.376152
+61940,IL,Metcalf,39.800847,-87.795524
+61942,IL,Newman,39.784788,-88.000055
+61943,IL,Oakland,39.651618,-88.025325
+61944,IL,Paris,39.613219,-87.697631
+61951,IL,Sullivan,39.593431,-88.603767
+61953,IL,Tuscola,39.799509,-88.281585
+61956,IL,Villa Grove,39.868716,-88.161635
+61957,IL,Windsor,39.430198,-88.585747
+62001,IL,Alhambra,38.882211,-89.744123
+62002,IL,Alton,38.908651,-90.156806
+62006,IL,Batchtown,39.072468,-90.659114
+62009,IL,Benld,39.093903,-89.803057
+62010,IL,Bethalto,38.907353,-90.034447
+62011,IL,Bingham,39.14667,-89.195789
+62012,IL,Brighton,39.036098,-90.144312
+62013,IL,Meppen,38.937115,-90.590696
+62014,IL,Bunker Hill,39.040827,-89.962379
+62015,IL,Butler,39.211419,-89.530535
+62016,IL,Carrollton,39.300937,-90.409211
+62017,IL,Coffeen,39.090757,-89.39454
+62018,IL,Cottage Hills,38.912377,-90.082632
+62019,IL,Donnellson,39.034422,-89.490858
+62020,IL,62020,39.048485,-89.865796
+62021,IL,Dorsey,38.983237,-89.978635
+62022,IL,Dow,39.031198,-90.301059
+62024,IL,East Alton,38.88031,-90.083045
+62025,IL,Edwardsville,38.804967,-89.963697
+62027,IL,Eldred,39.283592,-90.532874
+62028,IL,Elsah,38.961297,-90.331913
+62030,IL,Fidelity,39.132286,-90.198803
+62031,IL,Fieldon,39.108608,-90.529742
+62032,IL,Fillmore,39.103872,-89.294551
+62033,IL,Dorchester,39.136106,-89.818577
+62034,IL,Glen Carbon,38.760871,-89.970583
+62035,IL,Godfrey,38.946035,-90.206024
+62036,IL,Golden Eagle,38.896138,-90.560199
+62037,IL,Grafton,39.002134,-90.432335
+62040,IL,Mitchell,38.721572,-90.115822
+62044,IL,Greenfield,39.349058,-90.208851
+62045,IL,Hamburg,39.223488,-90.699546
+62046,IL,Hamel,38.878433,-89.872678
+62047,IL,Hardin,39.154652,-90.624002
+62048,IL,Hartford,38.829852,-90.074533
+62049,IL,Hillsboro,39.149412,-89.488146
+62050,IL,Hillview,39.467373,-90.512837
+62051,IL,Irving,39.208903,-89.41043
+62052,IL,Jerseyville,39.121324,-90.333757
+62053,IL,Kampsville,39.306388,-90.626934
+62054,IL,Kane,39.203688,-90.37188
+62056,IL,Litchfield,39.179345,-89.649915
+62060,IL,Madison,38.68109,-90.156585
+62061,IL,Marine,38.785458,-89.821376
+62063,IL,Medora,39.198593,-90.154225
+62064,IL,62064,39.010683,-90.624693
+62065,IL,Michael,39.21821,-90.633498
+62067,IL,Moro,38.931769,-89.961771
+62069,IL,Mount Olive,39.070504,-89.744842
+62070,IL,Mozier,39.287719,-90.714978
+62074,IL,New Douglas,38.967633,-89.739235
+62075,IL,Nokomis,39.303642,-89.285297
+62079,IL,Piasa,39.151697,-90.131147
+62080,IL,Ramsey,39.078123,-89.105147
+62081,IL,Rockbridge,39.283146,-90.255818
+62082,IL,Roodhouse,39.484646,-90.349814
+62083,IL,Rosamond,39.389229,-89.1846
+62084,IL,Roxana,38.848154,-90.07978
+62086,IL,Sorento,38.969342,-89.565347
+62088,IL,Staunton,39.01348,-89.785697
+62090,IL,Venice,38.67063,-90.168928
+62091,IL,Walshville,39.047257,-89.634968
+62092,IL,White Hall,39.428804,-90.401899
+62094,IL,Witt,39.246919,-89.341426
+62095,IL,Wood River,38.864279,-90.087507
+62097,IL,Worden,38.944895,-89.853214
+62201,IL,Sauget,38.631538,-90.138066
+62203,IL,East Saint Louis,38.599191,-90.074449
+62204,IL,Washington Park,38.631335,-90.102008
+62205,IL,East Saint Louis,38.614947,-90.127502
+62206,IL,Cahokia,38.561899,-90.16587
+62207,IL,Alorton,38.58734,-90.12829
+62208,IL,Fairview Heights,38.596044,-90.007093
+62214,IL,Venedy,38.360422,-89.52273
+62215,IL,Albers,38.531955,-89.620151
+62217,IL,Baldwin,38.175351,-89.841391
+62218,IL,Bartelso,38.53851,-89.457841
+62220,IL,Belleville,38.512677,-89.984693
+62221,IL,Belleville,38.539639,-89.958302
+62223,IL,Belleville,38.545581,-90.037775
+62225,IL,Scott A F B,38.54692,-89.858775
+62230,IL,Breese,38.618802,-89.52838
+62231,IL,Carlyle,38.606609,-89.380544
+62232,IL,Caseyville,38.634458,-90.013486
+62233,IL,Chester,37.918822,-89.821807
+62234,IL,Collinsville,38.683545,-89.98529
+62236,IL,Columbia,38.432469,-90.202717
+62237,IL,Swanwick,38.176401,-89.582064
+62238,IL,Cutler,38.042663,-89.566127
+62239,IL,Dupo,38.514771,-90.194188
+62240,IL,East Carondelet,38.534912,-90.220782
+62241,IL,Ellis Grove,38.005358,-89.900847
+62242,IL,Evansville,38.09258,-89.917028
+62243,IL,Freeburg,38.408016,-89.91806
+62244,IL,Fults,38.179736,-90.197353
+62245,IL,Germantown,38.548677,-89.54134
+62246,IL,Greenville,38.893338,-89.405185
+62248,IL,Hecker,38.281039,-89.983115
+62249,IL,Highland,38.763086,-89.678894
+62253,IL,Keyesport,38.738773,-89.306323
+62254,IL,Lebanon,38.60528,-89.799213
+62255,IL,Lenzburg,38.295003,-89.792202
+62256,IL,Maeystown,38.24112,-90.20178
+62257,IL,Marissa,38.245455,-89.750119
+62258,IL,Mascoutah,38.474496,-89.787745
+62260,IL,Millstadt,38.444264,-90.088818
+62261,IL,Modoc,38.050683,-90.016261
+62262,IL,Mulberry Grove,38.931082,-89.246297
+62263,IL,Nashville,38.335208,-89.384058
+62264,IL,New Athens,38.315998,-89.872777
+62265,IL,New Baden,38.531485,-89.692232
+62268,IL,Oakdale,38.257285,-89.596046
+62269,IL,Shiloh,38.59052,-89.9093
+62271,IL,Okawville,38.431862,-89.523045
+62272,IL,Percy,38.01261,-89.616961
+62274,IL,Pinckneyville,38.090327,-89.38578
+62275,IL,Pocahontas,38.78456,-89.524684
+62277,IL,Prairie Du Roche,38.085468,-90.090147
+62278,IL,Red Bud,38.190738,-89.988356
+62279,IL,Renault,38.170396,-90.095043
+62280,IL,Rockwood,37.832201,-89.621445
+62281,IL,Saint Jacob,38.72448,-89.669616
+62283,IL,Shattuc,38.643533,-89.205436
+62284,IL,Smithboro,38.873893,-89.326556
+62285,IL,Smithton,38.423137,-89.989604
+62286,IL,Sparta,38.131815,-89.703458
+62288,IL,Steeleville,38.005713,-89.666458
+62293,IL,Trenton,38.619102,-89.644696
+62294,IL,Troy,38.724275,-89.870848
+62295,IL,Valmeyer,38.295163,-90.309234
+62296,IL,62296,38.377482,-89.644751
+62297,IL,Walsh,38.020286,-89.829658
+62298,IL,Waterloo,38.322273,-90.147773
+62301,IL,Quincy,39.930701,-91.376284
+62311,IL,Augusta,40.234109,-90.955416
+62312,IL,Barry,39.704662,-91.026482
+62313,IL,Basco,40.328303,-91.196983
+62314,IL,Baylis,39.761201,-90.883216
+62316,IL,Bowen,40.234076,-91.070491
+62318,IL,Burnside,40.497445,-91.142392
+62319,IL,Camden,40.151076,-90.754433
+62320,IL,Camp Point,40.029285,-91.076926
+62321,IL,Carthage,40.412937,-91.100522
+62323,IL,Chambersburg,39.807058,-90.663017
+62324,IL,Clayton,40.013342,-90.955394
+62325,IL,Coatsburg,40.055385,-91.174733
+62326,IL,Colchester,40.415643,-90.78456
+62330,IL,Pontoosuc,40.620062,-91.163454
+62332,IL,Detroit,39.618307,-90.65449
+62334,IL,Elvaston,40.40662,-91.21642
+62338,IL,Fowler,39.992504,-91.245226
+62339,IL,Golden,40.120257,-91.029588
+62340,IL,Griggsville,39.708378,-90.724891
+62341,IL,Hamilton,40.439213,-91.344042
+62343,IL,Hull,39.718562,-91.233844
+62344,IL,Huntsville,40.154396,-90.853136
+62345,IL,Kinderhook,39.695313,-91.163728
+62346,IL,La Prairie,40.157191,-90.984387
+62347,IL,Liberty,39.889176,-91.08688
+62348,IL,Lima,40.170098,-91.386756
+62349,IL,Loraine,40.153197,-91.21301
+62351,IL,Mendon,40.085658,-91.289923
+62352,IL,Milton,39.550811,-90.644346
+62353,IL,Mount Sterling,39.980279,-90.741424
+62355,IL,Nebo,39.420181,-90.7692
+62356,IL,New Canton,39.634242,-91.088556
+62357,IL,New Salem,39.699573,-90.843986
+62358,IL,Niota,40.597753,-91.299136
+62359,IL,Paloma,40.036616,-91.205287
+62360,IL,Payson,39.815253,-91.262676
+62361,IL,Pearl,39.444072,-90.637954
+62362,IL,Perry,39.787042,-90.746105
+62363,IL,Pittsfield,39.601306,-90.807269
+62365,IL,Plainville,39.800448,-91.143598
+62366,IL,Pleasant Hill,39.446697,-90.877011
+62367,IL,Colmar,40.288493,-90.873815
+62370,IL,Rockport,39.532846,-90.972178
+62373,IL,Sutter,40.309683,-91.376094
+62374,IL,Tennessee,40.41399,-90.855605
+62375,IL,Timewell,40.011658,-90.866067
+62376,IL,Ursa,40.080918,-91.373341
+62378,IL,Versailles,39.888286,-90.674147
+62379,IL,Warsaw,40.354449,-91.434803
+62380,IL,West Point,40.245184,-91.249568
+62401,IL,Effingham,39.121727,-88.561105
+62410,IL,Allendale,38.523236,-87.721901
+62411,IL,Altamont,39.063449,-88.748092
+62413,IL,Annapolis,39.117857,-87.802875
+62414,IL,Beecher City,39.183515,-88.80385
+62415,IL,Birds,38.812059,-87.681545
+62417,IL,Bridgeport,38.694506,-87.854926
+62418,IL,Brownstown,38.989118,-88.949438
+62419,IL,Calhoun,38.635116,-88.003745
+62420,IL,Casey,39.301716,-87.991306
+62421,IL,Claremont,38.742904,-87.972685
+62422,IL,Cowden,39.232643,-88.886799
+62423,IL,Dennison,39.449033,-87.58671
+62424,IL,Dieterich,39.031875,-88.407448
+62425,IL,Dundas,38.830572,-88.097309
+62426,IL,Laclede,38.91318,-88.663868
+62427,IL,Flat Rock,38.909606,-87.683747
+62428,IL,Hazel Dell,39.239454,-88.144502
+62431,IL,Herrick,39.224481,-88.981211
+62432,IL,Hidalgo,39.122808,-88.139706
+62433,IL,Hutsonville,39.106357,-87.669455
+62434,IL,Ingraham,38.828446,-88.320374
+62436,IL,Jewett,39.207596,-88.24744
+62438,IL,Lakewood,39.313358,-88.871474
+62439,IL,Lawrenceville,38.730862,-87.678397
+62440,IL,Lerna,39.39579,-88.253026
+62441,IL,Marshall,39.421999,-87.692261
+62442,IL,Martinsville,39.317443,-87.870737
+62443,IL,Mason,38.964453,-88.623396
+62445,IL,Montrose,39.157274,-88.33497
+62446,IL,Mount Erie,38.522151,-88.218521
+62447,IL,Neoga,39.322024,-88.450288
+62448,IL,Newton,38.984678,-88.170386
+62449,IL,Oblong,39.001043,-87.895016
+62450,IL,Olney,38.733389,-88.080936
+62451,IL,Palestine,39.002823,-87.615695
+62452,IL,Parkersburg,38.589998,-88.064722
+62454,IL,Robinson,39.007034,-87.748352
+62458,IL,Saint Elmo,39.031544,-88.855181
+62460,IL,Saint Francisvil,38.612494,-87.673628
+62461,IL,Shumway,39.188138,-88.641826
+62462,IL,Sigel,39.21762,-88.480301
+62463,IL,Stewardson,39.27199,-88.631853
+62465,IL,Strasburg,39.364111,-88.627862
+62466,IL,Sumner,38.734077,-87.780728
+62467,IL,Teutopolis,39.131978,-88.476741
+62468,IL,Toledo,39.277223,-88.246821
+62469,IL,Trilla,39.385286,-88.345698
+62471,IL,Vandalia,38.94391,-89.104116
+62473,IL,Watson,39.039488,-88.559876
+62474,IL,Westfield,39.442369,-88.044799
+62475,IL,West Liberty,38.894989,-88.097929
+62476,IL,West Salem,38.518267,-88.032297
+62477,IL,West Union,39.240185,-87.651215
+62478,IL,West York,39.193793,-87.713073
+62479,IL,Wheeler,39.018185,-88.317536
+62480,IL,Willow Hill,38.975654,-88.017156
+62481,IL,Yale,39.129975,-88.01047
+62501,IL,Newburg,39.991581,-88.821371
+62510,IL,Assumption,39.509489,-89.039807
+62511,IL,Atwater,39.310733,-89.763374
+62512,IL,Beason,40.143652,-89.194801
+62513,IL,Blue Mound,39.697813,-89.113558
+62514,IL,Boody,39.762824,-89.072061
+62515,IL,Buffalo Hart,39.847201,-89.388846
+62518,IL,Chestnut,40.058202,-89.190014
+62520,IL,Dawson,39.85629,-89.460329
+62521,IL,Decatur,39.827137,-88.925984
+62522,IL,Decatur,39.843237,-88.986139
+62523,IL,Decatur,39.841694,-88.953435
+62526,IL,Bearsdale,39.877413,-88.953515
+62530,IL,Cimic,39.567684,-89.654654
+62531,IL,Edinburg,39.661223,-89.377884
+62533,IL,Thomasville,39.453048,-89.642718
+62534,IL,Brunswick,39.503253,-88.756208
+62536,IL,Glenarm,39.632713,-89.658144
+62538,IL,Harvel,39.371865,-89.53804
+62539,IL,Illiopolis,39.849929,-89.251319
+62543,IL,Latham,39.97111,-89.172492
+62544,IL,Macon,39.704093,-88.988026
+62545,IL,Bolivia,39.77771,-89.417692
+62546,IL,Morrisonville,39.415336,-89.45407
+62547,IL,Mount Auburn,39.762845,-89.235672
+62548,IL,Mount Pulaski,40.004482,-89.293482
+62549,IL,Hervey City,39.778883,-88.870207
+62550,IL,Radford,39.616135,-89.012776
+62551,IL,Niantic,39.858175,-89.170071
+62552,IL,Casner,39.896897,-88.805591
+62553,IL,Oconee,39.288408,-89.083636
+62554,IL,Oreana,39.935135,-88.854675
+62555,IL,Owaneco,39.477508,-89.195071
+62556,IL,Clarksdale,39.470817,-89.425555
+62557,IL,Dunkel,39.388124,-89.078165
+62558,IL,Sicily,39.590966,-89.578955
+62560,IL,Raymond,39.310551,-89.585135
+62561,IL,Spaulding,39.855239,-89.541908
+62563,IL,Berry,39.759047,-89.547208
+62565,IL,Clarksburg,39.404873,-88.804615
+62567,IL,Stonington,39.640482,-89.191328
+62568,IL,Hewittsville,39.554516,-89.313357
+62571,IL,Dollville,39.36576,-88.974517
+62572,IL,Waggoner,39.38383,-89.647429
+62573,IL,Heman,39.939737,-89.068316
+62601,IL,Orleans,39.725935,-90.035304
+62611,IL,Arenzville,39.897927,-90.363595
+62612,IL,Newmansville,39.89168,-90.028721
+62613,IL,Fancy Prairie,39.964813,-89.72108
+62615,IL,Auburn,39.591787,-89.744033
+62617,IL,Lynchburg,40.161774,-90.148568
+62618,IL,Beardstown,40.004356,-90.422851
+62621,IL,Exeter,39.744078,-90.530527
+62624,IL,Bader,40.155025,-90.351671
+62625,IL,Cantrall,39.911267,-89.66426
+62626,IL,Comer,39.279821,-89.888935
+62627,IL,Panther Creek,40.038437,-90.147657
+62628,IL,Chapin,39.771581,-90.411299
+62629,IL,Chatham,39.673679,-89.711212
+62630,IL,Hagaman,39.270756,-90.076632
+62631,IL,Concord,39.822958,-90.372175
+62633,IL,Biggs,40.235482,-89.846447
+62634,IL,Broadwell,40.002394,-89.474938
+62635,IL,Emden,40.294538,-89.517441
+62638,IL,Clements,39.608461,-90.048535
+62639,IL,Frederick,40.070246,-90.504391
+62640,IL,Mcvey,39.447182,-89.780535
+62642,IL,Hubly,40.079859,-89.711606
+62643,IL,Hartsburg,40.245073,-89.451944
+62644,IL,Eckard,40.295995,-90.04952
+62649,IL,Hettick,39.375217,-90.067161
+62650,IL,Arcadia,39.729269,-90.236238
+62655,IL,Kilbourne,40.158696,-90.004279
+62656,IL,Lincoln,40.14508,-89.368376
+62661,IL,Loami,39.670394,-89.858823
+62664,IL,Luther,40.199938,-89.699256
+62665,IL,Naples,39.797631,-90.549542
+62666,IL,Middletown,40.096668,-89.58182
+62667,IL,Modesto,39.475965,-89.979386
+62668,IL,Nortonville,39.572952,-90.231189
+62670,IL,Bates,39.736048,-89.905721
+62671,IL,New Holland,40.168226,-89.56044
+62672,IL,Nilwood,39.387199,-89.778411
+62673,IL,Oakford,40.099445,-89.960135
+62674,IL,Barr,39.41654,-89.956736
+62675,IL,Atterbury,40.011529,-89.847874
+62676,IL,Plainview,39.128311,-89.975687
+62677,IL,Farmingdale,39.849767,-89.838361
+62681,IL,Layton,40.124189,-90.560883
+62682,IL,Allen,40.294466,-89.625029
+62683,IL,Scottville,39.478167,-90.096921
+62684,IL,Barclay,39.889456,-89.60251
+62685,IL,Royal Lakes,39.124165,-90.048737
+62688,IL,Tallula,39.940188,-89.882274
+62690,IL,Virden,39.506447,-89.778332
+62691,IL,Little Indian,39.945475,-90.212681
+62692,IL,Waverly,39.586983,-89.944903
+62693,IL,Williamsville,39.930438,-89.534172
+62694,IL,Glasgow,39.614113,-90.433696
+62701,IL,Springfield,39.80004,-89.649531
+62702,IL,Grandview,39.816768,-89.644147
+62703,IL,Southern View,39.772401,-89.63333
+62704,IL,Jerome,39.780319,-89.681066
+62707,IL,Andrew,39.772842,-89.663991
+62801,IL,Centralia,38.524117,-89.136478
+62803,IL,Hoyleton,38.445468,-89.306854
+62806,IL,Albion,38.374003,-88.063557
+62807,IL,Alma,38.723089,-88.915695
+62808,IL,Ashley,38.306002,-89.231115
+62809,IL,Barnhill,38.278144,-88.350831
+62810,IL,Belle Rive,38.215268,-88.755801
+62812,IL,Benton,37.99998,-88.922659
+62814,IL,Bluford,38.353138,-88.75872
+62815,IL,Bone Gap,38.448967,-88.002491
+62816,IL,Bonnie,38.198017,-88.922884
+62817,IL,Broughton,37.954554,-88.467775
+62818,IL,Browns,38.376433,-87.992824
+62819,IL,Buckner,37.966881,-88.977993
+62820,IL,Burnt Prairie,38.208151,-88.214719
+62821,IL,Carmi,38.080819,-88.166987
+62822,IL,Christopher,37.984905,-89.057367
+62823,IL,Cisne,38.513774,-88.404524
+62824,IL,Clay City,38.669501,-88.351641
+62827,IL,Crossville,38.166029,-88.059474
+62828,IL,Dahlgren,38.197479,-88.636311
+62829,IL,Dale,37.996585,-88.534231
+62830,IL,Dix,38.43329,-88.965697
+62831,IL,Du Bois,38.252638,-89.204187
+62832,IL,Du Quoin,38.013687,-89.233268
+62833,IL,Ellery,38.365021,-88.133455
+62835,IL,Enfield,38.092746,-88.332546
+62836,IL,Ewing,38.07021,-88.850441
+62837,IL,Fairfield,38.378214,-88.359323
+62838,IL,Farina,38.846902,-88.761412
+62839,IL,Flora,38.670337,-88.49186
+62840,IL,Frankfort Height,37.901301,-88.845651
+62842,IL,Geff,38.441326,-88.414428
+62843,IL,Golden Gate,38.364514,-88.207466
+62844,IL,Grayville,38.262707,-88.003539
+62845,IL,Herald,37.967542,-88.213152
+62846,IL,Ina,38.152743,-88.889362
+62849,IL,Iuka,38.613563,-88.768925
+62850,IL,Johnsonville,38.525628,-88.588701
+62851,IL,Keenes,38.369146,-88.648058
+62853,IL,Kell,38.513256,-88.841107
+62854,IL,Kinmundy,38.755857,-88.812999
+62855,IL,Lancaster,38.537438,-87.871216
+62858,IL,Bible Grove,38.811856,-88.510046
+62859,IL,Mc Leansboro,38.093861,-88.528556
+62860,IL,Macedonia,38.013023,-88.696077
+62862,IL,Mill Shoals,38.244675,-88.333817
+62863,IL,Mount Carmel,38.414727,-87.791107
+62864,IL,Mount Vernon,38.317014,-88.910525
+62865,IL,Mulkeytown,37.968712,-89.1159
+62866,IL,Nason,38.173872,-88.968839
+62867,IL,New Haven,37.899907,-88.128458
+62868,IL,Noble,38.711851,-88.219038
+62869,IL,Norris City,37.9773,-88.32434
+62870,IL,Odin,38.608786,-89.055228
+62871,IL,Omaha,37.890423,-88.286484
+62872,IL,Opdyke,38.274955,-88.774955
+62875,IL,Patoka,38.754852,-89.094188
+62877,IL,Richview,38.408227,-89.175572
+62878,IL,Rinard,38.580596,-88.464094
+62880,IL,Saint Peter,38.869684,-88.855998
+62881,IL,Salem,38.626421,-88.948077
+62882,IL,Sandoval,38.613113,-89.11401
+62883,IL,Scheller,38.173095,-89.092691
+62884,IL,Sesser,38.089422,-89.057404
+62885,IL,Shobonier,38.844584,-89.078959
+62886,IL,Sims,38.392318,-88.530642
+62887,IL,Springerton,38.169868,-88.372611
+62888,IL,Tamaroa,38.137969,-89.223091
+62889,IL,Texico,38.425035,-88.870151
+62890,IL,Thompsonville,37.880438,-88.768394
+62892,IL,Vernon,38.803328,-89.083001
+62893,IL,Walnut Hill,38.520006,-88.984514
+62894,IL,Waltonville,38.246479,-89.006702
+62895,IL,Wayne City,38.332808,-88.583317
+62896,IL,West Frankfort,37.897914,-88.930724
+62897,IL,Whittington,38.098937,-88.863456
+62898,IL,Woodlawn,38.38444,-89.074457
+62899,IL,Xenia,38.669747,-88.63789
+62901,IL,Carbondale,37.719994,-89.215762
+62905,IL,Alto Pass,37.568142,-89.317179
+62906,IL,Anna,37.466777,-89.220684
+62907,IL,Ava,37.879286,-89.465366
+62908,IL,Belknap,37.326584,-88.950652
+62910,IL,New Liberty,37.138731,-88.611944
+62912,IL,Buncombe,37.463661,-88.980586
+62913,IL,Cache,37.114131,-89.298018
+62914,IL,Cairo,37.012293,-89.181104
+62916,IL,Campbell Hill,37.922778,-89.579901
+62917,IL,Carrier Mills,37.678199,-88.612706
+62918,IL,Carterville,37.774785,-89.097793
+62919,IL,Cave In Rock,37.517947,-88.221961
+62920,IL,Cobden,37.542358,-89.245741
+62922,IL,Creal Springs,37.628393,-88.880697
+62923,IL,Cypress,37.366223,-89.014414
+62924,IL,De Soto,37.81473,-89.221834
+62926,IL,Dongola,37.371234,-89.134933
+62928,IL,Eddyville,37.52439,-88.594893
+62930,IL,Eldorado,37.813885,-88.443382
+62931,IL,Elizabethtown,37.466492,-88.286735
+62932,IL,Elkville,37.915506,-89.233574
+62934,IL,Equality,37.727786,-88.3445
+62935,IL,Galatia,37.827444,-88.623488
+62938,IL,Brownfield,37.349984,-88.555148
+62939,IL,Goreville,37.574985,-88.965524
+62940,IL,Gorham,37.740611,-89.444031
+62941,IL,Grand Chain,37.251043,-89.008335
+62942,IL,Grand Tower,37.63222,-89.49986
+62943,IL,Grantsburg,37.39672,-88.770489
+62946,IL,Harrisburg,37.725661,-88.54404
+62947,IL,Herod,37.469731,-88.458062
+62948,IL,Herrin,37.801884,-89.02316
+62950,IL,Jacob,37.743738,-89.544359
+62951,IL,Johnston City,37.824477,-88.920858
+62952,IL,Jonesboro,37.446082,-89.291494
+62953,IL,Joppa,37.247192,-88.84819
+62954,IL,Junction,37.695206,-88.249071
+62955,IL,Karbers Ridge,37.463071,-88.367893
+62956,IL,Karnak,37.291066,-88.973943
+62957,IL,Mc Clure,37.301983,-89.453119
+62958,IL,Makanda,37.656396,-89.214232
+62959,IL,Marion,37.725662,-88.929447
+62960,IL,Metropolis,37.175348,-88.725179
+62961,IL,Millcreek,37.353127,-89.269889
+62962,IL,Miller City,37.103359,-89.349443
+62963,IL,Mound City,37.086474,-89.163687
+62964,IL,Mounds,37.11883,-89.200064
+62966,IL,Murphysboro,37.765464,-89.331749
+62967,IL,New Burnside,37.580608,-88.771253
+62970,IL,Olmsted,37.193507,-89.093266
+62972,IL,Ozark,37.536704,-88.768778
+62974,IL,Pittsburg,37.78387,-88.870393
+62975,IL,Pomona,37.641081,-89.336308
+62976,IL,Pulaski,37.214575,-89.196801
+62977,IL,Raleigh,37.825597,-88.532368
+62979,IL,Ridgway,37.804242,-88.261202
+62982,IL,Rosiclare,37.423987,-88.346189
+62983,IL,Royalton,37.879033,-89.114149
+62984,IL,Shawneetown,37.713188,-88.178503
+62985,IL,Robbs,37.463032,-88.762459
+62987,IL,Stonefort,37.62992,-88.742807
+62988,IL,Tamms,37.234493,-89.276346
+62990,IL,Gale,37.191554,-89.396896
+62991,IL,Tunnel Hill,37.573676,-88.883459
+62992,IL,Ullin,37.270385,-89.191137
+62994,IL,Vergennes,37.905128,-89.326863
+62995,IL,Vienna,37.420541,-88.887869
+62996,IL,Villa Ridge,37.157765,-89.182522
+62997,IL,Willisville,37.982142,-89.578487
+62998,IL,Wolf Lake,37.511985,-89.440761
+62999,IL,Zeigler,37.906923,-89.06026
+63673,IL,Saint Mary,37.914034,-89.929268
+46001,IN,Alexandria,40.256081,-85.668148
+46011,IN,Anderson,40.114577,-85.725305
+46012,IN,Anderson,40.130947,-85.653591
+46013,IN,Anderson,40.061865,-85.680073
+46016,IN,Anderson,40.098799,-85.684566
+46017,IN,Chesterfield,40.096431,-85.601493
+46030,IN,Arcadia,40.17758,-86.040882
+46031,IN,Atlanta,40.146964,-85.933945
+46032,IN,Carmel,39.971232,-86.124545
+46034,IN,Cicero,40.126781,-86.024844
+46035,IN,Colfax,40.195619,-86.659271
+46036,IN,Elwood,40.280278,-85.839055
+46038,IN,Fishers,39.957486,-86.023048
+46039,IN,Forest,40.375728,-86.320098
+46040,IN,Fortville,39.922835,-85.818554
+46041,IN,Hillisburg,40.288404,-86.511387
+46044,IN,Frankton,40.228548,-85.77911
+46048,IN,Ingalls,40.000237,-85.825596
+46049,IN,Kempton,40.275946,-86.1887
+46050,IN,Kirklin,40.203066,-86.332372
+46051,IN,Lapel,40.085429,-85.84395
+46052,IN,Lebanon,40.044894,-86.464074
+46055,IN,Mc Cordsville,39.901823,-85.909502
+46056,IN,Markleville,39.994385,-85.622736
+46057,IN,Michigantown,40.310823,-86.375306
+46058,IN,Mulberry,40.343299,-86.661261
+46060,IN,Noblesville,40.056292,-86.016294
+46064,IN,Pendleton,39.979237,-85.794614
+46065,IN,Rossville,40.410928,-86.607966
+46068,IN,Sharpsville,40.373232,-86.108641
+46069,IN,Sheridan,40.110407,-86.236741
+46070,IN,Summitville,40.339833,-85.640261
+46071,IN,Thorntown,40.113335,-86.589822
+46072,IN,Tipton,40.281725,-86.043291
+46074,IN,Westfield,40.048868,-86.149907
+46075,IN,Whitestown,40.00002,-86.350716
+46076,IN,Windfall,40.366891,-85.947624
+46077,IN,Zionsville,39.956111,-86.276737
+46104,IN,Arlington,39.648791,-85.582775
+46105,IN,Bainbridge,39.740664,-86.771119
+46106,IN,Bargersville,39.499989,-86.179687
+46107,IN,Beech Grove,39.715434,-86.093299
+46110,IN,Boggstown,39.568331,-85.915965
+46112,IN,Brownsburg,39.846605,-86.386933
+46113,IN,Camby,39.640501,-86.311811
+46115,IN,Carthage,39.746627,-85.575382
+46117,IN,Charlottesville,39.811981,-85.653599
+46118,IN,Clayton,39.668154,-86.495921
+46120,IN,Cloverdale,39.543442,-86.814021
+46121,IN,Coatesville,39.693041,-86.631447
+46122,IN,Danville,39.762815,-86.534254
+46124,IN,Edinburgh,39.362601,-85.970712
+46126,IN,Fairland,39.629467,-85.891284
+46127,IN,Falmouth,39.743617,-85.352423
+46128,IN,Fillmore,39.647518,-86.746861
+46130,IN,Fountaintown,39.675131,-85.784827
+46131,IN,Franklin,39.485389,-86.060752
+46133,IN,Glenwood,39.612436,-85.273532
+46135,IN,Greencastle,39.649487,-86.868614
+46140,IN,Greenfield,39.790204,-85.814102
+46142,IN,Greenwood,39.622398,-86.148993
+46143,IN,Greenwood,39.596037,-86.130919
+46147,IN,Jamestown,39.95789,-86.623561
+46148,IN,Knightstown,39.806029,-85.526148
+46149,IN,Lizton,39.884326,-86.542857
+46150,IN,Manilla,39.575711,-85.635369
+46151,IN,Centerton,39.447646,-86.42901
+46156,IN,Milroy,39.495474,-85.504371
+46157,IN,Monrovia,39.571397,-86.48937
+46158,IN,Mooresville,39.591469,-86.364173
+46160,IN,Morgantown,39.362841,-86.280297
+46161,IN,Morristown,39.667477,-85.693419
+46162,IN,Needham,39.477935,-86.004094
+46163,IN,New Palestine,39.723264,-85.90515
+46164,IN,Nineveh,39.365597,-86.097641
+46165,IN,North Salem,39.867051,-86.638833
+46166,IN,Paragon,39.404203,-86.577867
+46167,IN,Pittsboro,39.861529,-86.464548
+46168,IN,Avon,39.716036,-86.395061
+46171,IN,Reelsville,39.546416,-86.94998
+46172,IN,Roachdale,39.832545,-86.790225
+46173,IN,Rushville,39.619232,-85.43212
+46175,IN,Russellville,39.836598,-86.966975
+46176,IN,Shelbyville,39.50434,-85.787515
+46180,IN,Stilesville,39.639113,-86.61819
+46181,IN,Trafalgar,39.369585,-86.183793
+46182,IN,Waldron,39.468849,-85.664407
+46184,IN,New Whiteland,39.555313,-86.093476
+46186,IN,Wilkinson,39.895668,-85.61436
+46201,IN,Indianapolis,39.775006,-86.109348
+46202,IN,Indianapolis,39.785063,-86.159502
+46203,IN,Indianapolis,39.743025,-86.117859
+46204,IN,Indianapolis,39.771986,-86.153491
+46205,IN,Indianapolis,39.826761,-86.138582
+46208,IN,Indianapolis,39.829905,-86.179444
+46214,IN,Eagle Creek,39.792678,-86.289952
+46216,IN,Fort Benjamin Ha,39.857731,-86.016688
+46217,IN,Southport,39.664141,-86.175394
+46218,IN,Indianapolis,39.80817,-86.101425
+46219,IN,Indianapolis,39.782092,-86.049533
+46220,IN,Indianapolis,39.864685,-86.11815
+46221,IN,Indianapolis,39.750885,-86.19243
+46222,IN,Indianapolis,39.788971,-86.213574
+46224,IN,Speedway,39.798674,-86.257308
+46225,IN,Indianapolis,39.740599,-86.156944
+46226,IN,Lawrence,39.836969,-86.048945
+46227,IN,Southport,39.675,-86.129817
+46229,IN,Cumberland,39.792219,-85.983826
+46231,IN,Bridgeport,39.740637,-86.318289
+46234,IN,Clermont,39.788438,-86.324117
+46236,IN,Oaklandon,39.849588,-85.985059
+46237,IN,Southport,39.686777,-86.07891
+46239,IN,Wanamaker,39.721826,-86.008209
+46240,IN,Nora,39.9057,-86.129548
+46241,IN,Park Fletcher,39.723814,-86.250856
+46250,IN,Castleton,39.9069,-86.069112
+46254,IN,Eagle Creek,39.841379,-86.2638
+46256,IN,Castleton,39.90114,-86.023877
+46259,IN,Acton,39.660901,-85.992603
+46260,IN,Nora,39.897488,-86.184809
+46268,IN,New Augusta,39.900296,-86.222104
+46278,IN,New Augusta,39.883858,-86.291455
+46280,IN,Nora,39.938417,-86.13894
+46290,IN,Nora,39.93077,-86.167118
+46303,IN,East Cedar Lake,41.377338,-87.444509
+46304,IN,Porter,41.603949,-87.050196
+46307,IN,Crown Point,41.423571,-87.355586
+46310,IN,Demotte,41.171319,-87.249129
+46311,IN,Dyer,41.491976,-87.510803
+46312,IN,East Chicago,41.634893,-87.462734
+46319,IN,Griffith,41.53352,-87.422837
+46320,IN,Hammond,41.609929,-87.507911
+46321,IN,Munster,41.554438,-87.501101
+46322,IN,Highland,41.55005,-87.456911
+46323,IN,Hammond,41.587755,-87.453196
+46324,IN,Hammond,41.583954,-87.503393
+46327,IN,Hammond,41.632695,-87.51135
+46340,IN,Hanna,41.408767,-86.775922
+46341,IN,Hebron,41.315537,-87.208791
+46342,IN,Hobart,41.526281,-87.252499
+46347,IN,Kouts,41.309085,-87.024043
+46348,IN,La Crosse,41.315709,-86.868216
+46349,IN,Lake Village,41.138741,-87.445422
+46350,IN,La Porte,41.599438,-86.707654
+46356,IN,Lowell,41.284531,-87.419072
+46360,IN,Michigan City,41.698031,-86.869899
+46365,IN,Mill Creek,41.556102,-86.547247
+46366,IN,North Judson,41.224372,-86.696601
+46368,IN,Portage,41.567201,-87.175689
+46371,IN,Rolling Prairie,41.72286,-86.584092
+46373,IN,Saint John,41.44949,-87.476376
+46374,IN,San Pierre,41.21108,-86.872532
+46375,IN,Schererville,41.492233,-87.460532
+46382,IN,Union Mills,41.460236,-86.835512
+46383,IN,Valparaiso,41.475661,-87.075866
+46390,IN,Wanatah,41.384477,-86.876439
+46391,IN,Westville,41.536516,-86.901317
+46392,IN,Wheatfield,41.177948,-87.069876
+46394,IN,Whiting,41.678656,-87.500537
+46402,IN,Gary,41.599711,-87.338548
+46403,IN,Gary,41.603612,-87.258984
+46404,IN,Gary,41.589937,-87.373153
+46405,IN,Lake Station,41.568629,-87.262209
+46406,IN,Gary,41.587806,-87.40621
+46407,IN,Gary,41.580429,-87.334958
+46408,IN,Gary,41.542178,-87.35883
+46409,IN,Gary,41.541247,-87.327126
+46410,IN,Merrillville,41.4957,-87.350932
+46501,IN,Argos,41.230827,-86.250573
+46504,IN,Bourbon,41.309785,-86.117438
+46506,IN,Bremen,41.446701,-86.19323
+46507,IN,Bristol,41.716885,-85.826192
+46510,IN,Claypool,41.116497,-85.868571
+46511,IN,Culver Military,41.22307,-86.412888
+46514,IN,Elkhart,41.710083,-85.972949
+46516,IN,Elkhart,41.676333,-85.962137
+46517,IN,Elkhart,41.646922,-85.972849
+46524,IN,Etna Green,41.291789,-86.034995
+46526,IN,Foraker,41.584484,-85.837988
+46530,IN,Granger,41.742704,-86.141104
+46531,IN,Grovertown,41.321969,-86.528905
+46532,IN,Hamlet,41.393338,-86.53213
+46534,IN,Ober,41.29006,-86.610715
+46536,IN,Lakeville,41.525328,-86.27144
+46538,IN,Leesburg,41.326592,-85.816028
+46539,IN,Mentone,41.161494,-86.029918
+46540,IN,Middlebury,41.675415,-85.711443
+46542,IN,Milford,41.401141,-85.855438
+46543,IN,Millersburg,41.533513,-85.707249
+46544,IN,Mishawaka,41.650659,-86.162301
+46545,IN,Mishawaka,41.683498,-86.168232
+46550,IN,Nappanee,41.449297,-85.994534
+46552,IN,New Carlisle,41.705115,-86.483827
+46553,IN,New Paris,41.491652,-85.83383
+46554,IN,North Liberty,41.542507,-86.413328
+46555,IN,North Webster,41.308423,-85.707872
+46556,IN,Saint Marys,41.70057,-86.242893
+46561,IN,Osceola,41.674074,-86.078883
+46562,IN,Pierceton,41.212406,-85.706119
+46563,IN,Inwood,41.333897,-86.324087
+46565,IN,Shipshewana,41.663257,-85.593198
+46567,IN,Syracuse,41.40649,-85.718352
+46570,IN,Tippecanoe,41.216609,-86.109508
+46571,IN,Topeka,41.563441,-85.531668
+46573,IN,Wakarusa,41.540073,-86.020524
+46574,IN,Walkerton,41.445748,-86.451018
+46580,IN,Warsaw,41.24377,-85.85078
+46590,IN,Winona Lake,41.211007,-85.830531
+46601,IN,South Bend,41.672699,-86.253489
+46613,IN,South Bend,41.654636,-86.247865
+46614,IN,South Bend,41.625461,-86.243278
+46615,IN,South Bend,41.67413,-86.210375
+46616,IN,South Bend,41.691894,-86.264739
+46617,IN,South Bend,41.684966,-86.2351
+46619,IN,South Bend,41.667397,-86.315266
+46628,IN,South Bend,41.701525,-86.294929
+46635,IN,South Bend,41.716768,-86.207806
+46637,IN,South Bend,41.729936,-86.240694
+46701,IN,Albion,41.348217,-85.414183
+46702,IN,Andrews,40.861792,-85.606726
+46703,IN,Angola,41.656321,-85.019803
+46705,IN,Ashley,41.534651,-85.050385
+46706,IN,Auburn,41.359001,-85.046848
+46710,IN,Avilla,41.36894,-85.241418
+46711,IN,Linn Grove,40.661517,-84.934271
+46714,IN,Bluffton,40.736837,-85.162199
+46721,IN,Butler,41.42873,-84.878716
+46723,IN,Churubusco,41.228988,-85.324364
+46725,IN,Columbia City,41.161855,-85.473736
+46730,IN,Corunna,41.450377,-85.137028
+46731,IN,Craigville,40.793034,-85.090379
+46732,IN,Cromwell,41.37514,-85.603133
+46733,IN,Decatur,40.827333,-84.931432
+46737,IN,Fremont,41.733125,-84.945247
+46738,IN,Garrett,41.348216,-85.13467
+46740,IN,Geneva,40.607129,-84.962074
+46741,IN,Grabill,41.210753,-84.940593
+46742,IN,Hamilton,41.5566,-84.895092
+46743,IN,Harlan,41.228468,-84.838635
+46745,IN,Hoagland,40.952375,-85.00751
+46746,IN,Howe,41.728594,-85.472746
+46747,IN,Helmer,41.559887,-85.141953
+46748,IN,Huntertown,41.239113,-85.167724
+46750,IN,Huntington,40.881128,-85.505438
+46755,IN,Kendallville,41.448206,-85.260874
+46759,IN,Keystone,40.589667,-85.276748
+46760,IN,Kimmell,41.363103,-85.518734
+46761,IN,Lagrange,41.652008,-85.40401
+46763,IN,Laotto,41.299119,-85.190086
+46764,IN,Larwill,41.164623,-85.613869
+46765,IN,Leo,41.224864,-85.030093
+46766,IN,Liberty Center,40.700159,-85.277411
+46767,IN,Ligonier,41.466175,-85.59272
+46770,IN,Markle,40.837972,-85.373994
+46772,IN,Monroe,40.700523,-84.844128
+46773,IN,Monroeville,40.987044,-84.89373
+46774,IN,New Haven,41.069856,-85.01173
+46776,IN,Orland,41.730884,-85.146512
+46777,IN,Ossian,40.880611,-85.157041
+46779,IN,Pleasant Lake,41.584255,-85.021276
+46781,IN,Poneto,40.641871,-85.256188
+46783,IN,Roanoke,40.960003,-85.35263
+46784,IN,Rome City,41.484907,-85.374303
+46785,IN,Saint Joe,41.324049,-84.90425
+46787,IN,South Whitley,41.072635,-85.614252
+46788,IN,Spencerville,41.269555,-84.93975
+46791,IN,Uniondale,40.871658,-85.273206
+46792,IN,Warren,40.688646,-85.418337
+46793,IN,Waterloo,41.440216,-85.022103
+46794,IN,Wawaka,41.483251,-85.480427
+46795,IN,Wolcottville,41.556972,-85.314986
+46797,IN,Woodburn,41.136102,-84.892871
+46798,IN,Yoder,40.937059,-85.195828
+46802,IN,Fort Wayne,41.070717,-85.15431
+46803,IN,Fort Wayne,41.069452,-85.107362
+46804,IN,Fort Wayne,41.050843,-85.256013
+46805,IN,Fort Wayne,41.097663,-85.118865
+46806,IN,Fort Wayne,41.047988,-85.113496
+46807,IN,Fort Wayne,41.049054,-85.146167
+46808,IN,Fort Wayne,41.093877,-85.162121
+46809,IN,Fort Wayne,41.02543,-85.1834
+46815,IN,Fort Wayne,41.105318,-85.062397
+46816,IN,Fort Wayne,41.016519,-85.097573
+46818,IN,Fort Wayne,41.146847,-85.206686
+46819,IN,Fort Wayne,41.005167,-85.152743
+46825,IN,Fort Wayne,41.146482,-85.123156
+46835,IN,Fort Wayne,41.137051,-85.068531
+46845,IN,Fort Wayne,41.195783,-85.119088
+46901,IN,Kokomo,40.49884,-86.145273
+46902,IN,Kokomo,40.450856,-86.135227
+46910,IN,Akron,41.038921,-86.039471
+46911,IN,Amboy,40.610505,-85.949726
+46913,IN,Bringhurst,40.516294,-86.520369
+46914,IN,Bunker Hill,40.642267,-86.09615
+46917,IN,Camden,40.599588,-86.515217
+46919,IN,Converse,40.577031,-85.876299
+46920,IN,Cutler,40.4785,-86.446172
+46923,IN,Delphi,40.57339,-86.678849
+46926,IN,Chili,40.869363,-86.076953
+46928,IN,Fairmount,40.418755,-85.671327
+46929,IN,Flora,40.544467,-86.501572
+46932,IN,Galveston,40.586249,-86.1972
+46933,IN,Gas City,40.487895,-85.605533
+46936,IN,Greentown,40.479096,-85.958195
+46938,IN,Jonesboro,40.481456,-85.636496
+46939,IN,Kewanna,41.008706,-86.406055
+46940,IN,La Fontaine,40.690896,-85.697138
+46941,IN,Lagro,40.819897,-85.720447
+46947,IN,Logansport,40.760377,-86.359888
+46950,IN,Lucerne,40.861434,-86.407726
+46951,IN,Macy,40.961838,-86.126428
+46952,IN,Marion,40.574333,-85.674127
+46953,IN,Marion,40.53592,-85.661624
+46960,IN,Monterey,41.138334,-86.517862
+46962,IN,North Manchester,40.998603,-85.784184
+46970,IN,Peru,40.749203,-86.068044
+46971,IN,Grissom Air Forc,40.663546,-86.147292
+46974,IN,Roann,40.906649,-85.889885
+46975,IN,Rochester,41.065493,-86.231007
+46978,IN,Royal Center,40.864499,-86.507751
+46979,IN,Russiaville,40.415086,-86.267467
+46982,IN,Silver Lake,41.074318,-85.879207
+46985,IN,Star City,40.960176,-86.540405
+46986,IN,Swayzee,40.511199,-85.826542
+46988,IN,Twelve Mile,40.854661,-86.212595
+46989,IN,Upland,40.454841,-85.499049
+46990,IN,Urbana,40.898655,-85.748481
+46991,IN,Landess,40.63199,-85.481891
+46992,IN,Wabash,40.790947,-85.832124
+46994,IN,Walton,40.677225,-86.280501
+46996,IN,Winamac,41.056242,-86.630697
+47001,IN,Aurora,39.071897,-84.945188
+47006,IN,Batesville,39.300057,-85.222053
+47010,IN,Bath,39.499237,-84.836007
+47011,IN,Bennington,38.875993,-85.071897
+47012,IN,Brookville,39.421305,-84.999423
+47016,IN,Cedar Grove,39.345891,-84.892402
+47017,IN,Cross Plains,38.949046,-85.21221
+47018,IN,Dillsboro,38.996195,-85.054994
+47020,IN,Florence,38.822436,-84.939872
+47021,IN,Friendship,39.114591,-85.215296
+47022,IN,Guilford,39.205855,-84.961586
+47023,IN,Holton,39.049817,-85.373945
+47024,IN,Laurel,39.491573,-85.208044
+47025,IN,Lawrenceburg,39.140123,-84.865819
+47030,IN,Metamora,39.428775,-85.15044
+47031,IN,Milan,39.150333,-85.13242
+47032,IN,Moores Hill,39.094459,-85.063806
+47036,IN,Oldenburg,39.359797,-85.22223
+47037,IN,Osgood,39.157342,-85.293812
+47038,IN,Patriot,38.853691,-84.851543
+47040,IN,Rising Sun,38.956667,-84.880676
+47041,IN,Sunman,39.262307,-85.115929
+47042,IN,Versailles,39.051074,-85.223489
+47043,IN,Vevay,38.772423,-85.085217
+47060,IN,W Harrison,39.266727,-84.878027
+47102,IN,Austin,38.747801,-85.796188
+47106,IN,Borden,38.436171,-85.921473
+47108,IN,Campbellsburg,38.669037,-86.235846
+47110,IN,Central,38.094543,-86.197381
+47111,IN,Charlestown,38.456778,-85.660614
+47112,IN,Corydon,38.218865,-86.114465
+47114,IN,Crandall,38.28927,-86.069804
+47115,IN,Depauw,38.336078,-86.210857
+47116,IN,Eckerty,38.318548,-86.605939
+47117,IN,Elizabeth,38.124389,-85.958874
+47118,IN,English,38.325807,-86.442875
+47119,IN,Floyds Knobs,38.351006,-85.899555
+47120,IN,Fredericksburg,38.482118,-86.178255
+47122,IN,Georgetown,38.302943,-85.961704
+47123,IN,Grantsburg,38.289183,-86.466043
+47124,IN,Greenville,38.353533,-86.008299
+47125,IN,Hardinsburg,38.462599,-86.317983
+47126,IN,Henryville,38.539829,-85.773403
+47129,IN,Clarksville,38.537273,-85.524438
+47130,IN,Jeffersonville,38.307767,-85.735885
+47135,IN,Laconia,38.052703,-86.084415
+47136,IN,Lanesville,38.244817,-85.959314
+47137,IN,Leavenworth,38.194244,-86.359862
+47138,IN,Lexington,38.650643,-85.658915
+47140,IN,Marengo,38.373603,-86.357784
+47141,IN,Marysville,38.554488,-85.630809
+47142,IN,Mauckport,38.04366,-86.184622
+47143,IN,Memphis,38.464181,-85.777501
+47145,IN,Milltown,38.344453,-86.300344
+47147,IN,Nabb,38.612768,-85.521704
+47150,IN,New Albany,38.308919,-85.822085
+47160,IN,New Middletown,38.144199,-86.055261
+47161,IN,New Salisbury,38.339885,-86.088731
+47162,IN,New Washington,38.557521,-85.45987
+47163,IN,Otisco,38.542342,-85.664702
+47164,IN,Palmyra,38.410484,-86.088778
+47165,IN,Pekin,38.49308,-86.017045
+47166,IN,Ramsey,38.335442,-86.130768
+47167,IN,Salem,38.607138,-86.078742
+47170,IN,Scottsburg,38.688499,-85.798654
+47172,IN,Speed,38.390331,-85.763518
+47174,IN,Sulphur,38.227194,-86.487296
+47175,IN,Taswell,38.346302,-86.538675
+47177,IN,Underwood,38.590251,-85.767211
+47201,IN,Columbus,39.205507,-85.931745
+47203,IN,Columbus,39.230097,-85.885497
+47220,IN,Brownstown,38.883593,-86.048619
+47223,IN,Butlerville,39.120598,-85.494415
+47224,IN,Canaan,38.869644,-85.268896
+47227,IN,Commiskey,38.852629,-85.643384
+47228,IN,Cortland,38.991546,-86.000918
+47229,IN,Crothersville,38.806672,-85.846965
+47230,IN,Deputy,38.775891,-85.630407
+47231,IN,Dupont,38.890504,-85.509205
+47232,IN,Elizabethtown,39.124291,-85.815311
+47234,IN,Flat Rock,39.407503,-85.675886
+47235,IN,Freetown,38.995728,-86.124051
+47236,IN,Grammer,39.159192,-85.718338
+47240,IN,Adams,39.331223,-85.473532
+47243,IN,Hanover,38.71378,-85.476316
+47244,IN,Hartsville,39.273318,-85.70046
+47246,IN,Hope,39.25733,-85.766538
+47250,IN,Madison,38.764866,-85.407019
+47260,IN,Medora,38.825505,-86.189733
+47264,IN,Norman,38.929996,-86.207934
+47265,IN,North Vernon,39.001763,-85.627216
+47270,IN,Paris Crossing,38.855843,-85.748725
+47272,IN,Saint Paul,39.427747,-85.599374
+47273,IN,Scipio,39.066544,-85.712859
+47274,IN,Seymour,38.957133,-85.882477
+47281,IN,Vallonia,38.817413,-86.068997
+47282,IN,Vernon,38.96887,-85.598377
+47283,IN,Westport,39.174856,-85.585596
+47302,IN,Muncie,40.168414,-85.380689
+47303,IN,Muncie,40.217992,-85.378966
+47304,IN,Muncie,40.211134,-85.429115
+47305,IN,Muncie,40.193299,-85.386163
+47306,IN,Ball State Unive,40.192739,-85.410153
+47320,IN,Albany,40.292049,-85.257987
+47325,IN,Brownsville,39.684485,-84.98807
+47326,IN,Bryant,40.54462,-84.911748
+47327,IN,Cambridge City,39.818171,-85.168455
+47330,IN,Centerville,39.808103,-85.00317
+47331,IN,Connersville,39.643508,-85.146431
+47334,IN,Daleville,40.125738,-85.511016
+47336,IN,Dunkirk,40.388291,-85.225541
+47338,IN,Eaton,40.337673,-85.354387
+47339,IN,Economy,39.971215,-85.087803
+47340,IN,Farmland,40.194454,-85.125381
+47341,IN,Fountain City,39.963429,-84.908996
+47342,IN,Gaston,40.29479,-85.489842
+47345,IN,Greens Fork,39.89163,-85.049413
+47346,IN,Hagerstown,39.92277,-85.160091
+47348,IN,Hartford City,40.454106,-85.375771
+47352,IN,Lewisville,39.828288,-85.36211
+47353,IN,Liberty,39.612645,-84.908947
+47354,IN,Losantville,40.047492,-85.21085
+47355,IN,Lynn,40.051863,-84.93003
+47356,IN,Middletown,40.047488,-85.536778
+47357,IN,Milton,39.776279,-85.142267
+47358,IN,Modoc,40.05816,-85.091904
+47359,IN,Montpelier,40.557656,-85.251339
+47360,IN,Mooreland,39.994066,-85.258065
+47362,IN,New Castle,39.920765,-85.366322
+47368,IN,Parker City,40.193841,-85.196265
+47369,IN,Pennville,40.508195,-85.149166
+47371,IN,Portland,40.430564,-84.992825
+47373,IN,Redkey,40.326491,-85.161966
+47374,IN,Richmond,39.83244,-84.893606
+47380,IN,Ridgeville,40.280359,-85.037101
+47381,IN,Salamonia,40.358234,-84.855098
+47382,IN,Saratoga,40.257365,-84.950846
+47383,IN,Selma,40.169295,-85.273765
+47384,IN,Shirley,39.91582,-85.518151
+47385,IN,Spiceland,39.827078,-85.445043
+47386,IN,Springport,40.008848,-85.368867
+47387,IN,Straughn,39.831946,-85.272406
+47388,IN,Sulphur Springs,40.011121,-85.440747
+47390,IN,Union City,40.202372,-84.826787
+47392,IN,Webster,39.905701,-84.942908
+47393,IN,Williamsburg,39.958005,-84.998442
+47394,IN,Winchester,40.16959,-85.004366
+47396,IN,Yorktown,40.183581,-85.495995
+47401,IN,Bloomington,39.140057,-86.508262
+47403,IN,Bloomington,39.12632,-86.576867
+47404,IN,Bloomington,39.195026,-86.57572
+47408,IN,Woodbridge,39.183175,-86.505836
+47421,IN,Bedford,38.872881,-86.487072
+47424,IN,Bloomfield,39.029542,-86.867549
+47427,IN,Coal City,39.257304,-86.988297
+47429,IN,Ellettsville,39.254477,-86.619635
+47431,IN,Freedom,39.215147,-86.850027
+47432,IN,French Lick,38.532351,-86.619555
+47433,IN,Gosport,39.344969,-86.6583
+47436,IN,Heltonville,38.948014,-86.370328
+47438,IN,Jasonville,39.172333,-87.202292
+47441,IN,Linton,39.046139,-87.172286
+47443,IN,Lyons,38.971731,-87.101595
+47446,IN,Mitchell,38.742625,-86.476096
+47448,IN,Nashville,39.236712,-86.22199
+47449,IN,Newberry,38.922905,-87.008055
+47451,IN,Oolitic,38.89378,-86.524617
+47452,IN,Orleans,38.653464,-86.453157
+47453,IN,Owensburg,38.952216,-86.744122
+47454,IN,Paoli,38.550697,-86.44902
+47456,IN,Quincy,39.439521,-86.802506
+47459,IN,Solsberry,39.119047,-86.737843
+47460,IN,Spencer,39.289067,-86.77894
+47462,IN,Springville,38.950655,-86.613879
+47465,IN,Switz City,39.036937,-87.050238
+47468,IN,Unionville,39.251396,-86.418947
+47469,IN,West Baden Sprin,38.585501,-86.613826
+47470,IN,Williams,38.773478,-86.628488
+47471,IN,Worthington,39.12298,-86.999058
+47501,IN,Washington,38.653568,-87.170656
+47512,IN,Bicknell,38.77272,-87.313718
+47513,IN,Birdseye,38.30058,-86.710193
+47514,IN,Branchville,38.157189,-86.585866
+47515,IN,Siberia,38.163101,-86.721815
+47516,IN,Bruceville,38.756279,-87.431299
+47519,IN,Cannelburg,38.694696,-86.966868
+47520,IN,Mount Pleasant,37.910851,-86.732617
+47521,IN,Celestine,38.387789,-86.756809
+47522,IN,Crane Naval Depo,38.849618,-86.865473
+47523,IN,Dale,38.170638,-87.006982
+47524,IN,Decker,38.507629,-87.553713
+47525,IN,Derby,38.023933,-86.576951
+47527,IN,Dubois,38.472824,-86.78319
+47528,IN,Edwardsport,38.810584,-87.251856
+47529,IN,Elnora,38.822284,-87.065243
+47531,IN,Evanston,38.022436,-86.836422
+47532,IN,Ferdinand,38.233582,-86.860669
+47537,IN,Gentryville,38.085458,-87.044137
+47541,IN,Holland,38.23851,-87.008768
+47542,IN,Huntingburg,38.297902,-86.953299
+47546,IN,Haysville,38.404392,-86.940787
+47550,IN,Buffaloville,38.047904,-86.962908
+47551,IN,Leopold,38.101138,-86.60443
+47552,IN,Lincoln City,38.127565,-86.987204
+47553,IN,Loogootee,38.662901,-86.913658
+47555,IN,Magnet,38.088165,-86.48353
+47556,IN,Mariah Hill,38.149493,-86.831593
+47557,IN,Monroe City,38.60015,-87.364136
+47558,IN,Montgomery,38.652146,-87.047603
+47559,IN,47559,38.126823,-86.519682
+47561,IN,Oaktown,38.857939,-87.387877
+47562,IN,Odon,38.818666,-86.975214
+47564,IN,Otwell,38.466221,-87.098548
+47567,IN,Petersburg,38.478929,-87.288294
+47568,IN,Plainville,38.791507,-87.157822
+47574,IN,Rome,37.937561,-86.595787
+47575,IN,Kyana,38.332222,-86.824858
+47576,IN,Saint Croix,38.239773,-86.603511
+47577,IN,Saint Meinrad,38.181946,-86.842916
+47578,IN,Sandborn,38.881743,-87.202532
+47579,IN,Santa Claus,38.094496,-86.903528
+47580,IN,Schnellville,38.341436,-86.756506
+47581,IN,Shoals,38.679103,-86.776094
+47585,IN,Stendal,38.283472,-87.12045
+47586,IN,Tell City,37.965505,-86.745704
+47587,IN,Tobinsport,37.874726,-86.634128
+47588,IN,Troy,37.997994,-86.797766
+47590,IN,Velpen,38.367981,-87.098996
+47591,IN,Vincennes,38.67344,-87.509806
+47597,IN,Wheatland,38.667055,-87.306204
+47598,IN,Winslow,38.363951,-87.222328
+47601,IN,Boonville,38.047435,-87.261994
+47610,IN,Chandler,38.042304,-87.375552
+47611,IN,Chrisney,38.005995,-87.070421
+47612,IN,Cynthiana,38.174299,-87.711518
+47613,IN,Elberfeld,38.205267,-87.417943
+47615,IN,Grandview,37.970297,-86.956774
+47616,IN,Griffin,38.206858,-87.916631
+47619,IN,Lynnville,38.196085,-87.293486
+47620,IN,Mount Vernon,37.950569,-87.856887
+47630,IN,Newburgh,37.963746,-87.393798
+47631,IN,New Harmony,38.124502,-87.917186
+47633,IN,Poseyville,38.171986,-87.802747
+47634,IN,Richland,37.913599,-87.200957
+47635,IN,Rockport,37.885803,-87.07701
+47637,IN,Tennyson,38.123207,-87.13875
+47638,IN,Wadesville,38.082791,-87.754295
+47639,IN,Haubstadt,38.189536,-87.579827
+47640,IN,Hazleton,38.462283,-87.498348
+47647,IN,Buckskin,38.220867,-87.43077
+47648,IN,Fort Branch,38.247136,-87.568233
+47649,IN,Francisco,38.332953,-87.453621
+47660,IN,Oakland City,38.336053,-87.351907
+47665,IN,Owensville,38.274414,-87.709052
+47666,IN,Patoka,38.414296,-87.595789
+47670,IN,Princeton,38.352502,-87.569069
+47708,IN,Evansville,37.971818,-87.571973
+47710,IN,Evansville,38.008617,-87.574569
+47711,IN,Evansville,38.076377,-87.535236
+47712,IN,Evansville,37.998484,-87.634682
+47713,IN,Evansville,37.962326,-87.55768
+47714,IN,Evansville,37.959076,-87.529302
+47715,IN,Evansville,37.967815,-87.485526
+47720,IN,Evansville,37.998832,-87.538793
+47802,IN,Terre Haute,39.40697,-87.402019
+47803,IN,Terre Haute,39.465696,-87.353967
+47804,IN,Terre Haute,39.493665,-87.394494
+47805,IN,North Terre Haut,39.535981,-87.341109
+47807,IN,Terre Haute,39.470974,-87.400859
+47832,IN,Bloomingdale,39.834808,-87.255967
+47833,IN,Bowling Green,39.381209,-87.005249
+47834,IN,Brazil,39.521041,-87.127767
+47836,IN,Bridgeton,39.648366,-87.181396
+47837,IN,Carbon,39.57463,-87.064455
+47838,IN,Carlisle,38.976297,-87.366738
+47840,IN,Centerpoint,39.390989,-87.09347
+47841,IN,Clay City,39.2727,-87.108244
+47842,IN,Clinton,39.659142,-87.4208
+47846,IN,Cory,39.343545,-87.195644
+47847,IN,Dana,39.752829,-87.501018
+47848,IN,Dugger,39.069057,-87.259867
+47849,IN,Fairbanks,39.212865,-87.518483
+47850,IN,Farmersburg,39.268456,-87.502365
+47854,IN,Hillsdale,39.771235,-87.404102
+47858,IN,Lewis,39.273261,-87.263681
+47859,IN,Marshall,39.906216,-87.178032
+47861,IN,Merom,39.032307,-87.539675
+47862,IN,Montezuma,39.796061,-87.360679
+47866,IN,Pimento,39.289792,-87.379186
+47868,IN,Poland,39.446195,-86.963103
+47872,IN,Rockville,39.768152,-87.197794
+47874,IN,Rosedale,39.62391,-87.308592
+47879,IN,Shelburn,39.209924,-87.361194
+47882,IN,Sullivan,39.101018,-87.410235
+47885,IN,Sandford,39.49384,-87.467086
+47901,IN,Lafayette,40.417743,-86.888358
+47904,IN,Lafayette,40.427649,-86.873464
+47905,IN,Lafayette,40.400054,-86.860236
+47906,IN,West Lafayette,40.444025,-86.923661
+47917,IN,Ambia,40.479328,-87.479554
+47918,IN,Attica,40.281127,-87.224108
+47920,IN,Battle Ground,40.5248,-86.823784
+47921,IN,Boswell,40.518021,-87.378947
+47922,IN,Brook,40.865534,-87.352685
+47923,IN,Brookston,40.601088,-86.875311
+47926,IN,Burnettsville,40.707753,-86.574744
+47928,IN,Cayuga,39.930028,-87.459019
+47929,IN,Chalmers,40.669265,-86.862621
+47930,IN,Clarks Hill,40.262805,-86.760766
+47932,IN,Covington,40.132618,-87.381876
+47933,IN,Crawfordsville,40.032524,-86.907424
+47940,IN,Darlington,40.111778,-86.764505
+47942,IN,Earl Park,40.694465,-87.423199
+47943,IN,Fair Oaks,41.072862,-87.197031
+47944,IN,Fowler,40.625511,-87.309019
+47946,IN,Francesville,40.97094,-86.85534
+47948,IN,Goodland,40.766872,-87.299858
+47949,IN,Hillsboro,40.083452,-87.154509
+47950,IN,Idaville,40.767372,-86.655647
+47951,IN,Kentland,40.787678,-87.447071
+47952,IN,Cates,39.989383,-87.303548
+47954,IN,Ladoga,39.91325,-86.803098
+47955,IN,Linden,40.183316,-86.890549
+47957,IN,Medaryville,41.089734,-86.880844
+47959,IN,Monon,40.861176,-86.863537
+47960,IN,Monticello,40.762556,-86.754999
+47963,IN,Morocco,40.964547,-87.41871
+47967,IN,New Richmond,40.18118,-86.978925
+47968,IN,New Ross,39.988266,-86.752768
+47970,IN,Otterbein,40.517013,-87.12249
+47971,IN,Oxford,40.521708,-87.252576
+47974,IN,Perrysville,40.073697,-87.464787
+47975,IN,Pine Village,40.432759,-87.231724
+47977,IN,Remington,40.766653,-87.15994
+47978,IN,Collegeville,40.947731,-87.133733
+47980,IN,Reynolds,40.760608,-86.86914
+47981,IN,Romney,40.2605,-86.904412
+47985,IN,Tangier,39.920601,-87.341551
+47987,IN,Veedersburg,40.118616,-87.260167
+47989,IN,Waveland,39.901996,-87.01776
+47990,IN,Waynetown,40.085788,-87.051165
+47991,IN,West Lebanon,40.241491,-87.436676
+47992,IN,Westpoint,40.358052,-87.057477
+47993,IN,Marshfield,40.309435,-87.278689
+47994,IN,Wingate,40.166594,-87.066441
+47995,IN,Wolcott,40.751613,-87.028997
+50001,IA,Ackworth,41.37372,-93.376719
+50002,IA,Adair,41.513687,-94.644363
+50003,IA,Adel,41.62214,-94.037965
+50005,IA,Albion,42.11427,-92.98821
+50006,IA,Alden,42.51789,-93.384123
+50007,IA,Alleman,41.815886,-93.606305
+50008,IA,Allerton,40.702301,-93.37239
+50009,IA,Altoona,41.647549,-93.472415
+50010,IA,Ames,42.029859,-93.639398
+50020,IA,Anita,41.449973,-94.779401
+50021,IA,Ankeny,41.72755,-93.602175
+50022,IA,Atlantic,41.400279,-95.010123
+50025,IA,Audubon,41.730032,-94.916412
+50026,IA,Bagley,41.834053,-94.441535
+50027,IA,Barnes City,41.488269,-92.470338
+50028,IA,Baxter,41.820369,-93.158332
+50029,IA,Bayard,41.838599,-94.591533
+50030,IA,Beaconsfield,40.778431,-94.075126
+50031,IA,Beaver,42.039936,-94.103309
+50033,IA,Bevington,41.371763,-93.812865
+50034,IA,Blairsburg,42.493725,-93.659444
+50035,IA,Bondurant,41.70166,-93.452689
+50036,IA,Boone,42.069354,-93.878083
+50038,IA,Booneville,41.533987,-93.881357
+50039,IA,Bouton,41.828432,-93.996286
+50040,IA,Boxholm,42.170567,-94.105246
+50041,IA,Bradford,42.610434,-93.218068
+50042,IA,Brayton,41.55236,-94.974017
+50044,IA,Bussey,41.209422,-92.896252
+50046,IA,Cambridge,41.90251,-93.530538
+50047,IA,Carlisle,41.481384,-93.49214
+50048,IA,Casey,41.496116,-94.414475
+50049,IA,Chariton,41.022638,-93.30419
+50050,IA,Churdan,42.161402,-94.493346
+50051,IA,Clemons,42.090041,-93.16878
+50052,IA,Clio,40.680261,-93.486443
+50054,IA,Colfax,41.678785,-93.258816
+50055,IA,Collins,41.903226,-93.300808
+50056,IA,Colo,42.013102,-93.307114
+50057,IA,Columbia,41.183814,-93.158217
+50058,IA,Coon Rapids,41.893957,-94.679979
+50059,IA,Cooper,41.903433,-94.339073
+50060,IA,Sewal,40.76131,-93.322549
+50061,IA,Cumming,41.484876,-93.75386
+50062,IA,Dallas,41.221332,-93.253525
+50063,IA,Dallas Center,41.686248,-93.970657
+50064,IA,Dana,42.10634,-94.232212
+50065,IA,Pleasanton,40.632075,-93.807022
+50066,IA,Dawson,41.832396,-94.217127
+50067,IA,Decatur,40.755258,-93.832598
+50068,IA,Derby,40.935476,-93.47959
+50069,IA,De Soto,41.533285,-94.027582
+50070,IA,Dexter,41.519806,-94.2145
+50071,IA,Dows,42.661026,-93.505801
+50072,IA,Earlham,41.470916,-94.129443
+50073,IA,Elkhart,41.811384,-93.485458
+50074,IA,Ellston,40.850485,-94.084116
+50075,IA,Ellsworth,42.30086,-93.548979
+50076,IA,Exira,41.576771,-94.857145
+50101,IA,Galt,42.691187,-93.603512
+50102,IA,Garden City,42.25266,-93.403068
+50103,IA,Garden Grove,40.771078,-93.611669
+50104,IA,Gibson,41.464206,-92.353121
+50106,IA,Gilman,41.901236,-92.810067
+50107,IA,Grand Junction,42.029578,-94.233629
+50108,IA,Grand River,40.813704,-93.954372
+50109,IA,Granger,41.752355,-93.841002
+50110,IA,Gray,41.82663,-95.02272
+50111,IA,Grimes,41.701838,-93.782109
+50112,IA,Grinnell,41.742081,-92.734432
+50115,IA,Guthrie Center,41.683671,-94.486444
+50116,IA,Hamilton,41.175543,-92.924349
+50117,IA,Hamlin,41.650571,-94.915745
+50118,IA,Hartford,41.459629,-93.402213
+50119,IA,Harvey,41.302972,-92.931843
+50120,IA,Haverhill,41.93196,-92.945857
+50122,IA,Hubbard,42.302208,-93.293928
+50123,IA,Humeston,40.846922,-93.510117
+50124,IA,Huxley,41.899434,-93.602381
+50125,IA,Spring Hill,41.35617,-93.571502
+50126,IA,Iowa Falls,42.513756,-93.270943
+50127,IA,Ira,41.731759,-93.164436
+50128,IA,Jamaica,41.841931,-94.320367
+50129,IA,Jefferson,42.009325,-94.388768
+50130,IA,Jewell,42.313912,-93.642821
+50131,IA,Johnston,41.673017,-93.702792
+50132,IA,Kamrar,42.394517,-93.727941
+50133,IA,Kellerton,40.686127,-94.060693
+50134,IA,Kelley,41.948773,-93.664354
+50135,IA,Kellogg,41.718371,-92.911404
+50136,IA,Keswick,41.461251,-92.239547
+50138,IA,Knoxville,41.316446,-93.095427
+50139,IA,Lacona,41.198832,-93.383801
+50140,IA,Lamoni,40.622852,-93.934899
+50141,IA,Laurel,41.882904,-92.926294
+50143,IA,Leighton,41.364677,-92.808125
+50144,IA,Leon,40.737334,-93.742903
+50145,IA,Liberty Center,41.207668,-93.497391
+50146,IA,Linden,41.64225,-94.24058
+50147,IA,Lineville,40.600373,-93.486207
+50148,IA,Liscomb,42.184,-92.983279
+50149,IA,Lorimor,41.1233,-94.063885
+50150,IA,Lovilia,41.12719,-92.929272
+50151,IA,Lucas,41.058451,-93.483614
+50152,IA,Luther,41.991934,-93.855394
+50153,IA,Lynnville,41.569766,-92.787715
+50154,IA,Mc Callsburg,42.166475,-93.397757
+50155,IA,Macksburg,41.202792,-94.185673
+50156,IA,Madrid,41.884083,-93.844815
+50157,IA,Malcom,41.769502,-92.535426
+50158,IA,Marshalltown,42.040482,-92.91269
+50161,IA,Maxwell,41.89673,-93.400125
+50162,IA,Melbourne,41.932348,-93.085627
+50163,IA,Melcher-Dallas,41.222912,-93.219404
+50164,IA,Menlo,41.534797,-94.409002
+50165,IA,Millerton,40.854889,-93.279586
+50166,IA,Milo,41.29042,-93.445356
+50167,IA,Minburn,41.756206,-94.01501
+50168,IA,Mingo,41.789843,-93.288015
+50169,IA,Mitchellville,41.66089,-93.36995
+50170,IA,Monroe,41.535619,-93.072551
+50171,IA,Montezuma,41.592845,-92.527582
+50172,IA,Guernsey,41.662496,-92.333549
+50173,IA,Montour,41.970876,-92.700575
+50174,IA,Murray,41.037644,-93.952975
+50201,IA,Nevada,42.018983,-93.446219
+50206,IA,New Providence,42.269261,-93.175262
+50207,IA,New Sharon,41.463976,-92.684815
+50208,IA,Newton,41.699173,-93.045456
+50210,IA,New Virginia,41.160063,-93.711312
+50211,IA,Norwalk,41.486055,-93.657332
+50212,IA,Ogden,42.035106,-94.006333
+50213,IA,Osceola,41.029503,-93.771236
+50214,IA,Otley,41.451806,-93.034778
+50216,IA,Panora,41.696684,-94.360613
+50217,IA,Paton,42.165841,-94.273038
+50218,IA,Patterson,41.353912,-93.878174
+50219,IA,Pella,41.408175,-92.917207
+50220,IA,Perry,41.839695,-94.102167
+50222,IA,Peru,41.21454,-93.943729
+50223,IA,Pilot Mound,42.160395,-94.010184
+50225,IA,Pleasantville,41.373836,-93.271206
+50226,IA,Polk City,41.754905,-93.689346
+50227,IA,Popejoy,42.595628,-93.430867
+50228,IA,Prairie City,41.585425,-93.240986
+50229,IA,Prole,41.382973,-93.734357
+50230,IA,Radcliffe,42.324064,-93.423364
+50231,IA,Randall,42.247463,-93.62109
+50232,IA,Reasnor,41.579802,-93.019827
+50233,IA,Redfield,41.587349,-94.189733
+50234,IA,Rhodes,41.917717,-93.179586
+50235,IA,Rippey,41.92574,-94.213202
+50236,IA,Roland,42.164585,-93.506313
+50237,IA,Runnells,41.551549,-93.42025
+50238,IA,Russell,40.945557,-93.178371
+50239,IA,Saint Anthony,42.151974,-93.182431
+50240,IA,Saint Charles,41.292443,-93.824195
+50241,IA,Saint Marys,41.297826,-93.736107
+50242,IA,Searsboro,41.56561,-92.698737
+50244,IA,Slater,41.876511,-93.681155
+50246,IA,Stanhope,42.290407,-93.775081
+50247,IA,State Center,42.010911,-93.167283
+50248,IA,Story City,42.183487,-93.598811
+50249,IA,Stratford,42.284673,-93.90294
+50250,IA,Stuart,41.518643,-94.304563
+50251,IA,Sully,41.573969,-92.845085
+50252,IA,Swan,41.4717,-93.234165
+50254,IA,Thayer,41.00293,-94.068639
+50256,IA,Tracy,41.275564,-92.875337
+50257,IA,Truro,41.207622,-93.840978
+50258,IA,Union,42.252074,-93.056192
+50261,IA,Van Meter,41.539415,-93.95303
+50262,IA,Van Wert,40.864451,-93.80733
+50263,IA,Waukee,41.592959,-93.85916
+50264,IA,Weldon,40.873906,-93.738743
+50265,IA,West Des Moines,41.580512,-93.744711
+50268,IA,What Cheer,41.395276,-92.354789
+50271,IA,Williams,42.461376,-93.56774
+50272,IA,Williamson,41.102026,-93.26593
+50273,IA,Winterset,41.339077,-94.008763
+50274,IA,Wiota,41.384552,-94.840515
+50275,IA,Woodburn,41.00001,-93.608282
+50276,IA,Woodward,41.845219,-93.905617
+50277,IA,Yale,41.775309,-94.35026
+50278,IA,Zearing,42.15349,-93.292766
+50309,IA,Des Moines,41.588743,-93.621175
+50310,IA,Des Moines,41.625475,-93.673611
+50311,IA,Windsor Heights,41.601562,-93.674371
+50312,IA,Des Moines,41.585453,-93.671908
+50313,IA,Des Moines,41.638085,-93.620305
+50314,IA,Des Moines,41.603003,-93.632993
+50315,IA,Des Moines,41.544394,-93.619226
+50316,IA,Des Moines,41.609228,-93.599966
+50317,IA,Pleasant Hill,41.612499,-93.549446
+50320,IA,Des Moines,41.548693,-93.582674
+50321,IA,Des Moines,41.547628,-93.661846
+50322,IA,Urbandale,41.629479,-93.723042
+50325,IA,Clive,41.606729,-93.745749
+50401,IA,Mason City,43.149869,-93.195379
+50420,IA,Alexander,42.811395,-93.445
+50421,IA,Belmond,42.851137,-93.620012
+50423,IA,Britt,43.100582,-93.775175
+50424,IA,Buffalo Center,43.373204,-93.937557
+50428,IA,Clear Lake,43.140607,-93.384978
+50430,IA,Corwith,42.992736,-93.932303
+50432,IA,Crystal Lake,43.218692,-93.794166
+50433,IA,Dougherty,42.941633,-93.068586
+50434,IA,Fertile,43.279514,-93.434485
+50435,IA,Floyd,43.143049,-92.723988
+50436,IA,Forest City,43.269184,-93.635595
+50438,IA,Garner,43.114395,-93.594394
+50439,IA,Goodell,42.938298,-93.582426
+50440,IA,Grafton,43.311016,-93.079718
+50441,IA,Hampton,42.740531,-93.210954
+50444,IA,Hanlontown,43.307234,-93.335065
+50446,IA,Joice,43.376105,-93.445354
+50447,IA,Kanawha,42.94338,-93.772801
+50448,IA,Kensett,43.37391,-93.172805
+50449,IA,Klemme,43.013643,-93.587944
+50450,IA,Lake Mills,43.416696,-93.533628
+50451,IA,Lakota,43.395283,-94.07055
+50452,IA,Latimer,42.759783,-93.351798
+50453,IA,Leland,43.307043,-93.751496
+50454,IA,Little Cedar,43.391861,-92.734376
+50455,IA,Mc Intire,43.44999,-92.60485
+50456,IA,Manly,43.289116,-93.201802
+50457,IA,Meservey,42.913696,-93.477298
+50458,IA,Nora Springs,43.147858,-93.000221
+50459,IA,Northwood,43.450604,-93.241943
+50460,IA,Orchard,43.235459,-92.719979
+50461,IA,Osage,43.28722,-92.814356
+50464,IA,Plymouth,43.246046,-93.122628
+50465,IA,Rake,43.476655,-93.917128
+50466,IA,Riceville,43.371899,-92.555372
+50467,IA,Rock Falls,43.198014,-93.076402
+50468,IA,Rockford,43.057331,-92.952034
+50469,IA,Rockwell,43.003167,-93.216737
+50470,IA,Rowan,42.759644,-93.556966
+50471,IA,Rudd,43.141958,-92.888546
+50472,IA,Saint Ansgar,43.406107,-92.923523
+50473,IA,Scarville,43.467286,-93.64233
+50475,IA,Sheffield,42.877881,-93.215583
+50476,IA,Stacyville,43.445687,-92.761031
+50477,IA,Swaledale,42.962167,-93.311529
+50478,IA,Thompson,43.387497,-93.751671
+50479,IA,Thornton,42.968405,-93.408787
+50480,IA,Titonka,43.245606,-94.036656
+50482,IA,Ventura,43.126178,-93.4706
+50483,IA,Wesley,43.09765,-94.003776
+50484,IA,Woden,43.222564,-93.910925
+50501,IA,Fort Dodge,42.508817,-94.180737
+50510,IA,Albert City,42.778403,-94.98238
+50511,IA,Algona,43.065976,-94.230638
+50514,IA,Armstrong,43.402423,-94.485305
+50515,IA,Ayrshire,43.037001,-94.847804
+50516,IA,Badger,42.599595,-94.162988
+50517,IA,Bancroft,43.293485,-94.210778
+50518,IA,Barnum,42.515867,-94.370327
+50519,IA,Bode,42.866078,-94.278055
+50520,IA,Bradgate,42.779425,-94.400239
+50521,IA,Burnside,42.341318,-94.114253
+50522,IA,Burt,43.206167,-94.21223
+50523,IA,Callender,42.349372,-94.281963
+50524,IA,Clare,42.595397,-94.308028
+50525,IA,Clarion,42.727149,-93.727715
+50527,IA,Curlew,42.963321,-94.797528
+50528,IA,Cylinder,43.150716,-94.510672
+50530,IA,Dayton,42.259438,-94.06105
+50531,IA,Dolliver,43.466382,-94.624236
+50532,IA,Duncombe,42.449303,-94.059212
+50533,IA,Eagle Grove,42.660867,-93.904872
+50535,IA,Early,42.448258,-95.172569
+50536,IA,Emmetsburg,43.108249,-94.682545
+50538,IA,Farnhamville,42.269234,-94.422623
+50539,IA,Fenton,43.242047,-94.404366
+50540,IA,Fonda,42.605148,-94.82974
+50541,IA,Gilmore City,42.706691,-94.410824
+50542,IA,Goldfield,42.758055,-93.919435
+50543,IA,Gowrie,42.276712,-94.298669
+50544,IA,Harcourt,42.253052,-94.196095
+50545,IA,Hardy,42.782247,-94.030852
+50546,IA,Havelock,42.84109,-94.725233
+50548,IA,Humboldt,42.719574,-94.213184
+50551,IA,Jolley,42.507785,-94.742338
+50552,IA,Knierim,42.431944,-94.453153
+50553,IA,Knoke,42.520515,-94.85437
+50554,IA,Laurens,42.840938,-94.850816
+50556,IA,Ledyard,43.434569,-94.150281
+50557,IA,Lehigh,42.352645,-94.034158
+50558,IA,Livermore,42.866601,-94.174716
+50559,IA,Lone Rock,43.166645,-94.358578
+50560,IA,Lu Verne,42.98684,-94.095912
+50561,IA,Lytton,42.430375,-94.813991
+50562,IA,Mallard,42.94167,-94.674608
+50563,IA,Manson,42.528503,-94.530386
+50565,IA,Marathon,42.861233,-94.983551
+50566,IA,Moorland,42.434005,-94.319886
+50567,IA,Nemaha,42.518027,-95.093914
+50568,IA,Newell,42.615699,-94.994591
+50569,IA,Otho,42.432825,-94.170776
+50570,IA,Ottosen,42.876443,-94.378648
+50571,IA,Palmer,42.641871,-94.543155
+50573,IA,Plover,42.869107,-94.622507
+50574,IA,Pocahontas,42.729602,-94.673675
+50575,IA,Pomeroy,42.532565,-94.663758
+50576,IA,Rembrandt,42.826034,-95.165178
+50577,IA,Renwick,42.849132,-94.007437
+50578,IA,Ringsted,43.297654,-94.529137
+50579,IA,Rockwell City,42.396126,-94.629219
+50580,IA,Rodman,43.035233,-94.499243
+50581,IA,Rolfe,42.808233,-94.516593
+50582,IA,Rutland,42.763486,-94.271882
+50583,IA,Sac City,42.426212,-94.979552
+50585,IA,Sioux Rapids,42.906472,-95.138836
+50586,IA,Somers,42.356065,-94.44639
+50588,IA,Storm Lake,42.64738,-95.196079
+50590,IA,Swea City,43.402225,-94.319322
+50591,IA,Thor,42.688923,-94.038958
+50594,IA,Vincent,42.562292,-94.033534
+50595,IA,Webster City,42.465682,-93.826216
+50597,IA,West Bend,42.957415,-94.456402
+50598,IA,Whittemore,43.02608,-94.406395
+50599,IA,Woolstock,42.584439,-93.82161
+50601,IA,Ackley,42.552722,-93.060835
+50602,IA,Allison,42.761465,-92.782952
+50603,IA,Alta Vista,43.148159,-92.423682
+50604,IA,Aplington,42.587039,-92.875141
+50605,IA,Aredale,42.854852,-92.97688
+50606,IA,Arlington,42.733827,-91.666814
+50607,IA,Aurora,42.620317,-91.733469
+50608,IA,Austinville,42.596245,-92.959422
+50609,IA,Beaman,42.236707,-92.816215
+50611,IA,Bristow,42.774106,-92.886424
+50612,IA,Buckingham,42.255211,-92.409788
+50613,IA,Cedar Falls,42.524071,-92.449725
+50616,IA,Charles City,43.068327,-92.676062
+50619,IA,Clarksville,42.804079,-92.658833
+50621,IA,Conrad,42.234188,-92.886525
+50622,IA,Denver,42.673137,-92.341701
+50624,IA,Dike,42.47301,-92.612154
+50625,IA,Dumont,42.736773,-92.967347
+50626,IA,Dunkerton,42.578028,-92.158826
+50627,IA,Eldora,42.357158,-93.103699
+50628,IA,Elma,43.27855,-92.398066
+50629,IA,Fairbank,42.616235,-92.032589
+50630,IA,Fredericksburg,42.959299,-92.198334
+50632,IA,Garwin,42.087228,-92.68935
+50633,IA,Geneva,42.68044,-93.103793
+50635,IA,Gladbrook,42.177432,-92.714112
+50636,IA,Greene,42.91604,-92.758324
+50638,IA,Grundy Center,42.3672,-92.777344
+50640,IA,Hansell,42.771195,-93.090036
+50641,IA,Hazleton,42.607561,-91.910462
+50642,IA,Holland,42.40114,-92.799884
+50643,IA,Hudson,42.390497,-92.454872
+50644,IA,Independence,42.46744,-91.880343
+50645,IA,Ionia,43.040253,-92.486521
+50647,IA,Janesville,42.646515,-92.479096
+50648,IA,Jesup,42.482329,-92.045625
+50649,IA,Kesley,42.685717,-92.853455
+50650,IA,Lamont,42.594552,-91.670078
+50651,IA,La Porte City,42.341618,-92.186155
+50652,IA,Lincoln,42.256056,-92.704693
+50653,IA,Marble Rock,42.964547,-92.891681
+50654,IA,Masonville,42.50461,-91.550576
+50655,IA,Maynard,42.775156,-91.890773
+50658,IA,Nashua,42.952848,-92.529839
+50659,IA,New Hampton,43.056015,-92.313136
+50660,IA,New Hartford,42.583128,-92.616359
+50662,IA,Oelwein,42.681095,-91.913084
+50665,IA,Parkersburg,42.571377,-92.768763
+50666,IA,Plainfield,42.850267,-92.511558
+50667,IA,Raymond,42.467169,-92.216247
+50668,IA,Readlyn,42.692869,-92.215432
+50669,IA,Reinbeck,42.313078,-92.594839
+50670,IA,Shell Rock,42.70611,-92.58878
+50671,IA,Stanley,42.635623,-91.812673
+50672,IA,Steamboat Rock,42.417841,-93.06291
+50674,IA,Sumner,42.841935,-92.118562
+50675,IA,Traer,42.184685,-92.482681
+50676,IA,Tripoli,42.810538,-92.265934
+50677,IA,Bremer,42.737307,-92.466199
+50680,IA,Wellsburg,42.449418,-92.939763
+50681,IA,Westgate,42.805453,-92.018299
+50682,IA,Winthrop,42.491163,-91.731467
+50701,IA,Waterloo,42.477784,-92.366099
+50702,IA,Waterloo,42.473112,-92.336486
+50703,IA,Waterloo,42.514875,-92.326919
+50706,IA,Washburn,42.407605,-92.2676
+50707,IA,Evansdale,42.475453,-92.281158
+50801,IA,Nevinville,41.062384,-94.369151
+50830,IA,Afton,41.040146,-94.194044
+50833,IA,Bedford,40.66829,-94.732448
+50835,IA,Benton,40.725836,-94.393104
+50836,IA,Blockton,40.624242,-94.504901
+50837,IA,Bridgewater,41.157084,-94.641011
+50840,IA,Clearfield,40.793534,-94.494439
+50841,IA,Corning,40.987121,-94.735789
+50843,IA,Cumberland,41.263165,-94.871006
+50844,IA,Delphos,40.661959,-94.316188
+50845,IA,Diagonal,40.822644,-94.355156
+50846,IA,Fontanelle,41.289568,-94.541904
+50847,IA,Grant,41.125799,-94.984554
+50848,IA,Gravity,40.790914,-94.750595
+50849,IA,Greenfield,41.313311,-94.440757
+50850,IA,Kent,40.944856,-94.421718
+50851,IA,Lenox,40.884096,-94.56117
+50852,IA,Maloy,40.673648,-94.40764
+50853,IA,Massena,41.249867,-94.764872
+50854,IA,Mount Ayr,40.7142,-94.232146
+50855,IA,50855,41.111656,-94.796602
+50857,IA,Nodaway,40.954034,-94.87309
+50858,IA,Orient,41.219191,-94.370496
+50859,IA,Prescott,41.024848,-94.524901
+50860,IA,Redding,40.605312,-94.359451
+50861,IA,Shannon City,40.936636,-94.250106
+50862,IA,Sharpsburg,40.795042,-94.641633
+50863,IA,Tingley,40.851597,-94.190823
+50864,IA,Villisca,40.943718,-94.979588
+51001,IA,Akron,42.835392,-96.52245
+51002,IA,Alta,42.677118,-95.3129
+51003,IA,Alton,42.978175,-96.017268
+51004,IA,Anthon,42.386967,-95.894765
+51005,IA,Aurelia,42.69122,-95.438086
+51006,IA,Battle Creek,42.332662,-95.604517
+51007,IA,Bronson,42.429181,-96.198591
+51009,IA,Calumet,42.953272,-95.554871
+51010,IA,Castana,42.105404,-95.943121
+51012,IA,Cherokee,42.748187,-95.556842
+51014,IA,Cleghorn,42.808593,-95.712436
+51016,IA,Correctionville,42.474322,-95.780382
+51018,IA,Cushing,42.464182,-95.67748
+51019,IA,Danbury,42.269337,-95.726259
+51020,IA,Galva,42.510508,-95.429838
+51022,IA,Granville,42.969252,-95.897167
+51023,IA,Hawarden,43.001333,-96.472992
+51024,IA,Hinton,42.604046,-96.305033
+51025,IA,Holstein,42.494779,-95.564971
+51026,IA,Hornick,42.289741,-96.079553
+51027,IA,Ireton,42.966566,-96.323226
+51028,IA,Kingsley,42.619057,-95.976151
+51029,IA,Larrabee,42.862758,-95.581228
+51030,IA,Lawton,42.504748,-96.21893
+51031,IA,Le Mars,42.79623,-96.170386
+51033,IA,Linn Grove,42.874229,-95.251249
+51034,IA,Mapleton,42.158524,-95.790934
+51035,IA,Marcus,42.819959,-95.803431
+51036,IA,Maurice,42.962647,-96.165531
+51037,IA,Meriden,42.787416,-95.640797
+51038,IA,Merrill,42.704737,-96.228324
+51039,IA,Moville,42.481924,-96.065583
+51040,IA,Onawa,42.036967,-96.107213
+51041,IA,Orange City,43.01849,-96.056464
+51044,IA,Oto,42.264592,-95.861575
+51046,IA,Paullina,42.970277,-95.708322
+51047,IA,Peterson,42.932794,-95.337658
+51048,IA,Pierson,42.533493,-95.892193
+51049,IA,Quimby,42.628711,-95.681175
+51050,IA,Remsen,42.8149,-95.954378
+51051,IA,Rodney,42.201541,-95.953456
+51052,IA,Salix,42.330554,-96.287912
+51053,IA,Schaller,42.505501,-95.284587
+51054,IA,Sergeant Bluff,42.401895,-96.353392
+51055,IA,Sloan,42.242726,-96.230634
+51056,IA,Smithland,42.24079,-95.948647
+51058,IA,Sutherland,42.982623,-95.480665
+51059,IA,Turin,41.973189,-95.951828
+51060,IA,Ute,42.058085,-95.712542
+51061,IA,Washta,42.578108,-95.729537
+51062,IA,Westfield,42.695329,-96.491987
+51063,IA,Whiting,42.15216,-96.182247
+51101,IA,Sioux City,42.497223,-96.40292
+51103,IA,Sioux City,42.506793,-96.42951
+51104,IA,Sioux City,42.52536,-96.400453
+51105,IA,Sioux City,42.503224,-96.382855
+51106,IA,Sioux City,42.467057,-96.352755
+51107,IA,Sioux City,42.490266,-96.376064
+51108,IA,Sioux City,42.546891,-96.361695
+51109,IA,Sioux City,42.517287,-96.480304
+51110,IA,Sioux City,42.400921,-96.372559
+51111,IA,Sioux City,42.408912,-96.371294
+51201,IA,Sheldon,43.180797,-95.840141
+51230,IA,Alvord,43.320109,-96.290994
+51231,IA,Archer,43.117917,-95.741656
+51232,IA,Ashton,43.305259,-95.765509
+51234,IA,Boyden,43.20343,-95.982309
+51235,IA,Doon,43.287183,-96.201987
+51237,IA,George,43.343903,-95.989383
+51238,IA,Hospers,43.079337,-95.914172
+51239,IA,Hull,43.195201,-96.139248
+51240,IA,Inwood,43.304747,-96.436293
+51241,IA,Larchwood,43.438673,-96.42522
+51243,IA,Little Rock,43.449571,-95.892622
+51245,IA,Primghar,43.075892,-95.653304
+51246,IA,Rock Rapids,43.427192,-96.178055
+51247,IA,Rock Valley,43.201356,-96.310342
+51248,IA,Sanborn,43.189002,-95.662227
+51249,IA,Sibley,43.406929,-95.7424
+51250,IA,Sioux Center,43.081416,-96.179952
+51301,IA,Spencer,43.145107,-95.14569
+51331,IA,Arnolds Park,43.36358,-95.131261
+51333,IA,Dickens,43.154836,-94.985383
+51334,IA,Estherville,43.401709,-94.818001
+51338,IA,Everly,43.160917,-95.322777
+51340,IA,Fostoria,43.225857,-95.185042
+51342,IA,Graettinger,43.227731,-94.733401
+51343,IA,Greenville,43.033348,-95.058184
+51345,IA,Harris,43.456793,-95.442603
+51346,IA,Hartley,43.179984,-95.481696
+51347,IA,Lake Park,43.445239,-95.321601
+51350,IA,Melvin,43.284496,-95.592951
+51351,IA,Milford,43.31964,-95.161534
+51354,IA,Ocheyedan,43.39105,-95.520366
+51355,IA,Okoboji,43.37938,-95.153026
+51357,IA,Royal,43.048751,-95.267856
+51358,IA,Ruthven,43.144845,-94.884214
+51360,IA,Spirit Lake,43.426211,-95.112336
+51363,IA,Superior,43.450317,-94.964935
+51364,IA,Terril,43.324073,-94.973725
+51365,IA,Wallingford,43.312158,-94.82057
+51366,IA,Webb,42.950189,-94.995124
+51401,IA,Carroll,42.071972,-94.866664
+51430,IA,Arcadia,42.057279,-95.03714
+51431,IA,Arthur,42.336283,-95.367519
+51432,IA,Aspinwall,41.908252,-95.149936
+51433,IA,Yetter,42.280895,-94.903447
+51436,IA,Breda,42.175835,-95.000679
+51439,IA,Charter Oak,42.070735,-95.599241
+51440,IA,Dedham,41.905539,-94.814896
+51441,IA,Deloit,42.085899,-95.286338
+51442,IA,Denison,42.019626,-95.363572
+51443,IA,Glidden,42.061816,-94.714777
+51444,IA,Halbur,41.997357,-94.93586
+51445,IA,Ida Grove,42.340026,-95.464488
+51446,IA,Irwin,41.794094,-95.195842
+51447,IA,Kirkman,41.73076,-95.267083
+51448,IA,Kiron,42.179359,-95.31146
+51449,IA,Lake City,42.270494,-94.745787
+51450,IA,Lake View,42.315367,-95.048562
+51451,IA,Lanesboro,42.174687,-94.690274
+51452,IA,Lidderdale,42.152815,-94.795353
+51453,IA,Lohrville,42.261923,-94.556605
+51454,IA,Manilla,41.892233,-95.239126
+51455,IA,Manning,41.907248,-95.055622
+51458,IA,Odebolt,42.309514,-95.25005
+51459,IA,Ralston,42.075655,-94.569779
+51460,IA,Ricketts,42.15406,-95.599547
+51461,IA,Schleswig,42.164586,-95.444309
+51462,IA,Scranton,42.012381,-94.551764
+51463,IA,Templeton,41.912077,-94.932009
+51465,IA,Vail,42.033772,-95.177766
+51466,IA,Wall Lake,42.265252,-95.085156
+51467,IA,Westside,42.10844,-95.1273
+51501,IA,Manawa,41.252954,-95.880992
+51503,IA,Council Bluffs,41.261584,-95.825083
+51510,IA,Carter Lake,41.292524,-95.91406
+51520,IA,Arion,41.950406,-95.46233
+51521,IA,Avoca,41.476834,-95.350872
+51523,IA,Blencoe,41.923662,-96.082663
+51525,IA,Carson,41.225276,-95.368086
+51526,IA,Crescent,41.364378,-95.827648
+51527,IA,Earling,41.827063,-95.340293
+51528,IA,Dow City,41.913429,-95.4862
+51529,IA,Earling,41.842301,-95.615709
+51530,IA,Earling,41.792483,-95.421045
+51531,IA,Elk Horn,41.582871,-95.070015
+51532,IA,Elliott,41.130617,-95.160237
+51533,IA,Emerson,41.028439,-95.410624
+51534,IA,Glenwood,41.047009,-95.73892
+51535,IA,Griswold,41.223842,-95.098989
+51536,IA,Hancock,41.383238,-95.344528
+51537,IA,Harlan,41.64375,-95.311101
+51540,IA,Hastings,40.960514,-95.553097
+51541,IA,Henderson,41.125426,-95.458629
+51542,IA,Honey Creek,41.463045,-95.8802
+51543,IA,Kimballton,41.635214,-95.055324
+51544,IA,Lewis,41.296289,-95.062024
+51545,IA,Little Sioux,41.808267,-96.031357
+51546,IA,Logan,41.624345,-95.752478
+51548,IA,Mc Clelland,41.293168,-95.681278
+51549,IA,Macedonia,41.191627,-95.431386
+51550,IA,Magnolia,41.708177,-95.854955
+51551,IA,Malvern,41.007378,-95.583988
+51552,IA,Marne,41.454681,-95.097308
+51553,IA,Minden,41.465355,-95.551887
+51554,IA,Mineola,41.110171,-95.755699
+51555,IA,Missouri Valley,41.564399,-95.891346
+51556,IA,Modale,41.637143,-95.985225
+51557,IA,Mondamin,41.708876,-96.007204
+51558,IA,Moorhead,41.918601,-95.829031
+51559,IA,Neola,41.456383,-95.679358
+51560,IA,Oakland,41.311964,-95.379034
+51561,IA,Pacific Junction,41.027123,-95.804645
+51562,IA,Panama,41.728813,-95.487046
+51563,IA,Persia,41.56473,-95.56577
+51564,IA,Pisgah,41.821376,-95.919172
+51565,IA,Portsmouth,41.648385,-95.510751
+51566,IA,Red Oak,41.007949,-95.226924
+51570,IA,Shelby,41.533898,-95.446888
+51571,IA,Silver City,41.113024,-95.626912
+51572,IA,Soldier,41.994188,-95.782531
+51573,IA,Stanton,40.985924,-95.09876
+51575,IA,Treynor,41.220679,-95.617041
+51576,IA,Underwood,41.360294,-95.626997
+51577,IA,Walnut,41.462329,-95.217973
+51578,IA,Westphalia,41.718014,-95.386978
+51579,IA,Woodbine,41.737267,-95.700785
+51601,IA,Shenandoah,40.758087,-95.364798
+51630,IA,Blanchard,40.612156,-95.205377
+51631,IA,Braddyville,40.599081,-94.995578
+51632,IA,Clarinda,40.749084,-95.037976
+51636,IA,Coin,40.668591,-95.221653
+51637,IA,College Springs,40.617109,-95.099717
+51638,IA,Essex,40.840359,-95.288777
+51639,IA,Farragut,40.729971,-95.455498
+51640,IA,Hamburg,40.614902,-95.625789
+51645,IA,Imogene,40.863144,-95.435804
+51646,IA,New Market,40.742174,-94.891662
+51647,IA,Northboro,40.612737,-95.309592
+51648,IA,Percival,40.740148,-95.809307
+51649,IA,Randolph,40.870353,-95.562386
+51650,IA,Riverton,40.686968,-95.557803
+51651,IA,Shambaugh,40.675735,-95.063591
+51652,IA,Sidney,40.750671,-95.64027
+51653,IA,Tabor,40.900448,-95.672892
+51654,IA,Thurman,40.84241,-95.760535
+51656,IA,Yorktown,40.769244,-95.216335
+52001,IA,Dubuque,42.514977,-90.681914
+52002,IA,Dubuque,42.512191,-90.738372
+52003,IA,Dubuque,42.464916,-90.682884
+52030,IA,Andrew,42.158496,-90.60035
+52031,IA,Bellevue,42.25825,-90.435603
+52032,IA,Bernard,42.33207,-90.863032
+52033,IA,Cascade,42.286959,-91.014395
+52035,IA,Colesburg,42.638346,-91.19628
+52036,IA,Delaware,42.477713,-91.347176
+52037,IA,Delmar,41.996065,-90.608712
+52038,IA,Dundee,42.593979,-91.547697
+52039,IA,Durango,42.552564,-90.860794
+52040,IA,Dyersville,42.483332,-91.118265
+52041,IA,Earlville,42.500101,-91.259658
+52042,IA,Edgewood,42.654098,-91.394951
+52043,IA,Elkader,42.849627,-91.414308
+52044,IA,Elkport,42.739892,-91.283934
+52045,IA,Epworth,42.443928,-90.931331
+52046,IA,Farley,42.445059,-91.008266
+52047,IA,Farmersburg,42.952205,-91.338984
+52048,IA,Garber,42.74528,-91.259275
+52049,IA,Garnavillo,42.876188,-91.215609
+52050,IA,Greeley,42.59389,-91.323316
+52052,IA,Guttenberg,42.759443,-91.119015
+52053,IA,Holy Cross,42.580778,-90.972986
+52054,IA,La Motte,42.304448,-90.617673
+52057,IA,Manchester,42.483418,-91.449001
+52060,IA,Maquoketa,42.07782,-90.677075
+52064,IA,Miles,42.100587,-90.336716
+52065,IA,New Vienna,42.567829,-91.097637
+52066,IA,North Buena Vist,42.671103,-90.958772
+52068,IA,Peosta,42.443535,-90.809372
+52069,IA,Preston,42.053854,-90.395382
+52070,IA,Sabula,42.073668,-90.19553
+52071,IA,Saint Donatus,42.33119,-90.484514
+52072,IA,Saint Olaf,42.948179,-91.417549
+52073,IA,Sherrill,42.617078,-90.811486
+52074,IA,Spragueville,42.072742,-90.473044
+52075,IA,Springbrook,42.167401,-90.484637
+52076,IA,Strawberry Point,42.683225,-91.540926
+52077,IA,Volga,42.790389,-91.542891
+52078,IA,Worthington,42.393001,-91.106919
+52079,IA,Zwingle,42.277486,-90.750666
+52101,IA,Decorah,43.322711,-91.793947
+52131,IA,Burr Oak,43.463912,-91.892074
+52132,IA,Calmar,43.197402,-91.912579
+52133,IA,Castalia,43.161179,-91.662904
+52134,IA,Chester,43.473021,-92.415528
+52135,IA,Clermont,43.01298,-91.655184
+52136,IA,Cresco,43.363007,-92.125954
+52140,IA,Dorchester,43.442136,-91.50765
+52141,IA,Elgin,42.954845,-91.645375
+52142,IA,Fayette,42.84941,-91.813887
+52144,IA,Fort Atkinson,43.133932,-91.91336
+52146,IA,Harpers Ferry,43.16977,-91.218822
+52147,IA,Hawkeye,42.948702,-91.957764
+52150,IA,Jackson Junction,43.121369,-92.018447
+52151,IA,Lansing,43.366126,-91.265979
+52154,IA,Lawler,43.093247,-92.143974
+52155,IA,Lime Springs,43.45563,-92.273324
+52156,IA,Luana,43.049281,-91.458275
+52157,IA,Mc Gregor,43.023719,-91.188724
+52158,IA,Marquette,43.050457,-91.192141
+52159,IA,Monona,43.073485,-91.458677
+52160,IA,New Albin,43.489877,-91.294166
+52161,IA,Ossian,43.137858,-91.773431
+52162,IA,Postville,43.003619,-91.547809
+52164,IA,Randalia,42.862551,-91.884628
+52165,IA,Ridgeway,43.297853,-92.003413
+52166,IA,Saint Lucas,43.047703,-91.911561
+52169,IA,Wadena,42.854956,-91.663865
+52170,IA,Waterville,43.263608,-91.263045
+52171,IA,Waucoma,43.043329,-92.03022
+52172,IA,Waukon,43.263951,-91.479994
+52175,IA,Eldorado,42.973232,-91.803602
+52201,IA,Ainsworth,41.320226,-91.547173
+52202,IA,Alburnett,42.158322,-91.639245
+52203,IA,Amana,41.831284,-91.88545
+52205,IA,Anamosa,42.107763,-91.285115
+52206,IA,Atkins,41.988103,-91.875966
+52207,IA,Baldwin,42.073188,-90.819968
+52208,IA,Belle Plaine,41.899159,-92.257381
+52209,IA,Blairstown,41.906338,-92.082861
+52210,IA,Brandon,42.330912,-92.005892
+52211,IA,Brooklyn,41.732147,-92.428462
+52212,IA,Center Junction,42.092585,-91.067013
+52213,IA,Center Point,42.189844,-91.775764
+52214,IA,Central City,42.198234,-91.491399
+52215,IA,Chelsea,41.913132,-92.407815
+52216,IA,Clarence,41.88958,-91.060457
+52217,IA,Clutier,42.078892,-92.376347
+52218,IA,Coggon,42.279158,-91.541285
+52220,IA,Conroy,41.74255,-91.969479
+52222,IA,Deep River,41.571713,-92.364513
+52223,IA,Delhi,42.427082,-91.270226
+52224,IA,Dysart,42.169017,-92.318731
+52225,IA,Elberon,42.008769,-92.331447
+52226,IA,Elwood,41.99083,-90.724609
+52227,IA,Ely,41.894275,-91.573767
+52228,IA,Fairfax,41.915304,-91.780102
+52229,IA,Garrison,42.158827,-92.164409
+52231,IA,Harper,41.37283,-92.038758
+52232,IA,Hartwick,41.808019,-92.353845
+52233,IA,Hiawatha,42.042455,-91.67696
+52236,IA,Homestead,41.733858,-91.879471
+52237,IA,Hopkinton,42.342164,-91.246051
+52240,IA,Iowa City,41.654899,-91.511192
+52241,IA,Coralville,41.693666,-91.590608
+52245,IA,Iowa City,41.664916,-91.51507
+52246,IA,Iowa City,41.643813,-91.566882
+52247,IA,Kalona,41.482299,-91.705678
+52248,IA,Keota,41.350429,-91.964064
+52249,IA,Keystone,42.015636,-92.217944
+52250,IA,Kinross,41.460998,-92.001007
+52251,IA,Ladora,41.756353,-92.187281
+52253,IA,Lisbon,41.921169,-91.386137
+52254,IA,Lost Nation,41.974503,-90.82654
+52255,IA,Lowden,41.859393,-90.93822
+52257,IA,Luzerne,41.90614,-92.179334
+52301,IA,Marengo,41.786286,-92.072049
+52302,IA,Marion,42.041095,-91.594135
+52305,IA,Martelle,42.003512,-91.321703
+52306,IA,Mechanicsville,41.903906,-91.27637
+52307,IA,Middle Amana,41.799737,-91.882696
+52308,IA,Millersburg,41.575099,-92.160843
+52309,IA,Monmouth,42.07716,-90.878551
+52310,IA,Monticello,42.232591,-91.198901
+52313,IA,Mount Auburn,42.255395,-92.159485
+52314,IA,Mount Vernon,41.928741,-91.427371
+52315,IA,Newhall,41.992685,-91.977888
+52316,IA,North English,41.524128,-92.089291
+52317,IA,North Liberty,41.744318,-91.60612
+52318,IA,Norway,41.899176,-91.89197
+52320,IA,Olin,41.995423,-91.140926
+52321,IA,Onslow,42.123509,-90.97305
+52322,IA,Oxford,41.650687,-91.772418
+52323,IA,Oxford Junction,41.985382,-90.954341
+52324,IA,Palo,42.036496,-91.787703
+52325,IA,Parnell,41.570161,-92.005159
+52326,IA,Quasqueton,42.395551,-91.76795
+52327,IA,Riverside,41.475792,-91.57414
+52328,IA,Robins,42.073092,-91.664841
+52329,IA,Rowley,42.343449,-91.787543
+52330,IA,Ryan,42.343643,-91.484838
+52331,IA,Scotch Grove,42.164441,-91.083682
+52332,IA,Shellsburg,42.084829,-91.874568
+52333,IA,Solon,41.809913,-91.508609
+52334,IA,South Amana,41.757609,-91.92626
+52335,IA,South English,41.46214,-92.102557
+52336,IA,Springville,42.060741,-91.43935
+52337,IA,Stanwood,41.896318,-91.166202
+52338,IA,Swisher,41.826843,-91.673916
+52339,IA,Tama,41.961642,-92.580049
+52341,IA,Toddville,42.103932,-91.728981
+52342,IA,Toledo,42.007696,-92.566206
+52343,IA,Toronto,41.89709,-90.793889
+52346,IA,Van Horne,42.019394,-92.104617
+52347,IA,Victor,41.729004,-92.284172
+52348,IA,Vining,41.979881,-92.369687
+52349,IA,Vinton,42.174284,-91.989154
+52352,IA,Walker,42.272024,-91.730179
+52353,IA,Washington,41.301453,-91.698671
+52354,IA,Watkins,41.903993,-91.996468
+52355,IA,Webster,41.436408,-92.176525
+52356,IA,Wellman,41.470032,-91.839953
+52357,IA,West Amana,41.802996,-91.933566
+52358,IA,West Branch,41.672622,-91.3141
+52359,IA,West Chester,41.361019,-91.861858
+52361,IA,Williamsburg,41.639308,-92.024011
+52362,IA,Wyoming,42.060352,-90.994024
+52401,IA,Cedar Rapids,41.9743,-91.655382
+52402,IA,Cedar Rapids,42.018778,-91.661222
+52403,IA,Cedar Rapids,41.984312,-91.625919
+52404,IA,Cedar Rapids,41.952108,-91.685286
+52405,IA,Cedar Rapids,41.980422,-91.709816
+52501,IA,Highland Center,41.015099,-92.413428
+52530,IA,Agency,40.995693,-92.316231
+52531,IA,Albia,41.028718,-92.794619
+52533,IA,Batavia,40.99048,-92.143059
+52534,IA,Beacon,41.287133,-92.72843
+52535,IA,Birmingham,40.862605,-91.953431
+52536,IA,Blakesburg,40.984763,-92.594037
+52537,IA,Bloomfield,40.732368,-92.398712
+52538,IA,West Grove,40.719646,-92.549849
+52540,IA,Brighton,41.154331,-91.828351
+52542,IA,Cantril,40.654598,-92.046521
+52543,IA,Cedar,41.212054,-92.509021
+52544,IA,Centerville,40.73259,-92.872826
+52548,IA,Chillicothe,41.077041,-92.532762
+52549,IA,Cincinnati,40.634384,-92.921898
+52550,IA,Delta,41.316682,-92.335912
+52551,IA,Douds,40.803931,-92.045222
+52552,IA,Drakesville,40.825332,-92.505109
+52553,IA,Eddyville,41.153266,-92.622052
+52554,IA,Eldon,40.92613,-92.226754
+52555,IA,Exline,40.641399,-92.826999
+52556,IA,Fairfield,41.003943,-91.957611
+52560,IA,Floris,40.859071,-92.324715
+52561,IA,Fremont,41.211739,-92.436186
+52563,IA,Hedrick,41.182578,-92.309725
+52565,IA,Keosauqua,40.74235,-91.970434
+52566,IA,Kirkville,41.117927,-92.469895
+52567,IA,Libertyville,40.949863,-92.024951
+52569,IA,Melrose,40.966466,-93.014514
+52570,IA,Milton,40.672143,-92.143793
+52571,IA,Moravia,40.882522,-92.853358
+52572,IA,Moulton,40.686617,-92.683252
+52573,IA,Mount Sterling,40.645765,-91.902663
+52574,IA,Mystic,40.788268,-92.928437
+52575,IA,Numa,40.674147,-93.013233
+52576,IA,Ollie,41.200134,-92.135366
+52577,IA,Oskaloosa,41.294205,-92.64393
+52580,IA,Packwood,41.122781,-92.066389
+52581,IA,Plano,40.775109,-93.038554
+52583,IA,Promise City,40.758477,-93.152654
+52584,IA,Pulaski,40.694081,-92.257973
+52585,IA,Richland,41.193905,-91.973921
+52586,IA,Rose Hill,41.330918,-92.471958
+52588,IA,Selma,40.851936,-92.110672
+52590,IA,Seymour,40.672416,-93.136826
+52591,IA,Sigourney,41.330071,-92.201888
+52593,IA,Udell,40.783573,-92.718512
+52594,IA,Unionville,40.841637,-92.693452
+52601,IA,Burlington,40.808665,-91.116972
+52619,IA,Argyle,40.565658,-91.563896
+52620,IA,Bonaparte,40.714825,-91.789734
+52621,IA,Crawfordsville,41.209257,-91.541444
+52623,IA,Danville,40.854046,-91.314027
+52624,IA,Denmark,40.748693,-91.326593
+52625,IA,Donnellson,40.661171,-91.574547
+52626,IA,Farmington,40.639715,-91.744719
+52627,IA,Fort Madison,40.633008,-91.339829
+52630,IA,Hillsboro,40.837211,-91.711938
+52631,IA,Houghton,40.775001,-91.6393
+52632,IA,Keokuk,40.409434,-91.398234
+52635,IA,Lockridge,41.011867,-91.76454
+52637,IA,Mediapolis,41.005932,-91.132142
+52638,IA,Middletown,40.82963,-91.263106
+52639,IA,Montrose,40.513915,-91.423985
+52640,IA,Morning Sun,41.098424,-91.258146
+52641,IA,Mount Pleasant,40.964573,-91.561427
+52644,IA,Mount Union,41.03735,-91.413831
+52645,IA,New London,40.916055,-91.398587
+52646,IA,Oakville,41.100326,-91.043922
+52647,IA,Olds,41.12065,-91.548413
+52649,IA,Salem,40.856804,-91.633621
+52650,IA,Sperry,40.941939,-91.185047
+52651,IA,Stockport,40.858933,-91.803497
+52653,IA,Wapello,41.206982,-91.171921
+52654,IA,Wayland,41.144919,-91.658946
+52655,IA,West Burlington,40.832081,-91.179894
+52656,IA,West Point,40.714986,-91.439733
+52657,IA,Saint Paul,40.769306,-91.53754
+52658,IA,Wever,40.706652,-91.226767
+52659,IA,Winfield,41.125693,-91.437892
+52660,IA,Yarmouth,41.029687,-91.317548
+52701,IA,Andover,41.992552,-90.238584
+52720,IA,Atalissa,41.561443,-91.174764
+52721,IA,Bennett,41.735267,-90.965613
+52722,IA,Bettendorf,41.550865,-90.494201
+52726,IA,Blue Grass,41.511168,-90.738015
+52727,IA,Bryant,41.962932,-90.338767
+52729,IA,Calamus,41.811122,-90.741553
+52730,IA,Camanche,41.788636,-90.270855
+52731,IA,Charlotte,41.977859,-90.478226
+52732,IA,Clinton,41.851684,-90.207784
+52738,IA,Columbus Junctio,41.279911,-91.374198
+52739,IA,Conesville,41.380454,-91.346498
+52742,IA,De Witt,41.826726,-90.523735
+52745,IA,Big Rock,41.735013,-90.778332
+52746,IA,Donahue,41.709316,-90.682908
+52747,IA,Durant,41.614513,-90.909988
+52748,IA,Eldridge,41.663532,-90.563379
+52750,IA,Goose Lake,41.979898,-90.381855
+52751,IA,Grand Mound,41.823559,-90.632878
+52753,IA,Le Claire,41.608234,-90.362788
+52754,IA,Letts,41.293027,-91.20399
+52755,IA,Lone Tree,41.498804,-91.436262
+52756,IA,Long Grove,41.721327,-90.55344
+52760,IA,Moscow,41.564558,-91.085888
+52761,IA,Muscatine,41.430378,-91.050928
+52765,IA,New Liberty,41.713229,-90.859922
+52766,IA,Nichols,41.476634,-91.293116
+52768,IA,Princeton,41.685753,-90.370574
+52769,IA,Stockton,41.558327,-90.847332
+52772,IA,Tipton,41.756276,-91.136163
+52773,IA,Walcott,41.645309,-90.725603
+52774,IA,Welton,41.907472,-90.606785
+52776,IA,West Liberty,41.570055,-91.266847
+52777,IA,Wheatland,41.82585,-90.840151
+52778,IA,Wilton,41.585801,-91.009958
+52802,IA,Davenport,41.516358,-90.61409
+52803,IA,Davenport,41.538509,-90.561348
+52804,IA,Davenport,41.538603,-90.61147
+52806,IA,Davenport,41.573271,-90.603845
+52807,IA,Davenport,41.561822,-90.540262
+66002,KS,Atchison,39.559411,-95.130408
+66006,KS,Baldwin City,38.795308,-95.227621
+66007,KS,Basehor,39.128137,-94.957034
+66008,KS,Bendena,39.717379,-95.176458
+66010,KS,Blue Mound,38.090772,-95.005269
+66012,KS,Lake Of The Fore,39.068455,-94.886098
+66013,KS,Bucyrus,38.687017,-94.742947
+66014,KS,Centerville,38.213032,-94.993431
+66015,KS,Colony,38.076147,-95.328705
+66016,KS,Cummings,39.482976,-95.286281
+66017,KS,Denton,39.715358,-95.274377
+66018,KS,De Soto,38.956563,-94.964713
+66020,KS,Easton,39.362054,-95.054352
+66021,KS,Edgerton,38.781084,-95.009377
+66023,KS,Effingham,39.502259,-95.41982
+66025,KS,Eudora,38.933043,-95.102206
+66026,KS,Fontana,38.410153,-94.871788
+66027,KS,Fort Leavenworth,39.348508,-94.926547
+66030,KS,Gardner,38.80754,-94.915675
+66031,KS,Industrial Airpo,38.850264,-94.932263
+66032,KS,Garnett,38.285907,-95.259368
+66033,KS,Greeley,38.352428,-95.11876
+66035,KS,Highland,39.860752,-95.258335
+66036,KS,Hillsdale,38.684463,-94.85837
+66039,KS,Mildred,38.091497,-95.145167
+66040,KS,La Cygne,38.343402,-94.759264
+66041,KS,Huron,39.591202,-95.308902
+66042,KS,Lane,38.437499,-95.097886
+66043,KS,Lansing,39.250191,-94.899379
+66044,KS,Lawrence,38.964402,-95.241789
+66046,KS,Lawrence,38.936925,-95.24203
+66047,KS,Lawrence,38.940714,-95.277865
+66048,KS,Leavenworth,39.301546,-94.933865
+66049,KS,Lawrence,38.970433,-95.276862
+66050,KS,Lecompton,39.000125,-95.402519
+66052,KS,Linwood,39.020627,-94.991388
+66053,KS,Louisburg,38.607341,-94.682905
+66054,KS,Mc Louth,39.166763,-95.218295
+66056,KS,Mound City,38.155954,-94.818632
+66058,KS,Muscotah,39.588046,-95.49845
+66060,KS,Nortonville,39.409532,-95.32357
+66061,KS,Olathe,38.886548,-94.820359
+66062,KS,Olathe,38.873287,-94.775168
+66064,KS,Osawatomie,38.488803,-94.96199
+66066,KS,Oskaloosa,39.215183,-95.313546
+66067,KS,Ottawa,38.614247,-95.274519
+66070,KS,Ozawkie,39.213648,-95.44039
+66071,KS,Paola,38.571999,-94.893694
+66072,KS,Parker,38.330311,-94.987074
+66073,KS,Perry,39.087524,-95.373122
+66075,KS,Pleasanton,38.182285,-94.70567
+66076,KS,Pomona,38.615255,-95.448915
+66078,KS,Princeton,38.484684,-95.276444
+66079,KS,Rantoul,38.566594,-95.123421
+66080,KS,Richmond,38.407434,-95.248871
+66081,KS,66081,39.772103,-95.225453
+66083,KS,Spring Hill,38.763088,-94.824593
+66085,KS,Stilwell,38.790157,-94.664282
+66086,KS,Tonganoxie,39.102614,-95.105055
+66087,KS,Severance,39.778746,-95.066345
+66088,KS,Valley Falls,39.34843,-95.466996
+66090,KS,Wathena,39.762505,-94.92546
+66091,KS,Welda,38.168615,-95.309606
+66092,KS,Wellsville,38.713676,-95.091573
+66093,KS,Westphalia,38.171792,-95.466512
+66094,KS,White Cloud,39.962717,-95.298203
+66095,KS,Williamsburg,38.490166,-95.422615
+66097,KS,Winchester,39.324531,-95.269584
+66101,KS,Kansas City,39.115733,-94.627139
+66102,KS,Kansas City,39.113247,-94.669337
+66103,KS,Rosedale,39.056193,-94.625105
+66104,KS,Kansas City,39.137512,-94.679158
+66105,KS,Kansas City,39.085025,-94.635646
+66106,KS,Lake Quivira,39.061187,-94.687396
+66109,KS,Kansas City,39.143376,-94.785598
+66111,KS,Kansas City,39.080332,-94.780593
+66112,KS,Kansas City,39.115999,-94.764024
+66115,KS,Kansas City,39.114534,-94.614647
+66118,KS,Kansas City,39.096867,-94.608361
+66202,KS,Countryside,39.025376,-94.666998
+66203,KS,Shawnee,39.019802,-94.708303
+66204,KS,Overland Park,38.992488,-94.674769
+66205,KS,Mission,39.031944,-94.631806
+66206,KS,Leawood,38.960567,-94.619644
+66207,KS,Shawnee Mission,38.957472,-94.645193
+66208,KS,Prairie Village,38.996812,-94.631513
+66209,KS,Leawood,38.901798,-94.634047
+66210,KS,Lenexa,38.922007,-94.704788
+66211,KS,Leawood,38.925956,-94.637991
+66212,KS,Overland Park,38.958954,-94.68414
+66213,KS,Overland Park,38.904899,-94.700344
+66214,KS,Lenexa,38.959929,-94.713265
+66215,KS,Lenexa,38.963028,-94.739947
+66216,KS,Shawnee,39.009289,-94.738234
+66217,KS,Shawnee,39.004835,-94.779663
+66218,KS,Shawnee,39.017431,-94.823913
+66219,KS,Lenexa,38.961896,-94.773145
+66220,KS,Lenexa,38.96884,-94.829997
+66221,KS,Stanley,38.85272,-94.706745
+66223,KS,Stanley,38.848477,-94.664467
+66224,KS,Stanley,38.867526,-94.628903
+66226,KS,Shawnee,38.997764,-94.873017
+66227,KS,Lenexa,38.99416,-94.840082
+66401,KS,Alma,39.009206,-96.292323
+66402,KS,Auburn,38.916673,-95.819938
+66403,KS,Axtell,39.870676,-96.267559
+66404,KS,Baileyville,39.881621,-96.180136
+66406,KS,Beattie,39.89884,-96.428618
+66407,KS,Belvue,39.2273,-96.186635
+66408,KS,Bern,39.957051,-95.961028
+66409,KS,Berryton,38.944182,-95.582487
+66411,KS,Blue Rapids,39.674974,-96.63595
+66412,KS,Bremen,39.877473,-96.745846
+66413,KS,Burlingame,38.763395,-95.840017
+66414,KS,Carbondale,38.820622,-95.687083
+66415,KS,Centralia,39.738051,-96.148604
+66416,KS,Circleville,39.515472,-95.851708
+66417,KS,Corning,39.657015,-96.077589
+66418,KS,Delia,39.265453,-95.960805
+66419,KS,Denison,39.415307,-95.632851
+66420,KS,Dover,39.019223,-95.898547
+66422,KS,Emmett,39.304819,-96.059325
+66423,KS,Eskridge,38.851361,-96.101583
+66424,KS,Everest,39.687972,-95.413802
+66425,KS,Fairview,39.844504,-95.711012
+66427,KS,Winifred,39.718996,-96.428323
+66428,KS,Goff,39.665388,-95.957394
+66429,KS,Grantville,39.097208,-95.539733
+66431,KS,Harveyville,38.857413,-95.996239
+66432,KS,Havensville,39.494197,-96.076884
+66433,KS,Herkimer,39.956337,-96.746861
+66434,KS,Reserve,39.871563,-95.528905
+66436,KS,Holton,39.443624,-95.752498
+66438,KS,Home,39.854542,-96.529201
+66439,KS,Horton,39.678883,-95.529858
+66440,KS,Hoyt,39.255249,-95.686742
+66441,KS,Junction City,39.029913,-96.839553
+66442,KS,Fort Riley,39.061947,-96.787338
+66449,KS,Leonardville,39.365151,-96.831223
+66450,KS,Louisville,39.267048,-96.316954
+66451,KS,Lyndon,38.635649,-95.680226
+66502,KS,Manhattan,39.193757,-96.585776
+66507,KS,Maple Hill,39.069456,-96.018727
+66508,KS,Marysville,39.842827,-96.642183
+66509,KS,Mayetta,39.348915,-95.692753
+66510,KS,Melvern,38.50266,-95.628986
+66512,KS,Meriden,39.203832,-95.547637
+66514,KS,Milford,39.169173,-96.91005
+66515,KS,Morrill,39.935592,-95.712048
+66516,KS,Netawaka,39.606298,-95.727004
+66517,KS,Ogden,39.119219,-96.700077
+66518,KS,Oketo,39.95984,-96.623525
+66520,KS,Olsburg,39.412506,-96.600249
+66521,KS,Duluth,39.472974,-96.176105
+66522,KS,Oneida,39.866087,-95.958097
+66523,KS,Osage City,38.626896,-95.830303
+66524,KS,Overbrook,38.792173,-95.561632
+66526,KS,Paxico,39.080285,-96.181777
+66527,KS,Powhattan,39.71769,-95.675111
+66528,KS,Quenemo,38.578504,-95.53619
+66531,KS,Riley,39.122421,-96.811824
+66532,KS,Leona,39.812721,-95.386236
+66533,KS,Rossville,39.145114,-95.9553
+66534,KS,Sabetha,39.89929,-95.811271
+66535,KS,Saint George,39.210806,-96.434488
+66536,KS,Saint Marys,39.198674,-96.068277
+66537,KS,Scranton,38.787998,-95.74799
+66538,KS,Kelly,39.839804,-96.059489
+66539,KS,Silver Lake,39.1102,-95.855182
+66540,KS,Soldier,39.501254,-95.965178
+66541,KS,Summerfield,39.979847,-96.327909
+66542,KS,Tecumseh,39.021664,-95.537926
+66543,KS,Vassar,38.669127,-95.581278
+66544,KS,Vliets,39.705044,-96.281642
+66545,KS,66545,39.705219,-96.339281
+66546,KS,Wakarusa,38.904543,-95.701464
+66547,KS,Wamego,39.210001,-96.315344
+66548,KS,Waterville,39.697088,-96.749781
+66549,KS,Blaine,39.416545,-96.411402
+66550,KS,Wetmore,39.642761,-95.823118
+66551,KS,Onaga,39.510969,-96.314753
+66552,KS,Whiting,39.597396,-95.61584
+66554,KS,Randolph,39.487939,-96.782842
+66603,KS,Topeka,39.055344,-95.680212
+66604,KS,Topeka,39.040549,-95.717831
+66605,KS,Topeka,39.015076,-95.643894
+66606,KS,Topeka,39.058345,-95.709458
+66607,KS,Topeka,39.042111,-95.644858
+66608,KS,Topeka,39.085812,-95.686651
+66609,KS,Topeka,38.991899,-95.668069
+66610,KS,Topeka,38.982213,-95.746061
+66611,KS,Topeka,39.014152,-95.69815
+66612,KS,Topeka,39.042714,-95.681806
+66614,KS,Topeka,39.015403,-95.746883
+66615,KS,Topeka,39.04458,-95.790561
+66616,KS,Topeka,39.064479,-95.641302
+66617,KS,Topeka,39.127098,-95.638388
+66618,KS,Topeka,39.132853,-95.70231
+66619,KS,Pauline,38.942859,-95.700728
+66701,KS,Hiattville,37.834159,-94.704221
+66710,KS,Altoona,37.519669,-95.64833
+66711,KS,Arcadia,37.634113,-94.654782
+66713,KS,Baxter Springs,37.028057,-94.739276
+66714,KS,Benedict,37.651401,-95.624213
+66716,KS,Bronson,37.921356,-95.030345
+66717,KS,Buffalo,37.701057,-95.701417
+66720,KS,Chanute,37.674928,-95.456962
+66724,KS,Cherokee,37.369413,-94.842412
+66725,KS,Hallowell,37.168992,-94.850227
+66727,KS,Coyville,37.659167,-95.917164
+66728,KS,Crestline,37.161226,-94.678275
+66732,KS,Elsmore,37.80353,-95.154645
+66733,KS,Erie,37.604395,-95.25138
+66734,KS,Farlington,37.6163,-94.847928
+66736,KS,Lafontaine,37.525622,-95.822898
+66738,KS,Fulton,37.988279,-94.739591
+66739,KS,Galena,37.063237,-94.655743
+66740,KS,Galesburg,37.469346,-95.310772
+66741,KS,Garland,37.717363,-94.672055
+66743,KS,Girard,37.509129,-94.856913
+66746,KS,Hepler,37.657558,-94.989225
+66748,KS,Humboldt,37.80446,-95.422006
+66749,KS,Carlyle,37.928244,-95.402146
+66751,KS,La Harpe,37.92239,-95.323192
+66753,KS,Mc Cune,37.346754,-95.037591
+66754,KS,Mapleton,38.022821,-94.873519
+66755,KS,Moran,37.934159,-95.164733
+66756,KS,Mulberry,37.544197,-94.683902
+66757,KS,Neodesha,37.425709,-95.676478
+66758,KS,Neosho Falls,37.966883,-95.549732
+66759,KS,New Albany,37.544436,-95.912594
+66761,KS,Piqua,37.872847,-95.590026
+66762,KS,Radley,37.413156,-94.70225
+66767,KS,Prescott,38.071802,-94.700841
+66769,KS,Redfield,37.856046,-94.828988
+66770,KS,Riverton,37.099262,-94.678801
+66771,KS,Saint Paul,37.518046,-95.168784
+66772,KS,Savonburg,37.751725,-95.154532
+66773,KS,Carona,37.271102,-94.851961
+66775,KS,Stark,37.681111,-95.138794
+66776,KS,Thayer,37.452657,-95.467083
+66777,KS,Toronto,37.795343,-95.936818
+66778,KS,Treece,37.039883,-94.869047
+66779,KS,Uniontown,37.811681,-94.981366
+66780,KS,Walnut,37.59674,-95.045531
+66781,KS,Lawton,37.298173,-94.743909
+66783,KS,Yates Center,37.880125,-95.72894
+66801,KS,Emporia,38.418405,-96.187145
+66830,KS,Admire,38.639297,-96.101657
+66833,KS,Bushong,38.637522,-96.249968
+66834,KS,Alta Vista,38.86357,-96.479983
+66835,KS,Americus,38.509803,-96.260753
+66838,KS,Burdick,38.567369,-96.83963
+66839,KS,Strawn,38.201596,-95.741162
+66840,KS,Burns,38.12216,-96.863435
+66842,KS,Cassoday,38.029801,-96.674565
+66843,KS,Clements,38.279757,-96.775444
+66845,KS,Cottonwood Falls,38.356538,-96.541849
+66846,KS,Dunlap,38.667657,-96.497294
+66847,KS,66847,38.650627,-96.836125
+66849,KS,Dwight,38.838902,-96.580215
+66850,KS,Elmdale,38.377924,-96.667464
+66851,KS,Florence,38.241536,-96.934561
+66852,KS,Gridley,38.101234,-95.887351
+66853,KS,Hamilton,37.979122,-96.169133
+66854,KS,Hartford,38.28326,-95.999718
+66856,KS,Lebo,38.416085,-95.822174
+66857,KS,Le Roy,38.087429,-95.622655
+66858,KS,Antelope,38.481037,-96.96123
+66859,KS,Lost Springs,38.565723,-96.979872
+66860,KS,Madison,38.127755,-96.121283
+66861,KS,Marion,38.355444,-97.02045
+66862,KS,Matfield Green,38.144768,-96.554105
+66864,KS,Neosho Rapids,38.394762,-96.016824
+66865,KS,Olpe,38.257774,-96.189056
+66866,KS,Peabody,38.173746,-97.118386
+66868,KS,Reading,38.529012,-95.98949
+66869,KS,Strong City,38.41292,-96.517192
+66870,KS,Virgil,37.897594,-96.032935
+66871,KS,Waverly,38.378214,-95.598201
+66872,KS,White City,38.78902,-96.763677
+66873,KS,Wilsey,38.633449,-96.670407
+66901,KS,Rice,39.559427,-97.662735
+66930,KS,Agenda,39.702868,-97.426983
+66931,KS,Ames,39.533923,-97.538245
+66932,KS,Athol,39.771872,-98.907733
+66933,KS,Barnes,39.684114,-96.867574
+66935,KS,Belleville,39.824054,-97.629016
+66936,KS,Burr Oak,39.893177,-98.349911
+66937,KS,Clifton,39.620121,-97.261104
+66938,KS,Clyde,39.575842,-97.407999
+66939,KS,Courtland,39.78509,-97.889956
+66940,KS,Cuba,39.797482,-97.449623
+66941,KS,Esbon,39.756186,-98.446222
+66942,KS,Formoso,39.779467,-97.988909
+66943,KS,Greenleaf,39.706145,-96.977465
+66944,KS,Haddam,39.851969,-97.308142
+66945,KS,Hanover,39.89266,-96.868947
+66946,KS,Hollenberg,39.959987,-96.973509
+66948,KS,Jamestown,39.602144,-97.863082
+66949,KS,Ionia,39.669686,-98.125603
+66951,KS,Kensington,39.769179,-99.030848
+66952,KS,Bellaire,39.812839,-98.558148
+66953,KS,Linn,39.684687,-97.085412
+66955,KS,Mahaska,39.984502,-97.345272
+66956,KS,Mankato,39.783259,-98.215227
+66958,KS,Morrowville,39.861551,-97.182521
+66959,KS,Munden,39.927219,-97.540302
+66960,KS,Narka,39.958162,-97.424332
+66961,KS,Norway,39.695305,-97.811926
+66962,KS,Palmer,39.619165,-97.112214
+66963,KS,Randall,39.62859,-98.066054
+66964,KS,Republic,39.937572,-97.843456
+66966,KS,Scandia,39.793861,-97.778645
+66967,KS,Smith Center,39.804217,-98.784243
+66968,KS,Washington,39.82234,-97.048368
+66970,KS,Webber,39.924496,-97.997793
+67001,KS,Andale,37.782686,-97.640712
+67002,KS,Andover,37.698531,-97.117901
+67003,KS,Anthony,37.151206,-98.028499
+67004,KS,Argonia,37.283966,-97.755678
+67005,KS,Arkansas City,37.067593,-97.035658
+67008,KS,Atlanta,37.434309,-96.766135
+67009,KS,Attica,37.25277,-98.226425
+67010,KS,Augusta,37.683606,-96.964772
+67012,KS,Beaumont,37.607871,-96.63864
+67013,KS,Belle Plaine,37.405155,-97.285221
+67014,KS,67014,37.512029,-98.196403
+67016,KS,Bentley,37.879582,-97.516381
+67017,KS,Benton,37.794615,-97.097117
+67018,KS,Bluff City,37.083846,-97.875412
+67019,KS,Burden,37.320856,-96.757044
+67020,KS,Burrton,38.026128,-97.666649
+67021,KS,Byers,37.784693,-98.901662
+67022,KS,Caldwell,37.045241,-97.624659
+67023,KS,Cambridge,37.358348,-96.66388
+67024,KS,Cedar Vale,37.126487,-96.470133
+67025,KS,Cheney,37.635299,-97.768638
+67026,KS,Clearwater,37.507592,-97.508179
+67028,KS,Coats,37.512502,-98.850398
+67029,KS,Coldwater,37.247915,-99.311484
+67030,KS,Colwich,37.77824,-97.540518
+67031,KS,Conway Springs,37.390272,-97.628358
+67032,KS,Corbin,37.073142,-97.526326
+67035,KS,Penalosa,37.666149,-98.39297
+67036,KS,Danville,37.267424,-97.868933
+67037,KS,Derby,37.552976,-97.254888
+67038,KS,Dexter,37.164087,-96.691702
+67039,KS,Douglass,37.51951,-96.994848
+67041,KS,Elbing,38.046208,-97.112766
+67042,KS,El Dorado,37.822649,-96.854297
+67045,KS,Eureka,37.826471,-96.295877
+67047,KS,Fall River,37.621049,-96.043456
+67049,KS,Freeport,37.190257,-97.86342
+67050,KS,Garden Plain,37.676712,-97.66002
+67051,KS,Geuda Springs,37.08093,-97.179504
+67052,KS,Goddard,37.657483,-97.536408
+67053,KS,Goessel,38.234259,-97.33628
+67054,KS,Greensburg,37.608367,-99.301057
+67056,KS,Halstead,38.006391,-97.511792
+67057,KS,Hardtner,37.030009,-98.654732
+67058,KS,Harper,37.290943,-98.017978
+67059,KS,Haviland,37.609615,-99.133964
+67060,KS,Haysville,37.56467,-97.355323
+67061,KS,Hazelton,37.098421,-98.400319
+67062,KS,Hesston,38.135951,-97.449458
+67063,KS,Hillsboro,38.344907,-97.212154
+67065,KS,Isabel,37.448544,-98.53514
+67066,KS,Iuka,37.739725,-98.736103
+67068,KS,Belmont,37.636246,-98.109295
+67070,KS,Kiowa,37.017166,-98.485908
+67071,KS,Lake City,37.356885,-98.809833
+67072,KS,Latham,37.530983,-96.679148
+67073,KS,Lehigh,38.377106,-97.304315
+67074,KS,Leon,37.681268,-96.752634
+67101,KS,Maize,37.774727,-97.468874
+67102,KS,Maple City,37.071295,-96.781387
+67103,KS,Mayfield,37.251806,-97.541603
+67104,KS,Medicine Lodge,37.284452,-98.584785
+67105,KS,Milan,37.257764,-97.652065
+67106,KS,Milton,37.440064,-97.759156
+67107,KS,Moundridge,38.206029,-97.508767
+67108,KS,Mount Hope,37.868412,-97.659092
+67109,KS,Mullinville,37.571608,-99.46388
+67110,KS,Mulvane,37.476433,-97.231954
+67111,KS,Murdock,37.609945,-97.95027
+67112,KS,Nashville,37.434419,-98.417052
+67114,KS,Newton,38.045067,-97.343457
+67117,KS,North Newton,38.128246,-97.328796
+67118,KS,Norwich,37.4501,-97.866247
+67119,KS,Oxford,37.265303,-97.176131
+67120,KS,Peck,37.472445,-97.311565
+67122,KS,Piedmont,37.637169,-96.369503
+67123,KS,Potwin,37.971872,-97.000608
+67124,KS,Pratt,37.650219,-98.73003
+67127,KS,Protection,37.196782,-99.481628
+67128,KS,Rago,37.439824,-98.077208
+67131,KS,Rock,37.429435,-96.936468
+67132,KS,Rosalia,37.796041,-96.648161
+67133,KS,Rose Hill,37.578371,-97.117346
+67134,KS,Sawyer,37.51007,-98.66422
+67135,KS,Sedgwick,37.869328,-97.402412
+67137,KS,Climax,37.64985,-96.229777
+67138,KS,Sharon,37.249239,-98.414168
+67140,KS,South Haven,37.049997,-97.404228
+67142,KS,Spivey,37.440986,-98.175122
+67143,KS,Sun City,37.394647,-98.90386
+67144,KS,Towanda,37.800506,-96.991769
+67146,KS,Udall,37.393861,-97.110784
+67147,KS,Valley Center,37.861643,-97.262146
+67149,KS,Viola,37.569624,-97.630636
+67150,KS,Waldron,37.072994,-98.228877
+67151,KS,Walton,38.123909,-97.236077
+67152,KS,Wellington,37.27783,-97.390976
+67154,KS,Whitewater,37.961231,-97.130816
+67155,KS,Wilmore,37.331794,-99.184577
+67156,KS,Winfield,37.241621,-96.979987
+67159,KS,Zenda,37.437253,-98.28736
+67202,KS,Wichita,37.689945,-97.33551
+67203,KS,Wichita,37.704798,-97.363766
+67204,KS,Wichita,37.748838,-97.356563
+67205,KS,Wichita,37.763929,-97.426924
+67206,KS,Eastborough,37.699622,-97.239253
+67207,KS,Eastborough,37.667152,-97.238962
+67208,KS,Wichita,37.702428,-97.281062
+67209,KS,Wichita,37.677855,-97.42354
+67210,KS,Wichita,37.637915,-97.261254
+67211,KS,Wichita,37.666181,-97.316451
+67212,KS,Wichita,37.700683,-97.438344
+67213,KS,Wichita,37.667959,-97.359074
+67214,KS,Wichita,37.705051,-97.313284
+67215,KS,Wichita,37.633333,-97.424985
+67216,KS,Wichita,37.622332,-97.313625
+67217,KS,Wichita,37.626574,-97.358139
+67218,KS,Wichita,37.669007,-97.280219
+67219,KS,Park City,37.76482,-97.313517
+67220,KS,Bel Aire,37.74548,-97.275915
+67221,KS,Mc Connell A F B,37.623687,-97.254021
+67223,KS,Wichita,37.748434,-97.467421
+67226,KS,Wichita,37.737891,-97.247853
+67227,KS,Wichita,37.588466,-97.460561
+67228,KS,Wichita,37.776061,-97.201404
+67230,KS,Wichita,37.680814,-97.155764
+67231,KS,Wichita,37.526866,-97.423384
+67232,KS,Wichita,37.642797,-97.164278
+67233,KS,Wichita,37.54434,-97.32237
+67235,KS,Wichita,37.668631,-97.461145
+67236,KS,Wichita,37.497943,-97.26821
+67301,KS,Independence,37.229247,-95.716528
+67330,KS,Altamont,37.187298,-95.298302
+67332,KS,Bartlett,37.060096,-95.211512
+67333,KS,Caney,37.022412,-95.909128
+67335,KS,Cherryvale,37.266828,-95.559019
+67336,KS,Chetopa,37.041817,-95.079572
+67337,KS,Coffeyville,37.044056,-95.632756
+67341,KS,Dennis,37.324324,-95.411602
+67342,KS,Edna,37.056146,-95.344159
+67344,KS,Elk City,37.314571,-95.913517
+67345,KS,Elk Falls,37.374514,-96.195902
+67346,KS,Grenola,37.366824,-96.439564
+67347,KS,Havana,37.091655,-95.941372
+67349,KS,Howard,37.48089,-96.256298
+67351,KS,Liberty,37.157629,-95.601698
+67352,KS,Longton,37.390455,-96.081379
+67353,KS,Moline,37.364868,-96.306875
+67354,KS,Mound Valley,37.209078,-95.424712
+67355,KS,Niotaze,37.05133,-96.01922
+67356,KS,Oswego,37.182254,-95.133458
+67357,KS,Parsons,37.338888,-95.269288
+67360,KS,Peru,37.056823,-96.140376
+67361,KS,Sedan,37.12968,-96.173248
+67401,KS,Bavaria,38.823802,-97.608787
+67410,KS,Abilene,38.937144,-97.20632
+67414,KS,Ada,39.157777,-97.887387
+67416,KS,Assaria,38.667596,-97.62032
+67417,KS,Aurora,39.447188,-97.530411
+67418,KS,Barnard,39.181572,-98.071144
+67420,KS,Scottsville,39.45446,-98.111714
+67422,KS,Bennington,39.02239,-97.603121
+67423,KS,Beverly,38.984416,-97.981785
+67425,KS,Brookville,38.785771,-97.863002
+67427,KS,Bushton,38.501836,-98.401629
+67428,KS,Canton,38.385838,-97.429072
+67429,KS,Carlton,38.6729,-97.307506
+67430,KS,Cawker City,39.511529,-98.433458
+67431,KS,Chapman,38.972225,-97.016961
+67432,KS,Clay Center,39.384354,-97.127793
+67436,KS,Delphos,39.273122,-97.771692
+67437,KS,Downs,39.502753,-98.544117
+67438,KS,Durham,38.503836,-97.255532
+67439,KS,Ellsworth,38.731219,-98.205678
+67441,KS,Enterprise,38.906321,-97.112222
+67442,KS,Falun,38.664794,-97.755411
+67443,KS,Galva,38.382377,-97.53592
+67444,KS,Geneseo,38.503655,-98.185818
+67445,KS,Glasco,39.362092,-97.841829
+67446,KS,Glen Elder,39.495775,-98.315508
+67447,KS,Green,39.420056,-96.999424
+67448,KS,Gypsum,38.704744,-97.43384
+67449,KS,Delavan,38.702306,-97.015491
+67450,KS,Holyrood,38.589955,-98.415916
+67451,KS,Hope,38.6776,-97.106126
+67452,KS,Hunter,39.242964,-98.401745
+67454,KS,Kanopolis,38.709111,-98.157468
+67455,KS,Westfall,39.028644,-98.140426
+67456,KS,Lindsborg,38.576058,-97.67389
+67457,KS,Little River,38.407868,-98.011317
+67458,KS,Longford,39.174324,-97.208662
+67459,KS,Lorraine,38.565175,-98.289954
+67460,KS,Conway,38.373732,-97.654989
+67463,KS,Manchester,39.087051,-97.309547
+67464,KS,Marquette,38.556028,-97.838079
+67465,KS,Mentor,38.732103,-97.566034
+67466,KS,Miltonvale,39.348078,-97.457911
+67467,KS,Minneapolis,39.129487,-97.668778
+67468,KS,Morganville,39.509219,-97.249219
+67469,KS,Navarre,38.81772,-97.105554
+67470,KS,New Cambria,38.896008,-97.523012
+67472,KS,Oakhill,39.247668,-97.330501
+67473,KS,Osborne,39.419402,-98.696081
+67474,KS,Portis,39.545545,-98.690446
+67475,KS,Ramona,38.577726,-97.075874
+67476,KS,Roxbury,38.474325,-97.42719
+67478,KS,Simpson,39.373074,-97.948887
+67479,KS,Smolan,38.76442,-97.713277
+67480,KS,Solomon,38.919359,-97.351803
+67481,KS,Sylvan Grove,39.032443,-98.373031
+67482,KS,Talmage,39.008594,-97.297367
+67483,KS,Tampa,38.553437,-97.177388
+67484,KS,Culver,38.998318,-97.828375
+67485,KS,Tipton,39.343639,-98.464391
+67487,KS,Wakefield,39.224916,-97.022851
+67488,KS,Wells,39.059224,-97.554636
+67490,KS,Wilson,38.813373,-98.443216
+67491,KS,Windom,38.384518,-97.896476
+67492,KS,Woodbine,38.813064,-96.961935
+67501,KS,Hutchinson,38.054995,-97.931052
+67502,KS,Medora,38.091483,-97.920517
+67505,KS,South Hutchinson,38.007306,-97.90814
+67510,KS,Abbyville,37.962597,-98.207103
+67511,KS,Albert,38.475758,-98.980714
+67512,KS,Alden,38.234303,-98.311202
+67513,KS,Alexander,38.456996,-99.537828
+67514,KS,Arlington,37.859795,-98.159045
+67515,KS,Arnold,38.609122,-100.012003
+67516,KS,Bazine,38.456457,-99.701607
+67517,KS,Beaver,38.650055,-98.648327
+67518,KS,Beeler,38.48113,-100.170957
+67519,KS,Belpre,37.934655,-99.09357
+67520,KS,Bison,38.519332,-99.198634
+67521,KS,Brownell,38.623854,-99.732806
+67522,KS,Buhler,38.130903,-97.769093
+67523,KS,Burdett,38.210384,-99.527515
+67524,KS,Chase,38.363515,-98.355634
+67525,KS,Claflin,38.540885,-98.53722
+67526,KS,Ellinwood,38.356498,-98.584872
+67529,KS,Garfield,38.064929,-99.237433
+67530,KS,Heizer,38.370937,-98.783103
+67543,KS,Haven,37.868593,-97.777244
+67544,KS,Susank,38.529246,-98.791041
+67545,KS,Hudson,38.148493,-98.640815
+67546,KS,Inman,38.223212,-97.795107
+67547,KS,Kinsley,37.924715,-99.411556
+67548,KS,La Crosse,38.531144,-99.309733
+67549,KS,67549,37.833447,-98.307511
+67550,KS,Radium,38.179643,-99.112382
+67552,KS,Lewis,37.906223,-99.247977
+67553,KS,Liebenthal,38.646585,-99.282051
+67554,KS,Lyons,38.334881,-98.183094
+67556,KS,Mc Cracken,38.595734,-99.553982
+67557,KS,Macksville,37.943276,-98.948052
+67559,KS,Nekoma,38.437226,-99.42338
+67560,KS,Ness City,38.438754,-99.90286
+67561,KS,Nickerson,38.141171,-98.067408
+67562,KS,Odin,38.55628,-98.626762
+67563,KS,Offerle,37.882805,-99.549757
+67564,KS,Galatia,38.567045,-98.92899
+67565,KS,Galatia,38.509239,-99.065635
+67566,KS,Partridge,37.967129,-98.079811
+67567,KS,Pawnee Rock,38.278193,-98.981436
+67568,KS,Plevna,37.965762,-98.298807
+67570,KS,Pretty Prairie,37.77828,-97.988603
+67572,KS,Ransom,38.640003,-99.926651
+67573,KS,Raymond,38.287677,-98.411867
+67574,KS,Rozel,38.214823,-99.404846
+67575,KS,Rush Center,38.453341,-99.307881
+67576,KS,Saint John,38.030939,-98.764653
+67577,KS,Seward,38.206558,-98.76391
+67578,KS,Stafford,37.955372,-98.592854
+67579,KS,Sterling,38.212621,-98.205474
+67580,KS,67580,38.647124,-98.761573
+67581,KS,Sylvia,37.955687,-98.406765
+67582,KS,Timken,38.445489,-99.190154
+67583,KS,Langdon,37.809593,-98.421798
+67584,KS,Utica,38.641057,-100.137976
+67601,KS,Antonino,38.878046,-99.320134
+67621,KS,Agra,39.803701,-99.125543
+67622,KS,Almena,39.889071,-99.704177
+67623,KS,Alton,39.451422,-98.953875
+67625,KS,Bogue,39.378221,-99.67882
+67626,KS,Bunker Hill,38.835704,-98.678285
+67627,KS,Catharine,38.96034,-99.215992
+67628,KS,Cedar,39.660242,-98.936923
+67629,KS,Clayton,39.69985,-100.059623
+67630,KS,Codell,39.206652,-99.159186
+67631,KS,Collyer,38.965231,-100.06921
+67632,KS,Damar,39.324181,-99.581056
+67633,KS,67633,39.624374,-99.674433
+67634,KS,Dorrance,38.834784,-98.569471
+67635,KS,Dresden,39.609357,-100.411219
+67636,KS,Edmond,39.661348,-99.784185
+67637,KS,Ellis,38.947128,-99.52851
+67638,KS,Gaylord,39.659923,-98.801751
+67639,KS,Glade,39.670373,-99.29963
+67640,KS,Gorham,38.872226,-99.01116
+67641,KS,Harlan,39.611345,-98.789796
+67642,KS,Hill City,39.35657,-99.842921
+67643,KS,Jennings,39.676242,-100.283441
+67644,KS,Kirwin,39.671716,-99.120378
+67645,KS,Densmore,39.609364,-100.001566
+67646,KS,Logan,39.661096,-99.568694
+67647,KS,Long Island,39.951683,-99.539125
+67648,KS,Lucas,39.058126,-98.535186
+67649,KS,Luray,39.103856,-98.685084
+67650,KS,Morland,39.322905,-100.07328
+67651,KS,Natoma,39.201341,-98.982863
+67652,KS,New Almelo,39.624755,-100.139829
+67653,KS,Norcatur,39.844661,-100.200714
+67654,KS,Norton,39.840706,-99.887832
+67656,KS,Ogallah,38.932307,-99.681117
+67657,KS,Palco,39.253107,-99.559265
+67658,KS,Paradise,39.075617,-98.920723
+67659,KS,Penokee,39.391667,-99.919603
+67660,KS,Pfeifer,38.729915,-99.141162
+67661,KS,Phillipsburg,39.762333,-99.33284
+67663,KS,Plainville,39.230823,-99.300827
+67664,KS,Prairie View,39.836967,-99.568314
+67665,KS,Russell,38.880563,-98.859451
+67667,KS,Schoenchen,38.748087,-99.386872
+67669,KS,Stockton,39.43761,-99.287106
+67671,KS,Victoria,38.858932,-99.139057
+67672,KS,Wa Keeney,39.011415,-99.881824
+67673,KS,Waldo,39.087715,-98.778516
+67675,KS,Woodston,39.443118,-99.103745
+67676,KS,Zurich,39.218155,-99.44908
+67701,KS,Colby,39.383038,-101.044169
+67730,KS,Atwood,39.792607,-101.031766
+67731,KS,Bird City,39.757941,-101.531875
+67732,KS,Brewster,39.36552,-101.372973
+67733,KS,Edson,39.357873,-101.520999
+67734,KS,Gem,39.429587,-100.894781
+67735,KS,Goodland,39.349099,-101.716396
+67736,KS,Gove,38.886969,-100.486707
+67737,KS,Grainfield,39.103016,-100.468038
+67738,KS,Grinnell,39.085107,-100.662052
+67739,KS,Herndon,39.90356,-100.813935
+67740,KS,Hoxie,39.332189,-100.47583
+67741,KS,Kanorado,39.343753,-102.001491
+67743,KS,Levant,39.384083,-101.209587
+67744,KS,Ludell,39.863037,-100.960352
+67745,KS,Mc Donald,39.792304,-101.322697
+67746,KS,67746,39.340679,-100.752304
+67747,KS,Monument,39.07896,-101.034952
+67748,KS,Oakley,39.112102,-100.858048
+67749,KS,Oberlin,39.827507,-100.531389
+67751,KS,Park,39.078832,-100.34694
+67752,KS,Quinter,39.036252,-100.233739
+67753,KS,Menlo,39.462185,-100.748982
+67755,KS,Russell Springs,38.868374,-101.2759
+67756,KS,Wheeler,39.773634,-101.81226
+67757,KS,Selden,39.521636,-100.525695
+67758,KS,Sharon Springs,38.885661,-101.743118
+67759,KS,Studley,39.261618,-100.281436
+67761,KS,Wallace,38.874675,-101.573474
+67762,KS,Weskan,38.864867,-101.951162
+67764,KS,Winona,39.061038,-101.221569
+67801,KS,Dodge City,37.756882,-100.024074
+67830,KS,67830,38.488191,-100.314071
+67831,KS,Ashland,37.182345,-99.75904
+67833,KS,67833,37.50452,-99.915745
+67834,KS,Bucklin,37.552974,-99.632543
+67835,KS,Cimarron,37.812727,-100.343825
+67837,KS,Copeland,37.567994,-100.614815
+67838,KS,Deerfield,38.00677,-101.143141
+67839,KS,Alamota,38.474588,-100.458023
+67840,KS,Englewood,37.065751,-99.987793
+67841,KS,Ensign,37.641381,-100.249555
+67842,KS,Ford,37.632312,-99.76422
+67843,KS,Fort Dodge,37.70652,-99.945631
+67844,KS,Fowler,37.354201,-100.19815
+67846,KS,Garden City,37.97693,-100.862088
+67849,KS,Hanston,38.108964,-99.69278
+67850,KS,Healy,38.566355,-100.615941
+67851,KS,Holcomb,37.993105,-100.989323
+67853,KS,Ingalls,37.829339,-100.514253
+67854,KS,Jetmore,38.073829,-99.932668
+67855,KS,Johnson,37.569424,-101.719354
+67856,KS,Kalvesta,38.102796,-100.443095
+67857,KS,Kendall,37.963657,-101.596883
+67858,KS,Kingsdown,37.52138,-99.751553
+67859,KS,Kismet,37.133601,-100.750645
+67860,KS,Lakin,37.938197,-101.271297
+67861,KS,Leoti,38.498726,-101.358851
+67862,KS,Manter,37.545094,-101.910869
+67863,KS,Modoc,38.482523,-101.199231
+67864,KS,Meade,37.282137,-100.336378
+67865,KS,Bloom,37.42454,-99.960358
+67866,KS,67866,38.486906,-100.996709
+67867,KS,Montezuma,37.601638,-100.446127
+67868,KS,Pierceville,37.907739,-100.71177
+67869,KS,Plains,37.270106,-100.573174
+67870,KS,Satanta,37.440916,-100.96908
+67871,KS,Friend,38.47994,-100.899331
+67874,KS,Shields,38.620794,-100.417699
+67876,KS,Spearville,37.823473,-99.737041
+67877,KS,Sublette,37.522148,-100.820775
+67878,KS,Syracuse,37.982581,-101.768654
+67879,KS,Tribune,38.496219,-101.765584
+67880,KS,Ulysses,37.579174,-101.348846
+67882,KS,Wright,37.767638,-99.923766
+67901,KS,Liberal,37.043789,-100.92857
+67950,KS,Elkhart,37.015448,-101.901244
+67951,KS,Hugoton,37.168226,-101.334614
+67952,KS,Moscow,37.317175,-101.242699
+67953,KS,Richfield,37.283364,-101.700382
+67954,KS,Rolla,37.108881,-101.644683
+40003,KY,Bagdad,38.260811,-85.065142
+40004,KY,Bardstown,37.80835,-85.461343
+40006,KY,Bedford,38.586363,-85.313331
+40007,KY,Bethlehem,38.402433,-85.064874
+40008,KY,Bloomfield,37.907979,-85.286209
+40009,KY,Bradfordsville,37.46622,-85.143599
+40010,KY,Buckner,38.363008,-85.47406
+40011,KY,Campbellsburg,38.523083,-85.161094
+40012,KY,Chaplin,37.902541,-85.201472
+40013,KY,Deatsville,37.896386,-85.484159
+40014,KY,Crestwood,38.332637,-85.461038
+40019,KY,Eminence,38.369606,-85.17816
+40022,KY,Finchville,38.156064,-85.347573
+40023,KY,Fisherville,38.165154,-85.428222
+40026,KY,Goshen,38.411294,-85.570816
+40028,KY,Howardstown,37.566393,-85.554769
+40031,KY,La Grange,38.402897,-85.392819
+40033,KY,Lebanon,37.565834,-85.266811
+40036,KY,Lockport,38.421874,-84.958635
+40037,KY,Loretto,37.642112,-85.411297
+40040,KY,Mackville,37.724703,-85.085201
+40045,KY,Milton,38.692489,-85.36593
+40046,KY,Mount Eden,38.035238,-85.164114
+40047,KY,Mount Washington,38.045206,-85.558631
+40050,KY,New Castle,38.437368,-85.175567
+40051,KY,Trappist,37.666327,-85.557694
+40055,KY,Pendleton,38.480918,-85.317019
+40056,KY,Pewee Valley,38.303945,-85.483377
+40057,KY,Cropper,38.358718,-85.087198
+40059,KY,Prospect,38.355987,-85.608287
+40060,KY,Raywick,37.537959,-85.43003
+40061,KY,Saint Catharine,37.699126,-85.27106
+40062,KY,Saint Francis,37.628644,-85.464208
+40065,KY,Shelbyville,38.216222,-85.224271
+40067,KY,Simpsonville,38.231186,-85.354797
+40068,KY,Smithfield,38.393308,-85.265579
+40069,KY,Maud,37.701352,-85.240473
+40070,KY,Sulphur,38.492062,-85.252021
+40071,KY,Taylorsville,38.047054,-85.382861
+40075,KY,Turners Station,38.550361,-85.132512
+40076,KY,Waddy,38.105445,-85.12883
+40077,KY,Westport,38.492068,-85.45242
+40078,KY,Willisburg,37.837333,-85.136187
+40103,KY,40103,37.684826,-86.444084
+40104,KY,Battletown,38.039295,-86.299104
+40106,KY,Big Spring,37.798795,-86.191791
+40107,KY,Boston,37.763991,-85.619927
+40108,KY,Brandenburg,37.96624,-86.108359
+40109,KY,Brooks,38.054576,-85.771344
+40111,KY,Cloverport,37.822125,-86.595401
+40114,KY,Constantine,37.679412,-86.24009
+40115,KY,Custer,37.742593,-86.271006
+40117,KY,Ekron,37.91129,-86.154212
+40118,KY,Fairdale,38.108668,-85.754924
+40119,KY,Glen Dean,37.569353,-86.510747
+40121,KY,Fort Knox,37.892798,-85.948909
+40140,KY,Garfield,37.814508,-86.316868
+40141,KY,40141,37.650765,-86.518324
+40142,KY,Guston,37.89511,-86.215515
+40143,KY,Mooleyville,37.772548,-86.416856
+40144,KY,Locust Hill,37.742925,-86.37779
+40145,KY,Hudson,37.650613,-86.301238
+40146,KY,Irvington,37.876239,-86.296534
+40150,KY,Lebanon Junction,37.851054,-85.724641
+40152,KY,Mc Daniels,37.595251,-86.397278
+40157,KY,Payneville,38.030128,-86.408164
+40160,KY,Radcliff,37.826652,-85.940408
+40161,KY,Rhodelia,37.968538,-86.304079
+40162,KY,Rineyville,37.75249,-85.995395
+40163,KY,40163,37.911025,-86.497033
+40164,KY,Se Ree,37.676018,-86.399176
+40165,KY,Shepherdsville,38.004515,-85.688767
+40170,KY,Stephensport,37.904781,-86.523961
+40171,KY,Union Star,37.961589,-86.461519
+40175,KY,Vine Grove,37.858937,-86.006888
+40176,KY,Webster,37.923936,-86.403204
+40177,KY,West Point,37.995408,-85.954502
+40178,KY,Westview,37.679196,-86.427286
+40202,KY,Louisville,38.250734,-85.747646
+40203,KY,Louisville,38.245332,-85.762595
+40204,KY,Louisville,38.236936,-85.724938
+40205,KY,Louisville,38.22217,-85.688542
+40206,KY,Saint Matthews,38.256495,-85.697581
+40207,KY,Saint Matthews,38.257908,-85.649689
+40208,KY,Louisville,38.219988,-85.764823
+40209,KY,Louisville,38.190125,-85.751904
+40210,KY,Louisville,38.230585,-85.790548
+40211,KY,Louisville,38.241958,-85.81265
+40212,KY,Louisville,38.265116,-85.804479
+40213,KY,Louisville,38.183929,-85.710642
+40214,KY,Louisville,38.159318,-85.778027
+40215,KY,Louisville,38.191319,-85.784707
+40216,KY,Shively,38.186138,-85.831771
+40217,KY,Louisville,38.21736,-85.740371
+40218,KY,Buechel,38.191084,-85.654834
+40219,KY,Okolona,38.141291,-85.680548
+40220,KY,Louisville,38.21494,-85.624489
+40222,KY,Lyndon,38.263825,-85.611183
+40223,KY,Anchorage,38.253688,-85.561151
+40228,KY,Buechel,38.1392,-85.630967
+40229,KY,Okolona,38.090655,-85.671889
+40241,KY,Lyndon,38.301509,-85.582421
+40242,KY,Lyndon,38.276858,-85.590224
+40243,KY,Middletown,38.240115,-85.537381
+40245,KY,Louisville,38.268273,-85.484461
+40258,KY,Pleasure Ridge P,38.142369,-85.862505
+40272,KY,Valley Station,38.097063,-85.858701
+40291,KY,Fern Creek,38.15205,-85.594513
+40299,KY,Jeffersontown,38.188491,-85.568947
+40311,KY,Carlisle,38.321233,-84.027902
+40312,KY,Westbend,37.860571,-83.934693
+40313,KY,Clearfield,38.143992,-83.327289
+40316,KY,Denniston,37.919068,-83.513136
+40322,KY,Scranton,37.946031,-83.642405
+40324,KY,Georgetown,38.211712,-84.556179
+40327,KY,Gratz,38.478104,-84.942882
+40328,KY,Gravel Switch,37.575802,-85.082403
+40330,KY,Cornishville,37.769989,-84.84675
+40336,KY,Jinks,37.705051,-83.996172
+40337,KY,Jeffersonville,37.964004,-83.855778
+40339,KY,Keene,37.941057,-84.651924
+40341,KY,Lamero,37.319166,-84.162353
+40342,KY,Lawrenceburg,38.018853,-84.929938
+40345,KY,Mariba,37.913527,-83.553692
+40346,KY,Means,37.928382,-83.725343
+40347,KY,Midway,38.148741,-84.692845
+40350,KY,Moorefield,38.292627,-83.892889
+40351,KY,Morehead,38.199047,-83.443645
+40353,KY,Mount Sterling,38.054822,-83.938774
+40355,KY,New Liberty,38.624556,-84.901064
+40356,KY,Nicholasville,37.880794,-84.56459
+40358,KY,Olympia,38.061089,-83.758456
+40359,KY,Owenton,38.4986,-84.808632
+40360,KY,Owingsville,38.153196,-83.756439
+40361,KY,Paris,38.208293,-84.244987
+40365,KY,Pomeroyton,37.874352,-83.526315
+40370,KY,Sadieville,38.390816,-84.538424
+40371,KY,Salt Lick,38.104031,-83.631619
+40372,KY,Bondville,37.915078,-84.884546
+40374,KY,Sharpsburg,38.214742,-83.893199
+40376,KY,Slade,37.788958,-83.684852
+40379,KY,Stamping Ground,38.288802,-84.681824
+40380,KY,Patsey,37.842703,-83.829947
+40383,KY,Versailles,38.041301,-84.728683
+40385,KY,Bybee,37.766833,-84.117061
+40387,KY,Korea,37.965353,-83.47305
+40390,KY,High Bridge,37.862141,-84.662079
+40391,KY,Winchester,37.987161,-84.178894
+40402,KY,Moores Creek,37.306965,-83.959737
+40403,KY,Berea,37.579942,-84.274919
+40409,KY,Brodhead,37.381524,-84.43358
+40415,KY,Cobhill,37.743428,-83.840053
+40417,KY,Conway,37.479933,-84.308072
+40419,KY,Crab Orchard,37.446523,-84.493912
+40422,KY,Danville,37.646524,-84.774696
+40426,KY,Dreyfus,37.650696,-84.154495
+40437,KY,Hustonville,37.459503,-84.852775
+40440,KY,Junction City,37.582157,-84.802782
+40442,KY,Kings Mountain,37.381795,-84.714764
+40444,KY,Lancaster,37.658391,-84.596912
+40445,KY,Livingston,37.307391,-84.231776
+40447,KY,Clover Bottom,37.431678,-84.00896
+40456,KY,Climax,37.336609,-84.354882
+40460,KY,Orlando,37.373405,-84.252801
+40461,KY,Paint Lick,37.609231,-84.426869
+40464,KY,Parksville,37.577768,-84.928132
+40468,KY,Perryville,37.637494,-84.966508
+40471,KY,Pryse,37.684068,-83.842586
+40472,KY,Ravenna,37.686711,-83.938657
+40475,KY,Richmond,37.754605,-84.295526
+40481,KY,Sandgap,37.487097,-84.056676
+40484,KY,Stanford,37.524529,-84.691177
+40486,KY,Elias,37.343023,-83.870674
+40489,KY,Waynesburg,37.349932,-84.665486
+40502,KY,Lexington,38.017394,-84.485423
+40503,KY,Lexington,38.001002,-84.52821
+40504,KY,Lexington,38.040628,-84.543325
+40505,KY,Lexington,38.061201,-84.458338
+40507,KY,Lexington,38.046385,-84.495289
+40508,KY,Lexington,38.04754,-84.496435
+40509,KY,Lexington,38.010166,-84.427419
+40510,KY,Lexington,38.070211,-84.591046
+40511,KY,Lexington,38.093233,-84.500671
+40513,KY,Lexington,38.01388,-84.581522
+40514,KY,Lexington,37.983291,-84.576667
+40515,KY,Lexington,37.965102,-84.470751
+40516,KY,Lexington,38.054355,-84.354802
+40517,KY,Lexington,37.984864,-84.481588
+40601,KY,Hatton,38.192831,-84.88061
+40701,KY,Corbin,36.934429,-84.10208
+40724,KY,Bush,37.070874,-83.976117
+40729,KY,Symbol,37.190779,-84.145676
+40734,KY,Gray,36.946743,-83.982799
+40737,KY,Keavy,37.015604,-84.143606
+40740,KY,Lily,37.002295,-84.08071
+40741,KY,Sasser,37.101605,-84.097498
+40754,KY,Nevisdale,36.663711,-84.111113
+40759,KY,Rockholds,36.824216,-84.104048
+40763,KY,Siler,36.720352,-83.964192
+40769,KY,Pleasant View,36.735535,-84.143592
+40771,KY,Woodbine,36.918793,-84.082743
+40801,KY,Ages Brookside,36.840734,-83.235294
+40806,KY,Baxter,36.874913,-83.314082
+40807,KY,Benham,36.957377,-82.909399
+40808,KY,Big Laurel,37.002795,-83.156468
+40810,KY,Lewis Creek,36.912348,-83.353901
+40813,KY,Calvin,36.707818,-83.737144
+40815,KY,Crummies,36.74619,-83.265719
+40817,KY,40817,36.847053,-83.387894
+40818,KY,Coalgood,36.793394,-83.238782
+40819,KY,Coldiron,36.877718,-83.409591
+40820,KY,Cranks,36.760228,-83.203948
+40823,KY,Cumberland,36.971085,-82.977052
+40824,KY,Dayhoit,36.864603,-83.394329
+40825,KY,Dizney,36.817697,-83.117659
+40826,KY,Eolia,37.061767,-82.77062
+40828,KY,Louellen,36.855294,-83.181648
+40829,KY,Grays Knob,36.811105,-83.323998
+40830,KY,Gulston,36.765622,-83.326227
+40831,KY,Chevrolet,36.84999,-83.319573
+40843,KY,Holmes Mill,36.875652,-82.994304
+40845,KY,Hulen,36.771449,-83.555132
+40846,KY,Keith,36.871241,-83.361367
+40847,KY,Kenvir,36.777596,-83.16055
+40849,KY,Lejunior,36.921199,-83.190486
+40855,KY,Lynch,36.997856,-82.915629
+40858,KY,Mozelle,37.003666,-83.413499
+40861,KY,Oven Fork,37.053929,-82.818484
+40862,KY,Partridge,37.012932,-82.877168
+40863,KY,Pathfork,36.752071,-83.462925
+40865,KY,Putney,36.925907,-83.260793
+40867,KY,Smith,36.71869,-83.320906
+40868,KY,Stinnett,37.08835,-83.390742
+40870,KY,Totz,36.970968,-83.201891
+40873,KY,Wallins Creek,36.816532,-83.418968
+40902,KY,Arjay,36.828342,-83.641537
+40903,KY,Artemus,36.838837,-83.832886
+40905,KY,40905,36.929529,-83.919839
+40906,KY,Bailey Switch,36.864807,-83.899316
+40913,KY,Beverly,36.944179,-83.556031
+40914,KY,Big Creek,37.14168,-83.633095
+40915,KY,Bimble,36.886751,-83.828179
+40921,KY,Bryants Store,36.783087,-83.930729
+40923,KY,Cannon,36.94888,-83.842498
+40927,KY,Closplint,36.89227,-83.099766
+40930,KY,Dewitt,36.8738,-83.73156
+40935,KY,Salt Gum,36.834531,-83.771397
+40940,KY,Fonde,36.64455,-83.895022
+40943,KY,Girdler,36.969096,-83.85388
+40946,KY,Green Road,36.998937,-83.895768
+40949,KY,Heidrick,36.892696,-83.866509
+40953,KY,Hinkle,36.875323,-83.780441
+40958,KY,Kettle Island,36.809344,-83.589183
+40962,KY,Bright Shade,37.142321,-83.768291
+40964,KY,Mary Alice,36.706797,-83.424408
+40965,KY,Middlesboro,36.617188,-83.723079
+40970,KY,Mills,36.940659,-83.605305
+40972,KY,Oneida,37.2677,-83.655467
+40977,KY,Callaway,36.751302,-83.698502
+40979,KY,Roark,37.024432,-83.506201
+40980,KY,40980,36.964535,-83.69705
+40982,KY,Scalf,36.91748,-83.726554
+40983,KY,Sextons Creek,37.27334,-83.798378
+40988,KY,Stoney Fork,36.889184,-83.538504
+40995,KY,Trosper,36.782564,-83.831442
+40997,KY,Walker,36.891138,-83.6616
+40999,KY,Woollum,37.009657,-83.847202
+41001,KY,Alexandria,38.940605,-84.394329
+41002,KY,Augusta,38.762991,-83.995352
+41003,KY,Berry,38.515974,-84.361118
+41004,KY,Brooksville,38.664387,-84.078649
+41005,KY,Rabbit Hash,39.032411,-84.74142
+41006,KY,Butler,38.801328,-84.34458
+41007,KY,California,38.900614,-84.309794
+41008,KY,Carrollton,38.669565,-85.173036
+41010,KY,Corinth,38.53021,-84.584596
+41011,KY,Covington,39.070839,-84.52121
+41014,KY,Rouse,39.066593,-84.505061
+41015,KY,Latonia,39.021686,-84.498858
+41016,KY,Ludlow,39.088946,-84.548304
+41017,KY,Dixie,39.032378,-84.569611
+41018,KY,Erlanger,39.008238,-84.597745
+41030,KY,Crittenden,38.774107,-84.598202
+41031,KY,Cynthiana,38.396403,-84.294921
+41033,KY,Demossville,38.75165,-84.470802
+41034,KY,Dover,38.691016,-83.871793
+41035,KY,Dry Ridge,38.704854,-84.623736
+41039,KY,Ewing,38.415651,-83.873317
+41040,KY,Falmouth,38.664304,-84.345124
+41041,KY,Flemingsburg,38.427983,-83.707968
+41042,KY,Florence,38.994065,-84.641961
+41043,KY,Foster,38.75064,-84.156593
+41044,KY,Germantown,38.707534,-83.960616
+41045,KY,Ghent,38.718823,-85.055662
+41046,KY,Glencoe,38.722946,-84.811552
+41048,KY,Hebron,39.07553,-84.700745
+41049,KY,Hillsboro,38.29294,-83.66967
+41051,KY,Independence,38.935407,-84.547912
+41052,KY,Jonesville,38.648251,-84.76367
+41055,KY,Mays Lick,38.52692,-83.874874
+41056,KY,Limestone Sq,38.619716,-83.758858
+41059,KY,Melbourne,39.006699,-84.353751
+41063,KY,Morning View,38.83942,-84.506918
+41064,KY,Mount Olivet,38.521751,-84.047977
+41071,KY,Southgate,39.082847,-84.486511
+41073,KY,Bellevue,39.102431,-84.478746
+41074,KY,Dayton,39.111428,-84.471155
+41075,KY,Fort Thomas,39.078634,-84.45234
+41076,KY,Newport,39.026184,-84.440792
+41080,KY,Petersburg,39.041561,-84.837104
+41083,KY,Sanders,38.661004,-84.973151
+41085,KY,Silver Grove,39.034262,-84.390849
+41086,KY,Sparta,38.725582,-84.881334
+41091,KY,Union,38.943511,-84.727359
+41092,KY,Verona,38.839012,-84.690722
+41093,KY,Wallingford,38.337449,-83.562532
+41094,KY,Walton,38.887491,-84.63277
+41095,KY,Warsaw,38.780704,-84.849584
+41097,KY,Williamstown,38.629191,-84.57441
+41098,KY,Worthville,38.617948,-85.066321
+41101,KY,Westwood,38.443038,-82.702709
+41102,KY,Ashland,38.461255,-82.644721
+41121,KY,Argillite,38.432228,-82.809442
+41124,KY,Blaine,38.026974,-82.851347
+41127,KY,Camp Dix,38.508044,-83.287793
+41129,KY,Catlettsburg,38.379946,-82.632065
+41132,KY,Denton,38.295212,-82.826924
+41135,KY,Head Of Grassy,38.367225,-83.261786
+41137,KY,Firebrick,38.687785,-83.043203
+41139,KY,Flatwoods,38.518776,-82.72122
+41141,KY,Garrison,38.586915,-83.200036
+41143,KY,Fultz,38.328037,-82.965087
+41144,KY,Lynn,38.547969,-82.868396
+41146,KY,Hitchins,38.254585,-82.920268
+41149,KY,Isonville,38.046229,-83.050607
+41159,KY,Martha,38.015228,-82.95576
+41163,KY,Oldtown,38.441153,-82.95695
+41164,KY,Lawton,38.336275,-83.168985
+41166,KY,Quincy,38.627059,-83.105647
+41168,KY,Rush,38.30893,-82.747602
+41169,KY,Raceland,38.522575,-82.715632
+41170,KY,Saint Paul,38.665445,-83.067931
+41171,KY,Burke,38.129368,-83.12725
+41174,KY,South Portsmouth,38.708706,-83.016218
+41175,KY,Maloneton,38.709269,-82.946373
+41177,KY,Stephens,38.114625,-82.983689
+41178,KY,41178,38.267723,-83.271776
+41179,KY,Trinity,38.551511,-83.355448
+41180,KY,Webbville,38.163377,-82.789743
+41183,KY,Worthington,38.551102,-82.739553
+41189,KY,Tollesboro,38.572332,-83.560458
+41201,KY,Adams,37.991375,-82.702437
+41204,KY,Boons Camp,37.821609,-82.67043
+41214,KY,Davella,37.790019,-82.586729
+41215,KY,Denver,37.796582,-82.863048
+41216,KY,East Point,37.708578,-82.828801
+41219,KY,Elna,37.938594,-82.882825
+41220,KY,Fuget,37.902164,-82.911422
+41222,KY,Hagerhill,37.803511,-82.81491
+41224,KY,Job,37.867149,-82.520421
+41225,KY,41225,37.948703,-82.534771
+41226,KY,Keaton,37.968049,-82.956105
+41228,KY,Leander,37.761904,-82.831045
+41230,KY,Clifford,38.094332,-82.617598
+41231,KY,Lovely,37.792109,-82.363794
+41234,KY,Meally,37.796498,-82.744177
+41237,KY,Offutt,37.852766,-82.708126
+41238,KY,Manila,37.826409,-82.928079
+41240,KY,Nippa,37.819293,-82.805162
+41250,KY,Laura,37.763752,-82.448754
+41254,KY,River,37.875063,-82.670944
+41255,KY,Sitka,37.892187,-82.844554
+41256,KY,Barnetts Creek,37.838463,-82.85743
+41257,KY,Stambaugh,37.84112,-82.76779
+41258,KY,Riceville,37.743408,-82.911269
+41260,KY,Thelma,37.798745,-82.775532
+41262,KY,Davisport,37.879292,-82.599269
+41263,KY,Tutor Key,37.860527,-82.735106
+41265,KY,Van Lear,37.692916,-82.703236
+41266,KY,Fuget,37.902927,-82.911224
+41267,KY,Hode,37.858088,-82.432192
+41269,KY,Whitehouse,37.895347,-82.775328
+41271,KY,Williamsport,37.81416,-82.710455
+41274,KY,Wittensville,37.870297,-82.809987
+41301,KY,Flat,37.750243,-83.516395
+41306,KY,Altro,37.356346,-83.395749
+41311,KY,Vada,37.581891,-83.702337
+41314,KY,Morris Fork,37.478717,-83.660624
+41315,KY,Burkhart,37.687451,-83.273396
+41316,KY,41316,37.465492,-83.460672
+41317,KY,Clayhole,37.466076,-83.281254
+41321,KY,Decoy,37.49046,-83.028956
+41327,KY,Gillmore,37.697155,-83.348026
+41328,KY,Green Hall,37.368938,-83.780693
+41331,KY,Haddix,37.492249,-83.376176
+41332,KY,Grassy Creek,37.775989,-83.398918
+41338,KY,Island City,37.389926,-83.717991
+41339,KY,Canoe,37.557378,-83.396904
+41340,KY,Lambric,37.579455,-83.100888
+41342,KY,Lee City,37.731163,-83.325474
+41343,KY,Leeco,37.698933,-83.692806
+41346,KY,Little,37.432158,-83.382373
+41348,KY,Hardshell,37.484106,-83.328889
+41351,KY,Mistletoe,37.331428,-83.588078
+41357,KY,Noctor,37.569915,-83.270831
+41358,KY,Old Landing,37.639678,-83.805784
+41359,KY,41359,37.490374,-83.741021
+41360,KY,Pine Ridge,37.774872,-83.632059
+41363,KY,Quicksand,37.532947,-83.365098
+41364,KY,Ricetown,37.409305,-83.615062
+41365,KY,Rogers,37.739538,-83.65667
+41366,KY,Rousseau,37.63491,-83.21472
+41367,KY,Rowdy,37.413063,-83.20403
+41369,KY,Saldee,37.455799,-83.373268
+41370,KY,41370,37.388184,-83.502919
+41377,KY,Talbert,37.399505,-83.448185
+41385,KY,Vancleve,37.64768,-83.380553
+41386,KY,Vincent,37.443733,-83.784628
+41390,KY,Whick,37.41022,-83.374707
+41393,KY,41393,37.381593,-83.346466
+41396,KY,Zachariah,37.674917,-83.677244
+41397,KY,Zoe,37.666371,-83.668778
+41401,KY,41401,37.77131,-83.187829
+41407,KY,Caney,37.809847,-83.291662
+41409,KY,Carver,37.650274,-83.069009
+41412,KY,Cottle,37.892975,-83.220078
+41419,KY,Edna,37.799813,-83.179973
+41421,KY,Elkfork,37.940358,-83.077112
+41422,KY,Elsie,37.768875,-83.142321
+41425,KY,Ezel,37.903985,-83.388835
+41429,KY,41429,37.654647,-83.119869
+41431,KY,41431,37.716626,-83.128914
+41441,KY,Hendricks,37.70505,-83.098108
+41447,KY,Lenox,37.967224,-83.181593
+41464,KY,Royalton,37.652116,-82.986669
+41465,KY,Bethanna,37.763499,-83.055443
+41466,KY,Seitz,37.668402,-83.174941
+41472,KY,Blairs Mill,37.949746,-83.279926
+41474,KY,White Oak,37.849769,-83.204869
+41501,KY,Broad Bottom,37.506833,-82.520175
+41503,KY,South Williamson,37.666991,-82.288608
+41512,KY,Ashcamp,37.258909,-82.461269
+41513,KY,Belcher,37.3137,-82.396536
+41514,KY,Belfry,37.64011,-82.257301
+41519,KY,Canada,37.637816,-82.35331
+41522,KY,Senterville,37.302649,-82.353337
+41524,KY,Biggs,37.361002,-82.257466
+41527,KY,Forest Hills,37.643238,-82.299145
+41528,KY,Freeburn,37.551188,-82.143378
+41529,KY,Aflex,37.689943,-82.307961
+41531,KY,Hardy,37.602652,-82.255236
+41535,KY,Huddy,37.566819,-82.25004
+41536,KY,Jamboree,37.485976,-82.089129
+41537,KY,Payne Gap,37.186328,-82.630045
+41539,KY,Kimper,37.469588,-82.318041
+41540,KY,Lick Creek,37.347969,-82.325456
+41543,KY,Mc Andrews,37.544986,-82.2558
+41544,KY,Mc Carr,37.596944,-82.167365
+41545,KY,Mc Combs,37.593432,-82.548228
+41546,KY,Mc Veigh,37.534249,-82.2228
+41548,KY,Mouthcard,37.333908,-82.305424
+41551,KY,Paw Paw,37.435562,-82.134942
+41553,KY,Phelps,37.498736,-82.158378
+41554,KY,Phyllis,37.422152,-82.266786
+41555,KY,Pinsonfork,37.565137,-82.195366
+41557,KY,Fishtrap,37.524072,-82.426256
+41559,KY,Regina,37.359686,-82.373697
+41560,KY,Robinson Creek,37.334708,-82.567679
+41562,KY,Shelbiana,37.375478,-82.455321
+41563,KY,Shelby Gap,37.232743,-82.575149
+41564,KY,Sidney,37.580225,-82.338666
+41565,KY,Speight,37.262473,-82.716502
+41566,KY,Steele,37.40292,-82.207079
+41567,KY,Stone,37.560639,-82.288987
+41568,KY,Argo,37.530336,-82.073522
+41570,KY,Turkey Creek,37.659347,-82.320225
+41571,KY,Varney,37.698541,-82.350976
+41572,KY,Etty,37.313669,-82.649445
+41601,KY,Allen,37.566182,-82.636272
+41602,KY,Auxier,37.721847,-82.767736
+41603,KY,Banner,37.577051,-82.697369
+41604,KY,Ligon,37.372179,-82.680295
+41605,KY,Betsy Layne,37.531593,-82.700249
+41606,KY,Bevinsville,37.338488,-82.712468
+41607,KY,Blue River,37.648097,-82.827361
+41614,KY,Craynor,37.408673,-82.69176
+41615,KY,Dana,37.546653,-82.670501
+41616,KY,David,37.604387,-82.892748
+41622,KY,Eastern,37.532386,-82.826496
+41626,KY,Endicott,37.681936,-82.627608
+41627,KY,Estill,37.46201,-82.819629
+41629,KY,Galveston,37.478249,-82.661868
+41630,KY,Garrett,37.486126,-82.846192
+41631,KY,Grethel,37.459599,-82.739575
+41632,KY,Waldo,37.546661,-82.93574
+41633,KY,Halo,37.307629,-82.730606
+41635,KY,Harold,37.504184,-82.621595
+41636,KY,Buckingham,37.393499,-82.73245
+41637,KY,Pyrmid,37.513484,-82.864919
+41639,KY,Honaker,37.514977,-82.667534
+41640,KY,Elmrock,37.506204,-82.836764
+41642,KY,Ivel,37.555443,-82.64268
+41643,KY,Lackey,37.464283,-82.798012
+41645,KY,Langley,37.538079,-82.797648
+41647,KY,East Mc Dowell,37.425232,-82.745018
+41648,KY,41648,37.566181,-82.798667
+41649,KY,Hite,37.563267,-82.747852
+41653,KY,Emma,37.649462,-82.788135
+41655,KY,Printer,37.505485,-82.706027
+41659,KY,Stanville,37.578386,-82.669174
+41660,KY,Teaberry,37.421955,-82.640456
+41666,KY,Wayland,37.436709,-82.801037
+41701,KY,Darfork,37.252641,-83.199845
+41712,KY,Ary,37.354364,-83.139253
+41714,KY,Bear Branch,37.210894,-83.494449
+41719,KY,Blue Diamond,37.310812,-83.228579
+41721,KY,Buckhorn,37.301036,-83.493648
+41722,KY,Tribbey,37.328174,-83.158487
+41723,KY,Busy,37.26316,-83.300705
+41725,KY,Carrie,37.297995,-83.041549
+41727,KY,Chavies,37.355545,-83.331466
+41728,KY,Cinda,37.09667,-83.302886
+41729,KY,Combs,37.291321,-83.202294
+41730,KY,Confluence,37.271904,-83.371102
+41731,KY,Ulvah,37.120385,-83.035127
+41732,KY,Cutshin,37.108109,-83.247304
+41733,KY,Daisy,37.115936,-83.095095
+41735,KY,Delphia,37.023317,-83.095574
+41736,KY,Dice,37.382539,-83.205335
+41740,KY,Bearville,37.322096,-83.068449
+41743,KY,Fisty,37.356348,-83.108251
+41745,KY,Gays Creek,37.350421,-83.455607
+41746,KY,Happy,37.195047,-83.081408
+41749,KY,Dryhill,37.154604,-83.415668
+41754,KY,Napfor,37.318325,-83.305913
+41756,KY,Leatherwood,37.040503,-83.151254
+41759,KY,Anco,37.233926,-83.032125
+41760,KY,Scuddy,37.212182,-83.093242
+41763,KY,Slemp,37.08037,-83.11694
+41764,KY,Smilax,37.166314,-83.284533
+41765,KY,Talcum,37.383621,-83.047864
+41772,KY,Vest,37.408732,-83.06265
+41773,KY,Vicco,37.189826,-83.099792
+41774,KY,Farler,37.150655,-83.158299
+41775,KY,Wendover,37.129115,-83.350185
+41776,KY,Frew,37.192435,-83.292655
+41777,KY,Big Rock,37.043019,-83.227006
+41801,KY,Amburgey,37.26716,-83.000483
+41804,KY,Carcassonne,37.134266,-82.940189
+41805,KY,Brinkley,37.262613,-82.913976
+41811,KY,Crown,37.159125,-82.847442
+41812,KY,Deane,37.23332,-82.799722
+41815,KY,Ermine,37.174612,-82.822118
+41817,KY,Larkslane,37.377663,-82.893847
+41819,KY,Gilly,36.990109,-83.069317
+41821,KY,Skyline,37.069879,-83.020354
+41822,KY,Hindman,37.327607,-82.952653
+41823,KY,Hollybush,37.337608,-82.831509
+41824,KY,Isom,37.196027,-82.913348
+41825,KY,Jackhorn,37.171685,-82.691856
+41826,KY,Jeremiah,37.165127,-82.926836
+41828,KY,Puncheon,37.270944,-82.784725
+41829,KY,Kona,37.166814,-82.752469
+41831,KY,Soft Shell,37.383737,-82.956428
+41832,KY,Letcher,37.155,-82.980908
+41833,KY,Linefork,37.051399,-82.919765
+41834,KY,Littcarr,37.271457,-82.965098
+41836,KY,Mallie,37.334623,-82.871364
+41838,KY,Millstone,37.151615,-82.7533
+41839,KY,Mousie,37.433125,-82.901768
+41840,KY,Fleming Neon,37.212056,-82.697555
+41843,KY,Omaha,37.311528,-82.830417
+41844,KY,Raven,37.363252,-82.829164
+41845,KY,Premium,37.068587,-82.958115
+41847,KY,Redfox,37.25311,-82.871865
+41848,KY,Roxana,37.090502,-83.034488
+41849,KY,Seco,37.176523,-82.735832
+41855,KY,Thornton,37.129622,-82.7382
+41858,KY,Day Rural,37.115463,-82.838768
+41859,KY,Dema,37.421491,-82.852313
+41861,KY,Raven,37.404328,-82.826064
+41862,KY,Dry Creek,37.346979,-82.781036
+42001,KY,Paducah,37.063377,-88.663204
+42003,KY,Paducah,37.036833,-88.593388
+42020,KY,Almo,36.712805,-88.308666
+42021,KY,Arlington,36.800117,-88.943835
+42023,KY,Bardwell,36.863387,-89.020855
+42024,KY,Barlow,37.049279,-89.040815
+42025,KY,Benton,36.880649,-88.354773
+42027,KY,Boaz,36.929974,-88.622288
+42028,KY,Burna,37.231514,-88.394185
+42029,KY,Calvert City,37.014741,-88.381115
+42031,KY,Clinton,36.667531,-88.967574
+42032,KY,Columbus,36.755505,-89.098288
+42035,KY,Cunningham,36.896256,-88.872815
+42036,KY,Dexter,36.70313,-88.180695
+42038,KY,Eddyville,37.066385,-88.04939
+42039,KY,Fancy Farm,36.77674,-88.791785
+42040,KY,Farmington,36.686903,-88.547832
+42041,KY,Crutchfield,36.528678,-88.889224
+42044,KY,Gilbertsville,36.962465,-88.274856
+42045,KY,Iuka,37.05781,-88.261382
+42047,KY,Hampton,37.334764,-88.364897
+42048,KY,Hardin,36.776233,-88.262153
+42049,KY,Hazel,36.542215,-88.331862
+42050,KY,Hickman,36.559269,-89.194667
+42051,KY,Hickory,36.847783,-88.678782
+42053,KY,Kevil,37.087231,-88.876366
+42054,KY,Kirksey,36.673092,-88.423815
+42055,KY,Kuttawa,37.061871,-88.149813
+42056,KY,La Center,37.083019,-88.972954
+42058,KY,Ledbetter,37.049167,-88.486503
+42064,KY,Marion,37.325426,-88.100471
+42066,KY,Mayfield,36.732686,-88.650637
+42069,KY,Melber,36.919658,-88.752037
+42071,KY,Murray,36.609915,-88.303249
+42076,KY,New Concord,36.550003,-88.09548
+42078,KY,Salem,37.255346,-88.271139
+42079,KY,Sedalia,36.588208,-88.594813
+42081,KY,Carrsville,37.12269,-88.383593
+42082,KY,Symsonia,36.871544,-88.528576
+42083,KY,Tiline,37.162773,-88.254679
+42085,KY,Water Valley,36.569358,-88.808371
+42086,KY,West Paducah,37.092239,-88.761075
+42087,KY,Wickliffe,36.967969,-89.017693
+42088,KY,Wingo,36.625282,-88.739449
+42101,KY,Plum Springs,37.007874,-86.455891
+42103,KY,Bowling Green,36.96629,-86.393321
+42104,KY,Bowling Green,36.937537,-86.448077
+42120,KY,Adolphus,36.677486,-86.263596
+42122,KY,Alvaton,36.86296,-86.363213
+42123,KY,Austin,36.812376,-85.98503
+42124,KY,Beaumont,36.88758,-85.648829
+42127,KY,Cave City,37.11696,-85.944283
+42129,KY,Subtle,36.985197,-85.592741
+42130,KY,Eighty Eight,36.939238,-85.828076
+42131,KY,Etoile,36.813428,-85.917279
+42133,KY,Fountain Run,36.72002,-85.952023
+42134,KY,Franklin,36.725353,-86.570043
+42140,KY,Gamaliel,36.654037,-85.813353
+42141,KY,Glasgow,36.988189,-85.922053
+42151,KY,Hestand,36.653473,-85.569799
+42153,KY,Holland,36.667316,-86.049756
+42154,KY,Knob Lick,36.996922,-85.713698
+42155,KY,Lamb,36.799768,-85.885413
+42156,KY,Lucas,36.837594,-86.035678
+42157,KY,Mount Herman,36.808982,-85.819162
+42159,KY,Oakland,37.007595,-86.285934
+42160,KY,Park City,37.057926,-86.077619
+42163,KY,Rocky Hill,37.067481,-86.11009
+42164,KY,Scottsville,36.761437,-86.192863
+42166,KY,Summer Shade,36.888345,-85.708322
+42167,KY,T Ville,36.713085,-85.696842
+42169,KY,Willow Shade,36.858183,-85.62203
+42170,KY,Woodburn,36.855688,-86.562291
+42171,KY,Smiths Grove,37.058104,-86.193757
+42202,KY,Adairville,36.691385,-86.858523
+42204,KY,Allensville,36.694744,-87.024442
+42206,KY,Auburn,36.881755,-86.719813
+42207,KY,Bee Spring,37.29754,-86.279377
+42210,KY,Reedyville,37.18817,-86.274003
+42211,KY,Golden Pond,36.846421,-87.841243
+42214,KY,Center,37.100897,-85.670455
+42215,KY,Cerulean,36.949619,-87.664848
+42217,KY,Crofton,37.034387,-87.489072
+42220,KY,Elkton,36.909403,-87.167833
+42223,KY,Fort Campbell,36.653584,-87.459706
+42232,KY,Gracey,36.856393,-87.6545
+42234,KY,Tiny Town,36.664268,-87.170931
+42236,KY,Herndon,36.708469,-87.608215
+42240,KY,Hopkinsville,36.862053,-87.485148
+42250,KY,Huff,37.234241,-86.382112
+42252,KY,Jetson,37.240367,-86.520872
+42254,KY,La Fayette,36.658165,-87.65634
+42256,KY,Lewisburg,37.003747,-86.988748
+42257,KY,Lindseyville,37.22813,-86.296384
+42259,KY,Mammoth Cave Nat,37.274385,-86.178112
+42261,KY,Logansport,37.19102,-86.703726
+42262,KY,Oak Grove,36.665225,-87.425514
+42265,KY,Olmstead,36.78463,-86.981846
+42266,KY,Pembroke,36.798221,-87.331892
+42268,KY,Quality,37.035402,-86.869053
+42273,KY,Rochester,37.204778,-86.85921
+42274,KY,Browning,36.939859,-86.585389
+42275,KY,Roundhill,37.25601,-86.406974
+42276,KY,Daysville,36.853074,-86.888708
+42280,KY,Sharon Grove,36.927754,-87.10029
+42284,KY,Sunfish,37.3022,-86.390826
+42285,KY,Kyrock,37.252343,-86.29569
+42286,KY,Trenton,36.731384,-87.261098
+42287,KY,Welchs Creek,37.30856,-86.637139
+42301,KY,Owensboro,37.751255,-87.155394
+42303,KY,Owensboro,37.755884,-87.080252
+42320,KY,Beaver Dam,37.386958,-86.872932
+42321,KY,Beech Creek,37.183704,-87.123854
+42323,KY,Beechmont,37.177552,-87.03934
+42324,KY,Belton,37.151056,-86.977369
+42325,KY,Bremen,37.342955,-87.232989
+42326,KY,Browder,37.259333,-86.978197
+42327,KY,Calhoun,37.574997,-87.277307
+42328,KY,Centertown,37.407918,-87.00902
+42330,KY,Central City,37.300699,-87.120236
+42333,KY,Cromwell,37.341765,-86.769964
+42337,KY,Drakesboro,37.213588,-87.047966
+42338,KY,Dundee,37.551052,-86.760446
+42339,KY,Dunmor,37.083967,-87.00789
+42340,KY,42340,37.351295,-86.965861
+42343,KY,Fordsville,37.629738,-86.726251
+42344,KY,Graham,37.225836,-87.257849
+42345,KY,Greenville,37.207642,-87.180613
+42347,KY,Hartford,37.478533,-86.917982
+42348,KY,Hawesville,37.850318,-86.763804
+42349,KY,Horse Branch,37.423417,-86.698734
+42350,KY,Island,37.447109,-87.16921
+42351,KY,Lewisport,37.909016,-86.895712
+42352,KY,Livermore,37.504453,-87.123861
+42355,KY,Maceo,37.843601,-86.999915
+42358,KY,Narrows,37.569072,-86.68672
+42361,KY,Olaton,37.498666,-86.728223
+42365,KY,Penrod,37.116725,-86.998181
+42366,KY,Philpot,37.718317,-86.937172
+42368,KY,Reynolds Station,37.696533,-86.77942
+42369,KY,Rockport,37.326871,-86.974624
+42371,KY,Rumsey,37.50762,-87.280644
+42372,KY,Sacramento,37.417687,-87.273584
+42376,KY,Utica,37.620559,-87.059082
+42378,KY,Whitesville,37.683402,-86.869912
+42404,KY,Clay,37.475599,-87.836793
+42406,KY,Corydon,37.744284,-87.700033
+42408,KY,Dawson Springs,37.196386,-87.68205
+42409,KY,Dixon,37.510587,-87.701904
+42410,KY,Earlington,37.267899,-87.522679
+42411,KY,Fredonia,37.212956,-88.011229
+42413,KY,Hanson,37.438246,-87.475135
+42420,KY,Henderson,37.827393,-87.563228
+42431,KY,Madisonville,37.325551,-87.495326
+42436,KY,Manitou,37.407972,-87.56118
+42437,KY,Henshaw,37.663935,-87.87686
+42441,KY,Nebo,37.368255,-87.686521
+42442,KY,Nortonville,37.183367,-87.460505
+42445,KY,Princeton,37.115097,-87.863226
+42450,KY,Providence,37.404958,-87.750512
+42451,KY,Reed,37.858764,-87.370382
+42452,KY,Robards,37.675836,-87.526596
+42453,KY,Saint Charles,37.176635,-87.55386
+42455,KY,Sebree,37.588921,-87.525489
+42456,KY,Slaughters,37.5054,-87.505344
+42458,KY,Spottsville,37.839948,-87.424682
+42459,KY,Sturgis,37.548669,-87.996457
+42461,KY,Uniontown,37.767741,-87.926335
+42462,KY,Waverly,37.742985,-87.806688
+42464,KY,White Plains,37.178765,-87.364415
+42501,KY,Alcalde,37.073853,-84.604362
+42516,KY,Bethelridge,37.22459,-84.778971
+42518,KY,Bronston,36.952488,-84.631413
+42519,KY,Sloans Valley,36.96145,-84.565237
+42528,KY,Dunnville,37.176894,-84.929507
+42532,KY,Jabez,37.066884,-84.863157
+42539,KY,Liberty,37.314553,-84.971864
+42541,KY,Middleburg,37.359082,-84.832103
+42544,KY,Pointer,37.064216,-84.766245
+42553,KY,Science Hill,37.168333,-84.64865
+42554,KY,Shopville,37.174243,-84.44594
+42555,KY,Sloans Valley,36.968617,-84.376201
+42558,KY,Tateville,36.973892,-84.438364
+42566,KY,Yosemite,37.307355,-84.812412
+42567,KY,Pulaski,37.247038,-84.605593
+42601,KY,Aaron,36.812827,-85.199114
+42602,KY,Albany,36.68569,-85.140677
+42603,KY,Alpha,36.779735,-85.092405
+42611,KY,Coopersville,36.722168,-84.718717
+42613,KY,Delta,36.801658,-84.684024
+42629,KY,Jamestown,36.967955,-85.096844
+42633,KY,Pueblo,36.842723,-84.839251
+42634,KY,Parkers Lake,36.834689,-84.443642
+42635,KY,Hollyhill,36.663677,-84.412745
+42638,KY,Revelo,36.673363,-84.472189
+42640,KY,Rockybranch,36.668512,-84.810179
+42642,KY,Webbs Cross Road,37.056683,-85.042873
+42643,KY,Sawyer,36.925337,-84.361745
+42647,KY,Stearns,36.708184,-84.516484
+42649,KY,Strunk,36.619068,-84.430801
+42653,KY,Wiborg,36.738597,-84.468364
+42655,KY,Windy,36.778411,-84.961122
+42701,KY,E Town,37.706973,-85.858977
+42711,KY,Bakerton,36.871151,-85.331723
+42712,KY,Big Clifty,37.527801,-86.139498
+42713,KY,Bonnieville,37.374141,-85.895996
+42714,KY,Bow,36.708119,-85.301935
+42715,KY,Breeding,36.981043,-85.407822
+42716,KY,Buffalo,37.47864,-85.643411
+42717,KY,Burkesville,36.806791,-85.397028
+42718,KY,Campbellsville,37.346618,-85.350755
+42721,KY,Caneyville,37.422168,-86.470207
+42722,KY,Canmer,37.269562,-85.720292
+42723,KY,Casey Creek,37.273479,-85.207648
+42724,KY,Stephensburg,37.660339,-86.006046
+42726,KY,Wax,37.427896,-86.160219
+42728,KY,Montpelier,37.116408,-85.269265
+42729,KY,Cub Run,37.314855,-86.08132
+42730,KY,Cundiff,36.957125,-85.274434
+42731,KY,Dubre,36.891998,-85.568281
+42732,KY,E View,37.61478,-86.119153
+42733,KY,Elk Horn,37.339287,-85.191764
+42735,KY,Fairplay,37.035626,-85.326214
+42736,KY,Finley,37.454549,-85.352449
+42740,KY,Glendale,37.603398,-85.892101
+42741,KY,Glens Fork,37.018195,-85.240117
+42742,KY,Gradyville,37.054438,-85.42753
+42743,KY,Greensburg,37.243009,-85.523639
+42746,KY,Hardyville,37.224905,-85.754174
+42748,KY,Hodgenville,37.574566,-85.723206
+42749,KY,Horse Cave,37.184939,-85.878549
+42752,KY,Kettle,36.694573,-85.40917
+42753,KY,Knifley,37.231886,-85.112844
+42754,KY,Sadler,37.493098,-86.30371
+42757,KY,Magnolia,37.416464,-85.730823
+42761,KY,Milltown,37.103415,-85.444181
+42762,KY,Millwood,37.460879,-86.379821
+42764,KY,Mount Sherman,37.453408,-85.631381
+42765,KY,Munfordville,37.289812,-85.920141
+42768,KY,Peytonsburg,36.646299,-85.371663
+42776,KY,Sonora,37.52207,-85.922969
+42782,KY,Summersville,37.34186,-85.619376
+42784,KY,Upton,37.456802,-85.908619
+42788,KY,White Mills,37.543765,-86.039519
+70001,LA,Metairie,29.987138,-90.169513
+70002,LA,Metairie,30.009843,-90.16303
+70003,LA,Metairie,29.99746,-90.21457
+70005,LA,Metairie,30.000476,-90.13314
+70006,LA,Metairie,30.012885,-90.191483
+70030,LA,Des Allemands,29.821993,-90.447049
+70031,LA,Ama,29.943494,-90.292509
+70032,LA,Arabi,29.961154,-89.996497
+70036,LA,Barataria,29.717859,-90.126232
+70037,LA,Belle Chasse,29.834514,-90.004177
+70039,LA,Boutte,29.897319,-90.393396
+70040,LA,Braithwaite,29.673563,-89.885347
+70041,LA,Buras,29.341056,-89.47568
+70043,LA,Chalmette,29.946611,-89.961137
+70047,LA,New Sarpy,29.96579,-90.373982
+70049,LA,Edgard,30.031863,-90.581678
+70051,LA,Garyville,30.05352,-90.620113
+70052,LA,Gramercy,30.052711,-90.690182
+70053,LA,Gretna,29.910806,-90.053115
+70056,LA,Terrytown,29.892652,-90.029123
+70057,LA,Hahnville,30.000094,-90.488581
+70058,LA,Harvey,29.872535,-90.067259
+70062,LA,Kenner,29.991203,-90.247901
+70065,LA,Kenner,30.025164,-90.252175
+70067,LA,Lafitte,29.562194,-90.056633
+70068,LA,La Place,30.077718,-90.489544
+70070,LA,Luling,29.925116,-90.369261
+70071,LA,Lutcher,30.044679,-90.70084
+70072,LA,Marrero,29.859756,-90.110462
+70075,LA,Meraux,29.933494,-89.921433
+70079,LA,Norco,30.005706,-90.419796
+70080,LA,Paradis,29.877033,-90.435246
+70083,LA,Port Sulphur,29.470011,-89.68475
+70084,LA,Reserve,30.060255,-90.551773
+70085,LA,Saint Bernard,29.861093,-89.836414
+70086,LA,Saint James,30.027598,-90.860549
+70087,LA,Saint Rose,29.958074,-90.312432
+70090,LA,Vacherie,29.969372,-90.709699
+70091,LA,Venice,29.261812,-89.347776
+70092,LA,Violet,29.904347,-89.895992
+70094,LA,Bridge City,29.914386,-90.181305
+70112,LA,New Orleans,29.960484,-90.075301
+70113,LA,New Orleans,29.940511,-90.084777
+70114,LA,New Orleans,29.937934,-90.033126
+70115,LA,New Orleans,29.928863,-90.1005
+70116,LA,New Orleans,29.968608,-90.064614
+70117,LA,New Orleans,29.970298,-90.03124
+70118,LA,New Orleans,29.950352,-90.123598
+70119,LA,New Orleans,29.974552,-90.085156
+70121,LA,Jefferson,29.963071,-90.160953
+70122,LA,New Orleans,30.005637,-90.064409
+70123,LA,Harahan,29.953473,-90.210748
+70124,LA,New Orleans,30.007081,-90.109384
+70125,LA,New Orleans,29.951225,-90.102785
+70126,LA,New Orleans,30.015341,-90.018913
+70127,LA,New Orleans,30.033811,-89.980688
+70128,LA,New Orleans,30.052691,-89.956421
+70129,LA,New Orleans,30.047984,-89.906206
+70130,LA,New Orleans,29.932438,-90.073949
+70131,LA,New Orleans,29.916811,-89.996033
+70301,LA,Thibodaux,29.799213,-90.809605
+70339,LA,Pierre Part,29.95501,-91.200167
+70340,LA,Amelia,29.66046,-91.111105
+70341,LA,Belle Rose,30.025955,-91.044351
+70342,LA,Berwick,29.698786,-91.205662
+70343,LA,Bourg,29.548489,-90.60866
+70344,LA,Chauvin,29.463401,-90.597952
+70345,LA,Cut Off,29.523188,-90.339298
+70346,LA,Donaldsonville,30.101799,-90.997025
+70353,LA,Dulac,29.359814,-90.655655
+70354,LA,Galliano,29.431125,-90.298054
+70355,LA,Gheens,29.707591,-90.484855
+70356,LA,Gibson,29.662522,-90.977637
+70357,LA,Golden Meadow,29.382054,-90.263932
+70358,LA,Grand Isle,29.22973,-90.008801
+70359,LA,Gray,29.69034,-90.78071
+70360,LA,Houma,29.59433,-90.754808
+70363,LA,Houma,29.560137,-90.691668
+70364,LA,Houma,29.629887,-90.726801
+70372,LA,Labadieville,29.834458,-90.961319
+70374,LA,Lockport,29.603493,-90.490614
+70375,LA,Mathews,29.681982,-90.494914
+70377,LA,Montegut,29.474366,-90.543952
+70380,LA,Morgan City,29.723937,-91.116497
+70390,LA,Napoleonville,29.92884,-91.026608
+70392,LA,Patterson,29.69671,-91.281231
+70394,LA,Raceland,29.717835,-90.599908
+70395,LA,Schriever,29.712276,-90.851341
+70397,LA,Theriot,29.451587,-90.765146
+70401,LA,Hammond,30.51908,-90.487856
+70403,LA,Hammond,30.491054,-90.46972
+70420,LA,Abita Springs,30.483696,-90.004072
+70422,LA,Amite,30.718208,-90.570493
+70426,LA,Angie,30.922406,-89.856714
+70427,LA,Bogalusa,30.773303,-89.865329
+70431,LA,Bush,30.613393,-89.955664
+70433,LA,Covington,30.487606,-90.095933
+70436,LA,Fluker,30.812776,-90.52067
+70437,LA,Folsom,30.61447,-90.187927
+70438,LA,Franklinton,30.857735,-90.115479
+70441,LA,Greensburg,30.864693,-90.725561
+70443,LA,Independence,30.635148,-90.527685
+70444,LA,Kentwood,30.889215,-90.472829
+70445,LA,Lacombe,30.322027,-89.929744
+70446,LA,Loranger,30.588407,-90.356723
+70447,LA,Madisonville,30.428743,-90.177282
+70448,LA,Mandeville,30.386096,-90.076846
+70449,LA,Maurepas,30.271587,-90.704255
+70450,LA,Mount Hermon,30.953619,-90.276886
+70452,LA,Pearl River,30.394448,-89.77315
+70453,LA,Pine Grove,30.703202,-90.767235
+70454,LA,Ponchatoula,30.440644,-90.442247
+70455,LA,Robert,30.506327,-90.335171
+70456,LA,Roseland,30.771711,-90.524277
+70458,LA,Slidell,30.278411,-89.771192
+70460,LA,Slidell,30.291611,-89.812895
+70461,LA,Slidell,30.272615,-89.729027
+70462,LA,Springfield,30.415738,-90.577479
+70466,LA,Tickfaw,30.566849,-90.481997
+70467,LA,Varnado,30.982085,-89.7606
+70501,LA,Lafayette,30.236141,-92.008261
+70503,LA,Lafayette,30.184256,-92.049745
+70506,LA,Lafayette,30.207707,-92.065623
+70507,LA,Lafayette,30.281313,-92.015962
+70508,LA,Lafayette,30.158222,-92.023579
+70510,LA,Forked Island,29.958828,-92.142655
+70512,LA,Arnaudville,30.398054,-91.926285
+70514,LA,Baldwin,29.848784,-91.545783
+70515,LA,Basile,30.497787,-92.57357
+70516,LA,Branch,30.328684,-92.334618
+70517,LA,Henderson,30.274955,-91.905899
+70518,LA,Broussard,30.12189,-91.950171
+70520,LA,Carencro,30.324433,-92.042265
+70525,LA,Church Point,30.401287,-92.223954
+70526,LA,Crowley,30.214753,-92.377709
+70528,LA,Delcambre,29.947414,-91.988938
+70529,LA,Duson,30.191216,-92.152455
+70531,LA,Egan,30.250966,-92.500226
+70532,LA,Elton,30.471496,-92.699614
+70533,LA,Erath,29.952237,-92.034266
+70535,LA,Eunice,30.51158,-92.398474
+70537,LA,Evangeline,30.26829,-92.553244
+70538,LA,Franklin,29.785656,-91.502643
+70542,LA,Gueydan,30.025541,-92.533779
+70543,LA,Iota,30.300081,-92.532201
+70544,LA,Jeanerette,29.90324,-91.654397
+70546,LA,Jennings,30.22011,-92.657405
+70548,LA,Kaplan,29.977096,-92.302463
+70549,LA,Lake Arthur,30.09097,-92.682526
+70552,LA,Loreauville,30.068276,-91.659571
+70554,LA,Mamou,30.649648,-92.419646
+70555,LA,Maurice,30.07215,-92.107035
+70559,LA,Midland,30.143437,-92.463153
+70560,LA,New Iberia,30.001027,-91.819959
+70570,LA,Opelousas,30.51442,-92.089668
+70577,LA,Port Barre,30.547788,-91.928576
+70578,LA,Rayne,30.204508,-92.248592
+70581,LA,Roanoke,30.318167,-92.686973
+70582,LA,Saint Martinvill,30.208282,-91.825961
+70583,LA,Scott,30.250401,-92.098079
+70584,LA,Cankton,30.393741,-92.075681
+70586,LA,Ville Platte,30.692376,-92.27371
+70589,LA,Washington,30.709881,-92.039888
+70591,LA,Welsh,30.236259,-92.818972
+70592,LA,Youngsville,30.097498,-92.009629
+70601,LA,Lake Charles,30.228453,-93.187966
+70605,LA,Lake Charles,30.169349,-93.221798
+70611,LA,Lake Charles,30.322031,-93.211082
+70630,LA,Bell City,30.114454,-92.94407
+70631,LA,Cameron,29.86492,-93.277662
+70632,LA,Creole,29.797813,-93.034874
+70633,LA,Dequincy,30.421113,-93.415053
+70634,LA,Deridder,30.828738,-93.268461
+70637,LA,Dry Creek,30.735356,-92.988849
+70639,LA,Evans,31.008817,-93.422171
+70643,LA,Grand Chenier,29.787535,-92.897997
+70645,LA,Hackberry,29.982187,-93.374973
+70647,LA,Iowa,30.221937,-93.02586
+70648,LA,Kinder,30.460653,-92.869332
+70650,LA,Lacassine,30.145587,-92.829262
+70652,LA,Longville,30.579992,-93.254806
+70653,LA,Fields,30.770145,-93.530734
+70654,LA,Mittie,30.678812,-92.932056
+70655,LA,Oberlin,30.6162,-92.752672
+70656,LA,Pitkin,30.932988,-92.954762
+70657,LA,Ragley,30.470262,-93.233652
+70658,LA,Reeves,30.496734,-93.036847
+70660,LA,Singer,30.532906,-93.464986
+70661,LA,Starks,30.308477,-93.661485
+70662,LA,Sugartown,30.827653,-93.017017
+70663,LA,Sulphur,30.219001,-93.363911
+70668,LA,Vinton,30.201523,-93.572808
+70669,LA,Westlake,30.261274,-93.268837
+70710,LA,Addis,30.355699,-91.261348
+70711,LA,Albany,30.514872,-90.596415
+70712,LA,Angola,30.96562,-91.597948
+70714,LA,Baker,30.581395,-91.142893
+70715,LA,Batchelor,30.802631,-91.668675
+70717,LA,Blanks,30.579813,-91.615845
+70719,LA,Brusly,30.387692,-91.252649
+70720,LA,Bueche,30.574894,-91.338303
+70721,LA,Point Clair,30.220759,-91.102484
+70722,LA,Clinton,30.824867,-90.933141
+70723,LA,Convent,30.055251,-90.864988
+70725,LA,Darrow,30.12999,-90.965102
+70726,LA,Port Vincent,30.484623,-90.932588
+70729,LA,Erwinville,30.551252,-91.399444
+70730,LA,Ethel,30.813124,-91.109975
+70732,LA,Fordoche,30.550835,-91.697258
+70733,LA,French Settlemen,30.336394,-90.773225
+70734,LA,Geismar,30.236265,-90.975824
+70736,LA,Glynn,30.637617,-91.342311
+70737,LA,Gonzales,30.247306,-90.918012
+70739,LA,Greenwell Spring,30.52114,-91.007484
+70740,LA,Grosse Tete,30.387935,-91.43829
+70744,LA,Holden,30.555646,-90.665176
+70748,LA,The Bluffs,30.827034,-91.234537
+70749,LA,Jarreau,30.632585,-91.433205
+70750,LA,Krotz Springs,30.537928,-91.756329
+70752,LA,Lakeland,30.579941,-91.421677
+70753,LA,Lettsworth,30.932394,-91.740252
+70754,LA,Livingston,30.474107,-90.767339
+70755,LA,Livonia,30.552353,-91.533219
+70756,LA,Lottie,30.503947,-91.71053
+70757,LA,Ramah,30.482292,-91.516816
+70759,LA,Morganza,30.724491,-91.595935
+70760,LA,New Roads,30.701356,-91.442124
+70761,LA,Norwood,30.951772,-91.062871
+70762,LA,Oscar,30.598759,-91.48458
+70763,LA,Paulina,30.035159,-90.737439
+70764,LA,Plaquemine,30.268414,-91.252361
+70767,LA,Port Allen,30.471983,-91.254088
+70769,LA,Galvez,30.315588,-90.929904
+70770,LA,Pride,30.613321,-90.99429
+70772,LA,Rosedale,30.440776,-91.45616
+70773,LA,Rougon,30.603452,-91.381316
+70774,LA,Saint Amant,30.23849,-90.843527
+70775,LA,Bains,30.858658,-91.392266
+70776,LA,Iberville,30.279873,-91.09162
+70777,LA,Slaughter,30.799139,-91.052251
+70778,LA,Sorrento,30.185388,-90.86314
+70780,LA,Sunshine,30.29824,-91.179922
+70781,LA,Torbert,30.538575,-91.421616
+70783,LA,Ventress,30.681404,-91.403257
+70785,LA,Walker,30.524748,-90.855708
+70788,LA,White Castle,30.15447,-91.177343
+70789,LA,Wilson,30.947325,-91.065511
+70791,LA,Zachary,30.656129,-91.135841
+70792,LA,Uncle Sam,30.021679,-90.771879
+70801,LA,Baton Rouge,30.450731,-91.186954
+70802,LA,Baton Rouge,30.444236,-91.169037
+70805,LA,Baton Rouge,30.48604,-91.148095
+70806,LA,Baton Rouge,30.448486,-91.130046
+70807,LA,Scotlandville,30.533199,-91.178615
+70808,LA,Baton Rouge,30.406596,-91.146765
+70809,LA,Baton Rouge,30.408891,-91.084213
+70810,LA,Baton Rouge,30.363309,-91.091898
+70811,LA,Greenwood,30.53046,-91.126539
+70812,LA,Baton Rouge,30.505159,-91.118111
+70814,LA,Baton Rouge,30.484808,-91.068936
+70815,LA,Baton Rouge,30.455809,-91.059558
+70816,LA,Baton Rouge,30.427289,-91.035645
+70817,LA,Baton Rouge,30.390404,-91.00213
+70818,LA,Baton Rouge,30.540832,-91.049964
+70819,LA,Baton Rouge,30.46679,-91.01565
+70820,LA,Baton Rouge,30.379523,-91.167064
+71001,LA,Arcadia,32.555643,-92.924529
+71003,LA,Athens,32.645073,-93.023875
+71004,LA,Belcher,32.754393,-93.850799
+71006,LA,Benton,32.697617,-93.69095
+71007,LA,Bethany,32.366179,-94.003394
+71008,LA,Bienville,32.252323,-92.908402
+71016,LA,Castor,32.245181,-93.093576
+71018,LA,Cotton Valley,32.819011,-93.425885
+71019,LA,Hanna,32.050099,-93.315644
+71023,LA,Doyline,32.490023,-93.399585
+71024,LA,Dubberly,32.519164,-93.21419
+71027,LA,Frierson,32.244968,-93.691488
+71028,LA,Gibsland,32.529874,-93.070558
+71029,LA,Gilliam,32.825055,-93.829268
+71030,LA,Gloster,32.191705,-93.829309
+71031,LA,Goldonna,31.999988,-92.961056
+71032,LA,Grand Cane,32.105,-93.794064
+71033,LA,Greenwood,32.424025,-93.969252
+71034,LA,Hall Summit,32.175249,-93.30475
+71037,LA,Haughton,32.550732,-93.565742
+71038,LA,Haynesville,32.927807,-93.069137
+71039,LA,Heflin,32.447008,-93.285192
+71040,LA,Homer,32.774883,-93.028834
+71043,LA,Hosston,32.896653,-93.883425
+71044,LA,Ida,32.993393,-93.902186
+71045,LA,Jamestown,32.36127,-93.184758
+71046,LA,Keatchie,32.162173,-93.951046
+71047,LA,Keithville,32.316059,-93.888138
+71048,LA,Lisbon,32.845196,-92.88781
+71049,LA,Logansport,31.994327,-93.962733
+71051,LA,Elm Grove,32.388628,-93.502615
+71052,LA,Mansfield,32.023863,-93.698045
+71055,LA,Minden,32.632281,-93.288587
+71059,LA,Mira,32.922491,-93.918797
+71060,LA,Mooringsport,32.66258,-93.973018
+71061,LA,Oil City,32.745107,-93.983844
+71063,LA,Pelican,31.896563,-93.563361
+71064,LA,Plain Dealing,32.907419,-93.690534
+71065,LA,Pleasant Hill,31.808577,-93.513594
+71067,LA,Princeton,32.579089,-93.522577
+71068,LA,Ringgold,32.326302,-93.298241
+71069,LA,Rodessa,32.970079,-93.988474
+71070,LA,Chestnut,32.156604,-92.948606
+71071,LA,Sarepta,32.943361,-93.440407
+71072,LA,Shongaloo,32.971289,-93.296264
+71073,LA,Sibley,32.509539,-93.300902
+71075,LA,Springhill,33.00054,-93.459563
+71078,LA,Stonewall,32.284758,-93.800277
+71079,LA,Summerfield,32.923802,-92.821516
+71082,LA,Trees,32.866844,-93.987312
+71101,LA,Shreveport,32.503743,-93.748696
+71103,LA,Shreveport,32.494459,-93.772701
+71104,LA,Shreveport,32.482978,-93.734862
+71105,LA,Shreveport,32.458882,-93.714341
+71106,LA,Forbing,32.426251,-93.747922
+71107,LA,Dixie,32.564652,-93.828781
+71108,LA,Shreveport,32.448596,-93.781378
+71109,LA,Shreveport,32.473994,-93.801297
+71110,LA,Barksdale A F B,32.514313,-93.638172
+71111,LA,Bossier City,32.544924,-93.703826
+71112,LA,Bossier City,32.486025,-93.676723
+71115,LA,Caspiana,32.410156,-93.697402
+71118,LA,Shreveport,32.397664,-93.802543
+71119,LA,Shreveport,32.477121,-93.87261
+71129,LA,Shreveport,32.41412,-93.874192
+71201,LA,Monroe,32.528551,-92.106104
+71202,LA,Richwood,32.463327,-92.090231
+71203,LA,Monroe,32.553038,-92.042241
+71219,LA,Baskin,32.289728,-91.713154
+71220,LA,Bastrop,32.789382,-91.90776
+71222,LA,Bernice,32.821024,-92.626269
+71223,LA,Bonita,32.912263,-91.682158
+71225,LA,Calhoun,32.524791,-92.329929
+71226,LA,Chatham,32.292246,-92.437433
+71227,LA,Choudrant,32.555627,-92.522419
+71229,LA,Collinston,32.697143,-91.863419
+71232,LA,Warden,32.450433,-91.512487
+71234,LA,Downsville,32.652508,-92.374471
+71235,LA,Dubach,32.694893,-92.678543
+71237,LA,Epps,32.616099,-91.49135
+71238,LA,Eros,32.398822,-92.34795
+71239,LA,Extension,31.947065,-91.801091
+71241,LA,Farmerville,32.753378,-92.317955
+71243,LA,Fort Necessity,32.043412,-91.825694
+71245,LA,Grambling,32.524398,-92.715785
+71250,LA,Jones,32.966286,-91.596509
+71251,LA,Jonesboro,32.248292,-92.694425
+71254,LA,Lake Providence,32.807067,-91.19057
+71256,LA,Lillie,32.952931,-92.685769
+71259,LA,Mangham,32.333114,-91.797607
+71260,LA,Linville,32.888155,-92.25706
+71261,LA,Mer Rouge,32.77176,-91.771643
+71263,LA,Terry,32.872258,-91.412905
+71264,LA,Oak Ridge,32.624317,-91.761785
+71266,LA,Pioneer,32.715436,-91.464822
+71268,LA,Quitman,32.356423,-92.708532
+71269,LA,Alto,32.468938,-91.7643
+71270,LA,Ruston,32.530823,-92.643927
+71275,LA,Simsboro,32.538388,-92.799484
+71276,LA,Sondheimer,32.577216,-91.248197
+71277,LA,Spearsville,32.955022,-92.58698
+71280,LA,Spencer,32.593268,-92.12134
+71282,LA,Mound,32.402127,-91.190066
+71286,LA,Transylvania,32.670529,-91.228813
+71291,LA,West Monroe,32.531726,-92.175971
+71292,LA,West Monroe,32.456599,-92.185445
+71295,LA,Winnsboro,32.159229,-91.710845
+71301,LA,Alexandria,31.288519,-92.463349
+71302,LA,Alexandria,31.268272,-92.424169
+71303,LA,Alexandria,31.304838,-92.508892
+71316,LA,Acme,31.301618,-91.821563
+71318,LA,Big Bend,31.079347,-91.845065
+71322,LA,Eola,30.949284,-92.182582
+71323,LA,Center Point,31.263068,-92.187868
+71325,LA,Cheneyville,31.020097,-92.295144
+71326,LA,Clayton,31.78857,-91.542547
+71327,LA,Cottonport,30.986168,-92.058124
+71328,LA,Buckeye,31.354506,-92.202287
+71331,LA,Vick,31.189613,-92.194182
+71333,LA,Goudeau,30.951089,-92.090039
+71334,LA,Frogmore,31.647944,-91.571958
+71336,LA,Gilbert,32.034943,-91.592026
+71339,LA,Hamburg,31.073269,-91.916177
+71340,LA,Harrisonburg,31.766926,-91.883971
+71341,LA,Hessmer,31.0534,-92.139933
+71342,LA,Jena,31.674817,-92.113677
+71343,LA,Larto,31.636486,-91.845812
+71344,LA,71344,31.433458,-91.862893
+71346,LA,Lecompte,31.106032,-92.389031
+71350,LA,Mansura,31.061466,-92.054333
+71351,LA,Marksville,31.139614,-92.083145
+71353,LA,Melville,30.662643,-91.75649
+71354,LA,Monterey,31.440287,-91.734455
+71355,LA,Moreauville,31.036766,-91.981814
+71356,LA,Le Moyen,30.824887,-92.040781
+71357,LA,Newellton,32.065621,-91.257771
+71358,LA,Palmetto,30.706543,-91.911384
+71360,LA,Kolin,31.34991,-92.399276
+71362,LA,Plaucheville,30.936484,-91.984673
+71366,LA,Saint Joseph,31.924805,-91.278432
+71367,LA,Saint Landry,30.83812,-92.393846
+71368,LA,Sicily Island,31.850734,-91.680711
+71369,LA,Simmesport,30.977119,-91.825868
+71371,LA,Trout,31.653142,-92.19931
+71372,LA,71372,31.231159,-92.04555
+71373,LA,Vidalia,31.578222,-91.469471
+71375,LA,Waterproof,31.807613,-91.387154
+71378,LA,Wisner,31.991252,-91.676798
+71401,LA,Aimwell,31.761898,-91.992491
+71403,LA,Anacoco,31.221762,-93.358949
+71404,LA,Atlanta,31.873583,-92.764125
+71406,LA,Belmont,31.709956,-93.495863
+71407,LA,Bentley,31.466035,-92.49273
+71409,LA,Boyce,31.321601,-92.686681
+71411,LA,Campti,31.895851,-93.093572
+71412,LA,Chopin,31.541916,-92.949717
+71416,LA,Derry,31.535918,-92.857326
+71417,LA,Colfax,31.507948,-92.656758
+71418,LA,Hebert,32.114794,-92.103653
+71419,LA,Mitchell,31.785153,-93.71569
+71421,LA,71421,31.612239,-92.980409
+71422,LA,Dodson,32.070131,-92.678292
+71423,LA,Dry Prong,31.597921,-92.566479
+71424,LA,Elmer,31.146476,-92.717062
+71425,LA,Enterprise,31.906412,-91.875149
+71426,LA,Fisher,31.493655,-93.460197
+71427,LA,Flatwoods,31.384882,-92.881246
+71429,LA,Florien,31.427455,-93.517916
+71430,LA,Forest Hill,31.024304,-92.510798
+71432,LA,Georgetown,31.745006,-92.395182
+71433,LA,Calcasieu,30.978384,-92.645758
+71435,LA,Grayson,32.012108,-91.974615
+71436,LA,71436,32.206305,-91.992208
+71438,LA,Leander,31.082535,-92.77488
+71439,LA,Hornbeck,31.322639,-93.368306
+71441,LA,Kelly,32.028619,-92.126072
+71444,LA,Lacamp,31.160702,-92.896183
+71445,LA,71445,31.12665,-92.84924
+71446,LA,Hicks,31.144292,-93.223957
+71447,LA,Chopin,31.418481,-92.77185
+71449,LA,Many,31.58508,-93.464113
+71450,LA,Marthaville,31.772583,-93.395428
+71451,LA,Melder,31.11932,-92.662186
+71454,LA,Montgomery,31.667388,-92.841178
+71455,LA,Clifton,31.333927,-92.888915
+71456,LA,Natchez,31.661502,-93.024117
+71457,LA,Natchitoches,31.761688,-93.091572
+71459,LA,Fort Polk,31.032068,-93.22213
+71461,LA,Newllano,31.069396,-93.287899
+71462,LA,Noble,31.693849,-93.716679
+71463,LA,Oakdale,30.817173,-92.663964
+71465,LA,Olla,31.87339,-92.22139
+71466,LA,Otis,31.226442,-92.744478
+71467,LA,Pollock,31.499966,-92.400536
+71468,LA,Provencal,31.580117,-93.140089
+71469,LA,Robeline,31.771453,-93.320972
+71472,LA,Sieper,31.197034,-92.76981
+71473,LA,Sikes,32.068616,-92.442894
+71477,LA,Tioga,31.415732,-92.447116
+71479,LA,Tullos,31.853088,-92.301254
+71483,LA,Winnfield,31.921389,-92.636646
+71485,LA,Woodworth,31.132588,-92.498996
+71486,LA,Zwolle,31.61379,-93.663569
+3901,ME,Berwick,43.28992,-70.855038
+3902,ME,Cape Neddick,43.213318,-70.639685
+3903,ME,Eliot,43.130943,-70.782216
+3904,ME,Kittery,43.092128,-70.742876
+3905,ME,Kittery Point,43.097571,-70.712108
+3906,ME,North Berwick,43.325401,-70.721173
+3907,ME,Ogunquit,43.228457,-70.597176
+3908,ME,South Berwick,43.229201,-70.785949
+3909,ME,York,43.154447,-70.657826
+4001,ME,Acton,43.549405,-70.930687
+4002,ME,Alfred,43.487503,-70.696087
+4003,ME,Bailey Island,43.734147,-69.995175
+4005,ME,Arundel,43.483647,-70.471928
+4006,ME,Biddeford Pool,43.442722,-70.352024
+4008,ME,Bowdoinham,44.036806,-69.918849
+4009,ME,Bridgton,44.052049,-70.724081
+4010,ME,Brownfield,43.971316,-70.903225
+4011,ME,Birch Island,43.897591,-69.955469
+4013,ME,Bustins Island,43.79602,-70.042247
+4015,ME,Casco,43.959623,-70.526013
+4016,ME,Center Lovell,44.168139,-70.883618
+4017,ME,Chebeague Island,43.735363,-70.116878
+4019,ME,Cliff Island,43.695547,-70.107097
+4020,ME,Cornish,43.779612,-70.778433
+4021,ME,Cumberland Cente,43.809818,-70.2484
+4022,ME,Denmark,43.975499,-70.792409
+4024,ME,East Baldwin,43.864604,-70.692159
+4027,ME,West Lebanon,43.410304,-70.910986
+4029,ME,North Sebago,43.882247,-70.633865
+4030,ME,East Waterboro,43.599537,-70.690626
+4032,ME,Freeport,43.851093,-70.113854
+4037,ME,Fryeburg,44.031278,-70.966841
+4038,ME,Gorham,43.684329,-70.467968
+4039,ME,Gray,43.894202,-70.342939
+4040,ME,Harrison,44.107099,-70.653855
+4041,ME,Hiram,43.862217,-70.853076
+4042,ME,Hollis Center,43.594578,-70.605074
+4043,ME,Kennebunk,43.388055,-70.547802
+4046,ME,Kennebunkport,43.392288,-70.472867
+4047,ME,Kezar Falls,43.785361,-70.892717
+4048,ME,Limerick,43.696265,-70.786556
+4049,ME,Limington,43.726031,-70.675178
+4050,ME,Long Island,43.692014,-70.15509
+4051,ME,Lovell,44.161404,-70.929951
+4053,ME,Merepoint,43.843496,-70.00347
+4055,ME,Naples,43.968121,-70.598754
+4058,ME,North Fryeburg,44.132936,-70.981286
+4060,ME,North Shapleigh,43.583458,-70.874392
+4061,ME,North Waterboro,43.639976,-70.729799
+4062,ME,Windham,43.795771,-70.414281
+4064,ME,Old Orchard Beac,43.517449,-70.392053
+4066,ME,Orrs Island,43.77267,-69.966793
+4068,ME,Porter,43.826216,-70.924266
+4069,ME,Pownal,43.890042,-70.195497
+4071,ME,Raymond,43.921917,-70.449834
+4072,ME,Saco,43.520946,-70.454632
+4073,ME,Sanford,43.428541,-70.758479
+4074,ME,Scarborough,43.583476,-70.345668
+4075,ME,Sebago Lake,43.758355,-70.573454
+4076,ME,Shapleigh,43.567353,-70.828619
+4077,ME,South Casco,43.876736,-70.512938
+4079,ME,South Harpswell,43.781932,-69.993709
+4081,ME,South Waterford,44.151256,-70.792061
+4083,ME,Springvale,43.471499,-70.806445
+4084,ME,Standish,43.814211,-70.480657
+4085,ME,Steep Falls,43.757137,-70.645627
+4086,ME,Pejepscot,43.941286,-69.964479
+4087,ME,Waterboro,43.566097,-70.743115
+4090,ME,Wells,43.314352,-70.596883
+4091,ME,West Baldwin,43.829873,-70.749015
+4092,ME,Westbrook,43.684268,-70.358033
+4093,ME,West Buxton,43.661586,-70.601546
+4095,ME,Maplewood,43.643417,-70.913476
+4096,ME,Yarmouth,43.800933,-70.174958
+4101,ME,Portland,43.660564,-70.258864
+4102,ME,Portland,43.660168,-70.28981
+4103,ME,Portland,43.687568,-70.2876
+4105,ME,Falmouth,43.734038,-70.26253
+4106,ME,South Portland,43.631847,-70.270878
+4107,ME,Cape Elizabeth,43.601735,-70.230099
+4108,ME,Peaks Island,43.658921,-70.194017
+4109,ME,Cushing Island,43.674971,-70.202201
+4110,ME,Cumberland Fores,43.774485,-70.188333
+4210,ME,Auburn,44.094785,-70.238978
+4216,ME,Andover,44.663703,-70.79666
+4217,ME,Bethel,44.416176,-70.803685
+4219,ME,Bryant Pond,44.395714,-70.643468
+4220,ME,Buckfield,44.287676,-70.368293
+4221,ME,Canton,44.418894,-70.321719
+4223,ME,Danville,44.036528,-70.272055
+4224,ME,Dixfield,44.554799,-70.424099
+4225,ME,Dryden,44.600218,-70.223962
+4226,ME,East Andover,44.603011,-70.729555
+4228,ME,East Livermore,44.399402,-70.130334
+4231,ME,East Stoneham,44.238201,-70.852936
+4235,ME,Frye,44.599482,-70.565319
+4236,ME,Greene,44.189059,-70.145532
+4237,ME,Hanover,44.495875,-70.716735
+4238,ME,Hebron,44.202136,-70.375369
+4239,ME,Jay,44.515994,-70.209883
+4240,ME,Lewiston,44.098538,-70.191619
+4250,ME,Lisbon,44.025511,-70.113933
+4252,ME,Lisbon Falls,43.997759,-70.073375
+4254,ME,Livermore Falls,44.445756,-70.193614
+4256,ME,Mechanic Falls,44.099957,-70.368206
+4257,ME,Mexico,44.562776,-70.535797
+4259,ME,Monmouth,44.22083,-70.02627
+4260,ME,New Gloucester,43.960835,-70.297381
+4261,ME,Newry,44.407937,-70.792611
+4263,ME,Leeds,44.28343,-70.125277
+4265,ME,North Monmouth,44.275328,-70.036686
+4266,ME,North Turner,44.335031,-70.256147
+4267,ME,North Waterford,44.206511,-70.717393
+4268,ME,Norway,44.212654,-70.560135
+4270,ME,Oxford,44.11183,-70.509799
+4273,ME,Poland,44.059187,-70.411819
+4274,ME,Poland Spring,44.021162,-70.379664
+4275,ME,Roxbury,44.65657,-70.609188
+4276,ME,Rumford,44.543446,-70.564475
+4278,ME,Rumford Center,44.592334,-70.700058
+4279,ME,Rumford Point,44.557104,-70.700276
+4280,ME,Sabattus,44.113269,-70.074792
+4281,ME,South Paris,44.216674,-70.501179
+4282,ME,Turner,44.255669,-70.249444
+4284,ME,Wayne,44.349283,-70.0712
+4285,ME,Weld,44.701624,-70.4249
+4289,ME,West Paris,44.32527,-70.573167
+4290,ME,Peru,44.494408,-70.443459
+4291,ME,West Poland,44.047167,-70.450166
+4292,ME,West Sumner,44.372804,-70.432314
+4294,ME,Wilton,44.59107,-70.296064
+4330,ME,Augusta,44.323228,-69.766548
+4341,ME,Coopers Mills,44.258823,-69.507672
+4342,ME,Dresden,44.078507,-69.745726
+4344,ME,Farmingdale,44.25233,-69.791313
+4345,ME,Gardiner,44.207029,-69.785774
+4346,ME,Randolph,44.228704,-69.774918
+4347,ME,Hallowell,44.286414,-69.805738
+4348,ME,Jefferson,44.189419,-69.483895
+4349,ME,Kents Hill,44.438259,-70.074822
+4350,ME,Litchfield,44.163437,-69.958071
+4351,ME,Manchester,44.308375,-69.884657
+4352,ME,Mount Vernon,44.499342,-69.990336
+4353,ME,North Whitefield,44.217844,-69.602164
+4354,ME,Palermo,44.384282,-69.43337
+4355,ME,Readfield,44.403221,-69.950634
+4357,ME,Richmond,44.104213,-69.821077
+4358,ME,South China,44.395334,-69.58036
+4361,ME,Weeks Mills,44.407543,-69.541738
+4363,ME,Windsor,44.300878,-69.580587
+4364,ME,Winthrop,44.314031,-69.973128
+4401,ME,Bangor,44.824199,-68.791839
+4406,ME,Abbot Village,45.279838,-69.52514
+4408,ME,Aurora,44.886113,-68.295929
+4410,ME,Bradford,45.08552,-68.923491
+4411,ME,Bradley,44.901454,-68.626328
+4412,ME,Brewer,44.787433,-68.753896
+4413,ME,Brookton,45.5686,-67.707828
+4414,ME,Brownville,45.341229,-69.042331
+4416,ME,Bucksport,44.601546,-68.776823
+4417,ME,Burlington,45.218438,-68.442701
+4418,ME,Cardville,45.077599,-68.603277
+4419,ME,Carmel,44.805315,-68.99415
+4422,ME,Charleston,45.067017,-69.086856
+4423,ME,Costigan,44.975336,-68.612969
+4424,ME,Danforth,45.668654,-67.868778
+4426,ME,Dover Foxcroft,45.18774,-69.204472
+4427,ME,East Corinth,44.983655,-69.008532
+4428,ME,East Eddington,44.820642,-68.61883
+4429,ME,East Holden,44.742209,-68.648307
+4430,ME,East Millinocket,45.629967,-68.572822
+4431,ME,East Orland,44.57249,-68.70174
+4433,ME,Enfield,45.266477,-68.605802
+4434,ME,Etna,44.793232,-69.132225
+4435,ME,Exeter,44.967927,-69.107934
+4438,ME,Frankfort,44.59794,-68.933981
+4441,ME,Greenville,45.471566,-69.584376
+4442,ME,Greenville Junct,45.488394,-69.637526
+4443,ME,Guilford,45.173455,-69.397491
+4444,ME,Hampden,44.741073,-68.87305
+4446,ME,Haynesville,45.837991,-67.98858
+4448,ME,Seboeis,45.247813,-68.669252
+4449,ME,Hudson,44.991415,-68.887831
+4450,ME,Kenduskeag,44.918251,-68.934179
+4451,ME,Kingman,45.598433,-68.23662
+4453,ME,Lagrange,45.178918,-68.83448
+4455,ME,Lee,45.363504,-68.290885
+4456,ME,Levant,44.884279,-68.98367
+4457,ME,Lincoln,45.350832,-68.507693
+4458,ME,Lincoln Center,45.431731,-68.457065
+4459,ME,Mattawamkeag,45.526387,-68.35195
+4460,ME,Medway,45.60704,-68.522709
+4461,ME,Milford,44.939263,-68.629597
+4462,ME,Millinocket,45.659563,-68.710117
+4463,ME,Derby,45.250697,-68.977098
+4464,ME,Monson,45.298088,-69.487986
+4465,ME,4465,45.951196,-67.844536
+4468,ME,Old Town,44.943044,-68.67496
+4471,ME,North Amity,45.805639,-67.837741
+4472,ME,Orland,44.545818,-68.731312
+4473,ME,Orono,44.892472,-68.675466
+4474,ME,Orrington,44.726347,-68.787597
+4475,ME,Passadumkeag,45.183687,-68.604328
+4476,ME,Penobscot,44.434371,-68.757409
+4478,ME,Rockwood,45.659329,-69.822442
+4479,ME,Sangerville,45.140571,-69.321772
+4487,ME,Springfield,45.42638,-68.110756
+4488,ME,Stetson,44.884337,-69.106877
+4490,ME,Topsfield,45.430403,-67.747253
+4491,ME,Vanceboro,45.558761,-67.463419
+4492,ME,Waite,45.357741,-67.642812
+4495,ME,Winn,45.456786,-68.357465
+4496,ME,Winterport,44.655247,-68.886174
+4497,ME,Wytopitlock,45.664476,-68.105541
+4530,ME,Bath,43.906155,-69.826565
+4537,ME,Boothbay,43.894497,-69.627322
+4538,ME,Capitol Island,43.854559,-69.61844
+4539,ME,Bristol,43.951864,-69.495367
+4541,ME,Chamberlain,43.884154,-69.498618
+4543,ME,Damariscotta,44.029313,-69.504237
+4544,ME,East Boothbay,43.826241,-69.593903
+4547,ME,Friendship,44.006741,-69.291604
+4548,ME,Mac Mahan,43.819649,-69.747424
+4551,ME,Medomak,44.006292,-69.430664
+4553,ME,Newcastle,44.049866,-69.533113
+4554,ME,New Harbor,43.860541,-69.507934
+4555,ME,Nobleboro,44.094301,-69.482786
+4556,ME,Edgecomb,43.979179,-69.619742
+4558,ME,Pemaquid,43.892389,-69.528919
+4562,ME,Phippsburg,43.768816,-69.814982
+4563,ME,Cushing,43.986741,-69.272061
+4564,ME,Round Pond,43.924983,-69.46617
+4565,ME,Sebasco Estates,43.769342,-69.857557
+4567,ME,Small Point,43.731724,-69.841163
+4568,ME,South Bristol,43.867714,-69.561367
+4570,ME,Squirrel Island,43.809031,-69.630974
+4571,ME,Trevett,43.893508,-69.674601
+4572,ME,Waldoboro,44.104601,-69.374537
+4573,ME,Walpole,43.946235,-69.55165
+4574,ME,Washington,44.269281,-69.384237
+4576,ME,West Southport,43.823775,-69.667343
+4578,ME,Wiscasset,44.007444,-69.682576
+4579,ME,Woolwich,43.950317,-69.789098
+4605,ME,Ellsworth,44.554824,-68.412093
+4606,ME,Addison,44.583038,-67.714573
+4607,ME,Gouldsboro,44.473054,-68.089857
+4609,ME,Bar Harbor,44.373799,-68.244791
+4611,ME,Beals,44.512967,-67.605554
+4612,ME,Bernard,44.241543,-68.35803
+4613,ME,Birch Harbor,44.384195,-68.031686
+4614,ME,Blue Hill,44.434265,-68.588513
+4615,ME,Blue Hill Falls,44.390244,-68.590282
+4616,ME,Brooklin,44.254134,-68.556518
+4617,ME,Brooksville,44.375635,-68.731279
+4618,ME,Bucks Harbor,44.624762,-67.396382
+4619,ME,Calais,45.171478,-67.26408
+4622,ME,Cherryfield,44.622791,-67.943617
+4623,ME,Columbia Falls,44.66988,-67.75341
+4624,ME,Corea,44.405281,-67.985032
+4626,ME,Cutler,44.67531,-67.249869
+4627,ME,Deer Isle,44.233951,-68.644839
+4628,ME,Dennysville,44.896105,-67.224431
+4630,ME,East Machias,44.742362,-67.382066
+4631,ME,Eastport,44.919966,-67.00739
+4634,ME,Franklin,44.608734,-68.241653
+4640,ME,Hancock,44.50459,-68.2402
+4642,ME,Harborside,44.338584,-68.800901
+4643,ME,Harrington,44.612218,-67.814722
+4645,ME,Isle Au Haut,44.056057,-68.620598
+4648,ME,Jonesboro,44.658153,-67.577692
+4649,ME,Jonesport,44.550936,-67.604403
+4650,ME,Little Deer Isle,44.285213,-68.706663
+4652,ME,Lubec,44.834772,-67.046016
+4653,ME,Bass Harbor,44.1993,-68.380387
+4654,ME,Machias,44.72154,-67.481996
+4655,ME,Machiasport,44.682039,-67.407277
+4656,ME,Manset,44.262573,-68.314408
+4657,ME,Meddybemps,45.019306,-67.382852
+4658,ME,Milbridge,44.536601,-67.884433
+4660,ME,Mount Desert,44.311547,-68.352253
+4661,ME,North Brooklin,44.308469,-68.577326
+4666,ME,Pembroke,44.965396,-67.200204
+4667,ME,Perry,44.988824,-67.092882
+4668,ME,Princeton,45.213091,-67.600826
+4669,ME,Prospect Harbor,44.419489,-68.027943
+4671,ME,Robbinston,45.067007,-67.143301
+4673,ME,Sargentville,44.3345,-68.705221
+4676,ME,Sedgwick,44.33552,-68.637659
+4677,ME,Sorrento,44.490696,-68.178665
+4678,ME,South Gouldsboro,44.47163,-68.030406
+4679,ME,Southwest Harbor,44.2823,-68.326471
+4680,ME,Steuben,44.497082,-67.950319
+4681,ME,Stonington,44.175197,-68.674617
+4683,ME,Sunset,44.217404,-68.707002
+4684,ME,Surry,44.488272,-68.506272
+4689,ME,4689,44.538181,-68.195943
+4690,ME,West Tremont,44.252778,-68.380365
+4693,ME,Winter Harbor,44.390038,-68.084316
+4694,ME,Woodland,45.133234,-67.417519
+4730,ME,Houlton,46.11885,-67.863014
+4732,ME,Ashland,46.618438,-68.387608
+4733,ME,Benedicta,45.812484,-68.408855
+4735,ME,Bridgewater,46.422154,-67.841469
+4736,ME,Caribou,46.870569,-68.020352
+4737,ME,Clayton Lake,46.629805,-69.626445
+4740,ME,Easton,46.635697,-67.901777
+4742,ME,Fort Fairfield,46.762272,-67.840204
+4743,ME,Fort Kent,47.196857,-68.590855
+4746,ME,Grand Isle,47.304428,-68.154238
+4747,ME,Island Falls,46.016866,-68.266722
+4749,ME,Lille,47.263623,-68.110393
+4750,ME,Limestone,46.924786,-67.845086
+4751,ME,Loring Afb,46.9416,-67.89858
+4756,ME,Madawaska,47.329447,-68.33281
+4757,ME,Mapleton,46.674634,-68.153584
+4758,ME,Mars Hill,46.522268,-67.862973
+4760,ME,Monticello,46.300658,-67.841439
+4762,ME,New Sweden,46.955916,-68.11545
+4763,ME,Oakfield,46.108753,-68.129805
+4764,ME,Oxbow,46.401955,-68.521792
+4765,ME,Patten,46.01316,-68.464669
+4768,ME,Portage,46.775303,-68.487675
+4769,ME,Presque Isle,46.684151,-68.01179
+4772,ME,Saint Agatha,47.238655,-68.323237
+4773,ME,Saint David,47.334328,-68.231368
+4774,ME,Saint Francis,47.14071,-68.950309
+4776,ME,Sherman Mills,45.877727,-68.369587
+4777,ME,Sherman Station,45.885892,-68.461844
+4779,ME,Sinclair,47.174384,-68.267922
+4780,ME,Smyrna Mills,46.146412,-68.206363
+4781,ME,Soldier Pond,47.151529,-68.598081
+4783,ME,Stockholm,47.064299,-68.208614
+4785,ME,Van Buren,47.158857,-67.94589
+4786,ME,Washburn,46.788271,-68.133836
+4787,ME,Westfield,46.508687,-67.897365
+4841,ME,Rockland,44.112326,-69.113938
+4843,ME,Camden,44.213718,-69.076682
+4847,ME,Hope,44.258902,-69.146743
+4848,ME,Islesboro,44.30823,-68.907346
+4849,ME,Lincolnville,44.304825,-69.082446
+4852,ME,Monhegan,43.764222,-69.316429
+4853,ME,North Haven,44.143598,-68.866744
+4854,ME,Owls Head,44.073186,-69.089416
+4856,ME,Rockport,44.188787,-69.090114
+4857,ME,Saint George,43.998687,-69.201984
+4858,ME,South Thomaston,44.037785,-69.135937
+4859,ME,Spruce Head,44.010405,-69.17071
+4860,ME,Tenants Harbor,43.955473,-69.231501
+4861,ME,Thomaston,44.084568,-69.188803
+4862,ME,Union,44.242404,-69.252435
+4863,ME,Vinalhaven,44.03968,-68.836816
+4864,ME,Warren,44.127066,-69.247894
+4865,ME,West Rockport,44.181966,-69.151049
+4901,ME,Winslow,44.547967,-69.635917
+4910,ME,Albion,44.535527,-69.468286
+4911,ME,Anson,44.783107,-69.930856
+4912,ME,Athens,44.938844,-69.669482
+4915,ME,Belfast,44.435436,-69.014753
+4917,ME,Belgrade,44.46875,-69.860636
+4918,ME,Belgrade Lakes,44.511103,-69.863681
+4920,ME,Bingham,45.068241,-69.885721
+4921,ME,Brooks,44.567807,-69.140393
+4922,ME,Burnham,44.684766,-69.380049
+4923,ME,Cambridge,45.051281,-69.44193
+4924,ME,Canaan,44.744976,-69.549777
+4925,ME,Caratunk,45.240999,-69.938617
+4927,ME,Clinton,44.643995,-69.528405
+4928,ME,Corinna,44.926045,-69.232341
+4929,ME,Detroit,44.777526,-69.316081
+4930,ME,Dexter,45.020347,-69.279654
+4932,ME,Dixmont,44.699078,-69.102532
+4936,ME,Eustis,45.162559,-70.457067
+4937,ME,Benton Station,44.609639,-69.63321
+4938,ME,Farmington,44.665339,-70.132878
+4941,ME,Freedom,44.463311,-69.319045
+4942,ME,Wellington,45.003926,-69.56871
+4943,ME,Hartland,44.878155,-69.471754
+4945,ME,Jackman,45.635081,-70.249227
+4947,ME,Kingfield,44.985403,-70.183177
+4949,ME,Liberty,44.374085,-69.33058
+4950,ME,Madison,44.809623,-69.8449
+4951,ME,Monroe,44.592674,-69.03169
+4952,ME,Morrill,44.410693,-69.147105
+4953,ME,Newport,44.839264,-69.267498
+4954,ME,New Portland,44.885571,-70.092857
+4955,ME,New Sharon,44.645803,-70.013927
+4956,ME,New Vineyard,44.796658,-70.121953
+4957,ME,Norridgewock,44.68994,-69.830583
+4958,ME,North Anson,44.879662,-69.911946
+4961,ME,North New Portla,44.95524,-70.043268
+4962,ME,North Vassalboro,44.477748,-69.57808
+4963,ME,Oakland,44.51729,-69.740082
+4965,ME,Palmyra,44.857578,-69.381084
+4966,ME,Phillips,44.837486,-70.360079
+4967,ME,Pittsfield,44.787109,-69.40223
+4969,ME,Plymouth,44.769938,-69.226562
+4970,ME,Rangeley,44.96306,-70.665844
+4971,ME,Saint Albans,44.929264,-69.399179
+4973,ME,Searsmont,44.377035,-69.219579
+4974,ME,Searsport,44.487672,-68.931125
+4976,ME,Skowhegan,44.777212,-69.697571
+4978,ME,Smithfield,44.630107,-69.807496
+4979,ME,Solon,44.967605,-69.833018
+4981,ME,Stockton Springs,44.514056,-68.855974
+4982,ME,Stratton,45.123197,-70.431928
+4983,ME,Strong,44.82236,-70.222054
+4984,ME,Temple,44.695417,-70.242635
+4985,ME,West Forks,45.383905,-69.984057
+4986,ME,Thorndike,44.574406,-69.248658
+4987,ME,Troy,44.675657,-69.25488
+4988,ME,Unity,44.600676,-69.332778
+4989,ME,Vassalboro,44.440455,-69.651904
+20331,MD,Andrews Afb,38.800324,-76.886695
+20601,MD,Waldorf,38.637065,-76.877787
+20602,MD,Saint Charles,38.601545,-76.903414
+20603,MD,Saint Charles,38.624929,-76.961154
+20606,MD,Abell,38.249554,-76.744104
+20607,MD,Accokeek,38.671992,-77.016217
+20608,MD,Aquasco,38.582496,-76.714947
+20609,MD,Avenue,38.282624,-76.746553
+20611,MD,Bel Alton,38.473141,-76.978873
+20613,MD,Brandywine,38.692203,-76.832033
+20615,MD,Broomes Island,38.417963,-76.547763
+20616,MD,Bryans Road,38.641468,-77.076589
+20617,MD,Bryantown,38.542638,-76.846539
+20618,MD,Bushwood,38.284439,-76.792863
+20619,MD,California,38.300648,-76.531228
+20620,MD,Callaway,38.227521,-76.520963
+20621,MD,Maddox,38.333197,-76.782343
+20622,MD,Charlotte Hall,38.474977,-76.803792
+20623,MD,Cheltenham,38.753094,-76.836852
+20624,MD,Clements,38.340716,-76.726419
+20626,MD,Coltons Point,38.236963,-76.764649
+20628,MD,Dameron,38.153271,-76.357474
+20630,MD,Drayden,38.171875,-76.473095
+20632,MD,Faulkner,38.438221,-76.972937
+20634,MD,Great Mills,38.267431,-76.495365
+20636,MD,Hollywood,38.352356,-76.562644
+20637,MD,Hughesville,38.520712,-76.781677
+20639,MD,Huntingtown,38.609453,-76.600268
+20640,MD,Pisgah,38.588855,-77.148357
+20645,MD,Issue,38.304327,-76.867527
+20646,MD,La Plata,38.525673,-76.986498
+20650,MD,Leonardtown,38.277425,-76.638037
+20653,MD,Lexington Park,38.249452,-76.45293
+20656,MD,Loveville,38.347438,-76.67708
+20657,MD,Lusby,38.366128,-76.43464
+20658,MD,Rison,38.557335,-77.156329
+20659,MD,Mechanicsville,38.429319,-76.725399
+20662,MD,Nanjemoy,38.446161,-77.198296
+20664,MD,Newburg,38.329782,-76.917499
+20667,MD,Park Hall,38.224364,-76.441522
+20670,MD,Patuxent River,38.279089,-76.438061
+20674,MD,Piney Point,38.139667,-76.504716
+20675,MD,Pomfret,38.585541,-77.009314
+20676,MD,Port Republic,38.495237,-76.534865
+20677,MD,Port Tobacco,38.499353,-77.041856
+20678,MD,Prince Frederick,38.533629,-76.595495
+20680,MD,Ridge,38.116883,-76.371071
+20684,MD,Saint Inigoes,38.14406,-76.408328
+20685,MD,Saint Leonard,38.45013,-76.511017
+20687,MD,Scotland,38.082772,-76.347684
+20688,MD,Solomons,38.334067,-76.458886
+20689,MD,Sunderland,38.648968,-76.576697
+20690,MD,Tall Timbers,38.165318,-76.539897
+20692,MD,Valley Lee,38.189937,-76.508689
+20693,MD,Welcome,38.467206,-77.095006
+20695,MD,White Plains,38.594848,-76.980233
+20701,MD,Annapolis Juncti,39.130983,-76.798068
+20705,MD,Beltsville,39.045524,-76.924168
+20706,MD,Lanham,38.967537,-76.8551
+20707,MD,Laurel,39.107687,-76.872043
+20708,MD,Montpelier,39.068376,-76.847725
+20710,MD,Bladensburg,38.945215,-76.920327
+20711,MD,Lothian,38.802933,-76.66281
+20712,MD,Mount Rainier,38.943072,-76.965152
+20714,MD,North Beach,38.711884,-76.536701
+20715,MD,Bowie,38.979696,-76.743497
+20716,MD,Mitchellville,38.927482,-76.731979
+20720,MD,Bowie,38.973733,-76.789526
+20721,MD,Mitchellville,38.919588,-76.80527
+20722,MD,Brentwood,38.940701,-76.953062
+20723,MD,Laurel,39.120806,-76.84345
+20724,MD,Laurel,39.095801,-76.815485
+20732,MD,Chesapeake Beach,38.669798,-76.537629
+20733,MD,Churchton,38.801791,-76.524773
+20735,MD,Clinton,38.754892,-76.902577
+20736,MD,Owings,38.695507,-76.606093
+20737,MD,Riverdale,38.960067,-76.914658
+20740,MD,College Park,38.996303,-76.929891
+20743,MD,Capital Heights,38.88385,-76.906665
+20744,MD,Fort Washington,38.758656,-76.983531
+20745,MD,Oxon Hill,38.810764,-76.989776
+20746,MD,Suitland,38.842453,-76.922156
+20747,MD,District Heights,38.853887,-76.889132
+20748,MD,Temple Hills,38.822159,-76.947786
+20751,MD,Deale,38.782909,-76.551498
+20754,MD,Dunkirk,38.740763,-76.642658
+20755,MD,Fort George G Me,39.112923,-76.745013
+20758,MD,Friendship,38.739077,-76.600093
+20759,MD,Fulton,39.150179,-76.92999
+20763,MD,Savage,39.137962,-76.821818
+20764,MD,Shady Side,38.836794,-76.510884
+20769,MD,Glenn Dale,38.976632,-76.805336
+20770,MD,Greenbelt,38.999559,-76.883964
+20772,MD,Upper Marlboro,38.837717,-76.798028
+20776,MD,Harwood,38.858152,-76.614458
+20777,MD,Highland,39.184252,-76.968643
+20778,MD,West River,38.825194,-76.539113
+20779,MD,Tracys Landing,38.767101,-76.57524
+20781,MD,Hyattsville,38.95063,-76.934652
+20782,MD,West Hyattsville,38.963575,-76.966632
+20783,MD,Adelphi,38.993751,-76.97472
+20784,MD,Landover Hills,38.951541,-76.888829
+20785,MD,Landover,38.91992,-76.882243
+20794,MD,Jessup,39.148399,-76.792239
+20812,MD,Glen Echo,38.969333,-77.143457
+20814,MD,Bethesda,39.000343,-77.102165
+20815,MD,Chevy Chase,38.977955,-77.081984
+20816,MD,Bethesda,38.958485,-77.11528
+20817,MD,West Bethesda,38.999659,-77.137239
+20818,MD,Cabin John,38.974302,-77.15911
+20832,MD,Olney,39.152591,-77.074949
+20833,MD,Brookeville,39.187082,-77.06026
+20837,MD,Poolesville,39.138597,-77.406717
+20838,MD,Barnesville,39.223321,-77.376426
+20839,MD,Beallsville,39.167095,-77.414403
+20841,MD,Boyds,39.210042,-77.316731
+20842,MD,Dickerson,39.212615,-77.419853
+20850,MD,Rockville,39.087037,-77.167973
+20851,MD,Rockville,39.076265,-77.123449
+20852,MD,Rockville,39.049628,-77.120416
+20853,MD,Rockville,39.088738,-77.095037
+20854,MD,Potomac,39.03877,-77.192151
+20855,MD,Derwood,39.134539,-77.147707
+20860,MD,Sandy Spring,39.150319,-77.029071
+20861,MD,Ashton,39.151027,-76.99242
+20862,MD,Brinklow,39.183777,-77.016338
+20866,MD,Burtonsville,39.092151,-76.933851
+20868,MD,Spencerville,39.121343,-76.959802
+20871,MD,Clarksburg,39.263719,-77.273579
+20872,MD,Damascus,39.27606,-77.213088
+20874,MD,Darnestown,39.17039,-77.269935
+20876,MD,Germantown,39.188001,-77.235829
+20877,MD,Gaithersburg,39.14187,-77.188993
+20878,MD,Darnestown,39.115534,-77.236434
+20879,MD,Laytonsville,39.172597,-77.194599
+20882,MD,Laytonsville,39.238345,-77.174718
+20895,MD,Kensington,39.029803,-77.079281
+20901,MD,Silver Spring,39.019106,-77.007613
+20902,MD,Wheaton,39.04158,-77.046348
+20903,MD,Silver Spring,39.009513,-76.984648
+20904,MD,Colesville,39.06524,-76.976399
+20905,MD,Colesville,39.102438,-76.989928
+20906,MD,Aspen Hill,39.081041,-77.063233
+20910,MD,Silver Spring,38.998198,-77.033776
+20912,MD,Takoma Park,38.983214,-77.000715
+21001,MD,Aberdeen,39.510886,-76.18054
+21005,MD,Aberdeen Proving,39.472434,-76.130295
+21009,MD,Abingdon,39.47444,-76.299726
+21010,MD,Gunpowder,39.398249,-76.274261
+21012,MD,Arnold,39.047587,-76.49406
+21013,MD,Baldwin,39.519395,-76.492711
+21014,MD,Bel Air,39.539367,-76.356431
+21015,MD,Bel Air,39.530252,-76.315329
+21017,MD,Belcamp,39.475626,-76.242011
+21021,MD,Bradshaw,39.428113,-76.3894
+21028,MD,Churchville,39.564845,-76.248962
+21029,MD,Clarksville,39.194362,-76.942271
+21030,MD,Cockeysville Hun,39.473554,-76.628655
+21031,MD,Cockeysville Hun,39.502623,-76.659844
+21032,MD,Crownsville,39.048889,-76.593477
+21034,MD,Darlington,39.654032,-76.227795
+21035,MD,Davidsonville,38.937364,-76.637542
+21036,MD,Dayton,39.233882,-76.996755
+21037,MD,Edgewater Beach,38.922511,-76.540374
+21040,MD,Edgewood,39.427725,-76.30555
+21042,MD,Ellicott City,39.272632,-76.861362
+21043,MD,Daniels,39.258216,-76.803929
+21044,MD,Columbia,39.214103,-76.878807
+21045,MD,Columbia,39.205052,-76.83223
+21046,MD,Columbia,39.170236,-76.853796
+21047,MD,Fallston,39.527048,-76.43277
+21048,MD,Patapsco,39.508645,-76.909862
+21050,MD,Forest Hill,39.57549,-76.400767
+21051,MD,Fork,39.472937,-76.450361
+21053,MD,Freeland,39.693957,-76.722349
+21054,MD,Gambrills,39.04069,-76.681877
+21056,MD,Gibson Island,39.07511,-76.432418
+21057,MD,Glen Arm,39.457484,-76.515331
+21061,MD,Glen Burnie,39.158968,-76.618862
+21071,MD,Glyndon,39.492782,-76.787568
+21074,MD,Greenmount,39.61352,-76.849397
+21076,MD,Hanover,39.155069,-76.721535
+21078,MD,Havre De Grace,39.552312,-76.117144
+21082,MD,Hydes,39.474049,-76.469538
+21084,MD,Jarrettsville,39.616241,-76.468427
+21085,MD,Joppa,39.424208,-76.354102
+21087,MD,Kingsville,39.455775,-76.41473
+21088,MD,Lineboro,39.718498,-76.839476
+21090,MD,Linthicum Height,39.208331,-76.657477
+21093,MD,Lutherville,39.438636,-76.633791
+21102,MD,Manchester,39.674746,-76.894073
+21104,MD,Marriottsville,39.334154,-76.913241
+21107,MD,Millers,39.683224,-76.823884
+21108,MD,Millersville,39.104102,-76.61902
+21111,MD,Hereford,39.576611,-76.592957
+21113,MD,Odenton,39.076197,-76.699583
+21114,MD,Crofton,39.011163,-76.680166
+21117,MD,Owings Mills,39.42688,-76.776934
+21120,MD,Bentley Springs,39.649937,-76.677591
+21122,MD,Riviera Beach,39.129284,-76.516248
+21128,MD,Perry Hall,39.401013,-76.450987
+21131,MD,Jacksonville,39.506978,-76.564623
+21132,MD,Pylesville,39.695905,-76.411256
+21133,MD,Randallstown,39.374571,-76.800245
+21136,MD,Reisterstown,39.45996,-76.813452
+21140,MD,Riva,38.950391,-76.585437
+21144,MD,Severn,39.127543,-76.697953
+21146,MD,Severna Park,39.081078,-76.557746
+21152,MD,Glencoe,39.543086,-76.669109
+21154,MD,Rocks,39.649928,-76.330174
+21155,MD,Fowbelsburg,39.56394,-76.81623
+21156,MD,Upper Falls,39.43967,-76.400604
+21157,MD,Carrollton,39.555654,-76.99404
+21158,MD,Uniontown,39.655464,-77.036946
+21160,MD,Whiteford,39.707709,-76.316015
+21161,MD,White Hall,39.66176,-76.566639
+21162,MD,White Marsh,39.392315,-76.413189
+21163,MD,Granite,39.339151,-76.85757
+21201,MD,Baltimore,39.29463,-76.625203
+21202,MD,Baltimore,39.299844,-76.607499
+21204,MD,Eudowood,39.402517,-76.603224
+21205,MD,Baltimore,39.300871,-76.579915
+21206,MD,Baltimore,39.336494,-76.541135
+21207,MD,Gwynn Oak,39.329628,-76.734064
+21208,MD,Pikesville,39.376359,-76.729013
+21209,MD,Baltimore,39.371622,-76.674431
+21210,MD,Baltimore,39.350727,-76.632099
+21211,MD,Baltimore,39.331642,-76.633625
+21212,MD,Baltimore,39.362571,-76.609989
+21213,MD,Baltimore,39.312667,-76.581012
+21214,MD,Baltimore,39.35206,-76.564375
+21215,MD,Baltimore,39.344572,-76.679397
+21216,MD,Baltimore,39.309349,-76.669891
+21217,MD,Baltimore,39.306416,-76.639267
+21218,MD,Baltimore,39.3265,-76.6048
+21219,MD,Dundalk Sparrows,39.229068,-76.446937
+21220,MD,Middle River,39.340098,-76.415255
+21221,MD,Essex,39.308553,-76.453259
+21222,MD,Dundalk Sparrows,39.26486,-76.502484
+21223,MD,Baltimore,39.287,-76.647586
+21224,MD,Baltimore,39.287558,-76.556831
+21225,MD,Brooklyn Curtis,39.233343,-76.615026
+21226,MD,Brooklyn Curtis,39.209315,-76.569147
+21227,MD,Halethorpe,39.230893,-76.696872
+21228,MD,Catonsville,39.27825,-76.740124
+21229,MD,Baltimore,39.285645,-76.689885
+21230,MD,Baltimore,39.269943,-76.626193
+21231,MD,Baltimore,39.289193,-76.589956
+21234,MD,Parkville,39.387581,-76.541767
+21236,MD,Nottingham,39.391412,-76.487106
+21237,MD,Rosedale,39.336054,-76.501387
+21239,MD,Baltimore,39.360977,-76.589082
+21240,MD,Baltimore,39.17185,-76.648287
+21401,MD,Cape Saint Clair,38.999645,-76.503139
+21402,MD,Naval Academy,38.982436,-76.48079
+21403,MD,Annapolis,38.952394,-76.49103
+21502,MD,Cresaptown,39.644796,-78.777442
+21520,MD,Accident,39.635504,-79.308467
+21521,MD,Barton,39.533135,-79.02813
+21522,MD,Bittinger,39.597786,-79.214247
+21523,MD,Bloomington,39.487764,-79.113707
+21530,MD,Flintstone,39.699288,-78.573949
+21531,MD,Friendsville,39.666502,-79.421912
+21532,MD,Frostburg,39.649359,-78.930559
+21536,MD,Jennings,39.684436,-79.151665
+21538,MD,Shallmar,39.396275,-79.202528
+21539,MD,Lonaconing,39.575703,-78.991477
+21540,MD,Luke,39.477392,-79.059365
+21541,MD,Sang Run,39.559709,-79.364134
+21545,MD,Mount Savage,39.699128,-78.873892
+21550,MD,Deer Park,39.399993,-79.38966
+21555,MD,Oldtown,39.584598,-78.604373
+21557,MD,Rawlings,39.521363,-78.906231
+21561,MD,Swanton,39.476361,-79.240165
+21562,MD,Mccoole,39.482625,-79.030726
+21601,MD,Easton,38.77682,-76.075775
+21607,MD,Barclay,39.129871,-75.860079
+21610,MD,Betterton,39.365509,-76.063938
+21612,MD,Bozman,38.751493,-76.27641
+21613,MD,Cambridge,38.564282,-76.087358
+21617,MD,Centreville,39.056423,-76.044975
+21619,MD,Chester,38.958296,-76.284183
+21620,MD,Chestertown,39.212517,-76.080214
+21622,MD,Church Creek,38.427815,-76.169569
+21623,MD,Church Hill,39.145958,-75.988028
+21625,MD,Cordova,38.870426,-76.002879
+21626,MD,Crapo,38.329541,-76.114207
+21628,MD,Crumpton,39.233019,-75.919522
+21629,MD,Denton,38.877928,-75.836071
+21631,MD,East New Market,38.592095,-75.956766
+21632,MD,Federalsburg,38.714681,-75.775376
+21634,MD,Fishing Creek,38.316292,-76.216783
+21635,MD,Galena,39.337417,-75.871673
+21636,MD,Goldsboro,39.022957,-75.792604
+21637,MD,Golts,39.355598,-75.805521
+21638,MD,Grasonville,38.945602,-76.199701
+21639,MD,Greensboro,38.961632,-75.805911
+21640,MD,Henderson,39.067197,-75.794787
+21643,MD,Williamsburg,38.642826,-75.866254
+21644,MD,Ingleside,39.124654,-75.891748
+21645,MD,Kennedyville,39.297835,-75.981797
+21647,MD,Mcdaniel,38.819213,-76.280593
+21649,MD,Marydel,39.108169,-75.762247
+21650,MD,Massey,39.312569,-75.821483
+21651,MD,Millington,39.257989,-75.849966
+21654,MD,Oxford,38.686358,-76.153783
+21655,MD,Preston,38.746456,-75.916284
+21657,MD,Queen Anne,38.945583,-75.977655
+21658,MD,Queenstown,38.956235,-76.152646
+21659,MD,Rhodesdale,38.602985,-75.774945
+21660,MD,Ridgely,38.956787,-75.884825
+21661,MD,Rock Hall,39.134371,-76.230467
+21662,MD,Royal Oak,38.72883,-76.187788
+21663,MD,Saint Michaels,38.782965,-76.221547
+21665,MD,Sherwood,38.73741,-76.327822
+21666,MD,Stevensville,38.939399,-76.337087
+21667,MD,Still Pond,39.327624,-76.052156
+21668,MD,Sudlersville,39.182339,-75.849968
+21669,MD,Taylors Island,38.463095,-76.296406
+21671,MD,Tilghman,38.706309,-76.337653
+21672,MD,Toddville,38.272592,-76.059634
+21673,MD,Trappe,38.66466,-76.05067
+21675,MD,Wingate,38.289898,-76.086303
+21676,MD,Wittman,38.789187,-76.29931
+21677,MD,Woolford,38.5066,-76.204057
+21678,MD,Worton,39.296346,-76.10078
+21679,MD,Wye Mills,38.928114,-76.081366
+21701,MD,Lewistown,39.408235,-77.400875
+21702,MD,Fort Detrick,39.436532,-77.447369
+21710,MD,Doubs,39.306452,-77.447693
+21711,MD,Big Pool,39.645685,-78.010449
+21713,MD,Fahrney Keedy Me,39.532244,-77.683522
+21716,MD,Brunswick,39.316356,-77.623002
+21718,MD,Burkittsville,39.397066,-77.626508
+21719,MD,Fort Ritchie,39.707341,-77.495609
+21722,MD,Big Spring,39.661693,-77.912592
+21723,MD,Cooksville,39.321109,-77.005076
+21725,MD,Detour,39.614661,-77.248272
+21727,MD,Emmitsburg,39.694044,-77.335658
+21733,MD,Fair Play,39.542279,-77.761468
+21737,MD,Glenelg,39.262064,-77.005703
+21738,MD,Glenwood,39.279519,-77.014821
+21740,MD,Hagerstown,39.632022,-77.737215
+21742,MD,Hagerstown,39.657291,-77.692102
+21750,MD,Hancock,39.699083,-78.176246
+21754,MD,Ijamsville,39.326737,-77.296363
+21755,MD,Jefferson,39.365291,-77.544061
+21756,MD,Keedysville,39.456323,-77.694427
+21757,MD,Keymar,39.565619,-77.281661
+21758,MD,Knoxville,39.347891,-77.651286
+21764,MD,Linwood,39.577654,-77.118443
+21766,MD,Little Orleans,39.687593,-78.378139
+21767,MD,Maugansville,39.6996,-77.749915
+21769,MD,Middletown,39.441586,-77.550241
+21770,MD,Monrovia,39.351248,-77.249442
+21771,MD,Mount Airy,39.388131,-77.172347
+21773,MD,Myersville,39.528194,-77.551322
+21776,MD,New Windsor,39.516233,-77.103397
+21777,MD,Point Of Rocks,39.279089,-77.532762
+21778,MD,Rocky Ridge,39.605696,-77.329635
+21779,MD,Rohrersville,39.443052,-77.657977
+21780,MD,Sabillasville,39.682772,-77.469323
+21782,MD,Sharpsburg,39.442394,-77.751072
+21783,MD,Smithsburg,39.647036,-77.570563
+21784,MD,Carrolltowne,39.39887,-76.961439
+21787,MD,Taneytown,39.665798,-77.169058
+21788,MD,Graceham,39.606576,-77.405114
+21790,MD,Tuscarora,39.266689,-77.51011
+21791,MD,Unionville,39.541484,-77.194346
+21793,MD,Walkersville,39.47875,-77.34839
+21794,MD,West Friendship,39.293447,-76.966031
+21795,MD,Williamsport,39.593023,-77.808705
+21797,MD,Woodbine,39.346438,-77.064698
+21798,MD,Woodsboro,39.531121,-77.297187
+21801,MD,Salisbury,38.362996,-75.592238
+21811,MD,Berlin,38.347514,-75.186557
+21813,MD,Bishopville,38.429609,-75.185544
+21814,MD,Bivalve,38.295337,-75.89141
+21816,MD,Chance,38.178504,-75.939192
+21817,MD,Crisfield,37.984496,-75.842882
+21820,MD,Dames Quarter,38.190568,-75.900082
+21821,MD,Deal Island,38.153326,-75.949559
+21822,MD,Eden,38.276155,-75.648167
+21824,MD,Ewell,37.99379,-76.03506
+21826,MD,Fruitland,38.322523,-75.622782
+21829,MD,Girdletree,38.095815,-75.390232
+21830,MD,Hebron,38.402597,-75.696267
+21835,MD,Linkwood,38.540317,-75.963015
+21837,MD,Mardela Springs,38.486386,-75.741442
+21838,MD,Marion Station,38.026637,-75.757903
+21840,MD,Nanticoke,38.267211,-75.902127
+21841,MD,Newark,38.248875,-75.289316
+21842,MD,Ocean City,38.379248,-75.081011
+21849,MD,Parsonsburg,38.391392,-75.473658
+21850,MD,Pittsville,38.375465,-75.407589
+21851,MD,Pocomoke City,38.071369,-75.555038
+21853,MD,Princess Anne,38.191929,-75.707237
+21856,MD,Quantico,38.333888,-75.785102
+21858,MD,21858,37.977403,-76.039838
+21863,MD,Snow Hill,38.186794,-75.404987
+21864,MD,Stockton,38.045155,-75.410762
+21865,MD,Tyaskin,38.30706,-75.869032
+21866,MD,Tylerton,37.967436,-76.023036
+21869,MD,Vienna,38.477376,-75.872926
+21870,MD,Wenona,38.133222,-75.944021
+21871,MD,Westover,38.10099,-75.740563
+21872,MD,Whaleysville,38.404169,-75.288868
+21874,MD,Willards,38.393853,-75.355161
+21875,MD,Delmar,38.44451,-75.55828
+21901,MD,North East,39.604535,-75.953805
+21903,MD,Perryville,39.564894,-76.059227
+21904,MD,Bainbridge,39.622264,-76.083706
+21911,MD,Rising Sun,39.688176,-76.049164
+21912,MD,Warwick,39.428261,-75.799592
+21913,MD,Cecilton,39.40151,-75.865395
+21914,MD,Charlestown,39.57287,-75.979537
+21915,MD,Chesapeake City,39.513308,-75.840581
+21917,MD,Colora,39.669515,-76.093364
+21918,MD,Conowingo,39.67775,-76.157198
+21919,MD,Earleville,39.427105,-75.94031
+21921,MD,Elkton,39.626434,-75.84584
+1001,MA,Agawam,42.070206,-72.622739
+1002,MA,Cushman,42.377017,-72.51565
+1005,MA,Barre,42.409698,-72.108354
+1007,MA,Belchertown,42.275103,-72.410953
+1008,MA,Blandford,42.182949,-72.936114
+1010,MA,Brimfield,42.116543,-72.188455
+1011,MA,Chester,42.279421,-72.988761
+1012,MA,Chesterfield,42.38167,-72.833309
+1013,MA,Chicopee,42.162046,-72.607962
+1020,MA,Chicopee,42.176443,-72.576142
+1022,MA,Westover Afb,42.196672,-72.558657
+1026,MA,Cummington,42.435296,-72.905767
+1027,MA,Mount Tom,42.264319,-72.679921
+1028,MA,East Longmeadow,42.067203,-72.505565
+1030,MA,Feeding Hills,42.07182,-72.675077
+1031,MA,Gilbertville,42.332194,-72.198585
+1032,MA,Goshen,42.466234,-72.844092
+1033,MA,Granby,42.255704,-72.520001
+1034,MA,Tolland,42.070234,-72.908793
+1035,MA,Hadley,42.36062,-72.571499
+1036,MA,Hampden,42.064756,-72.431823
+1038,MA,Hatfield,42.38439,-72.616735
+1039,MA,Haydenville,42.381799,-72.703178
+1040,MA,Holyoke,42.202007,-72.626193
+1050,MA,Huntington,42.265301,-72.873341
+1053,MA,Leeds,42.354292,-72.703403
+1054,MA,Leverett,42.46823,-72.499334
+1056,MA,Ludlow,42.172823,-72.471012
+1057,MA,Monson,42.101017,-72.319634
+1060,MA,Florence,42.324662,-72.654245
+1068,MA,Oakham,42.348033,-72.051265
+1069,MA,Palmer,42.176233,-72.328785
+1070,MA,Plainfield,42.514393,-72.918289
+1071,MA,Russell,42.147063,-72.840343
+1072,MA,Shutesbury,42.481968,-72.421342
+1073,MA,Southampton,42.224697,-72.719381
+1075,MA,South Hadley,42.237537,-72.581137
+1077,MA,Southwick,42.051099,-72.770588
+1080,MA,Three Rivers,42.181894,-72.362352
+1081,MA,Wales,42.062734,-72.204592
+1082,MA,Ware,42.261831,-72.258285
+1085,MA,Montgomery,42.129484,-72.754318
+1089,MA,West Springfield,42.115066,-72.641109
+1092,MA,West Warren,42.20734,-72.203639
+1095,MA,Wilbraham,42.124506,-72.446415
+1096,MA,Williamsburg,42.408522,-72.777989
+1098,MA,Worthington,42.384293,-72.931427
+1103,MA,Springfield,42.1029,-72.588735
+1104,MA,Springfield,42.128848,-72.577769
+1105,MA,Springfield,42.099931,-72.578312
+1106,MA,Longmeadow,42.050658,-72.5676
+1107,MA,Springfield,42.117907,-72.606544
+1108,MA,Springfield,42.085314,-72.558432
+1109,MA,Springfield,42.114455,-72.554349
+1118,MA,Springfield,42.092937,-72.527445
+1119,MA,Springfield,42.12473,-72.51211
+1128,MA,Springfield,42.094397,-72.488903
+1129,MA,Springfield,42.122263,-72.487622
+1151,MA,Indian Orchard,42.153225,-72.505048
+1201,MA,Pittsfield,42.453086,-73.247088
+1220,MA,Adams,42.622319,-73.117225
+1222,MA,Ashley Falls,42.059552,-73.320195
+1223,MA,Becket,42.359363,-73.120325
+1225,MA,Cheshire,42.561059,-73.157964
+1226,MA,Dalton,42.475046,-73.160259
+1230,MA,Great Barrington,42.195922,-73.36065
+1235,MA,Peru,42.434604,-73.092433
+1236,MA,Housatonic,42.265296,-73.374544
+1237,MA,Hancock,42.541961,-73.248737
+1238,MA,Lee,42.298994,-73.231696
+1240,MA,Lenox,42.364241,-73.271322
+1243,MA,Middlefield,42.34795,-73.006226
+1245,MA,West Otis,42.187847,-73.213452
+1247,MA,Clarksburg,42.69865,-73.10999
+1253,MA,Otis,42.18988,-73.082093
+1254,MA,Richmond,42.378398,-73.364457
+1255,MA,Sandisfield,42.109429,-73.116285
+1256,MA,Savoy,42.576964,-73.023281
+1257,MA,Sheffield,42.100102,-73.361091
+1258,MA,South Egremont,42.101153,-73.456575
+1259,MA,Southfield,42.078014,-73.260933
+1262,MA,Stockbridge,42.30104,-73.322263
+1266,MA,West Stockbridge,42.334752,-73.38251
+1267,MA,Williamstown,42.708883,-73.20364
+1270,MA,Windsor,42.509494,-73.04661
+1301,MA,Leyden,42.601222,-72.601847
+1330,MA,Ashfield,42.523207,-72.810998
+1331,MA,New Salem,42.592065,-72.214644
+1337,MA,Leyden,42.683784,-72.563439
+1338,MA,Buckland,42.615174,-72.764124
+1339,MA,Hawley,42.621802,-72.880162
+1340,MA,Colrain,42.67905,-72.726508
+1341,MA,Conway,42.513832,-72.702473
+1342,MA,Deerfield,42.540636,-72.607234
+1344,MA,Erving,42.604957,-72.416638
+1346,MA,Heath,42.685347,-72.839101
+1349,MA,Millers Falls,42.576206,-72.494626
+1350,MA,Monroe,42.723885,-72.960156
+1351,MA,Montague,42.542864,-72.532837
+1355,MA,New Salem,42.514643,-72.306241
+1360,MA,Northfield,42.688705,-72.450995
+1364,MA,New Salem,42.591231,-72.305867
+1366,MA,Petersham,42.489761,-72.189349
+1367,MA,Rowe,42.695289,-72.925776
+1370,MA,Shelburne Falls,42.602203,-72.739059
+1373,MA,South Deerfield,42.475616,-72.615268
+1375,MA,Sunderland,42.453947,-72.567569
+1376,MA,Turners Falls,42.606521,-72.54701
+1379,MA,Wendell,42.565644,-72.400851
+1420,MA,Fitchburg,42.579563,-71.803133
+1430,MA,Ashburnham,42.649614,-71.92666
+1431,MA,Ashby,42.674462,-71.817369
+1432,MA,Ayer,42.55914,-71.578763
+1433,MA,Ft Devens,42.532416,-71.621819
+1436,MA,Baldwinville,42.593568,-72.064647
+1440,MA,Gardner,42.57405,-71.9898
+1450,MA,Groton,42.612351,-71.558371
+1451,MA,Harvard,42.498565,-71.575293
+1452,MA,Hubbardston,42.486538,-72.001159
+1453,MA,Leominster,42.52744,-71.756308
+1460,MA,Littleton,42.540132,-71.487667
+1462,MA,Lunenburg,42.58843,-71.726642
+1463,MA,Pepperell,42.668888,-71.593392
+1464,MA,Shirley Center,42.558653,-71.646444
+1468,MA,Templeton,42.545976,-72.064971
+1469,MA,Townsend,42.652511,-71.689646
+1473,MA,Westminster,42.548319,-71.909599
+1474,MA,W Townsend,42.670404,-71.74057
+1475,MA,Winchendon,42.678943,-72.047524
+1501,MA,Auburn,42.205502,-71.839144
+1503,MA,Berlin,42.384438,-71.635634
+1504,MA,Blackstone,42.028708,-71.52691
+1505,MA,Boylston,42.337727,-71.731042
+1506,MA,Brookfield,42.199141,-72.098887
+1507,MA,Charlton,42.137902,-71.966384
+1510,MA,Clinton,42.418147,-71.682847
+1515,MA,East Brookfield,42.219308,-72.048078
+1516,MA,East Douglas,42.060566,-71.726611
+1518,MA,Fiskdale,42.122762,-72.117764
+1519,MA,Grafton,42.200371,-71.686848
+1520,MA,Holden,42.341983,-71.84142
+1521,MA,Holland,42.040264,-72.154373
+1522,MA,Jefferson,42.375519,-71.87058
+1523,MA,Lancaster,42.450984,-71.686831
+1524,MA,Leicester,42.237047,-71.918829
+1527,MA,Millbury,42.196779,-71.764438
+1529,MA,Millville,42.033102,-71.579813
+1531,MA,New Braintree,42.31977,-72.130642
+1532,MA,Northborough,42.318242,-71.646372
+1534,MA,Northbridge,42.1494,-71.656366
+1535,MA,North Brookfield,42.266455,-72.082129
+1536,MA,North Grafton,42.229726,-71.703691
+1537,MA,North Oxford,42.16549,-71.885953
+1540,MA,Oxford,42.11285,-71.868677
+1541,MA,Princeton,42.450812,-71.876245
+1542,MA,Rochdale,42.199685,-71.906882
+1543,MA,Rutland,42.376199,-71.948951
+1545,MA,Shrewsbury,42.284801,-71.720503
+1550,MA,Southbridge,42.075024,-72.035347
+1560,MA,South Grafton,42.176042,-71.692725
+1562,MA,Spencer,42.244103,-71.990617
+1564,MA,Sterling,42.435351,-71.775192
+1566,MA,Sturbridge,42.112619,-72.084233
+1568,MA,West Upton,42.173275,-71.608014
+1569,MA,Uxbridge,42.074426,-71.632869
+1570,MA,Dudley Hill,42.047574,-71.839467
+1571,MA,Dudley,42.048894,-71.893228
+1581,MA,Westborough,42.267891,-71.617604
+1583,MA,West Boylston,42.35836,-71.783822
+1585,MA,West Brookfield,42.244137,-72.151137
+1588,MA,Whitinsville,42.115319,-71.664357
+1590,MA,Wilkinsonville,42.140586,-71.748416
+1602,MA,Worcester,42.270251,-71.841678
+1603,MA,Worcester,42.245033,-71.837995
+1604,MA,Worcester,42.254084,-71.774626
+1605,MA,Worcester,42.289391,-71.788795
+1606,MA,Worcester,42.311029,-71.795774
+1607,MA,Worcester,42.230294,-71.793837
+1608,MA,Worcester,42.262425,-71.800262
+1609,MA,Worcester,42.275387,-71.817456
+1610,MA,Worcester,42.249186,-71.810798
+1611,MA,Cherry Valley,42.237287,-71.874971
+1612,MA,Paxton,42.306646,-71.920234
+1701,MA,Framingham,42.300665,-71.425486
+1718,MA,Village Of Nagog,42.514941,-71.422354
+1719,MA,Boxboro,42.486876,-71.518229
+1720,MA,Acton,42.475076,-71.448255
+1721,MA,Ashland,42.253909,-71.458347
+1730,MA,Bedford,42.484287,-71.276796
+1740,MA,Bolton,42.436523,-71.607593
+1741,MA,Carlisle,42.528562,-71.351892
+1742,MA,Concord,42.456701,-71.374741
+1745,MA,Southborough,42.293221,-71.502256
+1746,MA,Holliston,42.202641,-71.436059
+1747,MA,Hopedale,42.126796,-71.537601
+1748,MA,Hopkinton,42.219046,-71.530178
+1749,MA,Hudson,42.391796,-71.560896
+1752,MA,Marlborough,42.350861,-71.543355
+1754,MA,Maynard,42.432118,-71.454975
+1756,MA,Mendon,42.096744,-71.549882
+1757,MA,Milford,42.151142,-71.527402
+1760,MA,Natick,42.287476,-71.35741
+1770,MA,Sherborn,42.233088,-71.378717
+1772,MA,Southborough,42.293919,-71.531997
+1773,MA,Lincoln,42.421723,-71.313723
+1775,MA,Stow,42.430785,-71.515019
+1776,MA,Sudbury,42.383655,-71.428159
+1778,MA,Wayland,42.348629,-71.358781
+1801,MA,Woburn,42.482894,-71.157404
+1803,MA,Burlington,42.508942,-71.200437
+1810,MA,Andover,42.64956,-71.156481
+1821,MA,Billerica,42.551874,-71.251754
+1824,MA,South Chelmsford,42.59356,-71.357521
+1826,MA,Dracut,42.676422,-71.318592
+1827,MA,Dunstable,42.673917,-71.495201
+1830,MA,Haverhill,42.785605,-71.072057
+1832,MA,Haverhill,42.779154,-71.109519
+1833,MA,Georgetown,42.728067,-70.982239
+1834,MA,Groveland,42.753027,-71.027018
+1835,MA,Bradford,42.758597,-71.08549
+1840,MA,Lawrence,42.707958,-71.16381
+1841,MA,Lawrence,42.711545,-71.166997
+1843,MA,Lawrence,42.691053,-71.160506
+1844,MA,Methuen,42.728019,-71.181031
+1845,MA,North Andover,42.682583,-71.109004
+1850,MA,Lowell,42.656035,-71.305078
+1851,MA,Lowell,42.631548,-71.332882
+1852,MA,Lowell,42.634413,-71.298331
+1854,MA,Lowell,42.649254,-71.335464
+1860,MA,Merrimac,42.834629,-71.004658
+1862,MA,North Billerica,42.575694,-71.290217
+1863,MA,North Chelmsford,42.634737,-71.390834
+1864,MA,North Reading,42.581898,-71.094711
+1867,MA,Reading,42.527986,-71.109021
+1876,MA,Tewksbury,42.60283,-71.223224
+1879,MA,Tyngsboro,42.672383,-71.415766
+1880,MA,Wakefield,42.500886,-71.068471
+1886,MA,Graniteville,42.589959,-71.438143
+1887,MA,Wilmington,42.558143,-71.172306
+1890,MA,Winchester,42.453028,-71.14407
+1901,MA,Lynn,42.463378,-70.945516
+1902,MA,Lynn,42.469814,-70.941989
+1904,MA,East Lynn,42.487453,-70.962798
+1905,MA,West Lynn,42.46453,-70.973825
+1906,MA,Saugus,42.463344,-71.011093
+1907,MA,Swampscott,42.474611,-70.909774
+1908,MA,Nahant,42.426098,-70.927739
+1913,MA,Amesbury,42.855879,-70.936681
+1915,MA,Beverly,42.560825,-70.875939
+1921,MA,Boxford,42.679719,-71.011372
+1922,MA,Byfield,42.756792,-70.935053
+1923,MA,Danvers,42.569402,-70.942461
+1929,MA,Essex,42.628629,-70.782794
+1930,MA,Gloucester,42.620836,-70.672149
+1938,MA,Ipswich,42.680877,-70.849353
+1940,MA,Lynnfield,42.532711,-71.033873
+1944,MA,Manchester,42.57963,-70.767434
+1945,MA,Marblehead,42.498431,-70.865291
+1949,MA,Middleton,42.594184,-71.013004
+1950,MA,Newburyport,42.812964,-70.884668
+1951,MA,Newbury,42.783475,-70.847377
+1952,MA,Salisbury,42.850678,-70.858822
+1960,MA,Peabody,42.532579,-70.961194
+1966,MA,Rockport,42.657973,-70.619424
+1969,MA,Rowley,42.713753,-70.90696
+1970,MA,Salem,42.515114,-70.900343
+1982,MA,South Hamilton,42.618478,-70.856132
+1983,MA,Topsfield,42.641546,-70.948843
+1984,MA,Wenham,42.60166,-70.878622
+1985,MA,West Newbury,42.794865,-70.977811
+2019,MA,Bellingham,42.074573,-71.476829
+2021,MA,Canton,42.164454,-71.135536
+2025,MA,Cohasset,42.239484,-70.812788
+2026,MA,Dedham,42.243685,-71.163741
+2030,MA,Dover,42.236233,-71.285363
+2032,MA,East Walpole,42.15324,-71.2179
+2035,MA,Foxboro,42.064938,-71.244127
+2038,MA,Franklin,42.09347,-71.405786
+2043,MA,Hingham,42.224485,-70.891051
+2045,MA,Hull,42.285346,-70.875442
+2048,MA,Mansfield,42.021238,-71.217775
+2050,MA,Marshfield,42.106177,-70.69931
+2052,MA,Medfield,42.184525,-71.304813
+2053,MA,Medway,42.151363,-71.421715
+2054,MA,Millis,42.166938,-71.360693
+2056,MA,Norfolk,42.117746,-71.326934
+2061,MA,Norwell,42.159574,-70.82172
+2062,MA,Norwood,42.186843,-71.203313
+2066,MA,Scituate,42.203235,-70.752476
+2067,MA,Sharon,42.109388,-71.175872
+2071,MA,South Walpole,42.099203,-71.275235
+2072,MA,Stoughton,42.125279,-71.107357
+2081,MA,Walpole,42.144413,-71.254391
+2090,MA,Westwood,42.214824,-71.210426
+2093,MA,Wrentham,42.061746,-71.339568
+2108,MA,Boston,42.357603,-71.068432
+2109,MA,Boston,42.362963,-71.053386
+2110,MA,Boston,42.357636,-71.051417
+2111,MA,Boston,42.350348,-71.0629
+2113,MA,Boston,42.365656,-71.055958
+2114,MA,Boston,42.361111,-71.06823
+2115,MA,Boston,42.342706,-71.092215
+2116,MA,Boston,42.349201,-71.076798
+2118,MA,Roxbury,42.340154,-71.075627
+2119,MA,Roxbury,42.322414,-71.086923
+2120,MA,Roxbury,42.332844,-71.097978
+2121,MA,Dorchester,42.307503,-71.08305
+2122,MA,Dorchester,42.297278,-71.058304
+2124,MA,Dorchester,42.287984,-71.072898
+2125,MA,Dorchester,42.315305,-71.061924
+2126,MA,Mattapan,42.273889,-71.093871
+2127,MA,South Boston,42.333454,-71.043792
+2128,MA,East Boston,42.378137,-71.028682
+2129,MA,Charlestown,42.377815,-71.062715
+2130,MA,Jamaica Plain,42.312596,-71.111495
+2131,MA,Roslindale,42.283615,-71.129543
+2132,MA,West Roxbury,42.27868,-71.158868
+2134,MA,Allston,42.353519,-71.132866
+2135,MA,Brighton,42.34779,-71.156599
+2136,MA,Hyde Park,42.253989,-71.126052
+2138,MA,Cambridge,42.377045,-71.125611
+2139,MA,Cambridge,42.364688,-71.104155
+2140,MA,North Cambridge,42.391366,-71.129379
+2141,MA,East Cambridge,42.370701,-71.088277
+2142,MA,Cambridge,42.362025,-71.083011
+2143,MA,Somerville,42.382945,-71.102814
+2144,MA,Somerville,42.40032,-71.122059
+2145,MA,Somerville,42.390678,-71.092944
+2146,MA,Brookline,42.339158,-71.128917
+2148,MA,Malden,42.42911,-71.060507
+2149,MA,Everett,42.411199,-71.051448
+2150,MA,Chelsea,42.396252,-71.032521
+2151,MA,Revere,42.413767,-71.005165
+2152,MA,Winthrop,42.376294,-70.980043
+2154,MA,North Waltham,42.382492,-71.236497
+2155,MA,Medford,42.417335,-71.108686
+2158,MA,Newtonville,42.353835,-71.1902
+2159,MA,Newton Center,42.318889,-71.191839
+2160,MA,Newtonville,42.351961,-71.208771
+2161,MA,Newton Highlands,42.318512,-71.209347
+2162,MA,Newtonville,42.330296,-71.258025
+2163,MA,Cambridge,42.364005,-71.141879
+2164,MA,Newton Upper Fal,42.312562,-71.221615
+2165,MA,Newtonville,42.352366,-71.22795
+2166,MA,Auburndale,42.345928,-71.247598
+2167,MA,Boston College,42.31903,-71.16272
+2168,MA,Waban,42.327049,-71.230703
+2169,MA,Quincy,42.249133,-70.997816
+2170,MA,Quincy,42.26713,-71.018644
+2171,MA,Quincy,42.282519,-71.024141
+2172,MA,East Watertown,42.371497,-71.180266
+2173,MA,Lexington,42.445384,-71.225916
+2174,MA,Arlington,42.417098,-71.162517
+2176,MA,Melrose,42.458066,-71.063191
+2178,MA,Belmont,42.389656,-71.174647
+2180,MA,Stoneham,42.482778,-71.0978
+2181,MA,Wellesley,42.305593,-71.287966
+2184,MA,Braintree,42.209284,-70.996304
+2186,MA,Milton,42.253663,-71.077051
+2188,MA,Weymouth,42.211327,-70.958248
+2189,MA,Weymouth,42.211606,-70.931671
+2190,MA,Weymouth,42.172817,-70.94869
+2191,MA,Weymouth,42.243564,-70.944318
+2192,MA,Needham,42.278908,-71.235172
+2193,MA,Weston,42.359422,-71.300291
+2194,MA,Needham,42.297702,-71.234363
+2199,MA,Boston,42.347873,-71.082543
+2210,MA,Boston,42.348921,-71.046511
+2215,MA,Boston,42.347088,-71.102689
+2322,MA,Avon,42.125825,-71.043738
+2324,MA,Bridgewater,41.977341,-70.97234
+2330,MA,Carver,41.888265,-70.767754
+2332,MA,Duxbury,42.039936,-70.716257
+2333,MA,East Bridgewater,42.031478,-70.944964
+2338,MA,Halifax,42.000159,-70.844794
+2339,MA,Hanover,42.121406,-70.857006
+2341,MA,Hanson,42.061627,-70.865053
+2343,MA,Holbrook,42.14641,-71.008273
+2346,MA,Middleboro,41.888396,-70.892965
+2347,MA,Lakeville,41.837377,-70.958195
+2351,MA,Abington,42.116715,-70.954293
+2356,MA,North Easton,42.058956,-71.112337
+2359,MA,Pembroke,42.062072,-70.804404
+2360,MA,Plymouth,41.910404,-70.642004
+2364,MA,Kingston,41.995022,-70.740993
+2367,MA,Plympton,41.96549,-70.804582
+2368,MA,Randolph,42.173587,-71.051392
+2370,MA,Rockland,42.129286,-70.913263
+2375,MA,South Easton,42.025704,-71.098814
+2379,MA,West Bridgewater,42.025511,-71.016054
+2382,MA,Whitman,42.081603,-70.938127
+2401,MA,Brockton,42.081571,-71.034348
+2402,MA,Brockton,42.088396,-71.001947
+2532,MA,Onset,41.752918,-70.593168
+2535,MA,Chilmark,41.357523,-70.741613
+2536,MA,Teaticket,41.58504,-70.565174
+2537,MA,East Sandwich,41.684603,-70.46822
+2538,MA,East Wareham,41.768247,-70.653237
+2539,MA,Edgartown,41.388856,-70.533893
+2540,MA,Falmouth,41.564754,-70.621663
+2542,MA,Otis A F B,41.660927,-70.57383
+2543,MA,Woods Hole,41.526272,-70.66431
+2554,MA,Nantucket,41.272529,-70.093216
+2556,MA,North Falmouth,41.641677,-70.623043
+2559,MA,Pocasset,41.688115,-70.610512
+2563,MA,Sandwich,41.698304,-70.469325
+2568,MA,Vineyard Haven,41.449955,-70.593737
+2571,MA,Wareham,41.754084,-70.711594
+2575,MA,West Tisbury,41.413717,-70.655802
+2576,MA,West Wareham,41.779617,-70.764179
+2601,MA,West Yarmouth,41.653682,-70.298176
+2630,MA,Barnstable,41.698289,-70.300067
+2631,MA,Brewster,41.749179,-70.069868
+2632,MA,Centerville,41.660585,-70.353196
+2633,MA,South Chatham,41.687634,-69.980758
+2635,MA,Cotuit,41.696025,-70.433431
+2638,MA,Dennis,41.732166,-70.191054
+2639,MA,Dennis Port,41.664873,-70.132711
+2642,MA,Eastham,41.840781,-69.984865
+2644,MA,Forestdale,41.682695,-70.514317
+2645,MA,Harwich,41.70082,-70.057929
+2646,MA,Harwich Port,41.67128,-70.076755
+2648,MA,Marstons Mills,41.670274,-70.416321
+2649,MA,Mashpee,41.618116,-70.485361
+2650,MA,North Chatham,41.70298,-69.966607
+2652,MA,North Truro,42.033779,-70.08751
+2653,MA,Orleans,41.779161,-69.982198
+2655,MA,Osterville,41.63005,-70.383726
+2657,MA,Provincetown,42.053364,-70.186504
+2659,MA,South Chatham,41.680126,-70.024106
+2660,MA,South Dennis,41.709711,-70.15851
+2664,MA,Bass River,41.672805,-70.19731
+2666,MA,Truro,41.998792,-70.056362
+2667,MA,Wellfleet,41.928934,-70.018587
+2668,MA,West Barnstable,41.700212,-70.371985
+2670,MA,West Dennis,41.662557,-70.168092
+2671,MA,West Harwich,41.669367,-70.113501
+2673,MA,West Yarmouth,41.661367,-70.236297
+2675,MA,Yarmouth Port,41.705149,-70.227014
+2702,MA,Assonet,41.797458,-71.060736
+2703,MA,Attleboro,41.929599,-71.30092
+2713,MA,Cuttyhunk,41.443601,-70.87854
+2715,MA,Dighton,41.812505,-71.142723
+2717,MA,East Freetown,41.763455,-70.967709
+2718,MA,East Taunton,41.873585,-71.019225
+2719,MA,Fairhaven,41.640924,-70.889608
+2720,MA,Fall River,41.718221,-71.139991
+2721,MA,Fall River,41.688305,-71.157424
+2723,MA,Fall River,41.692612,-71.133214
+2724,MA,Fall River,41.684975,-71.174822
+2725,MA,Somerset,41.722299,-71.177971
+2726,MA,Somerset,41.756012,-71.149206
+2738,MA,Marion,41.709526,-70.761261
+2739,MA,Mattapoisett,41.661845,-70.816357
+2740,MA,New Bedford,41.634749,-70.9372
+2743,MA,Acushnet,41.6997,-70.908652
+2744,MA,New Bedford,41.612716,-70.916746
+2745,MA,New Bedford,41.691337,-70.935545
+2746,MA,New Bedford,41.659972,-70.93243
+2747,MA,North Dartmouth,41.633789,-70.995769
+2748,MA,Padanaram Villag,41.591728,-70.956521
+2760,MA,North Attleboro,41.977542,-71.329757
+2762,MA,Plainville,42.012403,-71.327454
+2763,MA,North Attleboro,41.970979,-71.310353
+2764,MA,North Dighton,41.852874,-71.148523
+2766,MA,Norton,41.971801,-71.189441
+2767,MA,Raynham,41.932361,-71.046856
+2769,MA,Rehoboth,41.85152,-71.254453
+2770,MA,Rochester,41.759082,-70.852257
+2771,MA,Seekonk,41.837835,-71.322406
+2777,MA,Swansea,41.74734,-71.212167
+2779,MA,Berkley,41.835325,-71.076534
+2780,MA,Taunton,41.905007,-71.10261
+2790,MA,Westport,41.621127,-71.089003
+48001,MI,Pearl Beach,42.630704,-82.560159
+48002,MI,Berlin,42.919864,-82.886809
+48003,MI,Almont,42.926007,-83.036221
+48004,MI,Anchorville,42.711817,-82.709392
+48005,MI,Armada,42.840903,-82.889905
+48006,MI,Greenwood,43.056424,-82.678141
+48009,MI,Birmingham,42.544396,-83.213255
+48014,MI,Mussey,43.019976,-82.925188
+48015,MI,Center Line,42.47879,-83.02477
+48017,MI,Clawson,42.536468,-83.150317
+48021,MI,Eastpointe,42.465756,-82.945896
+48022,MI,Emmett,42.987239,-82.785402
+48023,MI,Ira,42.680651,-82.637673
+48025,MI,Franklin,42.521891,-83.251852
+48026,MI,Fraser,42.542252,-82.946964
+48027,MI,Wales,43.000058,-82.621728
+48028,MI,Harsens Island,42.585043,-82.586049
+48030,MI,Hazel Park,42.460768,-83.098182
+48032,MI,Grant Township,43.134584,-82.554734
+48034,MI,Southfield,42.477676,-83.288295
+48039,MI,Cottrellville,42.721291,-82.514034
+48040,MI,Marysville,42.913534,-82.481344
+48041,MI,Riley,42.905955,-82.769623
+48043,MI,Mount Clemens,42.577562,-82.894052
+48044,MI,Macomb,42.616456,-82.946845
+48045,MI,Selfridge A N G,42.602743,-82.836395
+48047,MI,Chesterfield,42.675344,-82.780102
+48048,MI,Lenox,42.732958,-82.820248
+48049,MI,Ruby,43.026861,-82.538252
+48060,MI,Port Huron,42.995843,-82.459938
+48062,MI,Richmond,42.812743,-82.730052
+48065,MI,Bruce,42.803513,-83.019204
+48066,MI,Roseville,42.503423,-82.93868
+48067,MI,Royal Oak,42.490579,-83.136584
+48069,MI,Pleasant Ridge,42.47104,-83.143771
+48070,MI,Huntington Woods,42.482538,-83.174906
+48071,MI,Madison Heights,42.501605,-83.102699
+48072,MI,Berkley,42.502755,-83.188683
+48073,MI,Royal Oak,42.519047,-83.157027
+48074,MI,Kimball,42.922072,-82.574516
+48075,MI,Southfield,42.463831,-83.225539
+48076,MI,Lathrup Village,42.499915,-83.22971
+48079,MI,Saint Clair,42.825453,-82.513256
+48080,MI,Saint Clair Shor,42.463474,-82.900674
+48081,MI,Saint Clair Shor,42.49538,-82.899954
+48082,MI,Saint Clair Shor,42.526627,-82.886538
+48083,MI,Troy,42.559668,-83.113771
+48084,MI,Troy,42.562696,-83.179947
+48089,MI,Warren,42.468494,-82.997385
+48091,MI,Warren,42.466463,-83.059263
+48092,MI,Warren,42.512459,-83.064278
+48093,MI,Warren,42.514943,-82.996764
+48094,MI,Washington,42.726202,-83.026805
+48097,MI,Brockway,43.122429,-82.797899
+48098,MI,Troy,42.598118,-83.145001
+48101,MI,Allen Park,42.25223,-83.212001
+48103,MI,Ann Arbor,42.279379,-83.783998
+48104,MI,Ann Arbor,42.26939,-83.728156
+48105,MI,Ann Arbor,42.304247,-83.706756
+48108,MI,Ann Arbor,42.232782,-83.701481
+48109,MI,Ann Arbor,42.293,-83.715363
+48111,MI,Belleville,42.194858,-83.485425
+48116,MI,Brighton,42.537069,-83.775628
+48117,MI,Carleton,42.052941,-83.375502
+48118,MI,Chelsea,42.320692,-84.033392
+48120,MI,Dearborn,42.305295,-83.160488
+48122,MI,Melvindale,42.281229,-83.182573
+48124,MI,Dearborn,42.294141,-83.253565
+48125,MI,Dearborn Heights,42.276824,-83.260603
+48126,MI,Dearborn,42.334882,-83.180065
+48127,MI,Dearborn Heights,42.335317,-83.286383
+48128,MI,Dearborn,42.319981,-83.270131
+48130,MI,Dexter,42.35832,-83.900028
+48131,MI,Dundee,41.951435,-83.652165
+48133,MI,Erie,41.782935,-83.495797
+48134,MI,Flat Rock,42.105521,-83.279525
+48135,MI,Garden City,42.32415,-83.340236
+48137,MI,Gregory,42.450671,-84.046588
+48138,MI,Grosse Ile,42.13465,-83.153828
+48140,MI,Ida,41.854928,-83.591561
+48141,MI,Inkster,42.294041,-83.31463
+48144,MI,Lambertville,41.753055,-83.625865
+48145,MI,La Salle,41.858489,-83.471488
+48146,MI,Lincoln Park,42.242211,-83.180688
+48150,MI,Livonia,42.361503,-83.36494
+48152,MI,Livonia,42.425793,-83.363603
+48154,MI,Livonia,42.395796,-83.377157
+48157,MI,Luna Pier,41.815368,-83.436165
+48158,MI,Manchester,42.155545,-84.033247
+48159,MI,Maybee,42.028822,-83.517902
+48160,MI,Milan,42.091373,-83.677636
+48161,MI,Detroit Beach,41.92751,-83.404848
+48164,MI,New Boston,42.144899,-83.358855
+48165,MI,New Hudson,42.507647,-83.634233
+48166,MI,Newport,41.976582,-83.280438
+48167,MI,Northville,42.426245,-83.479355
+48169,MI,Pinckney,42.459579,-83.909918
+48170,MI,Plymouth,42.36882,-83.479946
+48173,MI,Gibraltar,42.07918,-83.216196
+48174,MI,Romulus,42.220304,-83.358288
+48176,MI,Saline,42.169844,-83.784936
+48178,MI,South Lyon,42.456678,-83.658951
+48179,MI,South Rockwood,42.062405,-83.266302
+48180,MI,Taylor,42.231738,-83.267269
+48182,MI,Temperance,41.768229,-83.579739
+48183,MI,Woodhaven,42.134304,-83.218142
+48184,MI,Wayne,42.276805,-83.375812
+48185,MI,Westland,42.318882,-83.374908
+48187,MI,Canton,42.332013,-83.469524
+48188,MI,Canton,42.290997,-83.465007
+48189,MI,Whitmore Lake,42.428904,-83.78282
+48191,MI,Willis,42.129249,-83.568741
+48192,MI,Riverview,42.196065,-83.182112
+48195,MI,Southgate,42.204434,-83.199919
+48197,MI,Ypsilanti,42.232544,-83.633621
+48198,MI,Ypsilanti,42.24388,-83.582972
+48201,MI,Detroit,42.347429,-83.060398
+48202,MI,Detroit,42.377033,-83.079613
+48203,MI,Highland Park,42.421155,-83.100909
+48204,MI,Detroit,42.366098,-83.142151
+48205,MI,Detroit,42.431259,-82.981279
+48206,MI,Detroit,42.374893,-83.108695
+48207,MI,Detroit,42.352373,-83.027101
+48208,MI,Detroit,42.34947,-83.092711
+48209,MI,Detroit,42.309746,-83.115464
+48210,MI,Detroit,42.337603,-83.130281
+48211,MI,Detroit,42.380922,-83.040945
+48212,MI,Hamtramck,42.408117,-83.058265
+48213,MI,Detroit,42.39816,-82.99253
+48214,MI,Detroit,42.366944,-82.993798
+48215,MI,Detroit,42.377272,-82.951319
+48216,MI,Detroit,42.327467,-83.082656
+48217,MI,Detroit,42.271914,-83.154545
+48218,MI,River Rouge,42.269229,-83.136432
+48219,MI,Detroit,42.426033,-83.249495
+48220,MI,Ferndale,42.458564,-83.13626
+48221,MI,Detroit,42.425998,-83.149976
+48223,MI,Detroit,42.394453,-83.245403
+48224,MI,Detroit,42.409808,-82.944061
+48225,MI,Harper Woods,42.437658,-82.928885
+48226,MI,Detroit,42.333346,-83.048432
+48227,MI,Detroit,42.388303,-83.193732
+48228,MI,Detroit,42.35473,-83.216753
+48229,MI,Ecorse,42.251881,-83.148943
+48230,MI,Grosse Pointe,42.384694,-82.924394
+48234,MI,Detroit,42.4337,-83.043383
+48235,MI,Detroit,42.426098,-83.195124
+48236,MI,Grosse Pointe,42.427404,-82.900248
+48237,MI,Oak Park,42.466151,-83.183993
+48238,MI,Detroit,42.395932,-83.141145
+48239,MI,Redford,42.375554,-83.28895
+48240,MI,Redford,42.426354,-83.30166
+48242,MI,Detroit,42.220718,-83.377081
+48301,MI,Bloomfield Towns,42.545044,-83.2771
+48302,MI,Bloomfield Towns,42.583237,-83.296271
+48304,MI,Bloomfield Towns,42.593764,-83.234011
+48306,MI,Rochester Hills,42.710684,-83.164215
+48307,MI,Rochester Hills,42.660185,-83.129124
+48309,MI,Rochester Hills,42.666848,-83.181842
+48310,MI,Sterling Heights,42.564782,-83.070135
+48312,MI,Sterling Heights,42.559203,-83.002896
+48313,MI,Sterling Heights,42.600498,-82.999766
+48314,MI,Sterling Heights,42.612352,-83.034455
+48315,MI,Shelby Township,42.663694,-82.996547
+48316,MI,Shelby Township,42.682668,-83.060928
+48317,MI,Shelby Township,42.640462,-83.048109
+48320,MI,Sylvan Lake,42.610449,-83.339551
+48322,MI,West Bloomfield,42.542366,-83.379313
+48323,MI,Orchard Lake,42.570171,-83.369342
+48324,MI,Orchard Lake,42.598109,-83.395536
+48326,MI,Auburn Hills,42.658345,-83.237489
+48327,MI,Waterford,42.643751,-83.407602
+48328,MI,Waterford,42.642944,-83.354624
+48329,MI,Waterford,42.687663,-83.387869
+48331,MI,Farmington Hills,42.510042,-83.405433
+48334,MI,Farmington Hills,42.506798,-83.35198
+48335,MI,Farmington Hills,42.463055,-83.400134
+48336,MI,Farmington Hills,42.460938,-83.345465
+48340,MI,Pontiac,42.667955,-83.289335
+48341,MI,Pontiac,42.629449,-83.304149
+48342,MI,Pontiac,42.643856,-83.279236
+48346,MI,Independence,42.721637,-83.405658
+48348,MI,Independence,42.772414,-83.390568
+48350,MI,Springfield,42.75413,-83.520022
+48353,MI,Hartland,42.63561,-83.714674
+48356,MI,Highland,42.669187,-83.58951
+48357,MI,Highland,42.659453,-83.637013
+48359,MI,Orion,42.720779,-83.291701
+48360,MI,Orion,42.742212,-83.282792
+48362,MI,Orion,42.780598,-83.253208
+48363,MI,Oakland,42.773179,-83.171116
+48367,MI,Addison Township,42.836423,-83.138089
+48370,MI,Oxford,42.826451,-83.200455
+48371,MI,Oxford,42.822272,-83.282892
+48374,MI,Novi,42.473495,-83.522423
+48375,MI,Novi,42.460354,-83.457741
+48377,MI,Novi,42.513616,-83.472838
+48380,MI,Milford,42.601951,-83.650796
+48381,MI,Milford,42.575841,-83.592404
+48382,MI,Commerce Townshi,42.589424,-83.49467
+48383,MI,White Lake,42.658004,-83.539838
+48386,MI,White Lake,42.641003,-83.473809
+48390,MI,Wolverine Lake,42.550384,-83.479623
+48393,MI,Wixom,42.534037,-83.528486
+48401,MI,Applegate,43.361899,-82.647865
+48412,MI,Attica,43.054673,-83.166842
+48413,MI,Bad Axe,43.806745,-83.005378
+48414,MI,Bancroft,42.881957,-84.120725
+48415,MI,Birch Run,43.264868,-83.790287
+48416,MI,Brown City,43.217073,-82.997836
+48417,MI,Burt,43.24043,-83.951073
+48418,MI,Byron,42.805928,-83.97297
+48419,MI,Carsonville,43.425805,-82.602169
+48420,MI,Clio,43.177885,-83.724949
+48421,MI,Columbiaville,43.150334,-83.381055
+48422,MI,Croswell,43.262245,-82.633721
+48423,MI,Davison,43.034777,-83.526771
+48426,MI,Decker,43.477532,-83.063791
+48427,MI,Deckerville,43.515087,-82.719118
+48428,MI,Dryden,42.937772,-83.150066
+48429,MI,Durand,42.91171,-83.987651
+48430,MI,Fenton,42.785098,-83.729351
+48432,MI,Filion,43.901362,-82.982483
+48433,MI,Flushing,43.071954,-83.842391
+48435,MI,Fostoria,43.264504,-83.379593
+48436,MI,Gaines,42.881333,-83.885488
+48438,MI,Goodrich,42.914734,-83.484459
+48439,MI,Grand Blanc,42.928163,-83.626414
+48441,MI,Harbor Beach,43.831249,-82.688608
+48442,MI,Holly,42.790494,-83.612737
+48444,MI,Imlay City,43.042512,-83.070799
+48445,MI,Kinde,43.948003,-82.975529
+48446,MI,Lapeer,43.057879,-83.333153
+48449,MI,Lennon,42.969323,-83.927908
+48450,MI,Lexington,43.24348,-82.530103
+48451,MI,Linden,42.810379,-83.799281
+48453,MI,Marlette,43.339882,-83.057253
+48454,MI,Melvin,43.19304,-82.839277
+48455,MI,Metamora,42.942365,-83.318371
+48456,MI,Minden City,43.681393,-82.729863
+48457,MI,Montrose,43.175381,-83.882411
+48458,MI,Mount Morris,43.11601,-83.689523
+48460,MI,New Lothrop,43.138781,-83.985144
+48461,MI,North Branch,43.206887,-83.226664
+48462,MI,Ortonville,42.840943,-83.428811
+48463,MI,Otisville,43.170584,-83.517187
+48464,MI,Otter Lake,43.218334,-83.424219
+48465,MI,Palms,43.625671,-82.701737
+48466,MI,Peck,43.26938,-82.81929
+48467,MI,Port Austin,44.022292,-82.998427
+48468,MI,Port Hope,43.927989,-82.752893
+48469,MI,Port Sanilac,43.43292,-82.546794
+48470,MI,Ruth,43.740436,-82.741396
+48471,MI,Sandusky,43.405541,-82.840939
+48472,MI,Snover,43.488649,-82.930063
+48473,MI,Swartz Creek,42.946776,-83.817005
+48475,MI,Ubly,43.689631,-82.964013
+48502,MI,Flint,43.012321,-83.687768
+48503,MI,Flint,43.012836,-83.691429
+48504,MI,Northwest,43.04247,-83.729908
+48505,MI,Flint,43.063369,-83.700093
+48506,MI,Northeast,43.052596,-83.640192
+48507,MI,Flint,42.97303,-83.688999
+48509,MI,Northeast,43.024493,-83.606295
+48519,MI,Southeast,42.993847,-83.610424
+48529,MI,Southeast,42.97268,-83.671064
+48532,MI,Northwest,43.01021,-83.768576
+48601,MI,Saginaw,43.404692,-83.915626
+48602,MI,Saginaw,43.424838,-83.974455
+48603,MI,Saginaw,43.43251,-84.03028
+48604,MI,Saginaw,43.473223,-83.951421
+48607,MI,Saginaw,43.430141,-83.931872
+48610,MI,Alger,44.139488,-84.18719
+48611,MI,Auburn,43.607988,-84.10267
+48612,MI,Beaverton,43.886576,-84.424059
+48613,MI,Bentley,43.886028,-84.144738
+48614,MI,Brant,43.25484,-84.297849
+48615,MI,Breckenridge,43.393463,-84.502319
+48616,MI,Chesaning,43.182387,-84.112156
+48617,MI,Clare,43.822318,-84.763463
+48618,MI,Coleman,43.749397,-84.591058
+48619,MI,Comins,44.826354,-84.026061
+48620,MI,Edenville,43.802757,-84.396227
+48621,MI,Fairview,44.72046,-84.052532
+48622,MI,Farwell,43.834163,-84.875402
+48623,MI,Freeland,43.516134,-84.182173
+48624,MI,Gladwin,44.029618,-84.496801
+48625,MI,Harrison,44.028478,-84.77289
+48626,MI,Hemlock,43.409911,-84.226563
+48628,MI,Hope,43.788167,-84.329605
+48629,MI,Houghton Lake,44.341327,-84.742175
+48631,MI,Kawkawlin,43.679399,-83.992657
+48632,MI,Lake,43.850164,-84.978597
+48634,MI,Linwood,43.737448,-84.013341
+48635,MI,Lupton,44.397578,-83.990473
+48636,MI,Luzerne,44.629594,-84.246742
+48637,MI,Merrill,43.393892,-84.330757
+48640,MI,Midland,43.637562,-84.26796
+48642,MI,Midland,43.637488,-84.197941
+48647,MI,Mio,44.666481,-84.135264
+48649,MI,Oakley,43.150533,-84.209379
+48650,MI,Pinconning,43.849079,-84.008162
+48651,MI,Prudenville,44.297394,-84.662747
+48652,MI,Rhodes,43.851745,-84.213402
+48653,MI,Roscommon,44.483908,-84.660092
+48654,MI,Rose City,44.41672,-84.125562
+48655,MI,Saint Charles,43.286271,-84.159785
+48656,MI,Saint Helen,44.366489,-84.424704
+48657,MI,Sanford,43.720352,-84.395446
+48658,MI,Standish,43.973287,-83.943297
+48659,MI,Sterling,44.067837,-84.012567
+48661,MI,West Branch,44.279032,-84.228623
+48662,MI,Wheeler,43.396224,-84.424335
+48701,MI,Akron,43.584373,-83.539262
+48703,MI,Au Gres,44.033802,-83.702024
+48705,MI,Barton City,44.701956,-83.599372
+48706,MI,University Cente,43.612165,-83.919885
+48708,MI,Bay City,43.58205,-83.878073
+48720,MI,Bay Port,43.837744,-83.352461
+48721,MI,Black River,44.813842,-83.34071
+48722,MI,Bridgeport,43.355309,-83.854906
+48723,MI,Caro,43.483272,-83.383469
+48725,MI,Caseville,43.94292,-83.265924
+48726,MI,Cass City,43.579677,-83.173264
+48727,MI,Clifford,43.309953,-83.174105
+48728,MI,Curran,44.733606,-83.831989
+48729,MI,Deford,43.473482,-83.170244
+48730,MI,East Tawas,44.300823,-83.477629
+48731,MI,Elkton,43.834437,-83.178642
+48732,MI,Essexville,43.606908,-83.821659
+48733,MI,Fairgrove,43.512574,-83.583534
+48734,MI,Frankenmuth,43.340965,-83.747482
+48735,MI,Gagetown,43.654251,-83.262788
+48737,MI,Glennie,44.558234,-83.689948
+48738,MI,Greenbush,44.548044,-83.326883
+48739,MI,Hale,44.38189,-83.835941
+48740,MI,Harrisville,44.654595,-83.34243
+48741,MI,Kingston,43.398153,-83.184727
+48742,MI,Lincoln,44.711124,-83.394669
+48743,MI,Long Lake,44.448465,-83.817058
+48744,MI,Mayville,43.356156,-83.372529
+48745,MI,Mikado,44.583275,-83.435518
+48746,MI,Millington,43.271772,-83.561944
+48747,MI,Munger,43.528585,-83.767221
+48748,MI,National City,44.313746,-83.683948
+48749,MI,Omer,44.049939,-83.842956
+48750,MI,Oscoda,44.446485,-83.361908
+48754,MI,Owendale,43.720648,-83.230703
+48755,MI,Pigeon,43.817909,-83.275508
+48756,MI,Prescott,44.20999,-84.021197
+48757,MI,Reese,43.453094,-83.701529
+48759,MI,Sebewaing,43.728888,-83.436622
+48760,MI,Silverwood,43.31413,-83.271974
+48761,MI,South Branch,44.501403,-83.868574
+48762,MI,Spruce,44.822443,-83.504391
+48763,MI,Tawas City,44.267485,-83.544905
+48765,MI,Turner,44.10543,-83.650679
+48766,MI,Twining,44.12929,-83.849118
+48767,MI,Unionville,43.647341,-83.469898
+48768,MI,Vassar,43.369052,-83.584449
+48770,MI,Whittemore,44.232514,-83.806842
+48801,MI,Alma,43.380877,-84.663484
+48806,MI,Ashley,43.189103,-84.48796
+48807,MI,Bannister,43.161537,-84.359679
+48808,MI,Bath,42.820563,-84.454547
+48809,MI,Belding,43.088546,-85.231272
+48811,MI,Carson City,43.169496,-84.865334
+48813,MI,Charlotte,42.570169,-84.835181
+48815,MI,Clarksville,42.830177,-85.249384
+48817,MI,Corunna,43.041402,-84.027618
+48818,MI,Crystal,43.262382,-84.899328
+48819,MI,Dansville,42.550485,-84.293932
+48820,MI,Dewitt,42.842784,-84.579654
+48821,MI,Dimondale,42.650094,-84.648593
+48822,MI,Eagle,42.826306,-84.758971
+48823,MI,East Lansing,42.738805,-84.476409
+48827,MI,Eaton Rapids,42.516624,-84.656545
+48829,MI,Edmore,43.411578,-85.028003
+48831,MI,Carland,43.086918,-84.390965
+48832,MI,Elwell,43.410565,-84.763103
+48834,MI,Fenwick,43.149682,-85.066566
+48835,MI,Fowler,42.994144,-84.759969
+48836,MI,Fowlerville,42.661438,-84.072085
+48837,MI,Grand Ledge,42.752924,-84.737314
+48838,MI,Greenville,43.17926,-85.249705
+48840,MI,Haslett,42.753088,-84.398887
+48841,MI,Henderson,43.081708,-84.185777
+48842,MI,Holt,42.639401,-84.524232
+48843,MI,Howell,42.615933,-83.92481
+48845,MI,Hubbardston,43.082776,-84.817282
+48846,MI,Ionia,42.98592,-85.070985
+48847,MI,Ithaca,43.282808,-84.60883
+48848,MI,Laingsburg,42.86271,-84.352991
+48849,MI,Lake Odessa,42.786335,-85.135667
+48850,MI,Lakeview,43.42694,-85.292421
+48851,MI,Lyons,42.963429,-84.920943
+48854,MI,Mason,42.579588,-84.45609
+48856,MI,Middleton,43.168911,-84.755221
+48857,MI,Morrice,42.83851,-84.176771
+48858,MI,Mount Pleasant,43.601295,-84.773571
+48860,MI,Muir,43.043864,-84.93909
+48861,MI,Mulliken,42.737657,-84.897911
+48864,MI,Okemos,42.705341,-84.418696
+48865,MI,Orleans,43.089459,-85.116547
+48866,MI,Ovid,42.996927,-84.364939
+48867,MI,Owosso,42.993407,-84.159486
+48871,MI,Perrinton,43.16492,-84.665984
+48872,MI,Perry,42.820012,-84.231346
+48873,MI,Pewamo,43.000747,-84.849217
+48875,MI,Portland,42.862414,-84.913933
+48876,MI,Potterville,42.639779,-84.734589
+48877,MI,Riverdale,43.409817,-84.826607
+48878,MI,Rosebush,43.68427,-84.783299
+48879,MI,Saint Johns,43.005924,-84.571934
+48880,MI,Saint Louis,43.42777,-84.595239
+48881,MI,Saranac,42.928534,-85.229938
+48883,MI,Shepherd,43.565668,-84.587317
+48884,MI,Sheridan,43.212632,-85.046838
+48885,MI,Sidney,43.23579,-85.120671
+48886,MI,Six Lakes,43.433714,-85.141569
+48888,MI,Stanton,43.305841,-85.099548
+48889,MI,Sumner,43.309144,-84.790662
+48890,MI,Sunfield,42.769314,-84.981305
+48891,MI,Vestaburg,43.387025,-84.908168
+48892,MI,Webberville,42.662981,-84.17013
+48893,MI,Weidman,43.645284,-85.004567
+48894,MI,Westphalia,42.912308,-84.785567
+48895,MI,Williamston,42.696652,-84.292596
+48897,MI,Woodland,42.705654,-85.13261
+48906,MI,Lansing,42.763464,-84.558043
+48910,MI,Lansing,42.700784,-84.549005
+48911,MI,Lansing,42.679727,-84.577168
+48912,MI,Lansing,42.737115,-84.524414
+48915,MI,Lansing,42.739074,-84.570398
+48917,MI,Lansing,42.737621,-84.62439
+48933,MI,Lansing,42.733429,-84.557142
+49001,MI,Kalamazoo,42.273565,-85.545653
+49002,MI,Kalamazoo,42.207482,-85.595691
+49004,MI,Parchment,42.326538,-85.541959
+49007,MI,Kalamazoo,42.295688,-85.613722
+49008,MI,Kalamazoo,42.262432,-85.609645
+49009,MI,Kalamazoo,42.280947,-85.686333
+49010,MI,Allegan,42.525609,-85.86608
+49011,MI,Athens,42.102962,-85.231742
+49012,MI,Augusta,42.356313,-85.354012
+49013,MI,Bangor,42.33122,-86.131096
+49015,MI,Battle Creek,42.302806,-85.212825
+49017,MI,Battle Creek,42.332218,-85.181106
+49021,MI,Bellevue,42.452474,-85.048867
+49022,MI,Benton Harbor,42.108594,-86.423417
+49026,MI,Bloomingdale,42.384232,-85.956757
+49028,MI,Bronson,41.864316,-85.183767
+49029,MI,Burlington,42.123859,-85.105
+49030,MI,Burr Oak,41.845898,-85.334536
+49031,MI,Cassopolis,41.896805,-85.992273
+49032,MI,Centreville,41.921685,-85.496299
+49033,MI,Ceresco,42.212741,-85.11285
+49034,MI,Climax,42.233979,-85.323832
+49036,MI,Coldwater,41.925464,-85.005682
+49038,MI,Coloma,42.202952,-86.32247
+49040,MI,Colon,41.957605,-85.330588
+49042,MI,Constantine,41.846029,-85.657094
+49043,MI,Covert,42.291074,-86.274294
+49045,MI,Decatur,42.101219,-86.033808
+49046,MI,Delton,42.514102,-85.406706
+49047,MI,Dowagiac,41.990965,-86.116766
+49050,MI,Dowling,42.501478,-85.249452
+49051,MI,East Leroy,42.196125,-85.231083
+49052,MI,Fulton,42.139086,-85.322659
+49053,MI,Galesburg,42.294843,-85.423665
+49055,MI,Gobles,42.370182,-85.853649
+49056,MI,Grand Junction,42.376081,-86.054052
+49057,MI,Hartford,42.208807,-86.168703
+49058,MI,Hastings,42.643007,-85.293687
+49060,MI,Hickory Corners,42.423682,-85.399784
+49061,MI,Jones,41.912903,-85.834111
+49064,MI,Lawrence,42.207635,-86.052543
+49065,MI,Lawton,42.154462,-85.828966
+49066,MI,Leonidas,42.029394,-85.349683
+49067,MI,Marcellus,42.027461,-85.798776
+49068,MI,Marshall,42.272047,-84.95828
+49070,MI,Martin,42.548321,-85.610646
+49071,MI,Mattawan,42.245069,-85.794281
+49072,MI,Mendon,42.014262,-85.472697
+49073,MI,Nashville,42.593721,-85.122029
+49076,MI,Olivet,42.445947,-84.897312
+49078,MI,Otsego,42.472334,-85.703497
+49079,MI,Paw Paw,42.234931,-85.900488
+49080,MI,Plainwell,42.454379,-85.59936
+49082,MI,Quincy,41.970694,-84.849295
+49083,MI,Richland,42.375689,-85.444651
+49085,MI,Saint Joseph,42.063959,-86.478341
+49087,MI,Schoolcraft,42.132857,-85.663741
+49088,MI,Scotts,42.181892,-85.468492
+49089,MI,Sherwood,42.010736,-85.240797
+49090,MI,South Haven,42.404096,-86.254207
+49091,MI,Sturgis,41.808934,-85.426357
+49092,MI,Tekonsha,42.086326,-84.992602
+49093,MI,Three Rivers,41.959598,-85.637125
+49094,MI,Union City,42.055134,-85.135637
+49095,MI,Vandalia,41.895506,-85.875546
+49096,MI,Vermontville,42.63921,-85.010984
+49097,MI,Vicksburg,42.120896,-85.502376
+49098,MI,Watervliet,42.193804,-86.26037
+49099,MI,White Pigeon,41.792891,-85.67501
+49101,MI,Baroda,41.948818,-86.491274
+49102,MI,Berrien Center,41.948439,-86.285039
+49103,MI,Berrien Springs,41.948002,-86.354013
+49106,MI,Bridgman,41.936199,-86.554334
+49107,MI,Buchanan,41.83269,-86.370844
+49111,MI,Eau Claire,42.015134,-86.297154
+49112,MI,Edwardsburg,41.791258,-86.026252
+49113,MI,Galien,41.819758,-86.503544
+49116,MI,Lakeside,41.848459,-86.669354
+49117,MI,Grand Beach,41.785591,-86.74663
+49120,MI,Niles,41.820168,-86.236789
+49125,MI,Sawyer,41.882866,-86.588508
+49126,MI,Sodus,42.052082,-86.3921
+49127,MI,Stevensville,42.021968,-86.511862
+49128,MI,Three Oaks,41.814976,-86.615411
+49129,MI,Union Pier,41.82555,-86.691146
+49130,MI,Union,41.782678,-85.852905
+49201,MI,Jackson,42.254522,-84.387476
+49202,MI,Jackson,42.263431,-84.408348
+49203,MI,Jackson,42.228963,-84.41321
+49220,MI,Addison,42.003604,-84.312229
+49221,MI,Adrian,41.900516,-84.044556
+49224,MI,Albion,42.258073,-84.756052
+49227,MI,Allen,41.926419,-84.760782
+49228,MI,Blissfield,41.827636,-83.877257
+49229,MI,Britton,41.988713,-83.837722
+49230,MI,Brooklyn,42.10436,-84.241353
+49232,MI,Camden,41.736149,-84.724497
+49233,MI,Cement City,42.060395,-84.325423
+49234,MI,Clarklake,42.123503,-84.352056
+49235,MI,Clayton,41.868648,-84.177519
+49236,MI,Clinton,42.063886,-83.944152
+49237,MI,Concord,42.187501,-84.652928
+49238,MI,Deerfield,41.890912,-83.784739
+49240,MI,Grass Lake,42.271071,-84.194041
+49241,MI,Hanover,42.102521,-84.584809
+49242,MI,Hillsdale,41.923954,-84.620812
+49245,MI,Homer,42.141561,-84.81572
+49246,MI,Horton,42.119092,-84.497593
+49247,MI,Hudson,41.858101,-84.338031
+49248,MI,Jasper,41.758956,-83.951549
+49249,MI,Jerome,42.048375,-84.445483
+49250,MI,Jonesville,41.979833,-84.645083
+49251,MI,Leslie,42.460279,-84.420653
+49252,MI,Litchfield,42.054039,-84.636095
+49253,MI,Manitou Beach,41.967055,-84.276706
+49254,MI,Michigan Center,42.226294,-84.321315
+49255,MI,Montgomery,41.792764,-84.849641
+49256,MI,Morenci,41.738612,-84.219204
+49259,MI,Munith,42.370317,-84.248486
+49262,MI,North Adams,41.971484,-84.520824
+49264,MI,Onondaga,42.448726,-84.553501
+49265,MI,Onsted,42.029533,-84.183892
+49266,MI,Osseo,41.838413,-84.597388
+49267,MI,Ottawa Lake,41.768276,-83.685559
+49268,MI,Palmyra,41.872976,-83.965679
+49269,MI,Parma,42.273879,-84.599886
+49270,MI,Petersburg,41.875655,-83.687673
+49271,MI,Pittsford,41.896262,-84.444016
+49272,MI,Pleasant Lake,42.390343,-84.342791
+49274,MI,Reading,41.844194,-84.76475
+49275,MI,Ridgeway,42.010554,-83.778429
+49276,MI,Riga,41.795309,-83.801144
+49277,MI,Rives Junction,42.38871,-84.458868
+49279,MI,Sand Creek,41.77928,-84.075502
+49281,MI,Somerset,42.044732,-84.39472
+49283,MI,Spring Arbor,42.206861,-84.550127
+49284,MI,Springport,42.38055,-84.703888
+49285,MI,Stockbridge,42.460404,-84.175178
+49286,MI,Tecumseh,41.995297,-83.955485
+49287,MI,Tipton,42.036911,-84.07684
+49288,MI,Waldron,41.738608,-84.449636
+49301,MI,Ada,42.95661,-85.480959
+49302,MI,Alto,42.824312,-85.425554
+49303,MI,Bailey,43.276768,-85.831318
+49304,MI,Baldwin,43.889409,-85.881874
+49305,MI,Barryton,43.750651,-85.154654
+49306,MI,Belmont,43.077934,-85.586769
+49307,MI,Big Rapids,43.689679,-85.479705
+49309,MI,Bitely,43.732132,-85.877799
+49310,MI,Blanchard,43.522778,-85.058856
+49315,MI,Byron Center,42.801614,-85.713602
+49316,MI,Dutton,42.796395,-85.562167
+49318,MI,Casnovia,43.23815,-85.825394
+49319,MI,Cedar Springs,43.22148,-85.545238
+49321,MI,Comstock Park,43.057813,-85.684468
+49322,MI,Coral,43.364458,-85.379245
+49323,MI,Dorr,42.723113,-85.762798
+49325,MI,Freeport,42.729703,-85.279134
+49326,MI,Gowen,43.223884,-85.315941
+49327,MI,Grant,43.339197,-85.836827
+49328,MI,Hopkins,42.64209,-85.732195
+49329,MI,Howard City,43.408326,-85.485609
+49330,MI,Kent City,43.236235,-85.739949
+49331,MI,Lowell,42.95497,-85.365305
+49332,MI,Mecosta,43.681317,-85.228034
+49333,MI,Middleville,42.693247,-85.475901
+49336,MI,Morley,43.505951,-85.447318
+49337,MI,Newaygo,43.419799,-85.759381
+49338,MI,Paris,43.767704,-85.521348
+49339,MI,Pierson,43.335514,-85.513359
+49340,MI,Remus,43.603249,-85.157365
+49341,MI,Rockford,43.115217,-85.513606
+49342,MI,Rodney,43.73791,-85.321884
+49343,MI,Sand Lake,43.298109,-85.536655
+49344,MI,Shelbyville,42.593581,-85.628239
+49345,MI,Sparta,43.161867,-85.687668
+49346,MI,Stanwood,43.601728,-85.444607
+49347,MI,Trufant,43.315611,-85.368489
+49348,MI,Wayland,42.664268,-85.619112
+49349,MI,White Cloud,43.539803,-85.75864
+49401,MI,Allendale,42.971066,-85.924913
+49402,MI,Branch,43.923296,-86.131369
+49403,MI,Conklin,43.149399,-85.853753
+49404,MI,Coopersville,43.06013,-85.951722
+49405,MI,Custer,43.94424,-86.220437
+49408,MI,Fennville,42.577669,-86.124876
+49410,MI,Fountain,44.036342,-86.216861
+49411,MI,Free Soil,44.112036,-86.265158
+49412,MI,Fremont,43.465196,-85.962554
+49415,MI,Fruitport,43.144282,-86.138832
+49417,MI,Grand Haven,43.037838,-86.191227
+49418,MI,Grandville,42.89387,-85.761874
+49419,MI,Hamilton,42.688097,-85.974731
+49420,MI,Hart,43.70676,-86.314152
+49421,MI,Hesperia,43.596513,-86.060739
+49423,MI,Holland,42.769211,-86.116362
+49424,MI,Holland,42.813514,-86.142631
+49425,MI,Holton,43.441454,-86.150853
+49426,MI,Hudsonville,42.874805,-85.8751
+49428,MI,Jenison,42.910423,-85.827603
+49431,MI,Ludington,43.968823,-86.440253
+49435,MI,Marne,43.053185,-85.841958
+49436,MI,Mears,43.682494,-86.453307
+49437,MI,Montague,43.424163,-86.373992
+49440,MI,Muskegon,43.232589,-86.249191
+49441,MI,Muskegon,43.196184,-86.273819
+49442,MI,Muskegon,43.232876,-86.188467
+49444,MI,Muskegon Heights,43.195046,-86.216208
+49445,MI,North Muskegon,43.282873,-86.273297
+49446,MI,New Era,43.555578,-86.344803
+49447,MI,New Richmond,42.662383,-86.037985
+49448,MI,Nunica,43.088306,-86.102768
+49449,MI,Pentwater,43.823713,-86.386818
+49450,MI,Pullman,42.465131,-86.079909
+49451,MI,Ravenna,43.209128,-85.964816
+49452,MI,Rothbury,43.511633,-86.34464
+49453,MI,Saugatuck,42.642562,-86.194093
+49454,MI,Scottville,43.976692,-86.315615
+49455,MI,Shelby,43.607942,-86.361503
+49456,MI,Spring Lake,43.088741,-86.19151
+49457,MI,Twin Lake,43.341378,-86.163316
+49459,MI,Walkerville,43.762559,-86.082991
+49460,MI,West Olive,42.909912,-86.131726
+49461,MI,Whitehall,43.390358,-86.331453
+49464,MI,Zeeland,42.825586,-86.010408
+49503,MI,Grand Rapids,42.965879,-85.65273
+49504,MI,Walker,42.98392,-85.725543
+49505,MI,Grand Rapids,43.012025,-85.630931
+49506,MI,Grand Rapids,42.943978,-85.621317
+49507,MI,Grand Rapids,42.931788,-85.65417
+49508,MI,Kentwood,42.875653,-85.624179
+49509,MI,Wyoming,42.900867,-85.705775
+49512,MI,Kentwood,42.89269,-85.578156
+49546,MI,Grand Rapids,42.928029,-85.548346
+49548,MI,Kentwood,42.867048,-85.660767
+49601,MI,Cadillac,44.250447,-85.430046
+49612,MI,Alden,44.877887,-85.2241
+49613,MI,Arcadia,44.523157,-86.206057
+49614,MI,Bear Lake,44.431125,-86.142497
+49615,MI,Bellaire,44.976469,-85.226495
+49616,MI,Benzonia,44.595502,-86.096091
+49617,MI,Beulah,44.646002,-86.038346
+49618,MI,Boon,44.291555,-85.614383
+49619,MI,Brethren,44.296596,-85.996396
+49620,MI,Buckley,44.519856,-85.693541
+49621,MI,Cedar,44.836953,-85.745344
+49622,MI,Central Lake,45.074796,-85.267285
+49623,MI,Chase,43.868172,-85.619639
+49625,MI,Copemish,44.450276,-85.887859
+49629,MI,Elk Rapids,44.895473,-85.408226
+49630,MI,Empire,44.84106,-85.992533
+49631,MI,Evart,43.888772,-85.264935
+49632,MI,Falmouth,44.252861,-85.017002
+49633,MI,Fife Lake,44.572064,-85.253122
+49635,MI,Frankfort,44.631122,-86.221201
+49636,MI,Glen Arbor,44.842927,-86.035339
+49637,MI,Grawn,44.642779,-85.71129
+49638,MI,Harrietta,44.297163,-85.739573
+49639,MI,Hersey,43.84806,-85.405926
+49640,MI,Honor,44.69539,-86.037582
+49642,MI,Idlewild,43.912621,-85.716036
+49643,MI,Interlochen,44.651769,-85.802156
+49644,MI,Irons,44.096638,-85.939008
+49645,MI,Kaleva,44.369168,-86.046737
+49646,MI,Kalkaska,44.73546,-85.120655
+49647,MI,Karlin,44.569128,-85.79406
+49648,MI,Kewadin,45.012574,-85.353941
+49649,MI,Kingsley,44.575644,-85.526235
+49650,MI,Lake Ann,44.731736,-85.85284
+49651,MI,Moorestown,44.361932,-85.207352
+49653,MI,Lake Leelanau,44.985602,-85.732866
+49654,MI,Leland,45.010215,-86.092924
+49655,MI,Leroy,44.045656,-85.430001
+49656,MI,Luther,44.054494,-85.682631
+49657,MI,Mc Bain,44.21718,-85.228252
+49659,MI,Mancelona,44.911596,-85.063399
+49660,MI,Stronach,44.228323,-86.28503
+49663,MI,Manton,44.415222,-85.42017
+49664,MI,Maple City,44.859035,-85.881392
+49665,MI,Marion,44.046314,-85.155031
+49667,MI,Merritt,44.36843,-85.015508
+49668,MI,Mesick,44.407451,-85.706122
+49670,MI,Northport,45.115699,-85.617287
+49675,MI,Onekama,44.364576,-86.209959
+49676,MI,Rapid City,44.844863,-85.294318
+49677,MI,Reed City,43.886808,-85.513028
+49679,MI,Sears,43.901747,-85.188246
+49680,MI,South Boardman,44.640143,-85.2472
+49682,MI,Suttons Bay,44.965613,-85.642264
+49683,MI,Thompsonville,44.519833,-85.945973
+49684,MI,Traverse City,44.74365,-85.618869
+49688,MI,Tustin,44.107181,-85.490143
+49689,MI,Wellston,44.213266,-85.955475
+49690,MI,Williamsburg,44.801952,-85.434732
+49705,MI,Afton,45.363684,-84.469453
+49706,MI,Alanson,45.440545,-84.792421
+49707,MI,Alpena,45.079018,-83.4602
+49709,MI,Atlanta,44.992371,-84.147982
+49710,MI,Barbeau,46.284753,-84.217332
+49712,MI,Boyne City,45.205203,-85.018294
+49713,MI,Boyne Falls,45.211563,-84.891584
+49715,MI,Raco,46.411117,-84.563841
+49716,MI,Brutus,45.506785,-84.746693
+49718,MI,Carp Lake,45.742364,-84.773453
+49719,MI,Cedarville,46.002449,-84.348823
+49720,MI,Charlevoix,45.29934,-85.245298
+49721,MI,Cheboygan,45.608038,-84.48672
+49724,MI,Dafter,46.349196,-84.399679
+49725,MI,De Tour Village,45.993852,-83.939628
+49726,MI,Drummond Island,46.005521,-83.736706
+49727,MI,East Jordan,45.153858,-85.138655
+49728,MI,Eckerman,46.346638,-85.162606
+49729,MI,Ellsworth,45.159929,-85.263292
+49730,MI,Elmira,45.034582,-84.830321
+49733,MI,Frederic,44.838217,-84.68241
+49735,MI,Gaylord,45.012523,-84.67228
+49736,MI,Goetzville,46.100976,-84.059271
+49738,MI,Grayling,44.670959,-84.691321
+49740,MI,Harbor Point,45.464535,-84.980303
+49743,MI,Hawks,45.297467,-83.854219
+49744,MI,Herron,45.012367,-83.65348
+49746,MI,Hillman,45.069104,-83.946781
+49747,MI,Hubbard Lake,44.89467,-83.605905
+49749,MI,Indian River,45.426984,-84.595578
+49751,MI,Johannesburg,45.015207,-84.385708
+49752,MI,Kinross,46.416612,-84.751122
+49753,MI,Lachine,45.042946,-83.749071
+49755,MI,Levering,45.637711,-84.798597
+49756,MI,Lewiston,44.853758,-84.297281
+49757,MI,Mackinac Island,45.857837,-84.624527
+49759,MI,Millersburg,45.402164,-84.122246
+49760,MI,Moran,46.044106,-85.007835
+49762,MI,Naubinway,46.126021,-85.44619
+49765,MI,Onaway,45.33654,-84.212272
+49766,MI,Ossineke,44.91038,-83.459186
+49768,MI,Paradise,46.598321,-85.056247
+49769,MI,Pellston,45.570285,-84.842502
+49770,MI,Bay View,45.361268,-84.940263
+49774,MI,Pickford,46.155858,-84.366312
+49775,MI,Pointe Aux Pins,45.754888,-84.447035
+49776,MI,Posen,45.223335,-83.639271
+49779,MI,Rogers City,45.412306,-83.835483
+49780,MI,Fibre,46.200568,-84.549343
+49781,MI,Saint Ignace,45.921527,-84.709409
+49782,MI,Saint James,45.722061,-85.531581
+49783,MI,Sault Sainte Mar,46.473932,-84.346746
+49788,MI,Kincheloe,46.26271,-84.462584
+49789,MI,Stalwart,46.138876,-84.155861
+49792,MI,Tower,45.341619,-84.303496
+49795,MI,Vanderbilt,45.153247,-84.651134
+49799,MI,Wolverine,45.286148,-84.606477
+49801,MI,Iron Mountain,45.821894,-88.068257
+49806,MI,Au Train,46.428231,-86.779327
+49807,MI,Hardwood,45.705411,-87.240522
+49812,MI,Carney,45.591738,-87.543896
+49813,MI,Cedar River,45.448475,-87.365994
+49814,MI,Champion,46.468497,-87.830587
+49815,MI,Channing,46.154562,-88.077221
+49816,MI,Limestone,46.294821,-86.758934
+49817,MI,Cooks,45.899665,-86.530718
+49818,MI,Cornell,45.910373,-87.223702
+49820,MI,Curtis,46.204763,-85.786466
+49821,MI,Daggett,45.488738,-87.607858
+49822,MI,Deerton,46.483979,-87.04064
+49825,MI,Eben Junction,46.351726,-87.032799
+49826,MI,Rumely,46.341867,-86.935068
+49827,MI,Engadine,46.204009,-85.600468
+49829,MI,Escanaba,45.76587,-87.088985
+49833,MI,Little Lake,46.053711,-87.411448
+49834,MI,Foster City,46.004769,-87.804768
+49835,MI,Garden,45.754867,-86.577576
+49836,MI,Germfask,46.236261,-85.91589
+49837,MI,Brampton,45.856402,-87.027284
+49838,MI,Gould City,46.134544,-85.725889
+49839,MI,Grand Marais,46.652916,-85.983633
+49840,MI,Gulliver,46.011491,-86.021433
+49841,MI,Princeton,46.291938,-87.43016
+49843,MI,K I Sawyer A F B,46.330811,-87.37593
+49847,MI,Hermansville,45.714902,-87.622659
+49848,MI,Ingalls,45.374774,-87.620607
+49849,MI,North Lake,46.490165,-87.682638
+49853,MI,Mc Millan,46.297027,-85.730715
+49854,MI,Thompson,45.982978,-86.275513
+49855,MI,Beaver Grove,46.53124,-87.389443
+49858,MI,Menominee,45.13427,-87.621475
+49861,MI,Michigamme,46.668143,-87.892386
+49862,MI,Christmas,46.413863,-86.626846
+49866,MI,Negaunee,46.500662,-87.582915
+49868,MI,Newberry,46.343763,-85.514951
+49870,MI,Norway,45.786186,-87.904693
+49873,MI,Perronville,45.826409,-87.398903
+49874,MI,Powers,45.679238,-87.531853
+49876,MI,Quinnesec,45.799866,-87.992151
+49878,MI,Rapid River,45.910662,-86.88449
+49879,MI,Republic,46.368046,-87.993823
+49880,MI,Rock,46.050262,-87.133068
+49881,MI,Sagola,46.081274,-88.067644
+49883,MI,Seney,46.387989,-85.970847
+49884,MI,Shingleton,46.351202,-86.482261
+49885,MI,Skandia,46.349049,-87.248094
+49886,MI,Spalding,45.695747,-87.4964
+49887,MI,Stephenson,45.416594,-87.62579
+49890,MI,Traunik,46.258534,-86.988891
+49891,MI,Trenary,46.194738,-86.950183
+49892,MI,Vulcan,45.762257,-87.816811
+49893,MI,Wallace,45.301657,-87.580457
+49894,MI,Wells,45.784866,-87.073443
+49895,MI,Wetmore,46.353518,-86.634537
+49896,MI,Wilson,45.664855,-87.399734
+49905,MI,Atlantic Mine,47.093663,-88.661318
+49908,MI,Keweenaw Bay,46.790213,-88.495489
+49910,MI,Bergland,46.588124,-89.597296
+49911,MI,Bessemer,46.480188,-90.051544
+49912,MI,Bruce Crossing,46.527956,-89.168028
+49913,MI,Laurium,47.242721,-88.44272
+49916,MI,Chassell,47.002038,-88.554554
+49919,MI,Covington,46.557194,-88.524452
+49920,MI,Crystal Falls,46.109255,-88.350517
+49921,MI,Dodgeville,47.091443,-88.580874
+49925,MI,Ewen,46.540412,-89.314494
+49927,MI,Gaastra,46.052638,-88.591728
+49930,MI,Hancock,47.136731,-88.565385
+49931,MI,Houghton,47.115801,-88.558024
+49935,MI,Iron River,46.093017,-88.645974
+49938,MI,Ironwood,46.463793,-90.158844
+49943,MI,Kenton,46.491565,-88.812933
+49945,MI,Gay,47.171387,-88.411829
+49946,MI,Lanse,46.770407,-88.420959
+49947,MI,Marenisco,46.355107,-89.677422
+49948,MI,Mass City,46.747447,-89.064864
+49950,MI,Eagle Harbor,47.320067,-88.332572
+49952,MI,Nisula,46.76952,-88.83397
+49953,MI,Ontonagon,46.827484,-89.348474
+49958,MI,Pelkie,46.794932,-88.625083
+49962,MI,Skanee,46.874732,-88.173189
+49965,MI,Toivola,46.985447,-88.860657
+49967,MI,Trout Creek,46.486426,-89.026962
+49968,MI,Wakefield,46.475184,-89.942446
+49969,MI,Watersmeet,46.25416,-89.210836
+49970,MI,Watton,46.513698,-88.599298
+55001,MN,Afton,44.86965,-92.823358
+55003,MN,Bayport,45.021405,-92.784375
+55005,MN,East Bethel,45.394114,-93.233088
+55006,MN,Braham,45.717547,-93.203695
+55007,MN,Quamba,45.938694,-92.98347
+55008,MN,Cambridge,45.557591,-93.288935
+55009,MN,Cannon Falls,44.495985,-92.863995
+55010,MN,Castle Rock,44.594216,-93.109241
+55011,MN,Cedar East Bethe,45.336494,-93.265834
+55013,MN,Chisago City,45.361144,-92.892134
+55014,MN,Circle Pines,45.152841,-93.143984
+55016,MN,Cottage Grove,44.830824,-92.939283
+55017,MN,Dalbo,45.678735,-93.441918
+55018,MN,Stanton,44.423884,-92.974779
+55019,MN,Dundas,44.395537,-93.20369
+55020,MN,Elko,44.58945,-93.383555
+55021,MN,Faribault,44.294457,-93.28179
+55024,MN,Farmington,44.662799,-93.153891
+55025,MN,Forest Lake,45.268499,-92.974894
+55026,MN,Frontenac,44.487176,-92.328103
+55027,MN,Goodhue,44.402178,-92.571743
+55030,MN,Grasston,45.772926,-93.196226
+55031,MN,Hampton,44.602848,-92.946673
+55032,MN,Harris,45.596205,-93.039545
+55033,MN,Welch,44.718932,-92.862566
+55037,MN,Hinckley,46.018876,-92.899333
+55038,MN,Centerville,45.1628,-93.003493
+55040,MN,Isanti,45.468212,-93.226565
+55041,MN,Lake City,44.430493,-92.283778
+55042,MN,Lake Elmo,44.994609,-92.90565
+55043,MN,Lakeland,44.939384,-92.771592
+55044,MN,Lakeville,44.674865,-93.257802
+55045,MN,Lindstrom,45.387265,-92.842076
+55046,MN,Veseli,44.462888,-93.423594
+55047,MN,Marine On Saint,45.183119,-92.822952
+55048,MN,55048,46.076684,-92.450672
+55049,MN,Medford,44.17415,-93.243721
+55051,MN,Mora,45.895786,-93.294234
+55052,MN,Morristown,44.234183,-93.452512
+55053,MN,Nerstrand,44.353769,-93.0855
+55055,MN,Newport,44.872522,-92.998603
+55056,MN,North Branch,45.516479,-92.937097
+55057,MN,Northfield,44.458724,-93.166826
+55060,MN,Owatonna,44.080478,-93.21914
+55063,MN,Beroun,45.832273,-92.982604
+55065,MN,Randolph,44.527386,-93.019619
+55066,MN,Red Wing,44.552779,-92.548559
+55067,MN,Rock Creek,45.762404,-92.930826
+55068,MN,Rosemount,44.728919,-93.158844
+55069,MN,Rush City,45.684496,-92.997876
+55070,MN,Saint Francis,45.390284,-93.359832
+55071,MN,Saint Paul Park,44.834404,-92.987331
+55072,MN,Markville,46.121355,-92.871001
+55073,MN,Scandia,45.269666,-92.829158
+55074,MN,Shafer,45.357561,-92.760889
+55075,MN,South Saint Paul,44.888128,-93.046013
+55076,MN,Inver Grove Heig,44.841966,-93.034746
+55077,MN,Inver Grove Heig,44.850123,-93.073938
+55079,MN,Stacy,45.397509,-93.017743
+55080,MN,Stanchfield,45.667513,-93.243302
+55082,MN,Oak Park Heights,45.050007,-92.830032
+55084,MN,Taylors Falls,45.41825,-92.690593
+55087,MN,Warsaw,44.250439,-93.364181
+55088,MN,Webster,44.502633,-93.334418
+55089,MN,Welch,44.603006,-92.726259
+55092,MN,East Bethel,45.324337,-93.068565
+55101,MN,Saint Paul,44.969963,-93.083167
+55102,MN,Saint Paul,44.937228,-93.120852
+55103,MN,Saint Paul,44.960798,-93.121594
+55104,MN,Saint Paul,44.953179,-93.15797
+55105,MN,Saint Paul,44.934723,-93.165148
+55106,MN,Saint Paul,44.968384,-93.048817
+55107,MN,West Saint Paul,44.927235,-93.086157
+55108,MN,Lauderdale,44.982217,-93.17458
+55109,MN,North Saint Paul,45.011859,-93.017072
+55110,MN,White Bear Lake,45.074527,-93.011299
+55111,MN,Fort Snelling,44.901548,-93.202579
+55112,MN,New Brighton,45.074129,-93.199691
+55113,MN,Roseville,45.012876,-93.149245
+55114,MN,Saint Paul,44.967968,-93.198067
+55115,MN,White Bear Lake,45.061132,-92.954847
+55116,MN,Saint Paul,44.914007,-93.172747
+55117,MN,Little Canada,44.992165,-93.103659
+55118,MN,West Saint Paul,44.902691,-93.096435
+55119,MN,Maplewood,44.955384,-93.008019
+55120,MN,Eagan,44.873825,-93.12902
+55121,MN,Eagan,44.843039,-93.16753
+55122,MN,Eagan,44.803593,-93.196937
+55123,MN,Eagan,44.809764,-93.14135
+55124,MN,Apple Valley,44.746147,-93.20776
+55125,MN,Woodbury,44.916195,-92.951413
+55126,MN,Shoreview,45.083334,-93.134367
+55127,MN,Vadnais Heights,45.070839,-93.07875
+55128,MN,Oakdale,44.984648,-92.968128
+55150,MN,Mendota,44.885796,-93.161221
+55301,MN,Albertville,45.253425,-93.646899
+55302,MN,Annandale,45.248272,-94.106072
+55303,MN,Ramsey,45.238537,-93.407822
+55304,MN,Ham Lake,45.25068,-93.284531
+55307,MN,Arlington,44.615279,-94.076195
+55308,MN,Becker,45.436539,-93.840966
+55309,MN,Big Lake,45.350648,-93.739917
+55310,MN,Bird Island,44.750729,-94.871634
+55312,MN,Brownton,44.728145,-94.330611
+55313,MN,Buffalo,45.181371,-93.863479
+55314,MN,Buffalo Lake,44.770885,-94.591207
+55315,MN,Carver,44.716898,-93.687949
+55316,MN,Champlin,45.170042,-93.381927
+55317,MN,Chanhassen,44.867924,-93.535906
+55318,MN,Chaska,44.806071,-93.608314
+55319,MN,Clear Lake,45.479477,-93.968391
+55320,MN,Clearwater,45.387694,-94.045246
+55321,MN,Cokato,45.074761,-94.191054
+55322,MN,Cologne,44.764591,-93.798249
+55324,MN,Darwin,45.102949,-94.424926
+55325,MN,Dassel,45.103208,-94.330475
+55327,MN,Dayton,45.198164,-93.466795
+55328,MN,Delano,45.034222,-93.801644
+55329,MN,Eden Valley,45.302006,-94.603911
+55330,MN,Elk River,45.313601,-93.5814
+55331,MN,Excelsior,44.900704,-93.579132
+55332,MN,Fairfax,44.532942,-94.725626
+55333,MN,Franklin,44.542132,-94.893094
+55334,MN,Gaylord,44.546298,-94.195543
+55335,MN,Gibbon,44.560587,-94.54668
+55336,MN,Glencoe,44.778001,-94.161554
+55337,MN,Burnsville,44.76086,-93.275283
+55338,MN,Green Isle,44.668665,-93.932635
+55339,MN,Hamburg,44.731452,-93.964317
+55340,MN,Hamel,45.079951,-93.575957
+55342,MN,Hector,44.748489,-94.705824
+55343,MN,Eden Prairie,44.933318,-93.416452
+55344,MN,Eden Prairie,44.857426,-93.437573
+55345,MN,Minnetonka,44.913808,-93.484997
+55346,MN,Eden Prairie,44.877106,-93.483028
+55347,MN,Eden Prairie,44.834217,-93.438934
+55349,MN,Howard Lake,45.061594,-94.069515
+55350,MN,Hutchinson,44.894554,-94.384691
+55352,MN,Jordan,44.671321,-93.61946
+55353,MN,Kimball,45.343584,-94.302837
+55354,MN,Lester Prairie,44.873898,-94.055094
+55355,MN,Litchfield,45.126272,-94.526805
+55356,MN,Long Lake,44.991228,-93.581798
+55357,MN,Loretto,45.106099,-93.669165
+55358,MN,Maple Lake,45.220236,-93.963793
+55359,MN,Maple Plain,44.978686,-93.700214
+55360,MN,Mayer,44.902231,-93.885925
+55362,MN,Monticello,45.295557,-93.802252
+55363,MN,Montrose,45.089737,-93.931762
+55364,MN,Mound,44.938158,-93.656087
+55366,MN,New Auburn,44.675919,-94.20567
+55367,MN,New Germany,44.899431,-93.970131
+55368,MN,Norwood,44.766786,-93.930067
+55369,MN,Maple Grove,45.108636,-93.43987
+55370,MN,Plato,44.765728,-94.050583
+55371,MN,Princeton,45.585115,-93.596143
+55372,MN,Prior Lake,44.710694,-93.410057
+55373,MN,Rockford,45.103074,-93.765832
+55374,MN,Rogers,45.171484,-93.581445
+55376,MN,Saint Michael,45.206409,-93.659253
+55378,MN,Savage,44.761547,-93.343445
+55379,MN,Shakopee,44.7793,-93.519748
+55380,MN,Silver Creek,45.326474,-93.949622
+55381,MN,Silver Lake,44.913945,-94.197383
+55382,MN,South Haven,45.346008,-94.162768
+55384,MN,Spring Park,44.935566,-93.634104
+55385,MN,Stewart,44.725928,-94.451572
+55386,MN,Victoria,44.858223,-93.656094
+55387,MN,Waconia,44.851029,-93.7784
+55388,MN,Watertown,44.959533,-93.848159
+55389,MN,Watkins,45.308652,-94.429677
+55390,MN,Waverly,45.041265,-93.954538
+55391,MN,Wayzata,44.958189,-93.520581
+55395,MN,Winsted,44.958459,-94.055168
+55396,MN,Winthrop,44.543566,-94.369847
+55397,MN,Young America,44.792905,-93.918049
+55398,MN,Zimmerman,45.455321,-93.587859
+55401,MN,Minneapolis,44.983473,-93.268251
+55402,MN,Minneapolis,44.976184,-93.275871
+55403,MN,Minneapolis,44.967345,-93.282841
+55404,MN,Minneapolis,44.960891,-93.26416
+55405,MN,Minneapolis,44.968734,-93.299096
+55406,MN,Minneapolis,44.938359,-93.221357
+55407,MN,Minneapolis,44.937787,-93.2545
+55408,MN,Minneapolis,44.946575,-93.286173
+55409,MN,Minneapolis,44.926378,-93.28182
+55410,MN,Edina,44.915366,-93.318187
+55411,MN,Minneapolis,44.999601,-93.300548
+55412,MN,Minneapolis,45.024236,-93.302033
+55413,MN,Minneapolis,44.997994,-93.255194
+55414,MN,Minneapolis,44.977908,-93.219904
+55415,MN,Minneapolis,44.971455,-93.264403
+55416,MN,Saint Louis Park,44.946899,-93.340344
+55417,MN,Minneapolis,44.905371,-93.23606
+55418,MN,Minneapolis,45.01923,-93.240108
+55419,MN,Minneapolis,44.902567,-93.288618
+55420,MN,Bloomington,44.837284,-93.276034
+55421,MN,Columbia Heights,45.049582,-93.246095
+55422,MN,Robbinsdale,45.016722,-93.339769
+55423,MN,Richfield,44.875731,-93.281351
+55424,MN,Edina,44.904385,-93.335005
+55425,MN,Bloomington,44.843198,-93.249413
+55426,MN,Saint Louis Park,44.954448,-93.379627
+55427,MN,Golden Valley,45.010374,-93.381585
+55428,MN,Crystal,45.060299,-93.376908
+55429,MN,Brooklyn Center,45.067667,-93.340203
+55430,MN,Brooklyn Center,45.061106,-93.299068
+55431,MN,Bloomington,44.827776,-93.312322
+55432,MN,Fridley,45.095695,-93.253905
+55433,MN,Coon Rapids,45.168192,-93.326253
+55434,MN,Blaine,45.168083,-93.242557
+55435,MN,Edina,44.877143,-93.371452
+55436,MN,Edina,44.902305,-93.370997
+55437,MN,Bloomington,44.823279,-93.343499
+55438,MN,Bloomington,44.823924,-93.380141
+55439,MN,Edina,44.873716,-93.332169
+55441,MN,Plymouth,45.009836,-93.422782
+55442,MN,Plymouth,45.045151,-93.426316
+55443,MN,Brooklyn Center,45.105586,-93.340184
+55444,MN,Brooklyn Center,45.100172,-93.302455
+55445,MN,Brooklyn Park,45.103956,-93.373495
+55446,MN,Plymouth,45.032446,-93.472323
+55447,MN,Plymouth,44.998593,-93.494695
+55448,MN,Coon Rapids,45.180626,-93.289699
+55450,MN,Minneapolis,44.865883,-93.247414
+55454,MN,Minneapolis,44.968161,-93.242898
+55455,MN,Minneapolis,44.981562,-93.23928
+55599,MN,Loretto,45.05604,-93.664534
+55602,MN,Brimson,47.314162,-91.862521
+55603,MN,Finland,47.419716,-91.209597
+55604,MN,Grand Marais,47.77577,-90.339114
+55605,MN,Grand Portage,47.959065,-89.698862
+55606,MN,Hovland,47.83415,-90.04757
+55607,MN,Isabella,47.626719,-91.517327
+55612,MN,Lutsen,47.683066,-90.638059
+55613,MN,Schroeder,47.542185,-90.933807
+55614,MN,Little Marais,47.299905,-91.277753
+55615,MN,Tofte,47.760792,-90.783135
+55616,MN,Two Harbors,47.039364,-91.678264
+55702,MN,Alborn,46.978229,-92.557937
+55703,MN,Angora,47.757738,-92.641332
+55704,MN,Askov,46.196408,-92.752812
+55705,MN,Aurora,47.495096,-92.241486
+55706,MN,Babbitt,47.709121,-91.956951
+55707,MN,Barnum,46.519616,-92.629167
+55709,MN,Bovey,47.286788,-93.372322
+55710,MN,Britt,47.65496,-92.632062
+55711,MN,Brookston,46.838425,-92.643005
+55712,MN,Bruno,46.284496,-92.618994
+55717,MN,Canyon,47.078525,-92.459361
+55718,MN,Carlton,46.6484,-92.470984
+55719,MN,Chisholm,47.500744,-92.861693
+55720,MN,Cloquet,46.726041,-92.45282
+55721,MN,Cohasset,47.269112,-93.639154
+55723,MN,Cook,47.844193,-92.721038
+55724,MN,Kelsey,47.163803,-92.444921
+55725,MN,Crane Lake,48.259387,-92.489596
+55726,MN,Cromwell,46.671784,-92.873942
+55727,MN,Culver,46.911886,-92.552403
+55731,MN,Ely,47.903435,-91.857042
+55732,MN,Embarrass,47.665847,-92.21011
+55733,MN,Esko,46.712551,-92.356918
+55734,MN,Eveleth,47.451047,-92.528037
+55735,MN,Finlayson,46.212111,-92.938924
+55736,MN,Floodwood,46.907589,-92.916682
+55740,MN,Gheen,47.946475,-92.906892
+55741,MN,Gilbert,47.488487,-92.402464
+55742,MN,Goodland,47.192426,-93.146914
+55744,MN,La Prairie,47.223472,-93.527672
+55746,MN,Hibbing,47.4156,-92.935582
+55748,MN,Hill City,46.996817,-93.599397
+55749,MN,Holyoke,46.466445,-92.374955
+55750,MN,Hoyt Lakes,47.514957,-92.140046
+55751,MN,Iron,47.411455,-92.619502
+55752,MN,Jacobson,46.977187,-93.306359
+55755,MN,55755,47.157817,-92.612956
+55756,MN,Kerrick,46.379151,-92.578
+55757,MN,Kettle River,46.502899,-92.904746
+55760,MN,Mc Gregor,46.686424,-93.29562
+55762,MN,Mahtowa,46.582588,-92.606505
+55763,MN,Makinen,47.341603,-92.344584
+55765,MN,Meadowlands,47.102064,-92.788357
+55766,MN,Melrude,47.242318,-92.42644
+55767,MN,Moose Lake,46.44724,-92.746648
+55768,MN,Mountain Iron,47.513336,-92.624274
+55769,MN,Nashwauk,47.42003,-93.216818
+55771,MN,Buyck,47.933881,-92.845555
+55773,MN,Parkville,47.510296,-92.584051
+55775,MN,Pengilly,47.315089,-93.193667
+55779,MN,Saginaw,46.879462,-92.391723
+55780,MN,Sawyer,46.711799,-92.609612
+55783,MN,Sturgeon Lake,46.383685,-92.818246
+55784,MN,Swan River,47.07394,-93.196436
+55785,MN,Swatara,46.929871,-93.668483
+55787,MN,Tamarack,46.617873,-93.1342
+55788,MN,Togo,47.76843,-93.201545
+55790,MN,Tower,47.808926,-92.287781
+55792,MN,Virginia,47.537078,-92.528525
+55793,MN,Warba,47.13611,-93.276417
+55795,MN,Willow River,46.294883,-92.830931
+55797,MN,Wrenshall,46.592114,-92.371772
+55798,MN,Wright,46.675324,-93.002863
+55799,MN,Zim,47.317591,-92.629606
+55801,MN,Duluth,47.094431,-91.846731
+55802,MN,Duluth,46.768475,-92.086497
+55803,MN,Duluth,46.874913,-92.094057
+55804,MN,Duluth,46.855131,-92.007433
+55805,MN,Duluth,46.798733,-92.094553
+55806,MN,Duluth,46.771457,-92.127871
+55807,MN,Duluth,46.740783,-92.169821
+55808,MN,Duluth,46.681002,-92.22261
+55810,MN,Proctor,46.74459,-92.232332
+55811,MN,Hermantown,46.81341,-92.168225
+55812,MN,Duluth,46.810598,-92.076693
+55901,MN,Rochester,44.049572,-92.48962
+55902,MN,Rochester,44.003217,-92.483519
+55904,MN,Rochester,44.010545,-92.397276
+55906,MN,Rochester,44.021001,-92.446874
+55909,MN,Adams,43.559119,-92.730494
+55910,MN,Altura,44.136114,-91.974474
+55912,MN,Austin,43.669538,-92.978374
+55917,MN,Blooming Prairie,43.897732,-93.06081
+55918,MN,Brownsdale,43.724761,-92.873752
+55919,MN,Brownsville,43.670732,-91.301226
+55920,MN,Byron,44.037333,-92.630753
+55921,MN,Caledonia,43.622079,-91.483657
+55922,MN,Canton,43.566687,-91.912957
+55923,MN,Chatfield,43.836201,-92.157351
+55924,MN,Claremont,44.05223,-92.988839
+55925,MN,Dakota,43.914806,-91.39404
+55926,MN,Dexter,43.715962,-92.726764
+55927,MN,Dodge Center,44.032514,-92.855376
+55929,MN,Dover,44.001457,-92.141511
+55932,MN,Elgin,44.135837,-92.253493
+55933,MN,Elkton,43.634806,-92.710407
+55934,MN,Viola,44.004294,-92.244068
+55935,MN,Fountain,43.728404,-92.142288
+55936,MN,Grand Meadow,43.710065,-92.569203
+55937,MN,Granger,43.544873,-92.156115
+55939,MN,Harmony,43.566268,-92.014511
+55940,MN,Hayfield,43.892259,-92.817489
+55941,MN,Hokah,43.750856,-91.345472
+55943,MN,Houston,43.792904,-91.562565
+55944,MN,Kasson,44.024029,-92.74642
+55945,MN,Theilman,44.305396,-92.00839
+55946,MN,Kenyon,44.255237,-93.019661
+55947,MN,La Crescent,43.830686,-91.326325
+55949,MN,Lanesboro,43.717447,-91.987719
+55951,MN,Le Roy,43.531533,-92.506464
+55952,MN,Lewiston,43.970193,-91.866162
+55953,MN,Lyle,43.530868,-92.932818
+55954,MN,Mabel,43.544611,-91.780636
+55955,MN,Mantorville,44.070195,-92.757962
+55956,MN,Mazeppa,44.264568,-92.520683
+55957,MN,Millville,44.235862,-92.267188
+55959,MN,Minnesota City,44.083222,-91.741808
+55960,MN,Oronoco,44.148861,-92.48496
+55961,MN,Ostrander,43.597188,-92.415744
+55962,MN,Peterson,43.77691,-91.844338
+55963,MN,Pine Island,44.211009,-92.661347
+55964,MN,Plainview,44.16373,-92.162125
+55965,MN,Preston,43.664132,-92.096039
+55967,MN,Racine,43.78997,-92.531013
+55969,MN,Rollingstone,44.102501,-91.815795
+55970,MN,Rose Creek,43.627423,-92.862082
+55971,MN,Rushford,43.821626,-91.75365
+55972,MN,Saint Charles,43.958481,-92.051738
+55973,MN,Sargeant,43.808976,-92.759517
+55974,MN,Spring Grove,43.562339,-91.636788
+55975,MN,Spring Valley,43.682288,-92.367985
+55976,MN,Stewartville,43.867345,-92.454654
+55977,MN,Taopi,43.545783,-92.633455
+55978,MN,Theilman,44.30278,-92.211579
+55979,MN,Utica,43.958727,-91.941737
+55981,MN,Wabasha,44.370273,-92.036058
+55982,MN,Waltham,43.806958,-92.873446
+55983,MN,Wanamingo,44.31214,-92.810258
+55985,MN,West Concord,44.151954,-92.882495
+55986,MN,Whalan,43.716528,-91.918863
+55987,MN,Goodview,44.039132,-91.653348
+55990,MN,Wykoff,43.71464,-92.267921
+55991,MN,Hammond,44.248812,-92.403967
+55992,MN,Zumbrota,44.303179,-92.671863
+56001,MN,Mankato,44.153809,-93.996044
+56003,MN,North Mankato,44.177541,-94.031476
+56007,MN,Albert Lea,43.653678,-93.370672
+56009,MN,Alden,43.646586,-93.582307
+56010,MN,Amboy,43.890326,-94.177353
+56011,MN,Belle Plaine,44.613852,-93.760394
+56013,MN,Blue Earth,43.639426,-94.092379
+56014,MN,Bricelyn,43.574628,-93.821081
+56016,MN,Clarks Grove,43.762971,-93.323222
+56017,MN,Cleveland,44.32014,-93.828622
+56019,MN,Comfrey,44.111069,-94.91345
+56020,MN,Conger,43.611417,-93.522358
+56021,MN,Courtland,44.279083,-94.348229
+56022,MN,Darfur,44.061034,-94.813416
+56023,MN,Delavan,43.771859,-94.022488
+56024,MN,Eagle Lake,44.154587,-93.871912
+56025,MN,Easton,43.758126,-93.933994
+56026,MN,Ellendale,43.882591,-93.319492
+56027,MN,Elmore,43.520065,-94.098368
+56028,MN,Elysian,44.22313,-93.696498
+56029,MN,Emmons,43.508851,-93.482441
+56030,MN,Essig,44.323754,-94.56823
+56031,MN,Fairmont,43.637592,-94.45095
+56032,MN,Freeborn,43.784763,-93.574543
+56033,MN,Frost,43.563796,-93.936099
+56034,MN,Garden City,44.046748,-94.179084
+56035,MN,Geneva,43.82354,-93.267096
+56036,MN,Glenville,43.557749,-93.261761
+56037,MN,Good Thunder,43.995187,-94.067662
+56039,MN,Granada,43.706082,-94.330731
+56041,MN,Hanska,44.152678,-94.493267
+56042,MN,Hartland,43.803989,-93.476953
+56043,MN,Hayward,43.63864,-93.237727
+56044,MN,Henderson,44.534398,-93.934487
+56045,MN,Hollandale,43.752842,-93.167989
+56046,MN,Hope,43.979723,-93.345823
+56047,MN,Huntley,43.723746,-94.201567
+56048,MN,Janesville,44.116778,-93.709462
+56050,MN,Kasota,44.284188,-93.945319
+56051,MN,Kiester,43.541445,-93.710191
+56052,MN,Kilkenny,44.318532,-93.516397
+56054,MN,Lafayette,44.407315,-94.436463
+56055,MN,Lake Crystal,44.120189,-94.218385
+56057,MN,Le Center,44.385348,-93.721428
+56058,MN,Le Sueur,44.458154,-93.885588
+56060,MN,Lewisville,43.920922,-94.428854
+56061,MN,London,43.543455,-93.116527
+56062,MN,Madelia,44.049949,-94.410994
+56063,MN,Madison Lake,44.222074,-93.828893
+56064,MN,Manchester,43.716762,-93.460654
+56065,MN,Mapleton,43.933065,-93.954247
+56067,MN,Meriden,44.069875,-93.351167
+56068,MN,Minnesota Lake,43.829465,-93.828201
+56069,MN,Montgomery,44.435591,-93.581024
+56071,MN,New Prague,44.540239,-93.580473
+56072,MN,New Richland,43.893724,-93.499541
+56073,MN,New Ulm,44.304378,-94.464421
+56074,MN,Nicollet,44.272373,-94.186701
+56075,MN,Northrop,43.721164,-94.43495
+56076,MN,Oakland,43.632981,-93.111325
+56077,MN,Otisco,43.981513,-93.474097
+56078,MN,Pemberton,43.959955,-93.818449
+56080,MN,Saint Clair,44.077775,-93.844932
+56081,MN,Saint James,43.987519,-94.622935
+56082,MN,Saint Peter,44.335107,-93.981061
+56083,MN,Sanborn,44.218291,-95.132793
+56085,MN,Sleepy Eye,44.282089,-94.727251
+56087,MN,Springfield,44.232905,-94.979204
+56088,MN,Truman,43.820008,-94.431862
+56089,MN,Twin Lakes,43.553951,-93.388667
+56090,MN,Vernon Center,43.970557,-94.214212
+56091,MN,Waldorf,43.939868,-93.704264
+56092,MN,Walters,43.623868,-93.70102
+56093,MN,Waseca,44.0834,-93.510828
+56096,MN,Waterville,44.223796,-93.575063
+56097,MN,Wells,43.743396,-93.732069
+56098,MN,Winnebago,43.77549,-94.16324
+56101,MN,Wilder,43.879022,-95.151531
+56110,MN,Adrian,43.619683,-95.927261
+56111,MN,Alpha,43.594594,-94.905088
+56112,MN,Amiret,44.325134,-95.719046
+56113,MN,Arco,44.409147,-96.199913
+56114,MN,Avoca,43.970553,-95.600152
+56115,MN,Balaton,44.225253,-95.88377
+56116,MN,Beaver Creek,43.622343,-96.369771
+56117,MN,Bigelow,43.533612,-95.651527
+56118,MN,Bingham Lake,43.894155,-95.04571
+56119,MN,Brewster,43.703223,-95.480676
+56120,MN,Butterfield,43.965417,-94.795627
+56121,MN,Ceylon,43.538243,-94.614908
+56122,MN,Chandler,43.916308,-95.929616
+56123,MN,Currie,44.094616,-95.695323
+56124,MN,Delft,43.978502,-95.047234
+56125,MN,Dovray,44.05967,-95.527082
+56126,MN,Dundee,43.819052,-95.499286
+56127,MN,Dunnell,43.553052,-94.787558
+56128,MN,Edgerton,43.882419,-96.146333
+56129,MN,Ellsworth,43.526539,-96.011248
+56130,MN,56130,44.240346,-96.032692
+56131,MN,Fulda,43.875298,-95.597937
+56132,MN,Garvin,44.229318,-95.767215
+56133,MN,Hadley,44.03105,-95.869025
+56134,MN,Hardwick,43.791072,-96.21607
+56135,MN,56135,43.958423,-96.19247
+56136,MN,Hendricks,44.499514,-96.407753
+56137,MN,Heron Lake,43.79788,-95.326736
+56138,MN,Hills,43.533548,-96.364527
+56139,MN,Holland,44.075904,-96.190277
+56141,MN,Iona,43.902631,-95.771769
+56142,MN,Ivanhoe,44.507119,-96.226059
+56143,MN,Jackson,43.645732,-94.993827
+56144,MN,Jasper,43.856827,-96.385035
+56145,MN,Jeffers,44.073678,-95.154664
+56146,MN,Kanaranzi,43.54979,-96.111306
+56147,MN,Kenneth,43.763738,-96.10886
+56149,MN,Lake Benton,44.278211,-96.291035
+56150,MN,Lakefield,43.654456,-95.184834
+56151,MN,Lake Wilson,44.009529,-95.97973
+56152,MN,Lamberton,44.237776,-95.273946
+56153,MN,Leota,43.822628,-96.005392
+56155,MN,Lismore,43.733857,-95.968178
+56156,MN,Luverne,43.661366,-96.221562
+56157,MN,Lynd,44.40322,-95.923284
+56158,MN,Magnolia,43.638211,-96.100825
+56159,MN,Mountain Lake,43.938998,-94.927313
+56160,MN,Odin,43.882402,-94.77402
+56161,MN,Okabena,43.72302,-95.338112
+56162,MN,Ormsby,43.861639,-94.687255
+56164,MN,Hatfield,44.009516,-96.322762
+56165,MN,Reading,43.713604,-95.738945
+56166,MN,Revere,44.271326,-95.399588
+56167,MN,Round Lake,43.562045,-95.450151
+56168,MN,Rushmore,43.624011,-95.776728
+56169,MN,Russell,44.320129,-95.942564
+56170,MN,Florence,44.163836,-96.079028
+56171,MN,Sherburn,43.661089,-94.726877
+56172,MN,Slayton,43.985596,-95.755448
+56173,MN,Steen,43.531728,-96.243868
+56174,MN,Storden,44.052383,-95.301926
+56175,MN,Tracy,44.234201,-95.621301
+56176,MN,Trimont,43.782702,-94.71863
+56178,MN,Tyler,44.277342,-96.130235
+56179,MN,Verdi,44.234078,-96.372429
+56180,MN,Walnut Grove,44.229375,-95.496451
+56181,MN,Welcome,43.67052,-94.588593
+56183,MN,Westbrook,44.065381,-95.423208
+56185,MN,Wilmont,43.7692,-95.832421
+56186,MN,Woodstock,43.987338,-96.119198
+56187,MN,Worthington,43.628626,-95.605907
+56201,MN,Willmar,45.139264,-95.052315
+56207,MN,Alberta,45.557086,-96.049772
+56208,MN,Appleton,45.20543,-95.994872
+56209,MN,Atwater,45.111645,-94.793779
+56210,MN,Barry,45.547446,-96.560527
+56211,MN,Beardsley,45.553855,-96.706013
+56212,MN,Bellingham,45.155626,-96.32235
+56214,MN,Belview,44.605486,-95.317757
+56215,MN,Benson,45.312904,-95.576644
+56216,MN,Svea,44.939512,-95.063955
+56218,MN,Boyd,44.850725,-95.942102
+56219,MN,Browns Valley,45.606934,-96.80625
+56220,MN,Canby,44.720187,-96.278394
+56221,MN,Chokio,45.552369,-96.17331
+56222,MN,Clara City,44.963912,-95.349902
+56223,MN,Clarkfield,44.774261,-95.830405
+56224,MN,Clements,44.39432,-95.047447
+56225,MN,Clinton,45.457659,-96.418161
+56226,MN,Clontarf,45.373418,-95.678629
+56227,MN,Correll,45.290742,-96.175266
+56228,MN,Cosmos,44.958969,-94.697827
+56229,MN,Cottonwood,44.600251,-95.692508
+56230,MN,Danube,44.795567,-95.078366
+56231,MN,Danvers,45.341853,-95.886194
+56232,MN,Dawson,44.931737,-96.015014
+56233,MN,De Graff,45.270845,-95.446588
+56235,MN,Donnelly,45.70137,-96.064937
+56236,MN,Dumont,45.671742,-96.406123
+56237,MN,Echo,44.631046,-95.418223
+56238,MN,Evan,44.351114,-94.816956
+56239,MN,Ghent,44.507843,-95.893642
+56240,MN,Graceville,45.560248,-96.420925
+56241,MN,Granite Falls,44.808749,-95.551557
+56243,MN,Grove City,45.153172,-94.687843
+56244,MN,Hancock,45.498464,-95.800775
+56245,MN,Hanley Falls,44.678862,-95.682492
+56246,MN,Hawick,45.361775,-94.820762
+56247,MN,Hazel Run,44.749688,-95.712187
+56248,MN,Herman,45.807104,-96.099188
+56249,MN,Holloway,45.270805,-95.916374
+56250,MN,Johnson,45.573007,-96.266277
+56251,MN,Kandiyohi,45.123162,-94.947274
+56252,MN,Kerkhoven,45.209626,-95.311465
+56253,MN,Lake Lillian,44.96603,-94.901443
+56254,MN,Louisburg,45.130556,-96.171539
+56255,MN,Lucan,44.413237,-95.411934
+56256,MN,Madison,44.994618,-96.164507
+56257,MN,Marietta,44.963582,-96.409448
+56258,MN,Marshall,44.448127,-95.779454
+56260,MN,Maynard,44.922615,-95.484508
+56262,MN,Milan,45.114317,-95.869045
+56263,MN,Milroy,44.436494,-95.554471
+56264,MN,Minneota,44.558732,-95.976714
+56265,MN,Montevideo,44.968829,-95.676473
+56266,MN,Morgan,44.392554,-94.921783
+56267,MN,Morris,45.592095,-95.917234
+56270,MN,Morton,44.566189,-95.026817
+56271,MN,Murdock,45.216147,-95.404897
+56272,MN,Nassau,45.107554,-96.413307
+56273,MN,New London,45.294936,-94.948008
+56274,MN,Norcross,45.885839,-96.134168
+56276,MN,Odessa,45.299766,-96.310154
+56277,MN,Olivia,44.770627,-94.972747
+56278,MN,Ortonville,45.329621,-96.45965
+56279,MN,Pennock,45.131031,-95.175333
+56280,MN,Porter,44.656532,-96.15812
+56281,MN,Prinsburg,44.937088,-95.18654
+56282,MN,Raymond,45.018097,-95.220788
+56283,MN,Delhi,44.531753,-95.10713
+56284,MN,Renville,44.777609,-95.198879
+56285,MN,Sacred Heart,44.797536,-95.353801
+56286,MN,Saint Leo,44.711091,-96.042546
+56287,MN,Seaforth,44.490536,-95.297768
+56288,MN,Spicer,45.224112,-94.911572
+56289,MN,Sunburg,45.358316,-95.204915
+56290,MN,56290,45.019708,-95.052128
+56291,MN,Taunton,44.595076,-96.052594
+56292,MN,Vesta,44.505052,-95.411801
+56293,MN,Wabasso,44.405865,-95.2632
+56294,MN,Wanda,44.32295,-95.178
+56295,MN,Watson,45.019443,-95.794203
+56296,MN,Wheaton,45.811104,-96.486598
+56297,MN,Wood Lake,44.637915,-95.540908
+56301,MN,Saint Cloud,45.540972,-94.181857
+56303,MN,Saint Cloud,45.571298,-94.203634
+56304,MN,Saint Cloud,45.552113,-94.128447
+56307,MN,Albany,45.615114,-94.574022
+56308,MN,Alexandria,45.881747,-95.381994
+56309,MN,Ashby,46.078066,-95.821417
+56310,MN,Avon,45.612168,-94.436029
+56311,MN,Barrett,45.899555,-95.875391
+56312,MN,Belgrade,45.486522,-94.969877
+56313,MN,Bock,45.784427,-93.553658
+56314,MN,Bowlus,45.81212,-94.417533
+56315,MN,Brandon,46.0039,-95.578769
+56316,MN,Brooten,45.493171,-95.090049
+56318,MN,Burtrum,45.88803,-94.696214
+56319,MN,Carlos,45.972572,-95.310468
+56320,MN,Cold Spring,45.449976,-94.437823
+56323,MN,Cyrus,45.569483,-95.706965
+56324,MN,Dalton,46.154414,-95.850017
+56326,MN,Evansville,46.01525,-95.695067
+56327,MN,Farwell,45.724424,-95.665583
+56328,MN,Flensburg,45.950899,-94.530767
+56329,MN,Foley,45.708687,-93.868459
+56330,MN,Foreston,45.702842,-93.695755
+56331,MN,Freeport,45.673146,-94.678529
+56332,MN,Garfield,45.995309,-95.450044
+56333,MN,Gilman,45.774178,-93.946876
+56334,MN,Glenwood,45.642911,-95.38681
+56336,MN,Grey Eagle,45.81069,-94.832075
+56338,MN,Hillman,46.06776,-93.881224
+56339,MN,Hoffman,45.823292,-95.795482
+56340,MN,Holdingford,45.724924,-94.458091
+56341,MN,Holmes City,45.810706,-95.56464
+56342,MN,Isle,46.169605,-93.474062
+56343,MN,Kensington,45.81761,-95.694452
+56345,MN,Little Falls,45.98108,-94.360428
+56347,MN,Little Sauk,45.962417,-94.898389
+56349,MN,Lowry,45.710469,-95.53221
+56350,MN,Mc Grath,46.244116,-93.241619
+56352,MN,Melrose,45.658183,-94.819768
+56353,MN,Milaca,45.779481,-93.645266
+56354,MN,Miltona,46.054519,-95.325767
+56355,MN,Nelson,45.8516,-95.226032
+56357,MN,Oak Park,45.671403,-93.921417
+56358,MN,Ogilvie,45.847632,-93.435921
+56359,MN,Onamia,46.09022,-93.68668
+56360,MN,Osakis,45.876836,-95.13317
+56361,MN,Parkers Prairie,46.176925,-95.360764
+56362,MN,Paynesville,45.398798,-94.715709
+56363,MN,Pease,45.697872,-93.649247
+56364,MN,Pierz,46.008059,-94.085306
+56367,MN,Rice,45.736383,-94.165752
+56368,MN,Richmond,45.423817,-94.546072
+56373,MN,Royalton,45.858928,-94.221063
+56374,MN,Saint Joseph,45.565124,-94.336688
+56375,MN,Saint Stephen,45.711815,-94.281662
+56377,MN,Sartell,45.631827,-94.213569
+56378,MN,Sauk Centre,45.728079,-94.968166
+56379,MN,Sauk Rapids,45.604032,-94.159088
+56380,MN,Sedan,45.51069,-95.263989
+56381,MN,Starbuck,45.592587,-95.542125
+56382,MN,Swanville,45.943148,-94.628921
+56384,MN,Upsala,45.809723,-94.575531
+56385,MN,Villard,45.711823,-95.241439
+56386,MN,Wahkon,46.11214,-93.497174
+56387,MN,Waite Park,45.54972,-94.224481
+56389,MN,West Union,45.798451,-95.08328
+56401,MN,East Gull Lake,46.357219,-94.201873
+56431,MN,Aitkin,46.479929,-93.645413
+56433,MN,Akeley,47.000987,-94.72343
+56434,MN,Aldrich,46.402538,-94.992017
+56435,MN,Backus,46.869905,-94.395918
+56437,MN,Bertha,46.251457,-95.035733
+56438,MN,Browerville,46.090525,-94.834581
+56440,MN,Clarissa,46.137305,-94.95719
+56441,MN,Crosby,46.509084,-93.987448
+56442,MN,Crosslake,46.678644,-94.114256
+56443,MN,Cushing,46.202194,-94.618452
+56444,MN,Deerwood,46.444571,-93.884863
+56446,MN,Eagle Bend,46.117017,-95.096061
+56447,MN,Emily,46.747791,-93.948385
+56448,MN,Fifty Lakes,46.746997,-94.065555
+56449,MN,Fort Ripley,46.20988,-94.252696
+56450,MN,Garrison,46.263725,-93.936343
+56452,MN,Hackensack,46.988442,-94.503324
+56453,MN,Hewitt,46.32497,-95.050361
+56455,MN,Ironton,46.464135,-94.043655
+56456,MN,Jenkins,46.650983,-94.332485
+56458,MN,Lake George,47.214992,-95.002148
+56460,MN,Lake Itasca,47.275725,-95.252149
+56461,MN,Laporte,47.236752,-94.777161
+56463,MN,Manhattan Beach,46.733563,-94.140068
+56464,MN,Menahga,46.757233,-95.071429
+56465,MN,Merrifield,46.494309,-94.204268
+56466,MN,Leader,46.321568,-94.628086
+56467,MN,Nevis,46.931892,-94.846005
+56468,MN,Lake Shore,46.484828,-94.296562
+56469,MN,Palisade,46.689492,-93.562741
+56470,MN,Park Rapids,46.937682,-95.038299
+56472,MN,Pequot Lakes,46.62569,-94.268426
+56473,MN,Pillager,46.398395,-94.392287
+56474,MN,Pine River,46.693796,-94.447691
+56475,MN,Randall,46.073361,-94.500543
+56477,MN,Sebeka,46.630615,-95.068055
+56479,MN,Staples,46.353552,-94.763299
+56481,MN,Verndale,46.426995,-94.853268
+56482,MN,Wadena,46.440121,-95.128283
+56484,MN,Walker,47.08775,-94.584675
+56485,MN,Whipholt,47.040953,-94.350974
+56501,MN,Detroit Lakes,46.834877,-95.800606
+56510,MN,Lockhart,47.315597,-96.503569
+56511,MN,Audubon,46.871887,-95.988136
+56513,MN,Baker,46.685764,-96.604955
+56514,MN,Downer,46.677296,-96.37269
+56515,MN,Battle Lake,46.314175,-95.714395
+56516,MN,Bejou,47.44909,-95.945423
+56517,MN,Beltrami,47.572118,-96.454864
+56518,MN,Bluffton,46.491795,-95.223592
+56519,MN,Borup,47.189641,-96.552969
+56520,MN,Breckenridge,46.27966,-96.56222
+56521,MN,Callaway,47.007642,-95.943964
+56522,MN,Doran,46.129645,-96.437169
+56523,MN,Eldred,47.653011,-96.802647
+56524,MN,Clitherall,46.31693,-95.585822
+56525,MN,Comstock,46.666703,-96.739752
+56527,MN,Deer Creek,46.411193,-95.267265
+56528,MN,Dent,46.555417,-95.764357
+56529,MN,Dilworth,46.878168,-96.70222
+56531,MN,Elbow Lake,45.995267,-95.967149
+56533,MN,Elizabeth,46.406218,-96.085093
+56534,MN,Erhard,46.494817,-96.059264
+56535,MN,Erskine,47.661817,-96.012173
+56536,MN,Felton,47.070528,-96.505225
+56537,MN,Carlisle,46.289723,-96.064338
+56540,MN,Fertile,47.521367,-96.237127
+56542,MN,Fosston,47.581584,-95.743082
+56543,MN,Foxhome,46.258366,-96.317579
+56544,MN,Frazee,46.756469,-95.521159
+56545,MN,Gary,47.367491,-96.215233
+56546,MN,Georgetown,47.099865,-96.726996
+56547,MN,Glyndon,46.882023,-96.558338
+56548,MN,Halstad,47.355114,-96.798038
+56549,MN,Rollag,46.884185,-96.31115
+56550,MN,Hendrum,47.26889,-96.79875
+56551,MN,Henning,46.325606,-95.385162
+56552,MN,Hitterdal,47.001354,-96.28884
+56553,MN,Kent,46.437811,-96.685181
+56554,MN,Lake Park,46.817623,-96.067047
+56556,MN,Mcintosh,47.652165,-95.886252
+56557,MN,Mahnomen,47.336155,-95.885609
+56560,MN,Moorhead,46.867748,-96.757197
+56565,MN,Nashua,46.053731,-96.316009
+56566,MN,Naytahwaush,47.26007,-95.628324
+56567,MN,New York Mills,46.555867,-95.404717
+56568,MN,Nielsville,47.537336,-96.757433
+56569,MN,Ogema,47.102865,-95.915124
+56570,MN,Osage,46.932896,-95.235284
+56571,MN,Ottertail,46.417722,-95.543571
+56572,MN,Pelican Rapids,46.599444,-96.066227
+56573,MN,Perham,46.603106,-95.581763
+56574,MN,Perley,47.18308,-96.777722
+56575,MN,Ponsford,47.013348,-95.319717
+56576,MN,Richville,46.500807,-95.592891
+56577,MN,Richwood,46.93609,-95.850094
+56578,MN,Rochert,46.855904,-95.600443
+56579,MN,Rothsay,46.509412,-96.288726
+56580,MN,Sabin,46.770257,-96.59852
+56581,MN,Shelly,47.455375,-96.783802
+56583,MN,Tenney,45.990196,-96.387049
+56584,MN,Twin Valley,47.250905,-96.246382
+56585,MN,Ulen,47.090263,-96.28239
+56586,MN,Underwood,46.32652,-95.84155
+56587,MN,Vergas,46.670645,-95.794812
+56588,MN,Vining,46.256135,-95.588263
+56589,MN,Waubun,47.192009,-95.887125
+56590,MN,Wendell,46.056174,-96.114407
+56592,MN,Winger,47.537516,-95.994085
+56593,MN,Wolf Lake,46.833417,-95.360706
+56594,MN,Wolverton,46.555017,-96.61487
+56601,MN,Bemidji,47.488071,-94.848809
+56621,MN,Bagley,47.487024,-95.41334
+56623,MN,Baudette,48.692724,-94.599479
+56625,MN,56625,47.357339,-95.039719
+56626,MN,Bena,47.347732,-94.251921
+56627,MN,Big Falls,48.156028,-93.729629
+56628,MN,Bigfork,47.750227,-93.670699
+56629,MN,Birchdale,48.624696,-94.167652
+56630,MN,Blackduck,47.738136,-94.496072
+56632,MN,Boy River,47.181841,-94.102587
+56633,MN,Cass Lake,47.35155,-94.611896
+56634,MN,Clearbrook,47.714581,-95.375185
+56636,MN,Deer River,47.382867,-93.84979
+56637,MN,Talmoon,47.588764,-93.774913
+56639,MN,Effie,47.847187,-93.579905
+56641,MN,Federal Dam,47.206914,-94.257519
+56644,MN,Gonvick,47.749009,-95.499014
+56646,MN,Gully,47.769745,-95.641034
+56647,MN,Hines,47.732429,-94.647666
+56649,MN,International Fa,48.583398,-93.40609
+56650,MN,Kelliher,47.927173,-94.538166
+56651,MN,Lengby,47.536998,-95.627475
+56652,MN,Leonard,47.628905,-95.370775
+56653,MN,Littlefork,48.385233,-93.539932
+56654,MN,Loman,48.516406,-93.840673
+56655,MN,Longville,47.024842,-94.198182
+56657,MN,Marcell,47.634527,-93.678425
+56659,MN,Max,47.628919,-93.972031
+56660,MN,Mizpah,47.949525,-94.146748
+56661,MN,Northome,47.844039,-94.204274
+56662,MN,Outing,46.837528,-93.944252
+56663,MN,Pennington,47.465121,-94.483361
+56665,MN,Pitt,48.782986,-94.728252
+56666,MN,Ponemah,48.037168,-94.917048
+56667,MN,Puposky,47.7436,-94.980294
+56668,MN,Ranier,48.611847,-93.312457
+56669,MN,Ray,48.421834,-93.089549
+56670,MN,Redby,47.868888,-94.940409
+56671,MN,Redlake,47.865378,-95.06432
+56672,MN,Remer,47.087422,-93.919647
+56673,MN,Roosevelt,48.814807,-95.179389
+56674,MN,Saum,47.974492,-94.651203
+56676,MN,Shevlin,47.500364,-95.245021
+56678,MN,Solway,47.547972,-95.120475
+56680,MN,Spring Lake,47.588811,-93.838215
+56681,MN,Squaw Lake,47.636162,-94.1475
+56682,MN,Swift,48.847573,-95.297499
+56683,MN,Tenstrike,47.661146,-94.682432
+56684,MN,Trail,47.747769,-95.760668
+56685,MN,Waskish,48.176971,-94.503707
+56686,MN,Williams,48.802218,-94.955586
+56687,MN,Wilton,47.535254,-94.986238
+56688,MN,Wirt,47.716428,-93.981079
+56701,MN,Thief River Fall,48.110391,-96.167019
+56710,MN,Alvarado,48.201968,-96.991457
+56711,MN,Angle Inlet,49.324924,-95.090248
+56712,MN,Angus,48.092675,-96.656978
+56713,MN,Argyle,48.331418,-96.867096
+56714,MN,Badger,48.791294,-96.096523
+56715,MN,Brooks,47.812942,-96.011663
+56716,MN,Crookston,47.779694,-96.593078
+56720,MN,Donaldson,48.579792,-96.857894
+56721,MN,East Grand Forks,47.931802,-97.021262
+56722,MN,Euclid,48.033804,-96.921496
+56723,MN,Fisher,47.838145,-96.880312
+56724,MN,Gatzke,48.410416,-95.790305
+56725,MN,Goodridge,48.068586,-95.728344
+56726,MN,Greenbush,48.695667,-96.187091
+56727,MN,Grygla,48.307068,-95.639805
+56728,MN,Hallock,48.774855,-96.944486
+56729,MN,Halma,48.666895,-96.596899
+56732,MN,Karlstad,48.591592,-96.551116
+56733,MN,Kennedy,48.633686,-96.961407
+56734,MN,Lake Bronson,48.77868,-96.643145
+56735,MN,Orleans,48.881968,-96.813729
+56736,MN,Mentor,47.657597,-96.177823
+56737,MN,Middle River,48.442593,-96.12325
+56738,MN,Newfolden,48.28945,-96.255018
+56740,MN,Noyes,48.969223,-97.149032
+56741,MN,Oak Island,49.313466,-94.849209
+56742,MN,Oklee,47.82861,-95.861693
+56744,MN,Oslo,48.20657,-97.116252
+56748,MN,Plummer,47.911324,-95.964558
+56750,MN,Red Lake Falls,47.882285,-96.268097
+56751,MN,Pencer,48.826809,-95.756709
+56754,MN,Saint Hilaire,48.010871,-96.224914
+56755,MN,Saint Vincent,48.945825,-97.170307
+56756,MN,Salol,48.852213,-95.535594
+56757,MN,Stephen,48.452488,-96.867392
+56758,MN,Strandquist,48.45256,-96.472266
+56759,MN,Strathcona,48.626556,-96.109604
+56760,MN,Viking,48.234881,-96.474926
+56761,MN,Wannaska,48.64515,-95.7072
+56762,MN,Radium,48.20784,-96.759702
+56763,MN,Warroad,48.911144,-95.353843
+38601,MS,Abbeville,34.455553,-89.568835
+38603,MS,Cannon,34.79456,-89.205428
+38606,MS,Batesville,34.331651,-89.91418
+38610,MS,Blue Mountain,34.670986,-89.008775
+38611,MS,Byhalia,34.885351,-89.676332
+38614,MS,Stovall,34.204984,-90.577755
+38617,MS,Coahoma,34.36247,-90.472748
+38618,MS,Coldwater,34.692362,-89.986882
+38619,MS,Como,34.513728,-89.915508
+38620,MS,Courtland,34.25958,-89.939591
+38621,MS,Askew,34.453966,-90.185524
+38625,MS,Dumas,34.64915,-88.807229
+38626,MS,Dundee,34.528181,-90.38907
+38627,MS,Etta,34.435231,-89.176706
+38629,MS,Falkner,34.841682,-88.952493
+38632,MS,Hernando,34.809588,-90.009487
+38633,MS,Hickory Flat,34.624362,-89.186229
+38635,MS,Holly Springs,34.747061,-89.489714
+38637,MS,Horn Lake,34.9519,-90.050719
+38641,MS,Lake Cormorant,34.893733,-90.160795
+38642,MS,Lamar,34.927072,-89.31633
+38643,MS,Lambert,34.183719,-90.262991
+38645,MS,Lyon,34.247369,-90.498147
+38646,MS,Marks,34.260735,-90.281602
+38647,MS,Michigan City,34.931849,-89.136173
+38650,MS,Myrtle,34.540209,-89.115701
+38651,MS,Nesbit,34.899189,-90.012199
+38652,MS,New Albany,34.485051,-89.003058
+38654,MS,Olive Branch,34.94414,-89.854427
+38655,MS,Lafayette,34.354354,-89.49692
+38657,MS,Pleasant Grove,34.469951,-90.102494
+38658,MS,Pope,34.190559,-90.002735
+38659,MS,Potts Camp,34.604742,-89.315073
+38661,MS,Red Banks,34.875039,-89.519839
+38663,MS,Ripley,34.750912,-88.923973
+38664,MS,Robinsonville,34.809329,-90.305174
+38665,MS,Savage,34.611981,-90.138193
+38666,MS,Sardis,34.427573,-89.922083
+38668,MS,Senatobia,34.632306,-89.885501
+38670,MS,Sledge,34.382347,-90.20904
+38671,MS,Southaven,34.977074,-89.999173
+38673,MS,Taylor,34.284878,-89.627278
+38674,MS,Tiplersville,34.90294,-88.915684
+38676,MS,Tunica,34.688355,-90.368515
+38677,MS,University,34.364513,-89.582742
+38680,MS,Walls,34.964051,-90.120789
+38683,MS,Walnut,34.952732,-88.905337
+38685,MS,Waterford,34.640248,-89.468298
+38701,MS,Greenville,33.378737,-91.046793
+38703,MS,Greenville,33.408494,-91.022795
+38720,MS,Alligator,34.129425,-90.738214
+38721,MS,Anguilla,33.01213,-90.809535
+38725,MS,Benoit,33.644795,-91.033765
+38726,MS,Beulah,33.787954,-90.979545
+38730,MS,Boyle,33.685369,-90.733503
+38732,MS,Cleveland,33.743002,-90.730871
+38736,MS,Doddsville,33.630045,-90.52637
+38737,MS,Drew,33.867031,-90.540606
+38740,MS,Duncan,34.046966,-90.765191
+38744,MS,Glen Allan,33.025361,-91.009193
+38746,MS,Gunnison,33.943886,-90.931899
+38748,MS,Percy,33.177917,-90.84857
+38751,MS,Baird,33.449075,-90.654144
+38753,MS,Inverness,33.348964,-90.605065
+38754,MS,Isola,33.247112,-90.604027
+38756,MS,Elizabeth,33.410025,-90.892801
+38759,MS,Merigold,33.837252,-90.725571
+38761,MS,Moorhead,33.478325,-90.51425
+38762,MS,Mound Bayou,33.886023,-90.730247
+38769,MS,Rosedale,33.843166,-90.992289
+38771,MS,Ruleville,33.724052,-90.552657
+38773,MS,Shaw,33.587388,-90.814275
+38774,MS,Shelby,33.949058,-90.762461
+38778,MS,Sunflower,33.584696,-90.638732
+38780,MS,Wayside,33.261023,-91.024801
+38801,MS,Tupelo,34.253834,-88.720853
+38821,MS,Amory,33.9844,-88.470917
+38824,MS,Baldwyn,34.527959,-88.63748
+38826,MS,Belden,34.278663,-88.816011
+38827,MS,Belmont,34.51025,-88.230912
+38828,MS,Blue Springs,34.427286,-88.859004
+38829,MS,Booneville,34.669431,-88.544299
+38833,MS,Burnsville,34.857885,-88.306962
+38834,MS,Kossuth,34.93236,-88.543884
+38838,MS,Dennis,34.549735,-88.21167
+38841,MS,Ecru,34.337106,-88.955956
+38843,MS,Fulton,34.274543,-88.379262
+38844,MS,Gattman,33.87417,-88.258779
+38846,MS,Glen,34.877981,-88.435859
+38847,MS,Golden,34.481214,-88.184159
+38848,MS,Greenwood Spring,33.99344,-88.312333
+38849,MS,Guntown,34.429882,-88.701059
+38850,MS,Houlka,34.056145,-89.053114
+38851,MS,Houston,33.902554,-88.967005
+38852,MS,Iuka,34.808891,-88.198289
+38855,MS,Mantachie,34.358677,-88.496034
+38856,MS,Marietta,34.501089,-88.449764
+38857,MS,Mooreville,34.280792,-88.59504
+38858,MS,Nettleton,34.082065,-88.605201
+38859,MS,New Site,34.561693,-88.435021
+38860,MS,Egypt,33.989015,-88.759843
+38862,MS,Plantersville,34.201073,-88.633456
+38863,MS,Pontotoc,34.217004,-88.986829
+38864,MS,Sarepta,34.178943,-89.163625
+38865,MS,Rienzi,34.796789,-88.579454
+38866,MS,Saltillo,34.383128,-88.66736
+38868,MS,Shannon,34.121035,-88.734206
+38870,MS,Smithville,34.064813,-88.390027
+38871,MS,Thaxton,34.313563,-89.151468
+38873,MS,Tishomingo,34.647753,-88.219395
+38876,MS,Tremont,34.233516,-88.239212
+38878,MS,Vardaman,33.919042,-89.192117
+38901,MS,Grenada,33.775094,-89.808738
+38912,MS,Avalon,33.633683,-90.022077
+38913,MS,Banner,34.094911,-89.415383
+38914,MS,Big Creek,33.851359,-89.437833
+38915,MS,Bruce,34.006628,-89.348387
+38916,MS,Calhoun City,33.840776,-89.317809
+38917,MS,Carrollton,33.520765,-89.950633
+38920,MS,Cascilla,33.907905,-90.036163
+38921,MS,Charleston,33.972621,-90.111559
+38922,MS,Coffeeville,33.921468,-89.678177
+38923,MS,Coila,33.373111,-89.991516
+38924,MS,Cruger,33.310977,-90.231577
+38925,MS,Duck Hill,33.686475,-89.733425
+38927,MS,Enid,34.126345,-90.004392
+38929,MS,Gore Springs,33.724529,-89.575449
+38930,MS,Greenwood,33.515884,-90.172589
+38940,MS,Holcomb,33.760385,-89.901958
+38941,MS,Itta Bena,33.479838,-90.339421
+38943,MS,Mc Carley,33.586383,-89.851281
+38944,MS,Minter City,33.751525,-90.31327
+38948,MS,Oakland,34.075552,-89.887748
+38949,MS,Water Valley,34.176817,-89.421408
+38950,MS,Philipp,33.757391,-90.209086
+38951,MS,Pittsboro,33.944326,-89.337622
+38952,MS,Schlater,33.624439,-90.361976
+38953,MS,Scobey,33.92526,-89.891019
+38954,MS,Sidon,33.40946,-90.177937
+38961,MS,Tillatoba,33.985229,-89.894461
+38963,MS,Tutwiler,33.98195,-90.375341
+38964,MS,Vance,34.093639,-90.375246
+38965,MS,Water Valley,34.152466,-89.637986
+38967,MS,Winona,33.485753,-89.727655
+39038,MS,Belzoni,33.18421,-90.492435
+39039,MS,Benton,32.815772,-90.281516
+39040,MS,Bentonia,32.700015,-90.372156
+39041,MS,Bolton,32.377751,-90.447436
+39042,MS,Brandon,32.303803,-89.964029
+39044,MS,Braxton,32.001581,-89.967225
+39045,MS,Camden,32.794832,-89.892838
+39046,MS,Canton,32.620543,-90.006079
+39049,MS,Carlisle,32.101322,-90.779904
+39051,MS,Edinburg,32.788635,-89.535274
+39055,MS,Church Hill,31.67864,-91.214903
+39056,MS,Clinton,32.341079,-90.322893
+39057,MS,Conehatta,32.466974,-89.268956
+39059,MS,Crystal Springs,31.993329,-90.374439
+39063,MS,Durant,33.082756,-89.86116
+39066,MS,Edwards,32.316008,-90.598392
+39067,MS,Ethel,33.152587,-89.494707
+39069,MS,Fayette,31.712058,-91.058226
+39071,MS,Flora,32.557832,-90.323506
+39073,MS,Florence,32.153002,-90.121672
+39074,MS,Forest,32.346999,-89.467201
+39078,MS,Georgetown,31.855198,-90.212736
+39079,MS,Goodman,32.972133,-89.982145
+39082,MS,Harrisville,31.967552,-90.105359
+39083,MS,Hazlehurst,31.856188,-90.405078
+39086,MS,Hermanville,31.956374,-90.844588
+39088,MS,Holly Bluff,32.824216,-90.704486
+39090,MS,Kosciusko,33.0446,-89.572351
+39092,MS,Lake,32.345909,-89.341354
+39094,MS,Lena,32.644588,-89.549435
+39095,MS,Lexington,33.125043,-90.055674
+39096,MS,Lorman,31.838257,-91.095691
+39097,MS,Louise,32.991945,-90.589321
+39108,MS,Mc Cool,33.163206,-89.326806
+39109,MS,Madden,32.708665,-89.381701
+39110,MS,Madison,32.467065,-90.108744
+39111,MS,Magee,31.849513,-89.750325
+39113,MS,Mayersville,32.901276,-91.028628
+39114,MS,Mendenhall,31.949425,-89.809494
+39116,MS,Mize,31.847285,-89.574135
+39117,MS,Morton,32.436105,-89.551222
+39119,MS,Mount Olive,31.734582,-89.672387
+39120,MS,Natchez,31.54924,-91.364214
+39140,MS,Newhebron,31.73004,-90.01526
+39144,MS,Pattison,31.851025,-90.828306
+39145,MS,Pelahatchie,32.317994,-89.79135
+39146,MS,Pickens,32.890519,-89.973707
+39149,MS,Pinola,31.827732,-90.008775
+39150,MS,Port Gibson,31.926604,-91.02303
+39152,MS,Pulaski,32.270845,-89.650521
+39153,MS,Raleigh,32.05084,-89.508818
+39154,MS,Learned,32.23922,-90.424088
+39156,MS,Redwood,32.486699,-90.785899
+39157,MS,Ridgeland,32.412165,-90.120697
+39159,MS,Rolling Fork,32.873317,-90.883274
+39160,MS,Sallis,33.000981,-89.755182
+39162,MS,Satartia,32.612515,-90.596458
+39166,MS,Silver City,33.05071,-90.492798
+39168,MS,Taylorsville,31.839388,-89.404875
+39169,MS,Tchula,33.162388,-90.250012
+39170,MS,Terry,32.114683,-90.324143
+39175,MS,Utica,32.122897,-90.604724
+39176,MS,Vaiden,33.33433,-89.757023
+39177,MS,Valley Park,32.632258,-90.854209
+39179,MS,Pickens,32.817424,-90.085477
+39180,MS,Vicksburg,32.325824,-90.85065
+39189,MS,Walnut Grove,32.613418,-89.410538
+39191,MS,Wesson,31.690055,-90.413106
+39192,MS,West,33.1883,-89.769526
+39194,MS,Yazoo City,32.85937,-90.403145
+39201,MS,Jackson,32.293502,-90.186655
+39202,MS,Jackson,32.314883,-90.178194
+39203,MS,Jackson,32.308145,-90.202064
+39204,MS,Jackson,32.283162,-90.230579
+39206,MS,Jackson,32.369956,-90.173787
+39208,MS,Pearl,32.276837,-90.102714
+39209,MS,Jackson,32.318422,-90.244626
+39211,MS,Jackson,32.373924,-90.129297
+39212,MS,Jackson,32.24347,-90.261201
+39213,MS,Jackson,32.355288,-90.217099
+39216,MS,Jackson,32.338574,-90.170814
+39218,MS,Richland,32.215224,-90.156231
+39269,MS,Jackson,32.30085,-90.188503
+39301,MS,Meridian,32.357441,-88.655973
+39305,MS,Meridian,32.440129,-88.678322
+39307,MS,Meridian,32.373591,-88.743598
+39320,MS,Bailey,32.475417,-88.699086
+39322,MS,Buckatunna,31.507976,-88.52573
+39323,MS,Chunky,32.247156,-88.946968
+39325,MS,Collinsville,32.518278,-88.815532
+39326,MS,Daleville,32.551124,-88.660942
+39327,MS,Decatur,32.435798,-89.116832
+39328,MS,De Kalb,32.716235,-88.733158
+39330,MS,Enterprise,32.156266,-88.84735
+39332,MS,Hickory,32.320012,-89.009254
+39335,MS,Lauderdale,32.502186,-88.495569
+39336,MS,Lawrence,32.287614,-89.272432
+39337,MS,Little Rock,32.540288,-89.181382
+39338,MS,Louin,32.099713,-89.219935
+39339,MS,Louisville,33.105824,-89.028653
+39341,MS,Macon,33.102674,-88.578093
+39345,MS,Newton,32.324448,-89.183951
+39346,MS,Noxapater,32.97895,-89.122076
+39347,MS,Pachuta,32.008105,-88.865293
+39348,MS,Paulding,32.016744,-89.058441
+39350,MS,Philadelphia,32.757224,-89.115371
+39352,MS,Porterville,32.636833,-88.498425
+39354,MS,Preston,32.853659,-88.813013
+39355,MS,Quitman,32.066845,-88.678803
+39356,MS,Rose Hill,32.148931,-89.001053
+39358,MS,Scooba,32.840197,-88.488272
+39360,MS,Matherville,31.903082,-88.725866
+39361,MS,Shuqualak,32.976933,-88.559393
+39362,MS,State Line,31.391619,-88.51711
+39363,MS,Stonewall,32.156396,-88.774827
+39364,MS,Toomsuba,32.429583,-88.489225
+39365,MS,Union,32.537329,-89.049522
+39366,MS,Vossburg,31.972301,-88.969598
+39367,MS,Waynesboro,31.675447,-88.678221
+39401,MS,Hattiesburg,31.314553,-89.306471
+39402,MS,Hattiesburg,31.309753,-89.37751
+39421,MS,Bassfield,31.503695,-89.702735
+39422,MS,Bay Springs,31.944939,-89.233768
+39423,MS,Beaumont,31.136763,-88.905492
+39425,MS,Brooklyn,30.998852,-89.23372
+39426,MS,Carriere,30.617772,-89.57793
+39427,MS,Carson,31.558501,-89.775821
+39428,MS,Collins,31.670712,-89.543809
+39429,MS,Columbia,31.255877,-89.799785
+39437,MS,Ellisville,31.579663,-89.223073
+39439,MS,Heidelberg,31.882031,-88.998052
+39440,MS,Laurel,31.705444,-89.131155
+39451,MS,Leakesville,31.123825,-88.559546
+39452,MS,Agricola,30.866722,-88.593391
+39455,MS,Lumberton,31.053356,-89.454254
+39456,MS,Leaf,31.078449,-88.81947
+39459,MS,Moselle,31.483626,-89.320633
+39461,MS,Neely,31.179325,-88.71983
+39462,MS,New Augusta,31.130907,-89.028611
+39464,MS,Ovett,31.47377,-89.039613
+39465,MS,Petal,31.347181,-89.222239
+39466,MS,Picayune,30.541796,-89.691021
+39470,MS,Poplarville,30.852362,-89.564751
+39474,MS,Prentiss,31.605655,-89.873497
+39475,MS,Purvis,31.149562,-89.462301
+39476,MS,Richton,31.343364,-88.910079
+39478,MS,Sandy Hook,31.047904,-89.818343
+39479,MS,Seminary,31.528485,-89.481585
+39480,MS,Soso,31.75941,-89.308223
+39481,MS,Stringer,31.844721,-89.262144
+39482,MS,Sumrall,31.359972,-89.577723
+39483,MS,Foxworth,31.247325,-89.931075
+39501,MS,Gulfport,30.382556,-89.097618
+39503,MS,Gulfport,30.460105,-89.088552
+39507,MS,Gulfport,30.396248,-89.035347
+39520,MS,Diamondhead,30.324275,-89.397356
+39530,MS,Biloxi,30.403478,-88.897143
+39531,MS,Biloxi,30.40334,-88.960499
+39532,MS,North Bay,30.452031,-88.918846
+39553,MS,Gautier,30.398032,-88.641173
+39560,MS,Long Beach,30.359756,-89.164577
+39561,MS,Mc Henry,30.697463,-89.153631
+39563,MS,Kreole,30.402773,-88.526015
+39564,MS,Ocean Springs,30.440433,-88.780099
+39567,MS,Pascagoula,30.530301,-88.516472
+39571,MS,Pass Christian,30.398918,-89.284269
+39573,MS,Perkinston,30.76686,-89.139985
+39574,MS,Saucier,30.596082,-89.147729
+39576,MS,Waveland,30.29138,-89.383679
+39577,MS,Wiggins,30.86095,-89.132369
+39581,MS,Pascagoula,30.366377,-88.52886
+39601,MS,Brookhaven,31.58581,-90.451995
+39629,MS,Bogue Chitto,31.456344,-90.473183
+39631,MS,Centreville,31.089329,-91.095985
+39633,MS,Crosby,31.299406,-91.023712
+39638,MS,Gloster,31.19033,-90.924045
+39641,MS,Jayess,31.403577,-90.186386
+39643,MS,Kokomo,31.177688,-89.982419
+39645,MS,Liberty,31.138427,-90.713349
+39647,MS,Mc Call Creek,31.490772,-90.783581
+39648,MS,Mc Comb,31.221594,-90.432449
+39652,MS,Magnolia,31.121745,-90.48311
+39653,MS,Meadville,31.428489,-90.857835
+39654,MS,Monticello,31.523776,-90.12796
+39656,MS,Oak Vale,31.441953,-89.98273
+39657,MS,Osyka,31.021747,-90.478977
+39661,MS,Roxie,31.504043,-91.062475
+39662,MS,Ruth,31.379495,-90.286673
+39663,MS,Silver Creek,31.575535,-90.017332
+39664,MS,Smithdale,31.367203,-90.675236
+39665,MS,Sontag,31.645313,-90.180125
+39666,MS,Summit,31.29752,-90.465427
+39667,MS,Tylertown,31.146552,-90.116918
+39668,MS,Union Church,31.710474,-90.825922
+39669,MS,Woodville,31.145913,-91.307596
+39701,MS,Columbus,33.537699,-88.426194
+39702,MS,Columbus,33.481175,-88.355387
+39730,MS,Aberdeen,33.828439,-88.538033
+39735,MS,Ackerman,33.351684,-89.20139
+39739,MS,Brooksville,33.213961,-88.501351
+39740,MS,Caledonia,33.686461,-88.314537
+39741,MS,Cedarbluff,33.61616,-88.826712
+39743,MS,Crawford,33.321922,-88.567119
+39744,MS,Tomnolen,33.568908,-89.304542
+39745,MS,French Camp,33.338319,-89.394585
+39746,MS,Hamilton,33.801141,-88.44784
+39747,MS,Kilmichael,33.416476,-89.569577
+39750,MS,Maben,33.526179,-89.065887
+39751,MS,Mantee,33.665493,-89.122906
+39752,MS,Mathiston,33.541493,-89.127479
+39755,MS,Pheba,33.596056,-88.951842
+39756,MS,Prairie,33.795113,-88.633463
+39759,MS,Sessums,33.450125,-88.817637
+39766,MS,Steens,33.56708,-88.327755
+39767,MS,Stewart,33.510097,-89.479
+39769,MS,Sturgis,33.35702,-89.04727
+39772,MS,Weir,33.264464,-89.280419
+39773,MS,West Point,33.626496,-88.68226
+39776,MS,Woodland,33.80661,-89.025557
+63005,MO,Chesterfield,38.631832,-90.614185
+63010,MO,Arnold,38.430484,-90.387046
+63011,MO,Manchester,38.604132,-90.55213
+63012,MO,Barnhart,38.338425,-90.41417
+63013,MO,Beaufort,38.429352,-91.170929
+63014,MO,Berger,38.644449,-91.337412
+63015,MO,Catawissa,38.436161,-90.761703
+63016,MO,Cedar Hill,38.357319,-90.649777
+63017,MO,Town And Country,38.647241,-90.53969
+63019,MO,Crystal City,38.23002,-90.382525
+63020,MO,De Soto,38.120421,-90.554621
+63021,MO,Ballwin,38.577032,-90.525527
+63023,MO,Dittmer,38.315465,-90.691101
+63025,MO,Crescent,38.484832,-90.626277
+63026,MO,Fenton,38.501489,-90.468299
+63028,MO,Festus,38.187889,-90.42859
+63030,MO,Fletcher,38.180141,-90.734456
+63031,MO,Florissant,38.806865,-90.340097
+63033,MO,Florissant,38.794711,-90.283062
+63034,MO,Florissant,38.833841,-90.293617
+63036,MO,French Village,37.996101,-90.400507
+63037,MO,Gerald,38.350719,-91.293062
+63038,MO,Glencoe,38.5745,-90.643971
+63039,MO,Gray Summit,38.503044,-90.829184
+63040,MO,Grover,38.573316,-90.646112
+63042,MO,Hazelwood,38.780875,-90.366925
+63043,MO,Maryland Heights,38.722896,-90.447403
+63044,MO,Bridgeton,38.750627,-90.416101
+63045,MO,Bridgeton,38.7561,-90.458062
+63048,MO,Herculaneum,38.260087,-90.387095
+63049,MO,High Ridge,38.472783,-90.528127
+63050,MO,Hillsboro,38.258582,-90.578196
+63051,MO,House Springs,38.413068,-90.557539
+63052,MO,Antonia,38.392733,-90.431134
+63055,MO,Labadie,38.520031,-90.876966
+63056,MO,Leslie,38.458228,-91.195164
+63060,MO,Lonedell,38.274982,-90.822216
+63061,MO,Luebbering,38.261499,-90.802713
+63068,MO,New Haven,38.573995,-91.22905
+63069,MO,Pacific,38.492168,-90.747968
+63070,MO,Pevely,38.279911,-90.411075
+63071,MO,Richwoods,38.149639,-90.83099
+63072,MO,Robertsville,38.381602,-90.801619
+63074,MO,Saint Ann,38.725928,-90.386418
+63077,MO,Saint Clair,38.329927,-90.971346
+63080,MO,Sullivan,38.230706,-91.156662
+63084,MO,Union,38.445629,-91.020596
+63088,MO,Valley Park,38.557619,-90.492422
+63089,MO,Villa Ridge,38.460108,-90.882198
+63090,MO,Washington,38.545851,-91.019346
+63091,MO,Rosebud,38.385301,-91.397407
+63101,MO,Saint Louis,38.634616,-90.191313
+63102,MO,Saint Louis,38.630803,-90.18736
+63103,MO,Saint Louis,38.633176,-90.216444
+63104,MO,Saint Louis,38.612819,-90.218512
+63105,MO,Clayton,38.642574,-90.324189
+63106,MO,Saint Louis,38.644246,-90.208198
+63107,MO,Saint Louis,38.664522,-90.21249
+63108,MO,Saint Louis,38.644526,-90.254397
+63109,MO,Saint Louis,38.585452,-90.292918
+63110,MO,Saint Louis,38.618534,-90.256381
+63111,MO,Saint Louis,38.563349,-90.249452
+63112,MO,Saint Louis,38.661619,-90.28187
+63113,MO,Saint Louis,38.65896,-90.249633
+63114,MO,Overland,38.704425,-90.363304
+63115,MO,Saint Louis,38.675618,-90.238478
+63116,MO,Saint Louis,38.581356,-90.262543
+63117,MO,Richmond Heights,38.629202,-90.324817
+63118,MO,Saint Louis,38.594265,-90.230911
+63119,MO,Webster Groves,38.588853,-90.350807
+63120,MO,Saint Louis,38.690914,-90.25945
+63121,MO,Normandy,38.705086,-90.296719
+63122,MO,Kirkwood,38.58486,-90.410042
+63123,MO,Affton,38.550594,-90.325304
+63124,MO,Ladue,38.642383,-90.375468
+63125,MO,Lemay,38.521899,-90.295909
+63126,MO,Sappington,38.550349,-90.378679
+63127,MO,Sappington,38.540369,-90.405967
+63128,MO,Sappington,38.498285,-90.372275
+63129,MO,South County,38.468864,-90.32139
+63130,MO,University City,38.663941,-90.321896
+63131,MO,Des Peres,38.612479,-90.44264
+63132,MO,Olivette,38.672823,-90.369642
+63133,MO,Saint Louis,38.6779,-90.303272
+63134,MO,Berkeley,38.739614,-90.337834
+63135,MO,Ferguson,38.748429,-90.302241
+63136,MO,Jennings,38.738878,-90.260189
+63137,MO,North County,38.74885,-90.217778
+63138,MO,North County,38.787041,-90.211582
+63139,MO,Saint Louis,38.610776,-90.292045
+63140,MO,Berkeley,38.738482,-90.322846
+63141,MO,Creve Coeur,38.661741,-90.457072
+63143,MO,Maplewood,38.613116,-90.319611
+63144,MO,Brentwood,38.620839,-90.350944
+63146,MO,West County,38.688418,-90.448251
+63147,MO,Saint Louis,38.713889,-90.237512
+63301,MO,Saint Charles,38.801424,-90.506503
+63303,MO,Saint Charles,38.762237,-90.547059
+63304,MO,Saint Charles,38.737769,-90.623443
+63330,MO,Annada,39.255758,-90.822355
+63332,MO,Augusta,38.572767,-90.881471
+63333,MO,Bellflower,39.0012,-91.348915
+63334,MO,Bowling Green,39.334639,-91.196232
+63336,MO,Clarksville,39.346477,-90.936205
+63339,MO,Curryville,39.325702,-91.349301
+63341,MO,Defiance,38.661557,-90.830231
+63343,MO,Elsberry,39.158953,-90.815956
+63344,MO,Eolia,39.243097,-91.009322
+63345,MO,Farber,39.27424,-91.579843
+63347,MO,Foley,39.053019,-90.777468
+63348,MO,Foristell,38.762557,-90.934328
+63349,MO,Hawk Point,38.976576,-91.121067
+63350,MO,High Hill,38.890238,-91.371473
+63351,MO,Jonesburg,38.871658,-91.30193
+63352,MO,Laddonia,39.259328,-91.689348
+63353,MO,Louisiana,39.43359,-91.066385
+63357,MO,Lake Sherwood,38.648619,-91.055459
+63359,MO,Middletown,39.105494,-91.387312
+63361,MO,Montgomery City,38.983949,-91.508486
+63362,MO,Moscow Mills,38.922927,-90.963001
+63363,MO,New Florence,38.902309,-91.490861
+63364,MO,New Hartford,39.188103,-91.292984
+63366,MO,Saint Paul,38.800101,-90.720159
+63367,MO,Lake Saint Louis,38.79355,-90.785407
+63369,MO,Old Monroe,38.934581,-90.778196
+63370,MO,Olney,39.087509,-91.211314
+63371,MO,Paynesville,39.258679,-90.907268
+63373,MO,Portage Des Siou,38.927629,-90.353115
+63376,MO,Saint Peters,38.78024,-90.622765
+63377,MO,Silex,39.116617,-91.036988
+63379,MO,Troy,39.001212,-90.962449
+63381,MO,Truxton,38.967002,-91.212618
+63382,MO,Vandalia,39.294937,-91.488299
+63383,MO,Warrenton,38.805042,-91.174047
+63384,MO,Wellsville,39.076482,-91.564519
+63385,MO,Wentzville,38.801963,-90.85344
+63386,MO,West Alton,38.875796,-90.238363
+63388,MO,Williamsburg,38.898143,-91.679188
+63389,MO,Winfield,38.989727,-90.821319
+63390,MO,Wright City,38.809677,-91.03293
+63401,MO,Hannibal,39.70636,-91.38387
+63430,MO,Alexandria,40.344514,-91.515437
+63431,MO,Anabel,39.736793,-92.351142
+63432,MO,Arbela,40.486299,-92.004741
+63433,MO,Ashburn,39.52904,-91.187651
+63434,MO,Bethel,39.892199,-92.031619
+63435,MO,Canton,40.143695,-91.547987
+63436,MO,Center,39.515397,-91.539842
+63437,MO,Clarence,39.736648,-92.25297
+63438,MO,Durham,39.962486,-91.670415
+63439,MO,Emden,39.85013,-91.880926
+63440,MO,Ewing,39.996237,-91.721627
+63441,MO,Frankford,39.489246,-91.303086
+63443,MO,Hunnewell,39.701831,-91.883231
+63445,MO,Kahoka,40.426576,-91.725033
+63446,MO,Knox City,40.138357,-92.007703
+63447,MO,La Belle,40.116383,-91.917125
+63448,MO,La Grange,40.039126,-91.518247
+63450,MO,Lentner,39.712269,-92.148916
+63451,MO,Leonard,39.907577,-92.194679
+63452,MO,Lewistown,40.086666,-91.815663
+63453,MO,Luray,40.493096,-91.891227
+63454,MO,Maywood,39.933289,-91.614769
+63456,MO,Monroe City,39.654586,-91.722999
+63457,MO,Monticello,40.10402,-91.712267
+63458,MO,Newark,39.997428,-91.99236
+63459,MO,New London,39.591672,-91.39599
+63460,MO,Novelty,40.035997,-92.243783
+63461,MO,Palmyra,39.791309,-91.536817
+63462,MO,Perry,39.420721,-91.664125
+63463,MO,Philadelphia,39.835931,-91.753803
+63464,MO,Plevna,39.992561,-92.111716
+63466,MO,Saint Patrick,40.319851,-91.654677
+63468,MO,Shelbina,39.694718,-92.03706
+63469,MO,Shelbyville,39.810792,-92.049782
+63470,MO,Steffenville,39.993976,-91.85945
+63471,MO,Taylor,39.914486,-91.527834
+63472,MO,Wayland,40.442574,-91.607864
+63473,MO,Williamstown,40.21559,-91.854809
+63474,MO,Wyaconda,40.372083,-91.907077
+63501,MO,Kirksville,40.190765,-92.585634
+63530,MO,Atlanta,39.914639,-92.475019
+63531,MO,Baring,40.250864,-92.231074
+63532,MO,Bevier,39.749707,-92.561925
+63533,MO,Brashear,40.195891,-92.433253
+63534,MO,Callao,39.744849,-92.635144
+63535,MO,Coatsville,40.566473,-92.638801
+63536,MO,Downing,40.479828,-92.391762
+63537,MO,Edina,40.179452,-92.145549
+63538,MO,Elmer,39.941456,-92.642413
+63539,MO,Ethel,39.914605,-92.766396
+63540,MO,Gibbs,40.083962,-92.443495
+63541,MO,Glenwood,40.514935,-92.588642
+63543,MO,Gorin,40.362217,-92.01397
+63544,MO,Green Castle,40.270325,-92.877966
+63545,MO,Green City,40.260125,-92.953244
+63546,MO,Greentop,40.344593,-92.55667
+63547,MO,Hurdland,40.160909,-92.279066
+63548,MO,Lancaster,40.525265,-92.526403
+63549,MO,La Plata,40.020831,-92.507669
+63551,MO,Livonia,40.511237,-92.724084
+63552,MO,Macon,39.748089,-92.462163
+63555,MO,Memphis,40.46191,-92.185083
+63556,MO,Milan,40.184435,-93.136149
+63557,MO,New Boston,39.933234,-92.915967
+63558,MO,New Cambria,39.75509,-92.769469
+63559,MO,Novinger,40.268513,-92.717236
+63560,MO,Pollock,40.33852,-93.111506
+63561,MO,Queen City,40.415175,-92.566263
+63563,MO,Rutledge,40.328984,-92.097559
+63565,MO,Unionville,40.481464,-92.995094
+63566,MO,Winigan,40.03706,-92.93007
+63567,MO,Worthington,40.424001,-92.740139
+63601,MO,Desloge,37.85555,-90.52735
+63620,MO,Annapolis,37.39809,-90.670235
+63621,MO,Arcadia,37.570054,-90.592768
+63622,MO,Belgrade,37.78886,-90.861308
+63623,MO,Belleview,37.681981,-90.799075
+63624,MO,Desloge,37.769865,-90.620732
+63625,MO,Black,37.547275,-90.991735
+63626,MO,Blackwell,38.071694,-90.709538
+63627,MO,Bloomsdale,38.045112,-90.280548
+63628,MO,Bonne Terre,37.931423,-90.525052
+63629,MO,Bunker,37.477227,-91.192735
+63630,MO,Cadet,38.012534,-90.743932
+63631,MO,Caledonia,37.763881,-90.740936
+63633,MO,Centerville,37.428537,-90.975657
+63636,MO,Des Arc,37.29546,-90.62787
+63637,MO,Doe Run,37.734818,-90.496842
+63638,MO,Ellington,37.239797,-90.958851
+63640,MO,Farmington,37.777299,-90.409377
+63645,MO,Millcreek,37.543716,-90.310527
+63648,MO,Irondale,37.82962,-90.698389
+63650,MO,Iron Mountain,37.614702,-90.635635
+63653,MO,Leadwood,37.864081,-90.591007
+63654,MO,Lesterville,37.482004,-90.842544
+63655,MO,Marquand,37.427403,-90.174092
+63656,MO,Middle Brook,37.670161,-90.673504
+63660,MO,Mineral Point,37.915555,-90.719324
+63662,MO,Patton,37.473347,-90.050045
+63664,MO,Potosi,37.954942,-90.841467
+63665,MO,Redford,37.323518,-90.921994
+63670,MO,Lake Forest Esta,37.950356,-90.09604
+63673,MO,Saint Mary,37.832481,-89.976989
+63675,MO,Vulcan,37.305963,-90.710608
+63701,MO,Cape Girardeau,37.31685,-89.545861
+63730,MO,Advance,37.092219,-89.910614
+63732,MO,New Wells,37.630633,-89.581453
+63733,MO,Arab,37.064804,-90.080448
+63735,MO,Bell City,37.011608,-89.798417
+63736,MO,Benton,37.069674,-89.566404
+63739,MO,Burfordville,37.363231,-89.820632
+63740,MO,Chaffee,37.172612,-89.64565
+63743,MO,Daisy,37.515064,-89.821327
+63744,MO,Delta,37.184417,-89.76086
+63747,MO,Friedheim,37.566904,-89.837552
+63748,MO,Frohna,37.66855,-89.661903
+63750,MO,Gipsy,37.131092,-90.194077
+63751,MO,Glenallen,37.323119,-90.051495
+63753,MO,Grassy,37.259347,-90.160838
+63755,MO,Jackson,37.387885,-89.651939
+63760,MO,Leopold,37.260903,-89.922735
+63763,MO,Mc Gee,37.044139,-90.190847
+63764,MO,Scopus,37.313464,-89.962732
+63766,MO,Millersville,37.440138,-89.795035
+63768,MO,63768,37.488177,-89.612833
+63769,MO,Oak Ridge,37.525787,-89.750818
+63770,MO,Old Appleton,37.583014,-89.707091
+63771,MO,Oran,37.086977,-89.673364
+63775,MO,Perryville,37.717437,-89.873664
+63780,MO,Scott City,37.20771,-89.518081
+63781,MO,Sedgewickville,37.536962,-89.927246
+63782,MO,Sturdivant,37.071011,-90.009215
+63783,MO,Uniontown,37.610708,-89.723744
+63785,MO,Whitewater,37.286495,-89.736338
+63786,MO,Wittenberg,37.679256,-89.564261
+63787,MO,Zalma,37.13648,-90.075711
+63801,MO,Sikeston,36.891111,-89.58197
+63821,MO,Arbyrd,36.050104,-90.228355
+63822,MO,Bernie,36.672703,-89.987758
+63823,MO,Bertrand,36.892746,-89.448259
+63825,MO,Bloomfield,36.898892,-89.945564
+63827,MO,Bragg City,36.273236,-89.873624
+63829,MO,Cardwell,36.04345,-90.290696
+63830,MO,Caruthersville,36.180237,-89.668306
+63833,MO,Catron,36.687578,-89.770647
+63834,MO,Charleston,36.921341,-89.334207
+63837,MO,Clarkton,36.447812,-89.972852
+63841,MO,Dexter,36.788458,-89.963933
+63845,MO,East Prairie,36.777609,-89.372629
+63846,MO,Essex,36.810859,-89.836649
+63848,MO,Gideon,36.45378,-89.913546
+63849,MO,Gobler,36.158987,-89.934907
+63851,MO,Hayti Heights,36.239475,-89.751607
+63852,MO,Holcomb,36.38846,-90.020795
+63855,MO,Hornersville,36.062694,-90.081643
+63857,MO,Kennett,36.240656,-90.049057
+63862,MO,Lilbourn,36.585313,-89.611241
+63863,MO,Malden,36.567209,-89.973679
+63866,MO,Marston,36.508448,-89.628819
+63867,MO,Matthews,36.807528,-89.576833
+63868,MO,Morehouse,36.819041,-89.685191
+63869,MO,New Madrid,36.607284,-89.536645
+63870,MO,Parma,36.585629,-89.818971
+63873,MO,Portageville,36.427945,-89.700234
+63876,MO,Senath,36.132428,-90.163224
+63877,MO,Steele,36.091528,-89.834585
+63879,MO,Homestown,36.347215,-89.816362
+63901,MO,Poplar Bluff,36.766235,-90.416647
+63931,MO,Briar,36.639115,-90.92777
+63932,MO,Broseley,36.707553,-90.240472
+63933,MO,Campbell,36.519714,-90.082859
+63934,MO,Clubb,37.2302,-90.359638
+63935,MO,Poynor,36.621094,-90.81953
+63936,MO,Dudley,36.810981,-90.120974
+63937,MO,Ellsinore,36.945263,-90.74853
+63939,MO,Fairdealing,36.670404,-90.633515
+63940,MO,Fisk,36.783625,-90.216758
+63941,MO,Fremont,36.917164,-91.143984
+63942,MO,Gatewood,36.562608,-91.070333
+63943,MO,Grandin,36.827961,-90.794175
+63944,MO,Greenville,37.110838,-90.451362
+63945,MO,Harviell,36.672318,-90.558304
+63947,MO,Hiram,37.228158,-90.289556
+63950,MO,Lodi,37.242046,-90.463225
+63951,MO,Lowndes,37.134318,-90.254437
+63952,MO,Mill Spring,37.067477,-90.674625
+63953,MO,Naylor,36.584337,-90.612354
+63954,MO,Neelyville,36.571005,-90.499491
+63955,MO,Oxly,36.587385,-90.691973
+63956,MO,Patterson,37.195992,-90.577171
+63957,MO,Piedmont,37.15727,-90.69902
+63959,MO,63959,36.528175,-90.901556
+63960,MO,Puxico,36.942163,-90.162258
+63961,MO,Qulin,36.581769,-90.261674
+63963,MO,Shook,37.076976,-90.30059
+63964,MO,Silva,37.211892,-90.437472
+63965,MO,Van Buren,37.00153,-91.000681
+63966,MO,Wappapello,36.976566,-90.284805
+63967,MO,Williamsville,36.963789,-90.487851
+64001,MO,Alma,39.10484,-93.542853
+64011,MO,Bates City,39.021887,-94.07984
+64012,MO,Belton,38.816118,-94.532785
+64014,MO,Blue Springs,39.015186,-94.260429
+64015,MO,Lake Tapawingo,39.018378,-94.292848
+64016,MO,Buckner,39.130328,-94.206219
+64017,MO,Camden,39.204806,-94.025913
+64018,MO,Camden Point,39.451549,-94.744438
+64019,MO,Centerview,38.78971,-93.870234
+64020,MO,Concordia,38.977553,-93.581205
+64021,MO,Corder,39.102401,-93.639127
+64022,MO,Dover,39.192619,-93.668377
+64024,MO,Excelsior Spring,39.33491,-94.223614
+64029,MO,Grain Valley,39.027361,-94.20874
+64030,MO,Grandview,38.881936,-94.520542
+64034,MO,Lake Winnebago,38.842813,-94.334767
+64035,MO,Hardin,39.350433,-93.840869
+64036,MO,Henrietta,39.236732,-93.936873
+64037,MO,Higginsville,39.070504,-93.713265
+64040,MO,Holden,38.718595,-93.985571
+64048,MO,Holt,39.428867,-94.368876
+64050,MO,Independence,39.098288,-94.411072
+64052,MO,Independence,39.074984,-94.449945
+64053,MO,Independence,39.105041,-94.462461
+64054,MO,Sugar Creek,39.107234,-94.441496
+64055,MO,Independence,39.054504,-94.403902
+64056,MO,Independence,39.11773,-94.359637
+64057,MO,Independence,39.073099,-94.353284
+64058,MO,Independence,39.141233,-94.351526
+64060,MO,Kearney,39.365175,-94.362104
+64061,MO,Kingsville,38.817755,-94.046188
+64062,MO,Lawson,39.440129,-94.196588
+64063,MO,Lake Lotawana,38.921094,-94.348744
+64064,MO,Lees Summit,38.995336,-94.365192
+64067,MO,Lexington,39.174249,-93.871438
+64068,MO,Pleasant Valley,39.241916,-94.433664
+64070,MO,Lone Jack,38.891837,-94.161453
+64071,MO,Mayview,39.045898,-93.835306
+64074,MO,Napoleon,39.114034,-94.070911
+64075,MO,Oak Grove,38.998456,-94.139946
+64076,MO,Odessa,38.982938,-93.975731
+64077,MO,Orrick,39.211577,-94.123863
+64078,MO,Peculiar,38.716453,-94.44053
+64079,MO,Platte City,39.360171,-94.788972
+64080,MO,Pleasant Hill,38.785856,-94.243961
+64081,MO,Lees Summit,38.914169,-94.407302
+64082,MO,Lees Summit,38.851803,-94.394368
+64083,MO,Raymore,38.801896,-94.452893
+64084,MO,Rayville,39.385291,-94.02841
+64085,MO,Richmond,39.279298,-93.979163
+64088,MO,Sibley,39.162658,-94.199019
+64089,MO,Smithville,39.391739,-94.559239
+64093,MO,Warrensburg,38.766695,-93.727341
+64096,MO,Waverly,39.205523,-93.525652
+64097,MO,Wellington,39.125845,-93.985513
+64098,MO,Weston,39.445294,-94.914453
+64101,MO,Kansas City,39.10005,-94.601849
+64102,MO,Kansas City,39.086067,-94.606596
+64105,MO,Kansas City,39.102459,-94.590092
+64106,MO,Kansas City,39.105186,-94.569858
+64108,MO,Kansas City,39.0837,-94.586826
+64109,MO,Kansas City,39.066286,-94.567372
+64110,MO,Kansas City,39.036088,-94.572206
+64111,MO,Kansas City,39.056483,-94.592942
+64112,MO,Kansas City,39.038191,-94.592873
+64113,MO,Kansas City,39.01234,-94.593828
+64114,MO,Kansas City,38.962147,-94.595941
+64116,MO,North Kansas Cit,39.163189,-94.569882
+64117,MO,Randolph,39.168111,-94.527367
+64118,MO,Gladstone,39.213842,-94.570448
+64119,MO,Kansas City,39.19785,-94.519873
+64120,MO,Kansas City,39.122206,-94.54873
+64123,MO,Kansas City,39.113593,-94.523545
+64124,MO,Kansas City,39.106832,-94.539402
+64125,MO,Kansas City,39.104157,-94.492328
+64126,MO,Kansas City,39.092255,-94.50466
+64127,MO,Kansas City,39.088303,-94.536636
+64128,MO,Kansas City,39.065932,-94.538634
+64129,MO,Kansas City,39.040093,-94.49513
+64130,MO,Kansas City,39.035106,-94.546674
+64131,MO,Kansas City,38.971303,-94.57741
+64132,MO,Kansas City,38.991073,-94.552156
+64133,MO,Raytown,39.014909,-94.459229
+64134,MO,Kansas City,38.929633,-94.500908
+64136,MO,Kansas City,39.018684,-94.400774
+64137,MO,Kansas City,38.92988,-94.540487
+64138,MO,Raytown,38.96871,-94.479361
+64139,MO,Kansas City,38.965891,-94.406086
+64145,MO,Kansas City,38.89767,-94.597607
+64146,MO,Kansas City,38.897264,-94.57638
+64147,MO,Martin City,38.861352,-94.529717
+64149,MO,Kansas City,38.860646,-94.463554
+64150,MO,Kansas City,39.177927,-94.616669
+64151,MO,Lake Waukomis,39.213876,-94.63318
+64152,MO,Parkville,39.220954,-94.691313
+64153,MO,Kansas City,39.262746,-94.697008
+64154,MO,Kansas City,39.254728,-94.635444
+64155,MO,Kansas City,39.275831,-94.570401
+64156,MO,Kansas City,39.290052,-94.533614
+64157,MO,Kansas City,39.276673,-94.459456
+64158,MO,Kansas City,39.228428,-94.472036
+64161,MO,Randolph,39.161506,-94.459829
+64163,MO,Ferrelview,39.359756,-94.719315
+64164,MO,Kansas City,39.3426,-94.644643
+64165,MO,Kansas City,39.340054,-94.572966
+64166,MO,Kansas City,39.329399,-94.519858
+64167,MO,Kansas City,39.309643,-94.465291
+64401,MO,Agency,39.666229,-94.717017
+64402,MO,Albany,40.251282,-94.326977
+64421,MO,Amazonia,39.909197,-94.911344
+64422,MO,Amity,39.883697,-94.513558
+64423,MO,Barnard,40.186176,-94.805558
+64424,MO,Bethany,40.260055,-94.018863
+64425,MO,64425,40.095518,-95.328892
+64426,MO,Blythedale,40.502352,-93.895447
+64427,MO,Bolckow,40.100673,-94.884741
+64428,MO,Burlington Junct,40.442125,-95.051663
+64429,MO,Cameron,39.730892,-94.243723
+64430,MO,Clarksdale,39.813675,-94.54212
+64431,MO,Clearmont,40.517489,-95.005478
+64432,MO,Clyde,40.264475,-94.654563
+64433,MO,Conception,40.230929,-94.684302
+64434,MO,Conception Junct,40.266017,-94.696797
+64435,MO,Corning,40.24463,-95.436128
+64436,MO,Cosby,39.855534,-94.697678
+64437,MO,Bigelow,40.193873,-95.377047
+64438,MO,Darlington,40.195517,-94.404899
+64439,MO,Dearborn,39.517248,-94.766368
+64440,MO,De Kalb,39.583361,-94.927027
+64441,MO,Denver,40.418074,-94.306624
+64442,MO,Eagleville,40.491197,-93.995058
+64443,MO,Easton,39.751709,-94.658194
+64444,MO,Edgerton,39.474213,-94.635217
+64445,MO,Elmo,40.518492,-95.123564
+64446,MO,Fairfax,40.330193,-95.375075
+64448,MO,Faucett,39.589124,-94.791276
+64449,MO,Fillmore,40.014212,-94.955496
+64451,MO,Forest City,39.989708,-95.191594
+64452,MO,Fortescue,40.054712,-95.331584
+64453,MO,Gentry,40.341112,-94.414198
+64454,MO,Gower,39.602009,-94.596526
+64455,MO,Graham,40.201204,-95.012118
+64456,MO,Grant City,40.492358,-94.397908
+64457,MO,Guilford,40.174614,-94.695076
+64458,MO,Hatfield,40.521853,-94.169059
+64459,MO,Helena,39.925122,-94.69212
+64461,MO,Hopkins,40.548328,-94.818948
+64463,MO,King City,40.065184,-94.523412
+64465,MO,Lathrop,39.517727,-94.309271
+64466,MO,Maitland,40.199111,-95.092706
+64467,MO,Martinsville,40.366206,-94.164463
+64468,MO,Maryville,40.343399,-94.873479
+64469,MO,Maysville,39.911189,-94.354821
+64470,MO,Mound City,40.136238,-95.213837
+64471,MO,New Hampton,40.244439,-94.178565
+64473,MO,Oregon,39.980906,-95.123358
+64474,MO,Osborn,39.768436,-94.247677
+64475,MO,Parnell,40.472288,-94.659519
+64476,MO,Pickering,40.459073,-94.841119
+64477,MO,Plattsburg,39.57047,-94.433814
+64478,MO,Quitman,40.3701,-95.072909
+64479,MO,Ravenwood,40.357902,-94.68051
+64480,MO,Rea,40.059263,-94.700184
+64481,MO,Ridgeway,40.399896,-93.957527
+64482,MO,Rock Port,40.430581,-95.527403
+64483,MO,Rosendale,40.039853,-94.832808
+64484,MO,Rushville,39.565272,-95.041259
+64485,MO,Savannah,39.916774,-94.826733
+64486,MO,Sheridan,40.492822,-94.570149
+64487,MO,Skidmore,40.28961,-95.079241
+64489,MO,Stanberry,40.229285,-94.538691
+64490,MO,Hemple,39.745465,-94.51779
+64491,MO,Tarkio,40.441841,-95.378586
+64492,MO,Trimble,39.487067,-94.551234
+64493,MO,Turney,39.631772,-94.297241
+64494,MO,Union Star,39.984645,-94.578732
+64496,MO,Watson,40.477985,-95.61931
+64497,MO,Weatherby,39.888699,-94.254959
+64498,MO,Westboro,40.535748,-95.313419
+64499,MO,Worth,40.4173,-94.437084
+64501,MO,Saint Joseph,39.768755,-94.838488
+64503,MO,Saint Joseph,39.733987,-94.817125
+64504,MO,Saint Joseph,39.707566,-94.867749
+64505,MO,Saint Joseph,39.796532,-94.844341
+64506,MO,Saint Joseph,39.789292,-94.804314
+64507,MO,Saint Joseph,39.755052,-94.817303
+64601,MO,Chillicothe,39.796569,-93.550887
+64620,MO,Altamont,39.905017,-94.128155
+64621,MO,Avalon,39.668183,-93.47288
+64622,MO,Bogard,39.499354,-93.537387
+64623,MO,Bosworth,39.476692,-93.333521
+64624,MO,Braymer,39.591454,-93.78868
+64625,MO,Breckenridge,39.758205,-93.806794
+64628,MO,Brookfield,39.784612,-93.071948
+64630,MO,Browning,40.028983,-93.160661
+64631,MO,Bucklin,39.800563,-92.89281
+64632,MO,Cainsville,40.457768,-93.759047
+64633,MO,Carrollton,39.367334,-93.492626
+64635,MO,Chula,39.922606,-93.484095
+64636,MO,Coffey,40.099928,-94.025151
+64637,MO,Cowgill,39.564314,-93.929469
+64638,MO,Dawn,39.666506,-93.596405
+64639,MO,De Witt,39.358978,-93.301583
+64640,MO,Gallatin,39.902486,-93.978748
+64641,MO,Galt,40.14398,-93.395261
+64642,MO,Gilman City,40.145005,-93.831979
+64643,MO,Hale,39.595302,-93.34448
+64644,MO,Hamilton,39.736412,-93.990898
+64645,MO,Harris,40.307519,-93.350106
+64646,MO,Humphreys,40.114448,-93.301455
+64647,MO,Jameson,40.004615,-93.959747
+64648,MO,Jamesport,39.983724,-93.780048
+64649,MO,Kidder,39.757039,-94.130005
+64650,MO,Kingston,39.6508,-94.082694
+64651,MO,Laclede,39.7837,-93.167971
+64652,MO,Laredo,40.014397,-93.440676
+64653,MO,Linneus,39.909945,-93.188529
+64654,MO,Lock Springs,39.907396,-93.797697
+64655,MO,Lucerne,40.438182,-93.286654
+64656,MO,Ludlow,39.655064,-93.704578
+64657,MO,Mc Fall,40.105071,-94.300259
+64658,MO,Marceline,39.712485,-92.945502
+64659,MO,Meadville,39.779468,-93.301389
+64660,MO,Mendon,39.582849,-93.089168
+64661,MO,Mercer,40.516917,-93.524197
+64664,MO,Mooresville,39.74249,-93.71693
+64665,MO,Mount Moriah,40.329164,-93.814252
+64667,MO,Newtown,40.361227,-93.307279
+64668,MO,Norborne,39.329903,-93.67609
+64670,MO,Pattonsburg,40.042756,-94.134295
+64671,MO,Polo,39.564697,-94.074303
+64672,MO,Powersville,40.527155,-93.284436
+64673,MO,Princeton,40.385533,-93.577394
+64674,MO,Purdin,39.952948,-93.17002
+64676,MO,Rothville,39.662666,-93.046683
+64677,MO,Saint Catharine,39.800017,-92.99295
+64679,MO,Spickard,40.239985,-93.550291
+64681,MO,Sumner,39.654992,-93.224128
+64682,MO,Tina,39.551751,-93.46475
+64683,MO,Trenton,40.082335,-93.608634
+64686,MO,Utica,39.741742,-93.628897
+64688,MO,Wheeling,39.801137,-93.386835
+64689,MO,Winston,39.84995,-94.148747
+64701,MO,Harrisonville,38.64193,-94.32852
+64720,MO,Adrian,38.412473,-94.368336
+64722,MO,Amoret,38.260508,-94.573423
+64723,MO,Amsterdam,38.395385,-94.576282
+64724,MO,Appleton City,38.184779,-94.0229
+64725,MO,Archie,38.498612,-94.362992
+64726,MO,Blairstown,38.522701,-93.964102
+64728,MO,Bronaugh,37.69,-94.48603
+64730,MO,Butler,38.271245,-94.31375
+64733,MO,Chilhowee,38.612604,-93.865325
+64734,MO,Cleveland,38.68977,-94.5695
+64735,MO,Tightwad,38.368811,-93.758906
+64738,MO,Collins,37.880998,-93.660849
+64739,MO,Creighton,38.507754,-94.092604
+64740,MO,Deepwater,38.243164,-93.730281
+64741,MO,Deerfield,37.82109,-94.484845
+64742,MO,Drexel,38.495625,-94.592765
+64744,MO,El Dorado Spring,37.858517,-94.030091
+64745,MO,Foster,38.17338,-94.537067
+64746,MO,Freeman,38.624549,-94.495561
+64747,MO,Garden City,38.568082,-94.182532
+64748,MO,Golden City,37.399535,-94.102683
+64750,MO,Harwood,37.953028,-94.140194
+64751,MO,Horton,37.995078,-94.396438
+64752,MO,Stotesbury,38.059635,-94.561
+64755,MO,Jasper,37.318224,-94.273126
+64756,MO,Jerico Springs,37.661343,-94.012912
+64759,MO,Iantha,37.500221,-94.270253
+64760,MO,Latour,38.634847,-94.045721
+64761,MO,Leeton,38.614113,-93.712321
+64762,MO,Liberal,37.572453,-94.520377
+64763,MO,Lowry City,38.140443,-93.711352
+64767,MO,Milo,37.744559,-94.304632
+64769,MO,Mindenmines,37.451987,-94.575573
+64770,MO,Montrose,38.259702,-93.995239
+64771,MO,Moundville,37.747637,-94.449645
+64772,MO,Nevada,37.840853,-94.357127
+64776,MO,Osceola,38.028553,-93.753621
+64778,MO,Richards,37.906111,-94.559227
+64779,MO,Rich Hill,38.09438,-94.363454
+64780,MO,Rockville,38.076583,-94.129904
+64783,MO,Schell City,38.009403,-94.15791
+64784,MO,Sheldon,37.683969,-94.254835
+64788,MO,Urich,38.44489,-93.97847
+64790,MO,Walker,37.893023,-94.229301
+64801,MO,Joplin,37.096858,-94.505144
+64804,MO,Joplin,37.046454,-94.510252
+64831,MO,Anderson,36.669224,-94.476648
+64832,MO,Asbury,37.294168,-94.565484
+64833,MO,Avilla,37.194709,-94.117043
+64834,MO,Carl Junction,37.179479,-94.55502
+64835,MO,Carterville,37.150734,-94.435938
+64836,MO,Carthage,37.159686,-94.311232
+64840,MO,Diamond,37.005993,-94.32041
+64842,MO,Fairview,36.825419,-94.091203
+64843,MO,Goodman,36.732335,-94.39855
+64844,MO,Granby,36.906562,-94.264349
+64847,MO,Lanagan,36.605956,-94.4551
+64848,MO,La Russell,37.17387,-94.032874
+64850,MO,Neosho,36.870634,-94.386218
+64854,MO,Noel,36.541668,-94.490627
+64855,MO,Oronogo,37.243288,-94.446246
+64856,MO,Jane,36.580243,-94.351461
+64859,MO,Reeds,37.122477,-94.161272
+64861,MO,Rocky Comfort,36.717546,-94.109066
+64862,MO,Sarcoxie,37.072382,-94.11514
+64863,MO,South West City,36.531924,-94.596141
+64865,MO,Seneca,36.844169,-94.559367
+64866,MO,Stark City,36.878538,-94.154811
+64867,MO,Stella,36.751553,-94.20858
+64868,MO,Tiff City,36.664447,-94.593437
+64870,MO,Webb City,37.144,-94.472683
+64873,MO,Wentworth,36.980702,-94.132169
+64874,MO,Wheaton,36.765145,-94.04916
+65001,MO,Argyle,38.298619,-92.015456
+65010,MO,Ashland,38.787771,-92.253662
+65011,MO,Barnett,38.396696,-92.668594
+65013,MO,Belle,38.271108,-91.730299
+65014,MO,Bland,38.307383,-91.626334
+65016,MO,Bonnots Mill,38.553282,-91.929341
+65017,MO,Brumley,38.070914,-92.474732
+65018,MO,California,38.622369,-92.545558
+65020,MO,Camdenton,38.018534,-92.767744
+65023,MO,Centertown,38.629705,-92.399521
+65024,MO,Chamois,38.652683,-91.76968
+65025,MO,Clarksburg,38.643156,-92.672925
+65026,MO,Eldon,38.340127,-92.573619
+65032,MO,Eugene,38.359849,-92.368853
+65034,MO,Fortuna,38.574391,-92.784948
+65035,MO,Freeburg,38.355085,-91.927605
+65037,MO,Gravois Mills,38.258445,-92.823029
+65039,MO,Hartsburg,38.715902,-92.286377
+65040,MO,Henley,38.388133,-92.312303
+65041,MO,Bay,38.668381,-91.467717
+65042,MO,High Point,38.478237,-92.600514
+65043,MO,Holts Summit,38.632784,-92.116345
+65046,MO,Jamestown,38.779292,-92.480651
+65047,MO,Kaiser,38.163673,-92.579869
+65048,MO,Koeltztown,38.323526,-92.048365
+65049,MO,Four Seasons,38.209127,-92.677555
+65050,MO,Latham,38.550035,-92.653647
+65051,MO,Linn,38.473855,-91.81945
+65052,MO,Linn Creek,38.060524,-92.683077
+65053,MO,Lohman,38.548434,-92.384216
+65054,MO,Loose Creek,38.471715,-91.959126
+65058,MO,Meta,38.250039,-92.135797
+65059,MO,Mokane,38.699839,-91.886815
+65061,MO,Morrison,38.605967,-91.657972
+65062,MO,Mount Sterling,38.538786,-91.610315
+65063,MO,New Bloomfield,38.709996,-92.082983
+65064,MO,Olean,38.400059,-92.53031
+65065,MO,Osage Beach,38.13805,-92.666427
+65066,MO,Owensville,38.351119,-91.486679
+65067,MO,Portland,38.784701,-91.700567
+65068,MO,Prairie Home,38.825331,-92.597376
+65069,MO,Rhineland,38.763811,-91.515105
+65072,MO,Rocky Mount,38.291057,-92.705921
+65074,MO,Russellville,38.500534,-92.429122
+65075,MO,Saint Elizabeth,38.271244,-92.263503
+65076,MO,Saint Thomas,38.391246,-92.189382
+65077,MO,Steedman,38.756604,-91.788837
+65078,MO,Stover,38.441352,-92.994667
+65079,MO,Sunrise Beach,38.155845,-92.785395
+65080,MO,Tebbetts,38.640193,-91.967316
+65081,MO,Tipton,38.654839,-92.781448
+65082,MO,Tuscumbia,38.238881,-92.491739
+65083,MO,Ulman,38.134141,-92.463979
+65084,MO,Versailles,38.436491,-92.825835
+65085,MO,Westphalia,38.426968,-92.039221
+65101,MO,Jefferson City,38.546212,-92.152462
+65109,MO,Jefferson City,38.577272,-92.244298
+65201,MO,Columbia,38.938176,-92.304865
+65202,MO,Columbia,38.995019,-92.311204
+65203,MO,Columbia,38.93482,-92.363865
+65230,MO,Armstrong,39.256585,-92.708976
+65231,MO,Auxvasse,39.012184,-91.885801
+65232,MO,Benton City,39.120886,-91.766124
+65233,MO,Boonville,38.95364,-92.744973
+65236,MO,Brunswick,39.437424,-93.118694
+65237,MO,Bunceton,38.746754,-92.792695
+65239,MO,Cairo,39.51141,-92.440027
+65240,MO,Centralia,39.196089,-92.147244
+65243,MO,Clark,39.315293,-92.382706
+65244,MO,Clifton Hill,39.425985,-92.667676
+65246,MO,Dalton,39.40346,-92.994366
+65247,MO,Excello,39.645543,-92.475705
+65248,MO,Fayette,39.143041,-92.658287
+65250,MO,Franklin,39.066818,-92.831596
+65251,MO,Fulton,38.851821,-91.96055
+65254,MO,Glasgow,39.225736,-92.831812
+65255,MO,Hallsville,39.105429,-92.223855
+65256,MO,Harrisburg,39.120312,-92.440955
+65257,MO,Higbee,39.305521,-92.516309
+65258,MO,Holliday,39.490436,-92.131759
+65259,MO,Huntsville,39.435371,-92.552992
+65260,MO,Jacksonville,39.579076,-92.431536
+65261,MO,Keytesville,39.479388,-92.930187
+65262,MO,Kingdom City,38.95508,-91.952008
+65263,MO,Madison,39.461543,-92.228715
+65264,MO,Martinsburg,39.09675,-91.66463
+65265,MO,Mexico,39.171233,-91.889473
+65270,MO,Moberly,39.420239,-92.435793
+65274,MO,New Franklin,39.020042,-92.738601
+65275,MO,Paris,39.493219,-92.011323
+65276,MO,Pilot Grove,38.871168,-92.930461
+65279,MO,Rocheport,38.975578,-92.507854
+65280,MO,Rush Hill,39.193163,-91.688825
+65281,MO,Salisbury,39.431853,-92.80144
+65282,MO,Santa Fe,39.398929,-91.829377
+65283,MO,Stoutsville,39.559425,-91.829661
+65284,MO,Sturgeon,39.205705,-92.295264
+65285,MO,Thompson,39.20258,-92.025945
+65286,MO,Triplett,39.501098,-93.192771
+65287,MO,Wooldridge,38.919475,-92.582584
+65301,MO,Sedalia,38.696076,-93.232268
+65305,MO,Whiteman Afb,38.731683,-93.572514
+65321,MO,Blackburn,39.098776,-93.428124
+65322,MO,Blackwater,38.972659,-92.968291
+65323,MO,Calhoun,38.485842,-93.645929
+65324,MO,Climax Springs,38.139586,-92.95371
+65325,MO,Cole Camp,38.453124,-93.191529
+65326,MO,Edwards,38.190564,-93.147104
+65329,MO,Florence,38.610056,-92.998606
+65330,MO,Gilliam,39.244708,-92.993222
+65332,MO,Green Ridge,38.618983,-93.437395
+65333,MO,Houstonia,38.910581,-93.332531
+65334,MO,Hughesville,38.84944,-93.215895
+65335,MO,Ionia,38.501887,-93.322358
+65336,MO,Knob Noster,38.746932,-93.556422
+65337,MO,La Monte,38.775256,-93.431266
+65338,MO,Lincoln,38.407271,-93.3668
+65339,MO,Grand Pass,39.195108,-93.381325
+65340,MO,Napton,39.10983,-93.196017
+65344,MO,Miami,39.282095,-93.19678
+65345,MO,Mora,38.520726,-93.227232
+65347,MO,Nelson,39.010447,-93.031102
+65348,MO,Otterville,38.71607,-93.010819
+65349,MO,Slater,39.216273,-93.054674
+65350,MO,Smithton,38.649973,-93.108072
+65351,MO,Sweet Springs,38.965953,-93.424683
+65354,MO,Syracuse,38.637423,-92.882265
+65355,MO,Warsaw,38.250186,-93.337279
+65360,MO,Windsor,38.52719,-93.526864
+65401,MO,Rolla,37.948527,-91.760348
+65433,MO,Bendavis,37.246803,-92.228174
+65436,MO,Beulah,37.644469,-91.878714
+65438,MO,Birch Tree,36.947589,-91.50082
+65439,MO,Bixby,37.672244,-91.083461
+65440,MO,Boss,37.637282,-91.210905
+65441,MO,Bourbon,38.172039,-91.22254
+65443,MO,Brinktown,38.067282,-92.123106
+65444,MO,Bucyrus,37.397197,-92.046536
+65446,MO,Cherryville,37.806601,-91.234807
+65449,MO,Cook Station,37.855234,-91.461631
+65451,MO,65451,37.7904,-91.001597
+65452,MO,Crocker,37.944611,-92.269998
+65453,MO,Cuba,38.092553,-91.40814
+65456,MO,Davisville,37.792596,-91.132872
+65457,MO,Devils Elbow,37.85026,-92.085693
+65459,MO,Dixon,37.984766,-92.089662
+65461,MO,Duke,37.655001,-91.993063
+65462,MO,Edgar Springs,37.736505,-91.890579
+65463,MO,Eldridge,37.83456,-92.738202
+65464,MO,Elk Creek,37.217087,-91.998812
+65466,MO,Eminence,37.162556,-91.451933
+65468,MO,Eunice,37.212277,-91.723191
+65470,MO,Falcon,37.606099,-92.346562
+65473,MO,Fort Leonard Woo,37.759856,-92.126345
+65479,MO,Hartshorn,37.284306,-91.683418
+65483,MO,Houston,37.321829,-91.952982
+65484,MO,Huggins,37.266224,-92.148605
+65486,MO,Iberia,38.121926,-92.298897
+65501,MO,Jadwin,37.473619,-91.515887
+65529,MO,Jerome,37.92543,-91.99057
+65534,MO,Laquey,37.749378,-92.337901
+65535,MO,Leasburg,38.081054,-91.2488
+65536,MO,Lebanon,37.685049,-92.655029
+65540,MO,Anutt,37.743731,-91.715862
+65541,MO,Lenox,37.640757,-91.727735
+65542,MO,Licking,37.509082,-91.855585
+65543,MO,Lynchburg,37.505357,-92.320196
+65548,MO,Mountain View,36.989197,-91.709937
+65550,MO,Newburg,37.900778,-91.880683
+65552,MO,Plato,37.512231,-92.170913
+65555,MO,Raymondville,37.356913,-91.813089
+65556,MO,Richland,37.852752,-92.396245
+65557,MO,Roby,37.496993,-92.122188
+65559,MO,Saint James,38.005622,-91.607565
+65560,MO,Salem,37.616952,-91.525809
+65564,MO,Solo,37.167052,-91.959905
+65565,MO,Berryman,37.962998,-91.329337
+65566,MO,Viburnum,37.715066,-91.128922
+65567,MO,Stoutland,37.869338,-92.511373
+65570,MO,Success,37.480533,-92.003621
+65571,MO,Summersville,37.148352,-91.68277
+65573,MO,Teresita,36.999728,-91.596553
+65580,MO,Vichy,38.097958,-91.77875
+65582,MO,Vienna,38.191926,-91.942208
+65583,MO,Saint Robert,37.817515,-92.198944
+65586,MO,Wesco,37.873185,-91.349028
+65588,MO,Winona,37.016869,-91.312059
+65589,MO,Yukon,37.231108,-91.824377
+65590,MO,Long Lane,37.580769,-92.930853
+65591,MO,Montreal,37.985108,-92.547031
+65601,MO,Aldrich,37.505667,-93.557642
+65603,MO,Arcola,37.531254,-93.858718
+65604,MO,Ash Grove,37.315972,-93.57813
+65605,MO,Jenkins,36.947661,-93.71238
+65606,MO,Riverton,36.702543,-91.392743
+65608,MO,Ava,36.940717,-92.676544
+65609,MO,Bakersfield,36.53323,-92.150679
+65610,MO,Billings,37.062841,-93.547629
+65611,MO,Blue Eye,36.54321,-93.429944
+65612,MO,Bois D Arc,37.221417,-93.544722
+65613,MO,Bolivar,37.608502,-93.412631
+65614,MO,Bradleyville,36.765908,-92.915116
+65616,MO,Marvel Cave Park,36.655755,-93.243789
+65617,MO,Brighton,37.472807,-93.360279
+65618,MO,Brixey,36.758966,-92.402645
+65619,MO,Brookline Statio,37.127184,-93.383467
+65620,MO,Bruner,36.999002,-92.969241
+65622,MO,Buffalo,37.549842,-93.104228
+65623,MO,Butterfield,36.745066,-93.912609
+65624,MO,Cape Fair,36.693776,-93.524255
+65625,MO,Cassville,36.678386,-93.84667
+65626,MO,Caulfield,36.60353,-92.067773
+65627,MO,Cedarcreek,36.571013,-93.017239
+65629,MO,Chadwick,36.922041,-93.045082
+65630,MO,Chestnutridge,36.835283,-93.101217
+65631,MO,Clever,37.034796,-93.44747
+65632,MO,Conway,37.508472,-92.7891
+65633,MO,Crane,36.925771,-93.530339
+65634,MO,Cross Timbers,38.023873,-93.19781
+65635,MO,Dadeville,37.510458,-93.695562
+65637,MO,Dora,36.756009,-92.237796
+65638,MO,Drury,36.93193,-92.366396
+65640,MO,Dunnegan,37.703137,-93.521605
+65641,MO,Eagle Rock,36.548035,-93.733609
+65644,MO,Elkland,37.433591,-93.020983
+65646,MO,Everton,37.235428,-93.689434
+65647,MO,Exeter,36.681498,-93.970209
+65648,MO,Fair Grove,37.372143,-93.142824
+65649,MO,Fair Play,37.633496,-93.606355
+65650,MO,Flemington,37.780268,-93.447131
+65652,MO,Fordland,37.14474,-92.911148
+65653,MO,Forsyth,36.69548,-93.114968
+65654,MO,Freistatt,37.017563,-93.896144
+65655,MO,Gainesville,36.590101,-92.416151
+65656,MO,Galena,36.819835,-93.48113
+65657,MO,Garrison,36.860997,-92.9985
+65658,MO,Golden,36.562486,-93.622988
+65659,MO,Goodson,37.707534,-93.237528
+65660,MO,Graff,37.326214,-92.264726
+65661,MO,Greenfield,37.419662,-93.840689
+65662,MO,Grovespring,37.494667,-92.600141
+65663,MO,Half Way,37.601795,-93.241989
+65666,MO,Hardenville,36.592625,-92.367766
+65667,MO,Hartville,37.273453,-92.518058
+65668,MO,Hermitage,37.896853,-93.297902
+65669,MO,Highlandville,36.94077,-93.26802
+65672,MO,Hollister,36.610727,-93.228585
+65674,MO,Humansville,37.792282,-93.579531
+65675,MO,Hurley,36.925425,-93.476803
+65676,MO,Isabella,36.574924,-92.605277
+65679,MO,Kirbyville,36.642615,-93.168256
+65680,MO,Kissee Mills,36.670446,-93.037733
+65681,MO,Lampe,36.576725,-93.451602
+65682,MO,Lockwood,37.386605,-93.86715
+65685,MO,Louisburg,37.682843,-93.100699
+65686,MO,Kimberling City,36.63928,-93.43721
+65688,MO,Brandsville,36.584925,-91.735536
+65689,MO,Cabool,37.131366,-92.114409
+65690,MO,Couch,36.565268,-91.330991
+65692,MO,Koshkonong,36.605553,-91.630411
+65701,MO,Mc Clurg,36.751465,-92.818018
+65702,MO,Macomb,37.104947,-92.48207
+65704,MO,Mansfield,37.1273,-92.593553
+65705,MO,Marionville,37.000906,-93.641345
+65706,MO,Marshfield,37.331178,-92.925033
+65707,MO,Miller,37.222454,-93.842188
+65708,MO,Monett,36.921242,-93.925766
+65710,MO,Morrisville,37.468588,-93.427486
+65711,MO,Mountain Grove,37.162638,-92.283893
+65712,MO,Mount Vernon,37.104466,-93.797632
+65713,MO,Niangua,37.398537,-92.776337
+65714,MO,Nixa,37.051154,-93.297176
+65715,MO,Noble,36.744052,-92.57686
+65717,MO,Norwood,37.068696,-92.408209
+65720,MO,Oldfield,36.970416,-93.032526
+65721,MO,Ozark,37.016926,-93.202211
+65722,MO,Phillipsburg,37.583177,-92.741631
+65723,MO,Pierce City,36.972992,-94.00241
+65724,MO,Pittsburg,37.8442,-93.335615
+65725,MO,Pleasant Hope,37.4615,-93.261733
+65727,MO,Polk,37.752928,-93.294065
+65728,MO,Ponce De Leon,36.89054,-93.367055
+65729,MO,Pontiac,36.524804,-92.561221
+65730,MO,Powell,36.556252,-94.167541
+65731,MO,Powersite,36.630656,-93.090015
+65732,MO,Preston,37.939025,-93.171295
+65733,MO,Protem,36.546336,-92.829689
+65734,MO,Purdy,36.806917,-93.916376
+65735,MO,Quincy,38.002925,-93.471281
+65737,MO,Branson West,36.694658,-93.372182
+65738,MO,Republic,37.123017,-93.480041
+65739,MO,Ridgedale,36.524662,-93.277808
+65740,MO,Rockaway Beach,36.713686,-93.171535
+65742,MO,Rogersville,37.131047,-93.096449
+65744,MO,Rueter,36.631415,-92.918792
+65745,MO,Seligman,36.527593,-93.935851
+65746,MO,Seymour,37.166726,-92.785659
+65747,MO,Shell Knob,36.616672,-93.624855
+65751,MO,65751,36.735365,-92.503184
+65752,MO,South Greenfield,37.374256,-93.844482
+65753,MO,Sparta,36.977524,-93.106483
+65754,MO,Spokane,36.863639,-93.275447
+65755,MO,Squires,36.850406,-92.584443
+65756,MO,Stotts City,37.103148,-93.954329
+65757,MO,Strafford,37.279718,-93.10663
+65758,MO,Sycamore,36.67179,-92.354355
+65759,MO,Taneyville,36.740497,-93.027951
+65760,MO,Tecumseh,36.58751,-92.259782
+65761,MO,Dugginsville,36.569019,-92.701861
+65762,MO,Nottinghill,36.707546,-92.657789
+65764,MO,Tunas,37.839196,-92.980788
+65766,MO,Udall,36.525291,-92.23345
+65767,MO,Urbana,37.85233,-93.150972
+65768,MO,Vanzant,36.977829,-92.210068
+65769,MO,Verona,36.936964,-93.800505
+65770,MO,Walnut Grove,37.394253,-93.504356
+65771,MO,Walnut Shade,36.770395,-93.214824
+65772,MO,Washburn,36.580703,-93.991974
+65773,MO,Souder,36.782631,-92.58991
+65774,MO,Weaubleau,37.880393,-93.534355
+65775,MO,West Plains,36.728418,-91.871681
+65776,MO,South Fork,36.629312,-91.912484
+65777,MO,Moody,36.533018,-91.989756
+65778,MO,Myrtle,36.521697,-91.270584
+65779,MO,Wheatland,37.910283,-93.398129
+65781,MO,Willard,37.296153,-93.425861
+65783,MO,Windyville,37.718209,-92.937891
+65784,MO,Zanoni,36.692518,-92.304677
+65785,MO,Stockton,37.72408,-93.796013
+65786,MO,Macks Creek,37.961563,-92.960349
+65787,MO,Roach,38.008825,-92.807456
+65788,MO,Peace Valley,36.837974,-91.769598
+65789,MO,Pomona,36.84409,-91.913668
+65790,MO,Pottersville,36.706822,-92.044044
+65791,MO,Thayer,36.532714,-91.541803
+65793,MO,Willow Springs,36.995812,-91.940545
+65802,MO,Springfield,37.211663,-93.29903
+65803,MO,Springfield,37.259327,-93.291232
+65804,MO,Springfield,37.165361,-93.252154
+65806,MO,Springfield,37.203057,-93.297108
+65807,MO,Springfield,37.166799,-93.308457
+65809,MO,Springfield,37.185223,-93.205742
+65810,MO,Springfield,37.113647,-93.289594
+59001,MT,Absarokee,45.515356,-109.469171
+59002,MT,Acton,45.936997,-108.680975
+59003,MT,Ashland,45.58275,-106.279722
+59006,MT,Ballantine,45.954699,-108.123133
+59007,MT,Bearcreek,45.15226,-109.044704
+59008,MT,Belfry,45.049827,-109.078777
+59010,MT,Bighorn,46.238286,-107.205942
+59011,MT,Big Timber,45.82827,-109.963094
+59012,MT,Birney,45.286204,-106.509496
+59014,MT,Bridger,45.285682,-108.908217
+59015,MT,Broadview,46.082101,-108.809062
+59016,MT,Busby,45.554139,-106.872311
+59017,MT,Cat Creek,47.154789,-108.259094
+59019,MT,Columbus,45.626171,-109.257126
+59022,MT,Crow Agency,45.629594,-107.497251
+59024,MT,Custer,46.13019,-107.59585
+59025,MT,Decker,45.179698,-106.87206
+59027,MT,Emigrant,45.127557,-110.798928
+59028,MT,Fishtail,45.400217,-109.582078
+59029,MT,Fromberg,45.40269,-108.905658
+59030,MT,Gardiner,45.0493,-110.196258
+59031,MT,Garryowen,45.508557,-107.364925
+59032,MT,Grass Range,47.025894,-108.827059
+59033,MT,Greycliff,45.792631,-109.674601
+59034,MT,Hardin,45.749843,-107.607457
+59037,MT,Huntley,45.89049,-108.284981
+59038,MT,Hysham,46.276483,-107.307196
+59039,MT,Ingomar,46.654196,-107.551749
+59041,MT,Silesia,45.498763,-108.94804
+59043,MT,Lame Deer,45.603167,-106.565424
+59044,MT,Laurel,45.67451,-108.769008
+59046,MT,Lavina,46.329058,-108.995853
+59047,MT,Livingston,45.654587,-110.560907
+59050,MT,Lodge Grass,45.33218,-107.734105
+59051,MT,Luther,45.279485,-109.475326
+59052,MT,Mc Leod,45.596334,-109.935698
+59053,MT,Martinsdale,46.458149,-110.432397
+59055,MT,Melville,46.036446,-109.880885
+59057,MT,Molt,45.861503,-108.973073
+59058,MT,Mosby,46.900453,-107.789149
+59059,MT,Musselshell,46.517125,-108.003122
+59061,MT,Nye,45.441022,-109.827137
+59062,MT,Otter,45.445803,-106.008667
+59063,MT,Park City,45.632864,-108.929279
+59064,MT,Pompeys Pillar,45.983847,-107.915406
+59065,MT,Pray,45.419315,-110.686399
+59067,MT,Rapelje,45.97948,-109.276093
+59068,MT,Red Lodge,45.196522,-109.268812
+59069,MT,Reedpoint,45.648462,-109.468889
+59070,MT,Roberts,45.367235,-109.176888
+59071,MT,Roscoe,45.377232,-109.44644
+59072,MT,Roundup,46.422487,-108.543846
+59074,MT,Ryegate,46.272367,-109.276121
+59075,MT,Saint Xavier,45.488996,-107.709242
+59077,MT,Sand Springs,47.032287,-107.288623
+59078,MT,Shawmut,46.386921,-109.597361
+59079,MT,Shepherd,45.94608,-108.342634
+59080,MT,59080,45.577707,-108.835978
+59085,MT,Twodot,46.446513,-109.899483
+59086,MT,Wilsall,45.948351,-110.606147
+59087,MT,Winnett,46.943788,-108.318373
+59088,MT,Worden,45.977937,-108.153284
+59089,MT,Wyola,45.108904,-107.430258
+59101,MT,Billings,45.774489,-108.500452
+59102,MT,Billings,45.781265,-108.572662
+59105,MT,Billings Heights,45.828443,-108.474726
+59106,MT,Billings,45.775306,-108.65191
+59201,MT,Wolf Point,48.111879,-105.629318
+59211,MT,Antelope,48.696813,-104.452883
+59212,MT,Bainville,48.157989,-104.199532
+59213,MT,Brockton,48.210063,-104.85479
+59214,MT,Brockway,47.248497,-105.777649
+59215,MT,Circle,47.426389,-105.614771
+59218,MT,Culbertson,48.149536,-104.513212
+59219,MT,Dagmar,48.609337,-104.240123
+59221,MT,Fairview,47.891598,-104.230194
+59222,MT,Flaxville,48.747222,-105.163746
+59223,MT,Fort Peck,48.053844,-106.516646
+59225,MT,Lustre,48.161166,-105.991929
+59226,MT,Froid,48.320113,-104.451765
+59230,MT,Glasgow,48.203385,-106.609419
+59241,MT,Hinsdale,48.400705,-107.009836
+59242,MT,Homestead,48.429616,-104.591805
+59243,MT,Lambert,47.745908,-104.598746
+59244,MT,Larslan,48.58218,-106.283503
+59247,MT,Medicine Lake,48.485179,-104.437545
+59248,MT,Nashua,48.18653,-106.24407
+59250,MT,Opheim,48.87016,-106.365832
+59252,MT,Outlook,48.881673,-104.741526
+59253,MT,Peerless,48.780767,-105.800567
+59254,MT,Plentywood,48.778825,-104.560032
+59255,MT,Poplar,48.130713,-105.187021
+59256,MT,Raymond,48.968612,-104.629763
+59257,MT,Redstone,48.835511,-104.935259
+59258,MT,Reserve,48.590519,-104.627875
+59259,MT,Richey,47.622874,-105.017017
+59260,MT,Richland,48.727326,-106.223696
+59261,MT,Saco,48.638938,-107.429324
+59262,MT,Savage,47.519375,-104.284487
+59263,MT,Scobey,48.785356,-105.417016
+59270,MT,Sidney,47.713017,-104.163445
+59274,MT,Vida,47.894727,-105.599595
+59275,MT,Westby,48.858695,-104.124708
+59276,MT,Whitetail,48.924968,-105.297667
+59301,MT,Miles City,46.407459,-105.833193
+59311,MT,Alzada,45.156244,-104.261747
+59312,MT,Angela,46.771929,-106.315732
+59313,MT,Baker,46.355219,-104.266707
+59314,MT,Biddle,45.256977,-105.290138
+59315,MT,Bloomfield,47.340813,-104.878235
+59316,MT,Boyes,45.490003,-104.884118
+59317,MT,Belle Creek,45.46057,-105.424968
+59318,MT,Brusett,47.342341,-107.599864
+59319,MT,Capitol,45.473162,-104.146212
+59322,MT,Cohagen,47.126296,-106.498065
+59324,MT,Ekalaka,45.88054,-104.503958
+59326,MT,Fallon,46.786632,-105.116055
+59327,MT,Forsyth,46.2819,-106.699086
+59330,MT,Glendive,47.100813,-104.728716
+59332,MT,Hammond,45.291872,-104.615444
+59336,MT,Ismay,46.413223,-105.209064
+59337,MT,Jordan,47.369419,-106.922076
+59338,MT,Kinsey,46.577008,-105.74458
+59339,MT,Lindsay,47.202383,-105.208878
+59341,MT,Mildred,46.751671,-104.7891
+59343,MT,Olive,45.546641,-105.668741
+59344,MT,Plevna,46.411225,-104.571289
+59345,MT,Powderville,45.739183,-105.276098
+59347,MT,Rosebud,45.935826,-106.598123
+59349,MT,Terry,46.828972,-105.37059
+59351,MT,Volborg,46.073609,-105.721444
+59353,MT,Wibaux,46.964596,-104.189715
+59354,MT,Willard,46.114064,-104.446662
+59401,MT,Great Falls,47.509812,-111.273397
+59404,MT,Great Falls,47.509755,-111.340496
+59405,MT,Great Falls,47.495016,-111.250227
+59410,MT,Augusta,47.453739,-112.388304
+59411,MT,Babb,48.878781,-113.368132
+59412,MT,Belt,47.38211,-110.908099
+59414,MT,Black Eagle,47.526197,-111.276366
+59416,MT,Brady,48.031244,-111.755013
+59417,MT,Saint Mary,48.54926,-113.019697
+59418,MT,Buffalo,46.805593,-109.723122
+59419,MT,Bynum,47.990017,-112.276177
+59420,MT,Carter,47.780964,-110.978593
+59421,MT,Cascade,47.29117,-111.722321
+59422,MT,Choteau,47.837951,-112.202136
+59424,MT,Coffee Creek,47.339642,-110.052784
+59425,MT,Conrad,48.178346,-111.939665
+59427,MT,Cut Bank,48.660284,-112.365354
+59430,MT,Denton,47.319081,-109.878877
+59433,MT,Dutton,47.860082,-111.689967
+59434,MT,East Glacier Par,48.45998,-113.317304
+59436,MT,Fairfield,47.614255,-112.001502
+59440,MT,Floweree,47.658441,-111.121384
+59441,MT,Forestgrove,46.913727,-109.023294
+59442,MT,Fort Benton,47.809406,-110.671487
+59443,MT,Fort Shaw,47.563862,-111.805655
+59444,MT,Galata,48.458657,-111.419772
+59446,MT,Geraldine,47.602365,-110.276537
+59447,MT,Geyser,47.259816,-110.483877
+59448,MT,Heart Butte,48.277743,-112.845591
+59450,MT,Highwood,47.581587,-110.788656
+59451,MT,Hilger,47.269546,-109.456246
+59452,MT,Utica,46.947633,-109.951824
+59453,MT,Judith Gap,46.662301,-109.675475
+59454,MT,Kevin,48.750786,-111.970829
+59456,MT,Ledger,48.277569,-111.756384
+59457,MT,Lewistown,47.056324,-109.420297
+59460,MT,Loma,47.954576,-110.499487
+59462,MT,Moccasin,47.09164,-109.890066
+59463,MT,Monarch,47.07223,-110.871027
+59464,MT,Moore,46.989811,-109.653838
+59465,MT,Neihart,46.939086,-110.732827
+59467,MT,Pendroy,48.087892,-112.326082
+59468,MT,Power,47.679846,-111.716898
+59469,MT,Raynesford,47.260425,-110.704747
+59471,MT,Roy,47.367821,-108.863422
+59472,MT,Sand Coulee,47.402117,-111.16606
+59474,MT,Shelby,48.503666,-111.839122
+59479,MT,Stanford,47.14886,-110.196111
+59480,MT,Stockett,47.321712,-111.12868
+59482,MT,Sunburst,48.851585,-111.744195
+59483,MT,Sun River,47.480975,-111.724214
+59484,MT,Sweetgrass,48.971305,-112.020436
+59486,MT,Valier,48.279504,-112.303275
+59487,MT,Vaughn,47.562445,-111.576955
+59489,MT,Winifred,47.589903,-109.340931
+59501,MT,Havre,48.556121,-109.687974
+59520,MT,Big Sandy,48.149677,-110.07762
+59521,MT,Box Elder,48.284066,-109.820548
+59522,MT,Chester,48.454125,-110.97982
+59523,MT,Chinook,48.57985,-109.22246
+59524,MT,Dodson,48.207526,-108.629967
+59525,MT,Gildford,48.592716,-110.283633
+59526,MT,Harlem,48.539802,-108.769253
+59527,MT,Hays,48.380374,-108.768422
+59528,MT,Hingham,48.587029,-110.427548
+59529,MT,Hogeland,48.857071,-108.667704
+59530,MT,Inverness,48.593009,-110.68796
+59531,MT,Joplin,48.649795,-110.79145
+59532,MT,Kremlin,48.559955,-110.051315
+59535,MT,Lloyd,48.148632,-109.294264
+59537,MT,Loring,48.798333,-107.868603
+59538,MT,Malta,48.369167,-107.840784
+59540,MT,Rudyard,48.586001,-110.555235
+59542,MT,Turner,48.832766,-108.396079
+59544,MT,Whitewater,48.834909,-107.40543
+59545,MT,Whitlash,48.911037,-111.107512
+59546,MT,Zortman,47.874326,-108.349523
+59601,MT,Helena,46.613066,-112.021283
+59632,MT,Boulder,46.230647,-112.113757
+59633,MT,Canyon Creek,46.762662,-112.279496
+59634,MT,Montana City,46.474492,-111.992565
+59635,MT,East Helena,46.597324,-111.905089
+59639,MT,Lincoln,46.957458,-112.66514
+59641,MT,Radersburg,46.079317,-111.572186
+59642,MT,Ringling,46.285468,-110.824214
+59643,MT,Toston,46.20437,-111.425974
+59644,MT,Townsend,46.334571,-111.491906
+59645,MT,White Sulphur Sp,46.566323,-110.934413
+59647,MT,Winston,46.431485,-111.644671
+59648,MT,Wolf Creek,46.839567,-111.883316
+59701,MT,Walkerville,45.991579,-112.517807
+59711,MT,Anaconda,46.129863,-112.97388
+59714,MT,Belgrade,45.780126,-111.143927
+59715,MT,Bozeman,45.669269,-111.043057
+59720,MT,Cameron,45.139021,-111.650778
+59721,MT,Cardwell,45.894071,-111.780946
+59722,MT,Deer Lodge,46.38807,-112.747589
+59724,MT,Dell,44.95877,-112.950401
+59725,MT,Dillon,45.23394,-112.640452
+59727,MT,Divide,45.716055,-112.719551
+59729,MT,Ennis,45.354456,-111.687033
+59730,MT,Gallatin Gateway,45.609963,-111.173407
+59731,MT,Garrison,46.572363,-112.617322
+59733,MT,Gold Creek,46.590025,-112.97057
+59735,MT,Harrison,45.742333,-111.846135
+59736,MT,Jackson,45.430725,-113.465862
+59739,MT,Lima,44.644057,-112.562492
+59741,MT,Manhattan,45.79799,-111.314577
+59745,MT,Norris,45.532271,-111.694284
+59747,MT,Pony,45.574502,-111.961859
+59748,MT,Ramsay,46.119573,-112.619628
+59749,MT,Sheridan,45.422968,-112.173543
+59750,MT,Butte,46.003281,-112.71586
+59751,MT,Silver Star,45.757105,-112.177604
+59752,MT,Three Forks,45.881068,-111.543643
+59754,MT,Twin Bridges,45.531055,-112.349461
+59755,MT,Virginia City,45.247216,-112.002619
+59756,MT,Warmsprings,46.162593,-112.820041
+59758,MT,West Yellowstone,44.912502,-111.18595
+59759,MT,Whitehall,45.877146,-112.124535
+59761,MT,Wisdom,45.651915,-113.472926
+59762,MT,Wise River,45.742397,-112.996285
+59801,MT,Missoula,46.856274,-114.025207
+59802,MT,Missoula,46.900615,-114.002732
+59803,MT,Missoula,46.822362,-114.026528
+59820,MT,Alberton,46.98061,-114.492139
+59821,MT,Arlee,47.186035,-114.075978
+59823,MT,Bonner,46.860138,-113.746254
+59824,MT,Moiese,47.433449,-114.15931
+59825,MT,Clinton,46.767281,-113.703764
+59826,MT,Condon,47.509696,-113.707477
+59827,MT,Conner,45.912762,-114.179966
+59828,MT,Corvallis,46.314193,-114.095995
+59829,MT,Darby,46.028033,-114.193784
+59831,MT,Dixon,47.31313,-114.30557
+59832,MT,Drummond,46.664676,-113.242649
+59833,MT,Florence,46.63102,-114.094487
+59834,MT,Frenchtown,47.047112,-114.268308
+59836,MT,Greenough,46.943361,-113.427017
+59837,MT,Hall,46.582539,-113.208725
+59840,MT,Hamilton,46.23953,-114.167869
+59843,MT,Helmville,46.829968,-112.941296
+59844,MT,Heron,48.053668,-115.940668
+59845,MT,Hot Springs,47.591408,-114.659712
+59846,MT,Huson,47.065953,-114.421939
+59847,MT,Lolo,46.7585,-114.109732
+59848,MT,Lonepine,47.711209,-114.63718
+59852,MT,Niarada,47.8031,-114.656218
+59853,MT,Noxon,48.030166,-115.780658
+59854,MT,Ovando,47.006719,-113.090528
+59858,MT,Philipsburg,46.318899,-113.3126
+59859,MT,Plains,47.473448,-114.893014
+59860,MT,Polson,47.687574,-114.140444
+59864,MT,Ronan,47.552457,-114.105385
+59865,MT,Saint Ignatius,47.330014,-114.075822
+59866,MT,Saint Regis,47.336899,-115.170323
+59868,MT,Seeley Lake,47.178928,-113.481019
+59870,MT,Stevensville,46.526723,-114.047846
+59871,MT,Sula,45.827701,-114.042968
+59872,MT,Superior,47.172103,-114.888483
+59873,MT,Thompson Falls,47.601572,-115.360236
+59874,MT,Trout Creek,47.811138,-115.559185
+59875,MT,Victor,46.400489,-114.166534
+59901,MT,Evergreen,48.220939,-114.289163
+59910,MT,Big Arm,47.758514,-114.207049
+59911,MT,Swan Lake,48.039725,-114.01993
+59912,MT,Columbia Falls,48.353394,-114.178394
+59914,MT,Dayton,47.860749,-114.280918
+59915,MT,Elmo,47.818541,-114.343938
+59916,MT,Essex,48.494028,-113.946678
+59917,MT,Eureka,48.842766,-115.004938
+59920,MT,Kila,48.074437,-114.510402
+59922,MT,Lakeside,48.021469,-114.226562
+59923,MT,Libby,48.377311,-115.539101
+59925,MT,Marion,48.083596,-114.744625
+59928,MT,Polebridge,48.820585,-114.383558
+59929,MT,Proctor,47.940371,-114.383193
+59930,MT,Rexford,48.917947,-115.212859
+59931,MT,Rollins,47.918207,-114.224986
+59932,MT,Somers,48.079329,-114.23548
+59935,MT,Troy,48.479119,-115.881684
+59937,MT,Whitefish,48.403999,-114.350859
+68001,NE,Abie,41.347901,-96.956282
+68002,NE,Arlington,41.441654,-96.306974
+68003,NE,Ashland,41.05411,-96.39041
+68004,NE,Bancroft,42.026716,-96.617146
+68005,NE,Bellevue,41.149663,-95.909932
+68007,NE,Bennington,41.362262,-96.157525
+68008,NE,Blair,41.545376,-96.161666
+68014,NE,Bruno,41.271771,-96.964612
+68015,NE,Cedar Bluffs,41.383492,-96.569115
+68017,NE,Ceresco,41.06807,-96.639769
+68018,NE,Colon,41.288261,-96.614132
+68019,NE,Craig,41.771497,-96.392398
+68020,NE,Decatur,41.996553,-96.259456
+68022,NE,Elkhorn,41.275647,-96.24308
+68023,NE,Fort Calhoun,41.437281,-96.032375
+68025,NE,Fremont,41.441637,-96.494468
+68028,NE,Gretna,41.134458,-96.245837
+68029,NE,Herman,41.652381,-96.286942
+68031,NE,Hooper,41.641371,-96.523231
+68033,NE,Ithaca,41.174849,-96.529785
+68034,NE,Kennard,41.471139,-96.161927
+68035,NE,Leshara,41.346597,-96.449805
+68036,NE,Linwood,41.412926,-96.939873
+68037,NE,Louisville,40.996667,-96.194817
+68038,NE,Lyons,41.94416,-96.466136
+68039,NE,Macy,42.117739,-96.358865
+68040,NE,Malmo,41.298424,-96.732718
+68041,NE,Mead,41.23929,-96.496141
+68044,NE,Nickerson,41.523293,-96.490423
+68045,NE,Oakland,41.838426,-96.467064
+68046,NE,Papillion,41.152257,-96.037052
+68047,NE,Pender,42.117719,-96.718907
+68048,NE,Plattsmouth,40.999194,-95.913933
+68050,NE,Prague,41.303598,-96.830084
+68054,NE,Richfield,41.090522,-96.045627
+68055,NE,Rosalie,42.057435,-96.492866
+68057,NE,Scribner,41.663035,-96.644095
+68059,NE,Springfield,41.07649,-96.143811
+68061,NE,Tekamah,41.781898,-96.228144
+68062,NE,Thurston,42.188161,-96.690356
+68064,NE,Valley,41.318581,-96.346288
+68065,NE,Valparaiso,41.084304,-96.809149
+68066,NE,Wahoo,41.211723,-96.621946
+68067,NE,Walthill,42.148543,-96.480294
+68069,NE,Waterloo,41.27024,-96.306318
+68070,NE,Weston,41.181083,-96.769075
+68071,NE,Winnebago,42.233851,-96.468507
+68073,NE,Yutan,41.23403,-96.393247
+68102,NE,Omaha,41.258961,-95.940909
+68104,NE,Omaha,41.29186,-95.999888
+68105,NE,Omaha,41.243502,-95.962938
+68106,NE,Omaha,41.240322,-95.997972
+68107,NE,Omaha,41.206783,-95.955877
+68108,NE,Omaha,41.238198,-95.933557
+68110,NE,Omaha,41.293342,-95.936072
+68111,NE,Omaha,41.296212,-95.965045
+68112,NE,Omaha,41.329614,-95.959684
+68113,NE,Offutt A F B,41.114755,-95.907601
+68114,NE,Omaha,41.265624,-96.049306
+68116,NE,Omaha,41.287854,-96.149462
+68117,NE,Omaha,41.206403,-95.995301
+68118,NE,Omaha,41.260636,-96.166118
+68122,NE,Omaha,41.333312,-96.045772
+68123,NE,Omaha,41.122265,-95.95599
+68124,NE,Omaha,41.233814,-96.049515
+68127,NE,Ralston,41.201782,-96.055019
+68128,NE,Papillion,41.171983,-96.040256
+68130,NE,Omaha,41.235452,-96.168815
+68131,NE,Omaha,41.264658,-95.963891
+68132,NE,Omaha,41.265746,-95.995954
+68133,NE,Papillion,41.141564,-96.013076
+68134,NE,Omaha,41.294917,-96.054569
+68135,NE,Omaha,41.210419,-96.169827
+68136,NE,Omaha,41.168343,-96.209633
+68137,NE,Millard,41.201067,-96.124462
+68138,NE,Papillion,41.177724,-96.129718
+68142,NE,Omaha,41.335904,-96.090109
+68144,NE,Millard,41.235599,-96.116772
+68147,NE,Omaha,41.181508,-95.959156
+68152,NE,Omaha,41.334557,-96.000295
+68154,NE,Omaha,41.264167,-96.120611
+68157,NE,Papillion,41.183423,-95.995378
+68164,NE,Omaha,41.29552,-96.100793
+68301,NE,Adams,40.457571,-96.53956
+68303,NE,Alexandria,40.261446,-97.403855
+68304,NE,Alvo,40.899185,-96.403557
+68305,NE,Auburn,40.378889,-95.852646
+68307,NE,Avoca,40.815941,-96.095736
+68310,NE,Beatrice,40.270509,-96.743494
+68313,NE,Beaver Crossing,40.788658,-97.291356
+68314,NE,Bee,41.000675,-97.074469
+68315,NE,Belvidere,40.25101,-97.555416
+68316,NE,Benedict,41.003268,-97.602921
+68317,NE,Bennet,40.63822,-96.5134
+68318,NE,Blue Springs,40.140684,-96.659037
+68319,NE,Bradshaw,40.920718,-97.760699
+68320,NE,Brock,40.477227,-95.980145
+68321,NE,Brownville,40.399447,-95.69348
+68322,NE,Bruning,40.330157,-97.557276
+68323,NE,Burchard,40.105743,-96.348806
+68324,NE,Burr,40.560057,-96.238401
+68325,NE,Byron,40.02688,-97.761236
+68326,NE,Carleton,40.300534,-97.671909
+68327,NE,Chester,40.028954,-97.61969
+68328,NE,Clatonia,40.47236,-96.855513
+68329,NE,Cook,40.498628,-96.15262
+68330,NE,Cordova,40.718477,-97.340721
+68331,NE,Cortland,40.497599,-96.716627
+68332,NE,Crab Orchard,40.316648,-96.411569
+68333,NE,Crete,40.619302,-96.956676
+68335,NE,Davenport,40.310782,-97.80496
+68336,NE,Davey,41.002543,-96.641379
+68337,NE,Dawson,40.137697,-95.834097
+68338,NE,Daykin,40.31916,-97.304306
+68339,NE,Denton,40.700905,-96.853157
+68340,NE,Deshler,40.138668,-97.730007
+68341,NE,De Witt,40.39438,-96.933766
+68342,NE,Diller,40.119201,-96.949487
+68343,NE,Dorchester,40.649858,-97.105562
+68344,NE,Douglas,40.583824,-96.396958
+68345,NE,Du Bois,40.037486,-96.057477
+68346,NE,Dunbar,40.659156,-96.013575
+68347,NE,Eagle,40.816909,-96.428965
+68348,NE,Elk Creek,40.2977,-96.142128
+68349,NE,Elmwood,40.837811,-96.294395
+68350,NE,Endicott,40.073407,-97.093787
+68351,NE,Exeter,40.634062,-97.442388
+68352,NE,Fairbury,40.148817,-97.183918
+68354,NE,Fairmont,40.6404,-97.58729
+68355,NE,Falls City,40.074193,-95.593148
+68357,NE,Filley,40.294606,-96.530132
+68358,NE,Firth,40.558595,-96.614023
+68359,NE,Friend,40.636792,-97.273928
+68360,NE,Garland,40.941189,-96.97019
+68361,NE,Geneva,40.527731,-97.609625
+68362,NE,Gilead,40.146986,-97.42714
+68364,NE,Goehner,40.830208,-97.205456
+68365,NE,Grafton,40.640193,-97.740263
+68366,NE,Greenwood,40.97064,-96.42584
+68367,NE,Gresham,41.020952,-97.407937
+68368,NE,Hallam,40.554734,-96.754518
+68370,NE,Hebron,40.172807,-97.605228
+68371,NE,Henderson,40.781374,-97.797865
+68372,NE,Holland,40.624558,-96.624924
+68374,NE,Holmesville,40.220245,-96.632635
+68375,NE,Hubbell,40.045581,-97.473467
+68376,NE,Humboldt,40.156595,-95.931079
+68377,NE,Jansen,40.207425,-97.024426
+68378,NE,Johnson,40.401623,-95.988276
+68379,NE,Julian,40.486056,-95.85046
+68380,NE,Lewiston,40.230879,-96.404941
+68381,NE,Liberty,40.075286,-96.523668
+68401,NE,Mc Cool Junction,40.744181,-97.593666
+68402,NE,Malcolm,40.90913,-96.859966
+68404,NE,Martell,40.651434,-96.744227
+68405,NE,Milford,40.763153,-97.05763
+68406,NE,Milligan,40.495163,-97.399684
+68407,NE,Murdock,40.919034,-96.284827
+68409,NE,Murray,40.91999,-95.922668
+68410,NE,Nebraska City,40.674746,-95.8619
+68413,NE,Nehawka,40.832978,-95.993045
+68414,NE,Nemaha,40.319818,-95.69133
+68415,NE,Odell,40.045128,-96.801924
+68416,NE,Ohiowa,40.406507,-97.442712
+68417,NE,Otoe,40.735485,-96.132867
+68418,NE,Palmyra,40.704964,-96.399903
+68420,NE,Pawnee City,40.109291,-96.150926
+68421,NE,Peru,40.476643,-95.731166
+68422,NE,Pickrell,40.382117,-96.734444
+68423,NE,Pleasant Dale,40.813329,-96.95128
+68424,NE,Plymouth,40.303896,-97.001169
+68428,NE,Agnew,40.985331,-96.782942
+68429,NE,Reynolds,40.059372,-97.318243
+68430,NE,Roca,40.670195,-96.639085
+68431,NE,Rulo,40.053619,-95.429218
+68432,NE,Saint Mary,40.444756,-96.289972
+68433,NE,Salem,40.061953,-95.727261
+68434,NE,Seward,40.906609,-97.096618
+68436,NE,Shickley,40.407677,-97.714298
+68437,NE,Shubert,40.232479,-95.689454
+68439,NE,Staplehurst,40.984455,-97.185859
+68440,NE,Steele City,40.042492,-96.990712
+68441,NE,Steinauer,40.216885,-96.230215
+68442,NE,Stella,40.230345,-95.767989
+68443,NE,Sterling,40.463743,-96.386655
+68444,NE,Strang,40.398105,-97.552132
+68445,NE,Swanton,40.384389,-97.08055
+68446,NE,Syracuse,40.661386,-96.182407
+68447,NE,Table Rock,40.187437,-96.081822
+68448,NE,Talmage,40.558646,-96.013814
+68450,NE,Tecumseh,40.369702,-96.204951
+68452,NE,Ong,40.396806,-97.861018
+68453,NE,Tobias,40.426171,-97.318444
+68454,NE,Unadilla,40.691675,-96.282454
+68455,NE,Union,40.824452,-95.903739
+68456,NE,Utica,40.91685,-97.334431
+68457,NE,Verdon,40.142507,-95.716157
+68458,NE,Virginia,40.230877,-96.512145
+68460,NE,Waco,40.919826,-97.453352
+68461,NE,Walton,40.797467,-96.535943
+68462,NE,Waverly,40.92224,-96.525988
+68463,NE,Weeping Water,40.873096,-96.152825
+68464,NE,Western,40.415157,-97.197649
+68465,NE,Wilber,40.482141,-96.975713
+68466,NE,Wymore,40.112955,-96.661326
+68467,NE,York,40.866678,-97.582482
+68502,NE,Lincoln,40.789282,-96.693763
+68503,NE,Lincoln,40.823339,-96.676623
+68504,NE,Lincoln,40.839226,-96.653248
+68505,NE,Lincoln,40.824674,-96.625193
+68506,NE,Lincoln,40.784796,-96.643052
+68507,NE,Lincoln,40.847265,-96.628874
+68508,NE,Lincoln,40.814503,-96.700907
+68510,NE,Lincoln,40.806345,-96.654458
+68512,NE,Lincoln,40.756487,-96.694606
+68514,NE,Lincoln,40.925792,-96.661082
+68516,NE,Lincoln,40.756807,-96.652304
+68517,NE,Lincoln,40.931743,-96.604509
+68520,NE,Lincoln,40.774441,-96.569341
+68521,NE,Lincoln,40.851044,-96.711006
+68522,NE,Lincoln,40.793407,-96.747871
+68523,NE,Lincoln,40.740766,-96.758339
+68524,NE,Lincoln,40.852913,-96.794345
+68526,NE,Lincoln,40.731386,-96.587817
+68527,NE,Lincoln,40.834708,-96.540053
+68528,NE,Lincoln,40.819541,-96.754496
+68531,NE,Lincoln,40.899397,-96.715572
+68532,NE,Lincoln,40.792159,-96.85509
+68601,NE,Richland,41.437225,-97.356469
+68620,NE,Albion,41.704947,-97.999116
+68621,NE,Ames,41.461253,-96.646344
+68622,NE,Bartlett,41.8697,-98.556668
+68623,NE,Belgrade,41.461077,-98.086638
+68624,NE,Bellwood,41.347389,-97.274657
+68626,NE,Brainard,41.183151,-96.988226
+68627,NE,Cedar Rapids,41.556407,-98.15538
+68628,NE,Clarks,41.232797,-97.846143
+68629,NE,Clarkson,41.696064,-97.105059
+68631,NE,Creston,41.660695,-97.368692
+68632,NE,Garrison,41.237315,-97.126229
+68633,NE,Dodge,41.681609,-96.818077
+68635,NE,Dwight,41.089388,-96.993143
+68636,NE,Elgin,41.973239,-98.075082
+68637,NE,Ericson,41.782804,-98.645323
+68638,NE,Fullerton,41.366042,-98.005362
+68640,NE,Genoa,41.446776,-97.764011
+68641,NE,Howells,41.696441,-96.985811
+68642,NE,Humphrey,41.670184,-97.498649
+68643,NE,Leigh,41.673877,-97.232001
+68644,NE,Lindsay,41.692634,-97.671134
+68647,NE,Monroe,41.478255,-97.606075
+68648,NE,Morse Bluff,41.417831,-96.786171
+68649,NE,North Bend,41.468924,-96.781328
+68650,NE,Octavia,41.355323,-97.07021
+68651,NE,Osceola,41.196565,-97.557079
+68652,NE,Petersburg,41.858954,-98.084791
+68653,NE,Platte Center,41.524114,-97.457616
+68654,NE,Polk,41.117671,-97.752372
+68655,NE,Primrose,41.64054,-98.235455
+68658,NE,Rising City,41.208219,-97.303174
+68659,NE,Rogers,41.469536,-96.949735
+68660,NE,Saint Edward,41.57076,-97.880116
+68661,NE,Schuyler,41.459128,-97.062832
+68662,NE,Shelby,41.243544,-97.429536
+68663,NE,Silver Creek,41.318999,-97.667106
+68665,NE,Spalding,41.687409,-98.371468
+68666,NE,Stromsburg,41.111834,-97.574183
+68667,NE,Ulysses,41.089922,-97.309013
+68669,NE,Ulysses,41.079059,-97.198388
+68701,NE,Norfolk,42.032914,-97.422898
+68710,NE,Allen,42.443667,-96.8574
+68711,NE,Amelia,42.18088,-99.008036
+68713,NE,Atkinson,42.548279,-98.976087
+68714,NE,Bassett,42.576293,-99.538732
+68715,NE,Battle Creek,41.994283,-97.598153
+68716,NE,Beemer,41.937422,-96.815008
+68717,NE,Belden,42.402185,-97.195628
+68718,NE,Bloomfield,42.597824,-97.654494
+68719,NE,Bristow,42.880575,-98.60267
+68720,NE,Brunswick,42.351023,-97.944008
+68722,NE,Butte,42.912377,-98.845903
+68723,NE,Carroll,42.277009,-97.192612
+68724,NE,Center,42.602451,-97.883567
+68725,NE,Chambers,42.191606,-98.737846
+68726,NE,Clearwater,42.126562,-98.186761
+68727,NE,Coleridge,42.522992,-97.178564
+68728,NE,Concord,42.381982,-96.981035
+68729,NE,Creighton,42.468053,-97.89323
+68730,NE,Crofton,42.737028,-97.540589
+68731,NE,Dakota City,42.38074,-96.453608
+68732,NE,Dixon,42.41853,-96.977381
+68733,NE,Emerson,42.285247,-96.71587
+68734,NE,Emmet,42.474708,-98.823777
+68735,NE,Ewing,42.185107,-98.398137
+68736,NE,Fordyce,42.730889,-97.356665
+68737,NE,Foster,42.269932,-97.658038
+68739,NE,Hartington,42.623494,-97.283678
+68740,NE,Hoskins,42.140839,-97.308435
+68741,NE,Hubbard,42.413139,-96.622425
+68742,NE,Inman,42.376149,-98.538366
+68743,NE,Jackson,42.452877,-96.574335
+68745,NE,Laurel,42.427036,-97.087381
+68746,NE,Lynch,42.837275,-98.450433
+68747,NE,Mclean,42.392082,-97.475113
+68748,NE,Madison,41.830786,-97.47195
+68749,NE,Magnet,42.475294,-97.440722
+68751,NE,Maskell,42.670245,-96.966978
+68752,NE,Meadow Grove,42.010184,-97.733426
+68753,NE,Mills,42.922527,-99.446647
+68755,NE,Naper,42.952091,-99.071027
+68756,NE,Neligh,42.138926,-98.01507
+68757,NE,Newcastle,42.620672,-96.87085
+68758,NE,Newman Grove,41.74977,-97.773966
+68759,NE,Newport,42.600089,-99.335887
+68760,NE,Verdel,42.776942,-97.912734
+68761,NE,Oakdale,42.053585,-97.918644
+68762,NE,Obert,42.65767,-97.070709
+68763,NE,Oneill,42.485733,-98.645565
+68764,NE,Orchard,42.33987,-98.240853
+68765,NE,Osmond,42.353936,-97.581998
+68766,NE,Page,42.411882,-98.39639
+68767,NE,Pierce,42.194323,-97.525604
+68768,NE,Pilger,42.040413,-97.268472
+68769,NE,Plainview,42.346701,-97.778615
+68770,NE,Ponca,42.56931,-96.712793
+68771,NE,Randolph,42.379778,-97.346443
+68772,NE,Rose,42.256782,-99.444755
+68773,NE,Royal,42.294614,-98.124626
+68774,NE,Saint Helena,42.818145,-97.358616
+68776,NE,South Sioux City,42.465615,-96.418161
+68777,NE,Spencer,42.884936,-98.705853
+68778,NE,Springview,42.848785,-99.806148
+68779,NE,Stanton,41.907559,-97.213955
+68780,NE,Stuart,42.571307,-99.139563
+68781,NE,Tilden,42.049629,-97.822297
+68782,NE,68782,42.78358,-98.17297
+68783,NE,Verdigre,42.610111,-98.079278
+68784,NE,Wakefield,42.273271,-96.877645
+68785,NE,Waterbury,42.460431,-96.74478
+68786,NE,Wausa,42.497265,-97.557616
+68787,NE,Wayne,42.230439,-97.018579
+68788,NE,West Point,41.84503,-96.731763
+68789,NE,Winnetoon,42.494565,-98.025408
+68790,NE,Winside,42.167817,-97.182505
+68791,NE,Wisner,41.997994,-96.916975
+68792,NE,Wynot,42.739304,-97.167809
+68801,NE,Grand Island,40.921858,-98.341062
+68803,NE,Grand Island,40.928608,-98.387271
+68810,NE,Alda,40.856923,-98.455135
+68812,NE,Amherst,40.849494,-99.260949
+68813,NE,Milburn,41.636214,-99.799149
+68814,NE,Ansley,41.30193,-99.36452
+68815,NE,Arcadia,41.429305,-99.120468
+68816,NE,Archer,41.178156,-98.118151
+68817,NE,Ashton,41.267184,-98.803352
+68818,NE,Aurora,40.852838,-98.020107
+68819,NE,Berwyn,41.347015,-99.501573
+68820,NE,Boelus,41.100278,-98.697551
+68821,NE,Brewster,41.946705,-99.829196
+68822,NE,Broken Bow,41.412586,-99.635452
+68823,NE,Burwell,41.807982,-99.099527
+68824,NE,Cairo,41.000183,-98.616538
+68825,NE,Callaway,41.248499,-99.993185
+68826,NE,Central City,41.121259,-98.001693
+68827,NE,Chapman,40.985592,-98.221723
+68828,NE,Comstock,41.555254,-99.275281
+68829,NE,Cotesfield,41.34301,-98.655344
+68831,NE,Dannebrog,41.119156,-98.554564
+68832,NE,Doniphan,40.770031,-98.37901
+68833,NE,Dunning,41.813107,-100.087271
+68834,NE,Eddyville,41.0079,-99.681009
+68835,NE,Elba,41.28644,-98.575622
+68836,NE,Elm Creek,40.730079,-99.372786
+68837,NE,Elyria,41.695655,-99.046656
+68838,NE,Farwell,41.220378,-98.648144
+68840,NE,Gibbon,40.744445,-98.85435
+68841,NE,Giltner,40.765402,-98.14344
+68842,NE,Greeley,41.552578,-98.529951
+68843,NE,Hampton,40.923609,-97.884146
+68844,NE,Hazard,41.093368,-99.071859
+68846,NE,Hordville,41.081253,-97.888145
+68847,NE,Kearney,40.713608,-99.077883
+68850,NE,Lexington,40.785002,-99.751515
+68852,NE,Litchfield,41.168639,-99.141452
+68853,NE,Loup City,41.284531,-98.975149
+68854,NE,Marquette,41.010017,-97.999955
+68855,NE,Mason City,41.185319,-99.304937
+68856,NE,Merna,41.443482,-99.803595
+68858,NE,Miller,40.942236,-99.373987
+68859,NE,North Loup,41.49717,-98.785836
+68860,NE,Oconto,41.138075,-99.695112
+68861,NE,Odessa,40.709726,-99.254082
+68862,NE,Ord,41.596187,-98.941783
+68863,NE,Overton,40.751875,-99.527824
+68864,NE,Palmer,41.178757,-98.241146
+68865,NE,Phillips,40.898197,-98.21286
+68866,NE,Pleasanton,40.981848,-99.128278
+68868,NE,Prosser,40.659175,-98.559471
+68869,NE,Ravenna,41.023271,-98.904129
+68870,NE,Riverdale,40.762684,-99.138147
+68871,NE,Rockville,41.110832,-98.857757
+68872,NE,Saint Libory,41.08669,-98.35888
+68873,NE,Saint Paul,41.224212,-98.443987
+68874,NE,Sargent,41.650845,-99.381624
+68875,NE,Scotia,41.483724,-98.689256
+68876,NE,Shelton,40.771703,-98.743453
+68878,NE,Sumner,40.950384,-99.519951
+68879,NE,Almeria,41.822859,-99.415404
+68881,NE,Westerville,41.419282,-99.384369
+68882,NE,Wolbach,41.424373,-98.399456
+68883,NE,Wood River,40.810635,-98.606509
+68901,NE,Hastings,40.587654,-98.391146
+68920,NE,Alma,40.118853,-99.360073
+68922,NE,Arapahoe,40.302662,-99.899697
+68923,NE,Atlanta,40.384901,-99.484354
+68924,NE,Axtell,40.526907,-99.116903
+68925,NE,Ayr,40.441054,-98.438982
+68926,NE,Beaver City,40.129036,-99.806532
+68927,NE,Bertrand,40.560843,-99.575891
+68928,NE,Bladen,40.298996,-98.604625
+68929,NE,Bloomington,40.138257,-99.009438
+68930,NE,Blue Hill,40.31102,-98.426955
+68932,NE,Campbell,40.296684,-98.737012
+68933,NE,Clay Center,40.511301,-98.038649
+68934,NE,Deweese,40.379234,-98.177199
+68935,NE,Edgar,40.365166,-97.972679
+68936,NE,Edison,40.280176,-99.785988
+68937,NE,Elwood,40.574738,-99.825812
+68938,NE,Fairfield,40.428511,-98.106272
+68939,NE,Franklin,40.105172,-98.946862
+68940,NE,Funk,40.502031,-99.244992
+68941,NE,Glenvil,40.493145,-98.246475
+68942,NE,Guide Rock,40.081186,-98.339064
+68943,NE,Hardy,40.028452,-97.927057
+68944,NE,Harvard,40.626463,-98.084574
+68945,NE,Heartwell,40.571601,-98.78514
+68946,NE,Hendley,40.106312,-99.971537
+68947,NE,Hildreth,40.321743,-99.057128
+68948,NE,Holbrook,40.301893,-100.013593
+68949,NE,Holdrege,40.447527,-99.367233
+68950,NE,Holstein,40.454169,-98.653777
+68951,NE,Huntley,40.210254,-99.284786
+68952,NE,Inavale,40.095886,-98.661191
+68954,NE,Inland,40.589934,-98.223379
+68955,NE,Juniata,40.586652,-98.515017
+68956,NE,Kenesaw,40.61645,-98.657241
+68957,NE,Lawrence,40.27672,-98.240243
+68958,NE,Loomis,40.479155,-99.497851
+68959,NE,Minden,40.509142,-98.938297
+68960,NE,Naponee,40.125807,-99.127725
+68961,NE,Nora,40.209739,-98.058417
+68964,NE,Oak,40.260489,-97.884114
+68966,NE,Orleans,40.148435,-99.457186
+68967,NE,Oxford,40.256049,-99.630197
+68969,NE,Ragan,40.309594,-99.24891
+68970,NE,Red Cloud,40.09516,-98.518655
+68971,NE,Republican City,40.103401,-99.232189
+68972,NE,Riverton,40.101626,-98.785819
+68973,NE,Roseland,40.459058,-98.555059
+68974,NE,Ruskin,40.138318,-97.87203
+68975,NE,Saronville,40.600625,-97.87385
+68976,NE,Smithfield,40.583567,-99.823862
+68977,NE,Stamford,40.11625,-99.581405
+68978,NE,Superior,40.031537,-98.077872
+68979,NE,Sutton,40.653955,-97.873476
+68980,NE,Trumbull,40.66918,-98.257414
+68981,NE,Upland,40.317073,-98.896577
+68982,NE,Wilcox,40.373523,-99.153927
+69001,NE,Mc Cook,40.204905,-100.627948
+69020,NE,Bartley,40.258113,-100.29075
+69021,NE,Benkelman,40.098049,-101.534354
+69022,NE,Cambridge,40.280767,-100.167579
+69023,NE,Champion,40.460039,-101.74849
+69024,NE,Culbertson,40.223707,-100.850043
+69025,NE,Curtis,40.613067,-100.510406
+69026,NE,Danbury,40.037689,-100.424228
+69027,NE,Enders,40.465492,-101.522156
+69028,NE,Eustis,40.626745,-100.054694
+69029,NE,Farnam,40.712881,-100.206878
+69030,NE,Haigler,40.064179,-101.937106
+69031,NE,Hamlet,40.399363,-101.234106
+69032,NE,Hayes Center,40.517316,-101.025208
+69033,NE,Imperial,40.525124,-101.646775
+69034,NE,Indianola,40.235718,-100.429758
+69035,NE,Lamar,40.538653,-101.903297
+69036,NE,Lebanon,40.07522,-100.26122
+69037,NE,Max,40.106884,-101.391607
+69038,NE,Maywood,40.589262,-100.642135
+69039,NE,Moorefield,40.57856,-100.310773
+69040,NE,Palisade,40.338668,-101.129464
+69041,NE,Parks,40.139837,-101.739879
+69042,NE,Stockville,40.494834,-100.384886
+69043,NE,Stratton,40.144462,-101.218275
+69044,NE,Trenton,40.168096,-101.020073
+69045,NE,Wauneta,40.440906,-101.381195
+69046,NE,Wilsonville,40.108895,-100.1211
+69101,NE,North Platte,41.132595,-100.774631
+69120,NE,Arnold,41.445583,-100.156731
+69121,NE,Arthur,41.573952,-101.693123
+69122,NE,Big Springs,41.069621,-102.093273
+69123,NE,Brady,41.051525,-100.373649
+69125,NE,Broadwater,41.582547,-102.822521
+69127,NE,Brule,41.100186,-101.909933
+69128,NE,Bushnell,41.213876,-103.907494
+69129,NE,Chappell,41.096586,-102.452344
+69130,NE,Cozad,40.861934,-99.992091
+69131,NE,Dalton,41.406778,-102.972609
+69132,NE,Dickens,40.804089,-101.01495
+69133,NE,Dix,41.226993,-103.479603
+69134,NE,Elsie,40.859647,-101.369994
+69135,NE,Elsmere,42.264974,-100.282412
+69138,NE,Gothenburg,40.940035,-100.154707
+69140,NE,Grant,40.851069,-101.719589
+69141,NE,Gurley,41.28771,-102.982325
+69142,NE,Halsey,41.929095,-100.295515
+69143,NE,Hershey,41.155303,-101.001157
+69144,NE,Keystone,41.262129,-101.628218
+69145,NE,Kimball,41.23208,-103.660236
+69146,NE,Lemoyne,41.304017,-101.894677
+69147,NE,Lewellen,41.343461,-102.139622
+69148,NE,Lisco,41.511398,-102.54983
+69149,NE,Lodgepole,41.169745,-102.657034
+69150,NE,Madrid,40.85443,-101.537067
+69151,NE,Maxwell,41.058831,-100.526993
+69152,NE,Mullen,42.016292,-101.054185
+69153,NE,Ogallala,41.127505,-101.710742
+69154,NE,Oshkosh,41.445057,-102.345699
+69155,NE,Paxton,41.126763,-101.358544
+69156,NE,Potter,41.234688,-103.306112
+69157,NE,Purdum,41.966475,-100.15685
+69161,NE,Seneca,41.99012,-100.807315
+69162,NE,Sidney,41.138001,-102.985573
+69163,NE,Stapleton,41.48877,-100.483105
+69165,NE,Sutherland,41.15575,-101.136029
+69166,NE,Brownlee,41.973575,-100.573834
+69167,NE,Tryon,41.573175,-101.017508
+69168,NE,Venango,40.807324,-101.983894
+69169,NE,Wallace,40.830423,-101.173767
+69170,NE,Wellfleet,40.798776,-100.711915
+69201,NE,Valentine,42.806166,-100.621542
+69210,NE,Ainsworth,42.54027,-99.861491
+69211,NE,Cody,42.614556,-101.379846
+69212,NE,Crookston,42.925506,-100.773473
+69214,NE,Johnstown,42.530857,-100.045322
+69216,NE,Kilgore,42.914587,-100.988447
+69217,NE,Long Pine,42.533379,-99.723042
+69218,NE,Merriman,42.641883,-101.758304
+69221,NE,Wood Lake,42.626394,-100.287175
+69301,NE,Alliance,42.114943,-102.888045
+69331,NE,Angora,41.893434,-103.085019
+69333,NE,Ashby,41.977578,-101.963581
+69334,NE,Bayard,41.757923,-103.301887
+69335,NE,Bingham,42.260651,-102.133075
+69336,NE,Bridgeport,41.676556,-103.070134
+69337,NE,Chadron,42.819268,-102.995331
+69339,NE,Crawford,42.67584,-103.405336
+69340,NE,Ellsworth,42.169717,-102.47245
+69341,NE,Gering,41.821993,-103.662896
+69343,NE,Gordon,42.806843,-102.204929
+69345,NE,Harrisburg,41.55306,-103.711141
+69346,NE,Harrison,42.394594,-103.831803
+69347,NE,Hay Springs,42.640122,-102.675641
+69348,NE,Hemingford,42.33117,-103.064412
+69349,NE,Henry,41.993392,-104.034933
+69350,NE,Hyannis,42.006967,-101.748296
+69351,NE,Lakeside,42.049595,-102.443655
+69352,NE,Lyman,41.891765,-104.006569
+69354,NE,Marsland,42.598842,-103.051857
+69356,NE,Minatare,41.849333,-103.489011
+69357,NE,Mitchell,41.945851,-103.795996
+69358,NE,Morrill,41.96807,-103.918216
+69360,NE,Rushville,42.737934,-102.465738
+69361,NE,Scottsbluff,41.871975,-103.661914
+69366,NE,Whitman,41.958355,-101.521623
+69367,NE,Whitney,42.755881,-103.239552
+89001,NV,Alamo,37.325866,-115.308032
+89005,NV,Boulder City,35.972711,-114.834413
+89008,NV,Caliente,37.612817,-114.509727
+89013,NV,Goldfield,37.834364,-117.269379
+89014,NV,Henderson,36.056435,-115.077968
+89015,NV,Henderson,36.035705,-114.971809
+89017,NV,Hiko,37.651695,-115.177158
+89018,NV,Indian Springs,36.407223,-115.581067
+89019,NV,Goodsprings,35.854839,-115.469154
+89020,NV,Amargosa Valley,36.944007,-116.57755
+89029,NV,Laughlin,35.132138,-114.636769
+89030,NV,North Las Vegas,36.4475,-114.851389
+89031,NV,North Las Vegas,36.206228,-115.124832
+89040,NV,Overton,36.637236,-114.378202
+89041,NV,Pahrump,36.204039,-116.014661
+89043,NV,Pioche,37.898097,-114.396824
+89045,NV,Round Mountain,38.682886,-117.127989
+89046,NV,Cottonwood Cove,35.447601,-114.924182
+89047,NV,Silverpeak,37.76444,-117.94592
+89049,NV,Tonopah,38.204273,-117.089886
+89101,NV,Las Vegas,36.172082,-115.122366
+89102,NV,Las Vegas,36.143303,-115.200351
+89103,NV,Las Vegas,36.114865,-115.216072
+89104,NV,Las Vegas,36.15197,-115.109195
+89106,NV,Las Vegas,36.184673,-115.161703
+89107,NV,Las Vegas,36.170457,-115.217638
+89108,NV,Las Vegas,36.204399,-115.223259
+89109,NV,Las Vegas,36.125991,-115.145378
+89110,NV,Las Vegas,36.173031,-115.066892
+89113,NV,Las Vegas,36.085366,-115.256614
+89115,NV,Las Vegas,36.215818,-115.067062
+89117,NV,Las Vegas,36.130196,-115.275518
+89118,NV,Las Vegas,36.081052,-115.216856
+89119,NV,Las Vegas,36.100836,-115.136463
+89120,NV,Las Vegas,36.091423,-115.088485
+89121,NV,Las Vegas,36.12318,-115.090219
+89122,NV,Las Vegas,36.120501,-115.052322
+89123,NV,Las Vegas,36.038273,-115.146182
+89124,NV,Las Vegas,35.963391,-115.095067
+89128,NV,Las Vegas,36.175992,-115.256252
+89129,NV,Las Vegas,36.245004,-115.274254
+89130,NV,Las Vegas,36.247137,-115.221032
+89131,NV,Las Vegas,36.295604,-115.241942
+89134,NV,Las Vegas,36.209234,-115.294123
+89301,NV,Ely,39.309356,-114.878011
+89310,NV,Austin,39.507986,-117.081063
+89311,NV,Baker,39.065996,-114.246165
+89316,NV,Eureka,39.589661,-115.994308
+89317,NV,Lund,38.904633,-115.044026
+89403,NV,Dayton,39.280594,-119.52872
+89404,NV,Denio,41.704263,-118.731962
+89405,NV,Empire,40.357703,-119.655265
+89406,NV,Fallon,39.470254,-118.786112
+89408,NV,Fernley,39.601888,-119.235044
+89409,NV,Gabbs,38.880226,-117.868556
+89410,NV,Gardnerville,38.898268,-119.726902
+89412,NV,Gerlach,40.674645,-119.377441
+89413,NV,Glenbrook,38.993752,-119.927776
+89414,NV,Golconda,40.968325,-117.334929
+89415,NV,Hawthorne,38.534658,-118.641143
+89418,NV,Unionville,40.652217,-118.02115
+89419,NV,Lovelock,40.1819,-118.468915
+89420,NV,Luning,38.406072,-118.157114
+89423,NV,Minden,39.021766,-119.731363
+89424,NV,Nixon,39.885388,-119.464262
+89425,NV,Orovada,41.822001,-117.775458
+89426,NV,Paradise Valley,41.505726,-117.572848
+89427,NV,Schurz,38.957527,-118.775578
+89429,NV,Silver Springs,39.380045,-119.270503
+89430,NV,Smith,38.917166,-119.389005
+89431,NV,Sparks,39.547254,-119.755588
+89433,NV,Sun Valley,39.595477,-119.775363
+89434,NV,Sparks,39.550229,-119.717754
+89436,NV,Sparks,39.626861,-119.708125
+89440,NV,Virginia City,39.387282,-119.596063
+89442,NV,Wadsworth,39.648069,-119.291778
+89444,NV,Wellington,38.78762,-119.344901
+89445,NV,Winnemucca,40.966418,-117.746693
+89447,NV,Yerington,38.986567,-119.159558
+89451,NV,Incline Village,39.256352,-119.95206
+89501,NV,Reno,39.526812,-119.811275
+89502,NV,Reno,39.497239,-119.776395
+89503,NV,Reno,39.5354,-119.837409
+89506,NV,Reno,39.641168,-119.873505
+89509,NV,Reno,39.498042,-119.823932
+89510,NV,Reno,39.769919,-119.602678
+89511,NV,Reno,39.41512,-119.766846
+89512,NV,Reno,39.548312,-119.795699
+89523,NV,Reno,39.524917,-119.903065
+89701,NV,Carson City,39.150746,-119.745904
+89703,NV,Carson City,39.17036,-119.778242
+89704,NV,Carson City,39.089756,-119.828624
+89705,NV,Carson City,39.089147,-119.782899
+89706,NV,Moundhouse,39.210876,-119.742912
+89801,NV,Jiggs,40.826247,-115.724679
+89820,NV,Battle Mountain,40.621985,-116.955439
+89821,NV,Beowawe,40.462398,-116.477387
+89822,NV,Carlin,40.717216,-116.108208
+89823,NV,Deeth,41.431033,-115.371729
+89825,NV,Jackpot,41.839591,-115.112886
+89831,NV,Mountain City,41.870781,-116.113801
+89833,NV,Ruby Valley,40.399514,-115.231219
+89834,NV,Tuscarora,41.171527,-116.931141
+89835,NV,Oasis,41.129798,-114.532752
+3031,NH,Amherst,42.856944,-71.607536
+3032,NH,Auburn,42.992529,-71.344892
+3033,NH,Brookline,42.738442,-71.666254
+3034,NH,Candia,43.058514,-71.304857
+3036,NH,Chester,42.967756,-71.244962
+3037,NH,Deerfield,43.137756,-71.251264
+3038,NH,Derry,42.887404,-71.301971
+3042,NH,Epping,43.041052,-71.076367
+3043,NH,Francestown,42.991952,-71.81131
+3044,NH,Fremont,42.984016,-71.121836
+3045,NH,Dunbarton,43.018224,-71.56264
+3047,NH,Greenfield,42.949277,-71.872755
+3048,NH,Mason,42.7489,-71.784487
+3049,NH,Hollis,42.748513,-71.577206
+3051,NH,Hudson,42.769038,-71.412144
+3053,NH,Londonderry,42.865555,-71.37719
+3054,NH,Merrimack,42.866689,-71.51278
+3055,NH,Milford,42.828497,-71.660569
+3057,NH,Mont Vernon,42.897597,-71.676243
+3060,NH,Nashua,42.756395,-71.466684
+3062,NH,Nashua,42.723472,-71.489282
+3063,NH,Nashua,42.771686,-71.513156
+3070,NH,New Boston,42.97217,-71.686402
+3071,NH,New Ipswich,42.751142,-71.870318
+3076,NH,Pelham,42.72881,-71.304551
+3077,NH,Raymond,43.032512,-71.191159
+3079,NH,Salem,42.78465,-71.21761
+3082,NH,Lyndeborough,42.895449,-71.774373
+3084,NH,Temple,42.820035,-71.852347
+3086,NH,Wilton,42.836761,-71.754066
+3087,NH,Windham,42.805106,-71.306735
+3101,NH,Manchester,42.992858,-71.463255
+3102,NH,Manchester,42.99442,-71.488433
+3103,NH,Manchester,42.965563,-71.449325
+3104,NH,Manchester,43.007307,-71.448233
+3106,NH,Hooksett,43.061708,-71.444446
+3109,NH,Manchester,42.971349,-71.413474
+3110,NH,Bedford,42.940307,-71.52127
+3216,NH,Andover,43.428668,-71.782952
+3217,NH,Ashland,43.703428,-71.612085
+3218,NH,Barnstead,43.36513,-71.286946
+3220,NH,Belmont,43.451189,-71.488991
+3221,NH,Bradford,43.294343,-71.985048
+3222,NH,Bristol,43.611994,-71.750664
+3223,NH,Beebe River,43.888507,-71.636142
+3224,NH,Canterbury,43.357041,-71.557008
+3225,NH,Center Barnstead,43.356563,-71.24244
+3226,NH,Center Harbor,43.710688,-71.47973
+3227,NH,Center Sandwich,43.816169,-71.450614
+3229,NH,Hopkinton,43.218898,-71.696299
+3230,NH,Danbury,43.5115,-71.869074
+3231,NH,East Andover,43.47766,-71.759606
+3232,NH,East Hebron,43.696969,-71.767907
+3234,NH,Epsom,43.217398,-71.354576
+3235,NH,Franklin,43.442569,-71.649122
+3237,NH,Gilmanton,43.417476,-71.412063
+3240,NH,Grafton,43.572743,-71.963389
+3241,NH,Hebron,43.718571,-71.82696
+3242,NH,Henniker,43.179091,-71.815921
+3243,NH,Hill,43.527422,-71.729168
+3244,NH,Hillsboro,43.120709,-71.902818
+3246,NH,Gilford,43.538713,-71.452907
+3251,NH,Lincoln,44.058159,-71.672707
+3253,NH,Meredith,43.650208,-71.511327
+3254,NH,Moultonborough,43.728133,-71.392245
+3256,NH,New Hampton,43.618393,-71.643513
+3257,NH,New London,43.414501,-71.985674
+3259,NH,North Sandwich,43.845182,-71.385025
+3261,NH,Northwood,43.206965,-71.200423
+3262,NH,North Woodstock,44.019831,-71.697684
+3263,NH,Pittsfield,43.287384,-71.33303
+3264,NH,Plymouth,43.763524,-71.684714
+3266,NH,Rumney,43.804389,-71.848019
+3268,NH,Salisbury,43.406652,-71.704468
+3269,NH,Sanbornton,43.549552,-71.600348
+3275,NH,Allenstown,43.147554,-71.439663
+3276,NH,Tilton,43.46033,-71.577413
+3278,NH,Warner,43.303512,-71.835349
+3279,NH,Warren,43.944667,-71.89013
+3280,NH,Washington,43.174705,-72.082407
+3281,NH,Weare,43.071422,-71.70376
+3282,NH,Wentworth,43.868456,-71.909651
+3284,NH,West Springfield,43.491615,-72.057855
+3287,NH,Wilmot Flat,43.432177,-71.900983
+3290,NH,Nottingham,43.119632,-71.110983
+3291,NH,West Nottingham,43.133971,-71.111006
+3301,NH,Concord,43.218525,-71.527734
+3303,NH,Boscawen,43.285285,-71.612723
+3304,NH,Bow,43.138788,-71.544814
+3431,NH,Surry,42.943127,-72.28954
+3440,NH,Antrim,43.059547,-71.938698
+3441,NH,Ashuelot,42.785057,-72.434899
+3442,NH,Bennington,43.010309,-71.91534
+3443,NH,Chesterfield,42.900785,-72.487219
+3444,NH,Dublin,42.897198,-72.050538
+3445,NH,East Sullivan,42.994005,-72.191778
+3446,NH,East Swanzey,42.884137,-72.249298
+3447,NH,Fitzwilliam,42.7611,-72.145014
+3448,NH,Gilsum,43.043105,-72.263272
+3449,NH,Hancock,42.976817,-71.981858
+3450,NH,Harrisville,42.939874,-72.097243
+3451,NH,Hinsdale,42.802714,-72.501474
+3452,NH,Jaffrey,42.81779,-72.027514
+3455,NH,Marlborough,42.898804,-72.201292
+3456,NH,Marlow,43.132585,-72.210879
+3457,NH,Munsonville,42.998646,-72.133702
+3458,NH,Peterborough,42.88559,-71.946964
+3461,NH,Rindge,42.754391,-72.019038
+3462,NH,Spofford,42.911973,-72.410277
+3464,NH,Stoddard,43.073944,-72.108811
+3465,NH,Troy,42.82697,-72.184753
+3466,NH,West Chesterfiel,42.873152,-72.511216
+3467,NH,Westmoreland,42.968999,-72.435784
+3469,NH,West Swanzey,42.870313,-72.297688
+3470,NH,Richmond,42.773922,-72.363672
+3561,NH,Littleton,44.311187,-71.776816
+3570,NH,Berlin,44.48107,-71.189236
+3574,NH,Bethlehem,44.280846,-71.682929
+3576,NH,Colebrook,44.907776,-71.479341
+3579,NH,Errol,44.800273,-71.143612
+3580,NH,Franconia,44.205273,-71.751822
+3581,NH,Gorham,44.399601,-71.179983
+3582,NH,Groveton,44.598367,-71.506421
+3583,NH,Jefferson,44.399907,-71.451834
+3584,NH,Lancaster,44.492074,-71.559115
+3585,NH,Lisbon,44.214837,-71.896565
+3588,NH,Milan,44.586968,-71.181031
+3590,NH,North Stratford,44.714915,-71.564368
+3592,NH,Pittsburg,45.086564,-71.363593
+3598,NH,Whitefield,44.36811,-71.603453
+3602,NH,Alstead,43.126484,-72.328052
+3603,NH,Charlestown,43.257339,-72.40638
+3605,NH,East Lempster,43.21863,-72.166205
+3607,NH,South Acworth,43.176942,-72.341053
+3608,NH,Walpole,43.076533,-72.415489
+3609,NH,North Walpole,43.142759,-72.448253
+3740,NH,Bath,44.173419,-71.956741
+3741,NH,Canaan,43.660092,-72.029724
+3743,NH,Claremont,43.367942,-72.342186
+3745,NH,Cornish,43.496339,-72.339426
+3748,NH,Enfield,43.625584,-72.127014
+3750,NH,Etna,43.711333,-72.212479
+3752,NH,Goshen,43.302623,-72.124117
+3753,NH,Grantham,43.510324,-72.133437
+3755,NH,Hanover,43.704532,-72.28496
+3765,NH,Haverhill,44.039438,-72.057276
+3766,NH,Lebanon,43.644688,-72.242818
+3768,NH,Lyme,43.791327,-72.161993
+3770,NH,Meriden,43.529873,-72.275644
+3771,NH,Monroe,44.273358,-72.025028
+3773,NH,Newport,43.353228,-72.183789
+3774,NH,North Haverhill,44.097841,-72.019112
+3777,NH,Orford,43.894101,-72.097846
+3779,NH,Piermont,43.990572,-72.081299
+3780,NH,Pike,44.025511,-72.009587
+3781,NH,Plainfield,43.551919,-72.270398
+3782,NH,Sunapee,43.386816,-72.095044
+3784,NH,West Lebanon,43.64401,-72.300735
+3785,NH,Woodsville,44.138549,-71.989215
+3801,NH,Newington,43.066524,-70.780412
+3809,NH,Alton,43.46302,-71.229709
+3810,NH,Alton Bay,43.484468,-71.24888
+3811,NH,Atkinson,42.836981,-71.1603
+3812,NH,Bartlett,44.08656,-71.2491
+3813,NH,Center Conway,43.98776,-71.060677
+3814,NH,Center Ossipee,43.768189,-71.134882
+3815,NH,Center Strafford,43.262888,-71.107122
+3816,NH,Center Tuftonbor,43.690205,-71.265059
+3817,NH,Chocorua,43.890851,-71.240716
+3818,NH,Conway,43.974161,-71.15028
+3819,NH,Danville,42.923432,-71.120985
+3820,NH,Madbury,43.190006,-70.884881
+3824,NH,Lee,43.133821,-70.952333
+3825,NH,Barrington,43.2027,-71.037675
+3826,NH,East Hampstead,42.887656,-71.127978
+3827,NH,South Hampton,42.911289,-70.976904
+3830,NH,East Wakefield,43.641022,-71.007712
+3833,NH,Brentwood,42.977169,-70.964306
+3835,NH,Farmington,43.388373,-71.064693
+3836,NH,Freedom,43.817242,-71.062815
+3837,NH,Gilmanton Iron W,43.425281,-71.330315
+3838,NH,Glen,44.101777,-71.192457
+3839,NH,Gonic,43.268374,-70.976642
+3840,NH,Greenland,43.035294,-70.847476
+3841,NH,Hampstead,42.881957,-71.175802
+3842,NH,Hampton,42.935883,-70.824336
+3844,NH,Hampton Falls,42.926323,-70.887608
+3845,NH,Intervale,44.095479,-71.119415
+3846,NH,Jackson,44.166989,-71.187808
+3848,NH,Kingston,42.913258,-71.063914
+3849,NH,Madison,43.915206,-71.125412
+3852,NH,Milton Mills,43.502494,-70.969729
+3853,NH,Mirror Lake,43.636552,-71.272858
+3854,NH,New Castle,43.068114,-70.719922
+3855,NH,New Durham,43.443045,-71.140828
+3857,NH,Newmarket,43.072628,-70.955317
+3858,NH,Newton,42.867805,-71.042021
+3860,NH,North Conway,44.033613,-71.123811
+3862,NH,North Hampton,42.977625,-70.826738
+3864,NH,Ossipee,43.694506,-71.112873
+3865,NH,Plaistow,42.835551,-71.093397
+3867,NH,Rochester,43.309203,-71.055753
+3868,NH,East Rochester,43.31256,-70.968581
+3869,NH,Rollinsford,43.226936,-70.833207
+3870,NH,Rye,43.009468,-70.765153
+3872,NH,Sanbornville,43.551278,-71.020005
+3873,NH,Sandown,42.930819,-71.18606
+3874,NH,Seabrook,42.88536,-70.86464
+3875,NH,Silver Lake,43.878974,-71.190501
+3878,NH,Somersworth,43.252546,-70.875589
+3882,NH,South Effingham,43.721216,-71.002109
+3883,NH,South Tamworth,43.833613,-71.311654
+3884,NH,Strafford,43.250575,-71.162475
+3885,NH,Stratham,43.019432,-70.899714
+3886,NH,Tamworth,43.862049,-71.264454
+3887,NH,Union,43.4382,-71.020857
+3890,NH,West Ossipee,43.835956,-71.205141
+3894,NH,Wolfeboro,43.594996,-71.190843
+7001,NJ,Avenel,40.582568,-74.278522
+7002,NJ,Bayonne,40.666399,-74.119169
+7003,NJ,Bloomfield,40.803456,-74.189074
+7004,NJ,Fairfield,40.882178,-74.296027
+7005,NJ,Boonton,40.911528,-74.414035
+7006,NJ,West Caldwell,40.849059,-74.276771
+7008,NJ,Carteret,40.582278,-74.231345
+7009,NJ,Cedar Grove,40.85344,-74.229672
+7010,NJ,Cliffside Park,40.822168,-73.987982
+7011,NJ,Clifton,40.878876,-74.142459
+7012,NJ,Clifton,40.848835,-74.161172
+7013,NJ,Clifton,40.869334,-74.171144
+7014,NJ,Clifton,40.834375,-74.137682
+7016,NJ,Cranford,40.655357,-74.305685
+7017,NJ,East Orange,40.769614,-74.207723
+7018,NJ,East Orange,40.755799,-74.219822
+7020,NJ,Edgewater,40.831654,-73.973821
+7021,NJ,Essex Fells,40.827924,-74.279705
+7022,NJ,Fairview,40.816985,-73.999967
+7023,NJ,Fanwood,40.641856,-74.386762
+7024,NJ,Fort Lee,40.850312,-73.974455
+7026,NJ,Garfield,40.878886,-74.108141
+7027,NJ,Garwood,40.65121,-74.323864
+7028,NJ,Glen Ridge,40.804015,-74.205477
+7029,NJ,Kearny,40.74754,-74.155871
+7030,NJ,Hoboken,40.7445,-74.032863
+7031,NJ,North Arlington,40.78977,-74.134288
+7032,NJ,Kearny,40.76466,-74.147108
+7033,NJ,Kenilworth,40.675869,-74.294419
+7034,NJ,Lake Hiawatha,40.88252,-74.383013
+7035,NJ,Lincoln Park,40.920769,-74.299512
+7036,NJ,Linden,40.635366,-74.255567
+7039,NJ,Livingston,40.789633,-74.3202
+7040,NJ,Maplewood,40.727906,-74.265573
+7041,NJ,Millburn,40.722798,-74.301469
+7042,NJ,Montclair,40.81307,-74.216467
+7043,NJ,Montclair,40.843023,-74.201104
+7044,NJ,Verona,40.831928,-74.242847
+7045,NJ,Montville,40.904914,-74.36456
+7046,NJ,Mountain Lakes,40.890447,-74.441487
+7047,NJ,North Bergen,40.793019,-74.017715
+7050,NJ,Orange,40.769223,-74.2355
+7052,NJ,West Orange,40.785926,-74.256765
+7054,NJ,Parsippany,40.862106,-74.411663
+7055,NJ,Passaic,40.860132,-74.128348
+7057,NJ,Wallington,40.85356,-74.107937
+7058,NJ,Pine Brook,40.874207,-74.350009
+7059,NJ,Warren,40.631787,-74.510456
+7060,NJ,North Plainfield,40.61978,-74.425298
+7062,NJ,North Plainfield,40.631992,-74.406042
+7063,NJ,North Plainfield,40.604838,-74.445325
+7064,NJ,Port Reading,40.570935,-74.246643
+7065,NJ,Rahway,40.608668,-74.281881
+7066,NJ,Clark,40.620256,-74.310581
+7067,NJ,Colonia,40.593743,-74.316368
+7068,NJ,Roseland,40.82034,-74.304688
+7070,NJ,Rutherford,40.829245,-74.112146
+7071,NJ,Lyndhurst,40.809433,-74.12453
+7072,NJ,Carlstadt,40.840298,-74.092498
+7073,NJ,East Rutherford,40.838527,-74.104069
+7074,NJ,Moonachie,40.839352,-74.056646
+7075,NJ,Wood Ridge,40.849348,-74.087845
+7076,NJ,Scotch Plains,40.642162,-74.381663
+7077,NJ,Sewaren,40.554181,-74.260736
+7078,NJ,Short Hills,40.73678,-74.327085
+7079,NJ,South Orange,40.746453,-74.257532
+7080,NJ,South Plainfield,40.583884,-74.414695
+7081,NJ,Springfield,40.701461,-74.322705
+7082,NJ,Towaco,40.927691,-74.342807
+7083,NJ,Union,40.695184,-74.267653
+7087,NJ,Weehawken,40.768153,-74.030558
+7088,NJ,Vauxhall,40.717927,-74.282874
+7090,NJ,Westfield,40.647851,-74.345056
+7092,NJ,Mountainside,40.678461,-74.358785
+7093,NJ,Guttenberg,40.788192,-74.012859
+7094,NJ,Secaucus,40.79101,-74.063416
+7095,NJ,Woodbridge,40.555973,-74.284542
+7102,NJ,Newark,40.73201,-74.176505
+7103,NJ,Newark,40.736975,-74.196364
+7104,NJ,Newark,40.766446,-74.1695
+7105,NJ,Newark,40.727086,-74.156346
+7106,NJ,Newark,40.741485,-74.233023
+7107,NJ,Newark,40.760656,-74.18816
+7108,NJ,Newark,40.723647,-74.201538
+7109,NJ,Belleville,40.79458,-74.163119
+7110,NJ,Nutley,40.818548,-74.158934
+7111,NJ,Irvington,40.7261,-74.231271
+7112,NJ,Newark,40.71071,-74.213073
+7114,NJ,Newark,40.708246,-74.189105
+7201,NJ,Elizabeth,40.67169,-74.204335
+7202,NJ,Elizabeth,40.65652,-74.221544
+7203,NJ,Roselle,40.652972,-74.261044
+7204,NJ,Roselle Park,40.665134,-74.267003
+7205,NJ,Hillside,40.696811,-74.228065
+7206,NJ,Elizabeth,40.653207,-74.192487
+7208,NJ,Elizabeth,40.674659,-74.22392
+7302,NJ,Jersey City,40.722126,-74.046878
+7304,NJ,Jersey City,40.717973,-74.075358
+7305,NJ,Jersey City,40.702007,-74.088998
+7306,NJ,Jersey City,40.732125,-74.066038
+7307,NJ,Jersey City,40.748167,-74.049752
+7310,NJ,Jersey City,40.732354,-74.043149
+7401,NJ,Allendale,41.032654,-74.134185
+7403,NJ,Bloomingdale,41.012845,-74.333756
+7405,NJ,Kinnelon,40.992118,-74.364065
+7407,NJ,Elmwood Park,40.906896,-74.120896
+7410,NJ,Fair Lawn,40.934297,-74.1166
+7416,NJ,Franklin,41.116355,-74.58649
+7417,NJ,Franklin Lakes,41.008095,-74.211347
+7418,NJ,Glenwood,41.235618,-74.488481
+7419,NJ,Hamburg,41.146714,-74.587379
+7420,NJ,Haskell,41.030111,-74.296542
+7421,NJ,Hewitt,41.170867,-74.368566
+7422,NJ,Highland Lakes,41.182622,-74.456442
+7423,NJ,Ho Ho Kus,41.000412,-74.102532
+7424,NJ,West Paterson,40.885353,-74.21145
+7430,NJ,Mahwah,41.074473,-74.155974
+7432,NJ,Midland Park,40.995668,-74.140904
+7435,NJ,Newfoundland,41.064691,-74.435857
+7436,NJ,Oakland,41.029436,-74.233754
+7438,NJ,Milton,41.028401,-74.508801
+7439,NJ,Ogdensburg,41.076707,-74.598188
+7440,NJ,Pequannock,40.947308,-74.29601
+7442,NJ,Pompton Lakes,40.999284,-74.287566
+7444,NJ,Pompton Plains,40.965515,-74.301602
+7446,NJ,Ramsey,41.057743,-74.144467
+7450,NJ,Ridgewood,40.982023,-74.113134
+7452,NJ,Glen Rock,40.960183,-74.125367
+7456,NJ,Ringwood,41.092816,-74.265872
+7457,NJ,Riverdale,40.993109,-74.308756
+7458,NJ,Upper Saddle Riv,41.053083,-74.096775
+7460,NJ,Stockholm,41.099204,-74.528256
+7461,NJ,Sussex,41.229211,-74.599156
+7462,NJ,Vernon,41.184981,-74.533196
+7463,NJ,Waldwick,41.012968,-74.124259
+7465,NJ,Wanaque,41.054447,-74.278968
+7470,NJ,Wayne,40.947112,-74.246565
+7480,NJ,West Milford,41.091513,-74.374996
+7481,NJ,Wyckoff,40.997834,-74.166009
+7501,NJ,Paterson,40.914273,-74.167141
+7502,NJ,Paterson,40.919926,-74.193238
+7503,NJ,Paterson,40.897046,-74.157272
+7504,NJ,Paterson,40.912179,-74.145247
+7505,NJ,Paterson,40.915581,-74.171947
+7506,NJ,Hawthorne,40.956355,-74.156897
+7508,NJ,Haledon,40.945689,-74.182599
+7512,NJ,Totowa,40.904811,-74.21675
+7513,NJ,Paterson,40.906994,-74.152862
+7514,NJ,Paterson,40.924764,-74.146717
+7522,NJ,Paterson,40.925168,-74.178078
+7524,NJ,Paterson,40.930916,-74.155457
+7601,NJ,Hackensack,40.888191,-74.050301
+7603,NJ,Bogota,40.874441,-74.028122
+7604,NJ,Hasbrouck Height,40.862241,-74.075971
+7605,NJ,Leonia,40.862929,-73.987873
+7606,NJ,South Hackensack,40.863391,-74.045601
+7607,NJ,Maywood,40.902412,-74.062916
+7608,NJ,Teterboro,40.86175,-74.054204
+7620,NJ,Alpine,40.951097,-73.930842
+7621,NJ,Bergenfield,40.923837,-73.998918
+7624,NJ,Closter,40.972051,-73.958985
+7626,NJ,Cresskill,40.941847,-73.965206
+7627,NJ,Demarest,40.954775,-73.960221
+7628,NJ,Dumont,40.944692,-73.992139
+7630,NJ,Emerson,40.975459,-74.028515
+7631,NJ,Englewood,40.894251,-73.977182
+7632,NJ,Englewood Cliffs,40.882043,-73.954449
+7640,NJ,Harrington Park,40.991791,-73.980017
+7641,NJ,Haworth,40.960808,-73.987376
+7642,NJ,Hillsdale,41.006945,-74.042625
+7643,NJ,Little Ferry,40.849319,-74.040502
+7644,NJ,Lodi,40.876363,-74.083827
+7645,NJ,Montvale,41.049458,-74.038362
+7646,NJ,New Milford,40.933115,-74.019517
+7647,NJ,Rockleigh,41.011196,-73.952375
+7648,NJ,Norwood,40.995231,-73.95817
+7649,NJ,Oradell,40.953456,-74.033525
+7650,NJ,Palisades Park,40.846238,-73.995436
+7652,NJ,Paramus,40.947683,-74.06724
+7656,NJ,Park Ridge,41.034349,-74.039574
+7657,NJ,Ridgefield,40.832568,-74.001531
+7660,NJ,Ridgefield Park,40.856218,-74.022962
+7661,NJ,River Edge,40.926476,-74.03924
+7662,NJ,Saddle Brook,40.904928,-74.091296
+7666,NJ,Teaneck,40.89148,-74.011928
+7670,NJ,Tenafly,40.921596,-73.965906
+7675,NJ,Old Tappan,41.001696,-74.032586
+7701,NJ,Suburban,40.354083,-74.080003
+7702,NJ,Shrewsbury,40.328198,-74.058892
+7703,NJ,Fort Monmouth,40.317667,-74.039001
+7704,NJ,Fair Haven,40.359873,-74.038891
+7711,NJ,Allenhurst,40.236675,-74.006706
+7712,NJ,Ocean,40.235571,-74.029486
+7716,NJ,Atlantic Highlan,40.40772,-74.032411
+7717,NJ,Avon By The Sea,40.191796,-74.016737
+7718,NJ,Belford,40.417281,-74.088887
+7719,NJ,Wall,40.17434,-74.047247
+7720,NJ,Bradley Beach,40.202308,-74.013166
+7721,NJ,Cliffwood,40.435281,-74.235759
+7722,NJ,Colts Neck,40.301225,-74.177988
+7723,NJ,Deal,40.250568,-74.001998
+7724,NJ,Eatontown,40.302815,-74.06978
+7726,NJ,Manalapan,40.306274,-74.330613
+7727,NJ,Farmingdale,40.204312,-74.177864
+7728,NJ,Freehold,40.245776,-74.276822
+7730,NJ,Hazlet,40.422554,-74.179896
+7731,NJ,Howell,40.148096,-74.213683
+7732,NJ,Fort Hancock,40.402377,-73.990912
+7733,NJ,Holmdel,40.385853,-74.173971
+7734,NJ,Keansburg,40.441363,-74.130633
+7735,NJ,Keyport,40.439862,-74.199563
+7737,NJ,Leonardo,40.417704,-74.062265
+7738,NJ,Lincroft,40.33689,-74.120469
+7739,NJ,Little Silver,40.335393,-74.041319
+7740,NJ,Long Branch,40.299204,-73.991176
+7746,NJ,Marlboro,40.31825,-74.263871
+7747,NJ,Matawan,40.410876,-74.237955
+7748,NJ,New Monmouth,40.396018,-74.113908
+7750,NJ,Monmouth Beach,40.333032,-73.98089
+7751,NJ,Morganville,40.352917,-74.277863
+7753,NJ,Neptune City,40.211153,-74.054045
+7755,NJ,Oakhurst,40.26479,-74.018413
+7756,NJ,Ocean Grove,40.211606,-74.009306
+7757,NJ,Oceanport,40.31573,-74.016372
+7758,NJ,Port Monmouth,40.428886,-74.108259
+7760,NJ,Sea Bright,40.371829,-74.000618
+7762,NJ,Spring Lake,40.154198,-74.037885
+7764,NJ,West Long Branch,40.287811,-74.016221
+7801,NJ,Mine Hill,40.887218,-74.559702
+7821,NJ,Andover,40.961386,-74.752418
+7822,NJ,Augusta,41.145086,-74.684753
+7823,NJ,Belvidere,40.830819,-75.050261
+7825,NJ,Blairstown,40.967386,-74.965097
+7826,NJ,Branchville,41.170512,-74.750025
+7827,NJ,Montague,41.302259,-74.753956
+7828,NJ,Budd Lake,40.873108,-74.742552
+7830,NJ,Califon,40.716209,-74.815218
+7832,NJ,Columbia,40.938805,-75.054983
+7834,NJ,Denville,40.889735,-74.484379
+7836,NJ,Flanders,40.845316,-74.70188
+7838,NJ,Great Meadows,40.85196,-74.941806
+7840,NJ,Hackettstown,40.852891,-74.834315
+7843,NJ,Hopatcong,40.938983,-74.66163
+7847,NJ,Kenvil,40.881901,-74.620984
+7848,NJ,Lafayette,41.076099,-74.691223
+7849,NJ,Lake Hopatcong,40.965882,-74.614438
+7850,NJ,Landing,40.908684,-74.655425
+7851,NJ,Layton,41.205913,-74.817219
+7852,NJ,Ledgewood,40.878028,-74.655405
+7853,NJ,Long Valley,40.787817,-74.78698
+7856,NJ,Mount Arlington,40.928267,-74.636331
+7857,NJ,Netcong,40.898497,-74.698454
+7860,NJ,Fredon Township,41.058275,-74.780191
+7863,NJ,Oxford,40.810537,-75.00194
+7865,NJ,Port Murray,40.790615,-74.91675
+7866,NJ,Rockaway,40.922916,-74.50937
+7869,NJ,Randolph,40.845557,-74.572519
+7871,NJ,Sparta,41.027697,-74.640701
+7874,NJ,Stanhope,40.921743,-74.70044
+7876,NJ,Succasunna,40.85385,-74.653601
+7881,NJ,Wallpack Center,41.134332,-74.917595
+7882,NJ,Washington,40.75818,-74.991361
+7885,NJ,Wharton,40.913883,-74.58634
+7901,NJ,Summit,40.71494,-74.364159
+7920,NJ,Basking Ridge,40.678937,-74.560463
+7921,NJ,Bedminster,40.657109,-74.643236
+7922,NJ,Berkeley Heights,40.67522,-74.434599
+7924,NJ,Bernardsville,40.72251,-74.577812
+7927,NJ,Cedar Knolls,40.822335,-74.456861
+7928,NJ,Chatham,40.730526,-74.401701
+7930,NJ,Chester,40.789193,-74.677649
+7931,NJ,Far Hills,40.704035,-74.653959
+7932,NJ,Florham Park,40.775701,-74.392819
+7933,NJ,Gillette,40.687678,-74.468134
+7934,NJ,Gladstone,40.721948,-74.670656
+7935,NJ,Green Village,40.741618,-74.451685
+7936,NJ,East Hanover,40.819165,-74.36357
+7940,NJ,Madison,40.759939,-74.417868
+7945,NJ,Mendham,40.778919,-74.600035
+7946,NJ,Millington,40.672716,-74.518292
+7950,NJ,Greystone Park,40.843982,-74.479645
+7960,NJ,Morristown,40.795236,-74.487288
+7974,NJ,New Providence,40.700403,-74.402291
+7976,NJ,New Vernon,40.734685,-74.484471
+7980,NJ,Stirling,40.677366,-74.49683
+7981,NJ,Whippany,40.821862,-74.419971
+8002,NJ,Cherry Hill,39.930808,-75.017538
+8003,NJ,Cherry Hill,39.880453,-74.970568
+8004,NJ,Winslow,39.770909,-74.879368
+8005,NJ,Barnegat,39.755248,-74.246988
+8007,NJ,Barrington,39.865062,-75.056361
+8008,NJ,Harvey Cedars,39.636347,-74.189033
+8009,NJ,Berlin,39.778839,-74.930808
+8010,NJ,Beverly,40.056452,-74.911363
+8012,NJ,Washington,39.774104,-75.058747
+8014,NJ,Bridgeport,39.801616,-75.34782
+8015,NJ,Browns Mills,39.95974,-74.565549
+8016,NJ,Burlington,40.068015,-74.845353
+8019,NJ,Chatsworth,39.801945,-74.525619
+8020,NJ,Clarksboro,39.799228,-75.223655
+8021,NJ,Laurel Springs,39.80703,-75.003997
+8022,NJ,Columbus,40.064238,-74.68988
+8026,NJ,Gibbsboro,39.836532,-74.970996
+8027,NJ,Gibbstown,39.82314,-75.275128
+8028,NJ,Glassboro,39.706823,-75.117247
+8029,NJ,Glendora,39.840376,-75.069744
+8030,NJ,Gloucester City,39.891105,-75.116962
+8031,NJ,Bellmawr,39.868878,-75.094368
+8033,NJ,Haddonfield,39.895449,-75.041726
+8034,NJ,Cherry Hill,39.9074,-75.000762
+8035,NJ,Haddon Heights,39.878832,-75.06639
+8037,NJ,Batsto,39.638878,-74.790735
+8041,NJ,Jobstown,40.038698,-74.687305
+8043,NJ,Voorhees,39.850422,-74.964614
+8045,NJ,Lawnside,39.867601,-75.031681
+8046,NJ,Willingboro,40.028959,-74.883482
+8048,NJ,Lumberton,39.96512,-74.806736
+8049,NJ,Magnolia,39.853807,-75.039254
+8050,NJ,Manahawkin,39.705017,-74.260391
+8051,NJ,Mantua,39.786983,-75.178531
+8052,NJ,Maple Shade,39.951085,-74.994644
+8053,NJ,Marlton,39.884517,-74.90674
+8054,NJ,Mount Laurel,39.947808,-74.903588
+8055,NJ,Medford Lakes,39.868099,-74.823384
+8056,NJ,Mickleton,39.785653,-75.249777
+8057,NJ,Moorestown,39.9683,-74.953323
+8059,NJ,Mount Ephraim,39.882749,-75.09289
+8060,NJ,Eastampton Twp,39.993028,-74.795522
+8061,NJ,Mount Royal,39.809741,-75.208153
+8062,NJ,Mullica Hill,39.725228,-75.20654
+8063,NJ,National Park,39.866412,-75.179397
+8065,NJ,Palmyra,40.003654,-75.025685
+8066,NJ,Paulsboro,39.831157,-75.224233
+8067,NJ,Pedricktown,39.743451,-75.412046
+8068,NJ,Pemberton,39.971206,-74.667629
+8069,NJ,Carneys Point,39.717938,-75.465623
+8070,NJ,Pennsville,39.649107,-75.51553
+8071,NJ,Pitman,39.731162,-75.129679
+8075,NJ,Delanco,40.024684,-74.956128
+8077,NJ,Cinnaminson,39.996393,-74.995141
+8078,NJ,Runnemede,39.850825,-75.074224
+8079,NJ,Salem,39.559124,-75.452096
+8080,NJ,Sewell,39.747345,-75.089852
+8081,NJ,Sicklerville,39.735385,-74.986385
+8083,NJ,Somerdale,39.839988,-75.030913
+8084,NJ,Stratford,39.828798,-75.014707
+8085,NJ,Swedesboro,39.752853,-75.336202
+8086,NJ,Thorofare,39.859178,-75.176698
+8087,NJ,Tuckerton,39.588149,-74.364586
+8088,NJ,Southampton,39.867631,-74.711025
+8089,NJ,Waterford Works,39.721512,-74.860933
+8090,NJ,Wenonah,39.799283,-75.153644
+8091,NJ,West Berlin,39.81959,-74.941678
+8092,NJ,West Creek,39.662665,-74.288508
+8093,NJ,Westville,39.860494,-75.132278
+8094,NJ,Williamstown,39.665006,-74.971027
+8096,NJ,Deptford,39.829477,-75.137966
+8097,NJ,Woodbury Heights,39.814162,-75.152972
+8098,NJ,Woodstown,39.645663,-75.324806
+8102,NJ,Camden,39.951244,-75.118644
+8103,NJ,Camden,39.935099,-75.111708
+8104,NJ,Camden,39.918575,-75.107835
+8105,NJ,Camden,39.948417,-75.086382
+8106,NJ,Audubon,39.891035,-75.072425
+8107,NJ,Oaklyn,39.90799,-75.08489
+8108,NJ,Collingswood,39.915682,-75.063383
+8109,NJ,Merchantville,39.95193,-75.048204
+8110,NJ,Delair,39.962742,-75.063446
+8201,NJ,Smithville,39.462368,-74.503106
+8202,NJ,Avalon,39.095095,-74.726177
+8203,NJ,Brigantine,39.403709,-74.377644
+8204,NJ,North Cape May,38.969208,-74.92624
+8210,NJ,Cape May Court H,39.101434,-74.826846
+8215,NJ,Egg Harbor City,39.533123,-74.617709
+8221,NJ,Linwood,39.346883,-74.580744
+8223,NJ,Marmora,39.258562,-74.659297
+8225,NJ,Northfield,39.370256,-74.555237
+8226,NJ,Ocean City,39.270894,-74.587514
+8230,NJ,Ocean View,39.215425,-74.707548
+8232,NJ,Pleasantville,39.401518,-74.552365
+8241,NJ,Port Republic,39.527196,-74.490263
+8242,NJ,Rio Grande,39.019583,-74.875642
+8243,NJ,Townsends Inlet,39.144929,-74.701432
+8244,NJ,Somers Point,39.322308,-74.600796
+8247,NJ,Stone Harbor,39.053338,-74.762049
+8248,NJ,Strathmere,39.199246,-74.655446
+8251,NJ,Villas,39.021943,-74.935396
+8260,NJ,North Wildwood,38.989901,-74.819096
+8270,NJ,Corbin City,39.248915,-74.802628
+8302,NJ,Seabrook,39.445294,-75.226728
+8310,NJ,Buena,39.536988,-74.889495
+8311,NJ,Cedarville,39.337028,-75.199362
+8312,NJ,Clayton,39.658969,-75.094188
+8314,NJ,Delmont,39.202258,-74.970505
+8317,NJ,Dorothy,39.40313,-74.831577
+8318,NJ,Elmer,39.569146,-75.163023
+8319,NJ,Estell Manor,39.37825,-74.816512
+8322,NJ,Franklinville,39.615557,-75.04088
+8324,NJ,Heislerville,39.245013,-74.993942
+8326,NJ,Landisville,39.523942,-74.937688
+8327,NJ,Leesburg,39.238724,-75.001211
+8328,NJ,Malaga,39.575495,-75.058155
+8330,NJ,Mays Landing,39.432011,-74.69619
+8332,NJ,Millville,39.367313,-75.029311
+8340,NJ,Milmay,39.445078,-74.866671
+8341,NJ,Minotola,39.515512,-74.946685
+8343,NJ,Monroeville,39.644224,-75.156848
+8344,NJ,Newfield,39.555257,-75.027558
+8345,NJ,Newport,39.283205,-75.171647
+8346,NJ,Newtonville,39.564477,-74.859049
+8349,NJ,Port Norris,39.256263,-75.050608
+8350,NJ,Richland,39.485048,-74.877615
+8360,NJ,Vineland,39.48177,-75.009087
+8401,NJ,Atlantic City,39.366411,-74.431727
+8402,NJ,Margate City,39.328621,-74.509038
+8403,NJ,Longport,39.309712,-74.542143
+8406,NJ,Ventnor City,39.345992,-74.472343
+8501,NJ,Allentown,40.158922,-74.59093
+8502,NJ,Belle Mead,40.467732,-74.628993
+8505,NJ,Bordentown,40.143141,-74.703249
+8510,NJ,Clarksburg,40.199751,-74.434387
+8511,NJ,Cookstown,40.048109,-74.559524
+8512,NJ,Cranbury,40.303868,-74.506531
+8514,NJ,Creamridge,40.127907,-74.499425
+8515,NJ,Crosswicks,40.158353,-74.666838
+8518,NJ,Florence,40.118025,-74.805515
+8520,NJ,Hightstown,40.266885,-74.524993
+8525,NJ,Hopewell,40.390224,-74.770963
+8526,NJ,Imlaystown,40.166215,-74.510939
+8527,NJ,Jackson,40.120964,-74.301709
+8528,NJ,Kingston,40.380465,-74.616071
+8530,NJ,Lambertville,40.373122,-74.926605
+8533,NJ,New Egypt,40.071343,-74.506721
+8534,NJ,Pennington,40.333858,-74.794352
+8535,NJ,Perrineville,40.214971,-74.440381
+8536,NJ,Plainsboro,40.332432,-74.568836
+8540,NJ,Princeton,40.366633,-74.640832
+8542,NJ,Princeton,40.353545,-74.659378
+8544,NJ,Princeton Univer,40.346029,-74.65754
+8550,NJ,Princeton Juncti,40.297684,-74.614596
+8551,NJ,Ringoes,40.44587,-74.828839
+8553,NJ,Rocky Hill,40.400985,-74.640042
+8554,NJ,Roebling,40.115352,-74.777224
+8556,NJ,Rosemont,40.422005,-74.991928
+8558,NJ,Skillman,40.417312,-74.693828
+8559,NJ,Stockton,40.43974,-74.955419
+8560,NJ,Titusville,40.307728,-74.865469
+8562,NJ,Wrightstown,40.071953,-74.573098
+8608,NJ,Trenton,40.220437,-74.762237
+8609,NJ,Hamilton,40.223338,-74.742598
+8610,NJ,Hamilton,40.19894,-74.717205
+8611,NJ,Hamilton,40.207297,-74.751997
+8618,NJ,Trenton,40.237687,-74.782062
+8619,NJ,Mercerville,40.241977,-74.690377
+8620,NJ,Yardville,40.178477,-74.671699
+8628,NJ,West Trenton,40.267232,-74.826186
+8629,NJ,Hamilton,40.219843,-74.732764
+8638,NJ,Trenton,40.251006,-74.762699
+8640,NJ,Fort Dix,40.009946,-74.618296
+8641,NJ,Mc Guire Afb,40.044026,-74.588195
+8648,NJ,Lawrenceville,40.277646,-74.723956
+8690,NJ,Hamilton,40.223852,-74.659138
+8691,NJ,Hamilton,40.231785,-74.606262
+8701,NJ,Lakewood,40.085043,-74.204199
+8721,NJ,Bayville,39.914708,-74.190529
+8722,NJ,Beachwood,39.930246,-74.196145
+8723,NJ,Osbornsville,40.040817,-74.12686
+8724,NJ,Brick,40.087432,-74.115237
+8730,NJ,Brielle,40.107727,-74.063511
+8731,NJ,Forked River,39.844425,-74.197301
+8732,NJ,Island Heights,39.943197,-74.146787
+8733,NJ,Lakehurst Naec,40.020054,-74.290901
+8734,NJ,Lanoka Harbor,39.861993,-74.166765
+8735,NJ,Lavallette,39.977486,-74.070424
+8736,NJ,Manasquan,40.121693,-74.061055
+8738,NJ,Mantoloking,40.026125,-74.056188
+8740,NJ,Ocean Gate,39.925975,-74.135128
+8741,NJ,Pine Beach,39.934746,-74.167992
+8742,NJ,Bay Head,40.080226,-74.065719
+8750,NJ,Sea Girt,40.134522,-74.043604
+8751,NJ,Seaside Heights,39.946639,-74.076479
+8752,NJ,Seaside Park,39.922175,-74.079521
+8753,NJ,Toms River,39.977083,-74.156508
+8755,NJ,Toms River,39.999946,-74.222819
+8757,NJ,Toms River,39.971471,-74.251168
+8758,NJ,Waretown,39.789646,-74.195376
+8759,NJ,Whiting,39.950983,-74.360713
+8801,NJ,Annandale,40.628731,-74.885512
+8802,NJ,Pattenburg,40.650175,-75.01585
+8804,NJ,Bloomsbury,40.64366,-75.09664
+8805,NJ,Bound Brook,40.568115,-74.539735
+8807,NJ,Bridgewater,40.590388,-74.626741
+8809,NJ,Clinton,40.641194,-74.908846
+8810,NJ,Dayton,40.38249,-74.511102
+8812,NJ,Green Brook,40.594237,-74.47187
+8816,NJ,East Brunswick,40.428395,-74.406381
+8817,NJ,Edison,40.517079,-74.397286
+8820,NJ,Edison,40.57804,-74.358863
+8822,NJ,Flemington,40.517976,-74.845316
+8823,NJ,Franklin Park,40.442097,-74.536908
+8824,NJ,Kendall Park,40.4208,-74.552921
+8825,NJ,Frenchtown,40.520795,-75.032468
+8826,NJ,Glen Gardner,40.713437,-74.916207
+8827,NJ,Hampton,40.677351,-74.962221
+8828,NJ,Helmetta,40.377742,-74.420393
+8829,NJ,High Bridge,40.668438,-74.893667
+8830,NJ,Iselin,40.571593,-74.316677
+8831,NJ,Jamesburg,40.342475,-74.433568
+8832,NJ,Keasbey,40.519171,-74.302119
+8833,NJ,Lebanon,40.646623,-74.829035
+8835,NJ,Manville,40.539871,-74.593377
+8836,NJ,Martinsville,40.599962,-74.557191
+8837,NJ,Edison,40.532476,-74.337503
+8840,NJ,Metuchen,40.54493,-74.351721
+8846,NJ,Middlesex,40.575882,-74.500835
+8848,NJ,Milford,40.592942,-75.102519
+8850,NJ,Milltown,40.449346,-74.439046
+8852,NJ,Monmouth Junctio,40.394391,-74.547021
+8853,NJ,Neshanic Station,40.509551,-74.71434
+8854,NJ,Piscataway,40.55152,-74.458996
+8857,NJ,Old Bridge,40.398045,-74.323553
+8859,NJ,Parlin,40.458701,-74.304981
+8861,NJ,Perth Amboy,40.517551,-74.275427
+8863,NJ,Fords,40.53925,-74.311707
+8865,NJ,Alpha,40.692819,-75.1741
+8867,NJ,Pittstown,40.599169,-74.957587
+8869,NJ,Raritan,40.57109,-74.637691
+8872,NJ,Sayreville,40.459958,-74.347808
+8873,NJ,Somerset,40.500743,-74.50126
+8876,NJ,North Branch,40.549393,-74.645926
+8879,NJ,Laurence Harbor,40.464733,-74.278635
+8880,NJ,South Bound Broo,40.552804,-74.529078
+8882,NJ,South River,40.444363,-74.380099
+8884,NJ,Spotswood,40.384679,-74.389377
+8886,NJ,Stewartsville,40.695703,-75.082517
+8887,NJ,Three Bridges,40.52156,-74.799805
+8889,NJ,Whitehouse Stati,40.599872,-74.764129
+8901,NJ,New Brunswick,40.489073,-74.448193
+8902,NJ,North Brunswick,40.453767,-74.482285
+8904,NJ,Highland Park,40.499141,-74.426602
+87001,NM,Algodones,35.428527,-106.616589
+87002,NM,Boys Ranch,34.645562,-106.761215
+87004,NM,Bernalillo,35.328506,-106.530873
+87005,NM,Bluewater,35.164724,-108.191663
+87006,NM,Bosque,34.49956,-106.8038
+87007,NM,Casa Blanca,35.035222,-107.433907
+87008,NM,Cedar Crest,35.128506,-106.361737
+87009,NM,Cedarvale,34.388028,-105.734516
+87010,NM,Cerrillos,35.422965,-106.131683
+87013,NM,Cuba,36.048201,-107.188462
+87014,NM,Cubero,35.117372,-107.856722
+87015,NM,Edgewood,35.077603,-106.187207
+87016,NM,Estancia,34.769983,-106.135024
+87017,NM,Gallina,36.171429,-106.661388
+87018,NM,Counselor,36.118386,-106.949789
+87020,NM,Grants,35.359802,-107.935662
+87023,NM,Jarales,34.648156,-107.029912
+87024,NM,Jemez Pueblo,35.624315,-106.721894
+87025,NM,Jemez Springs,35.892689,-106.771393
+87026,NM,Canoncito,35.085305,-107.105843
+87027,NM,La Jara,36.119383,-106.992335
+87028,NM,Lajoya,34.343444,-106.84279
+87029,NM,Lindrith,36.336141,-106.925352
+87031,NM,Los Lunas,34.780607,-106.711537
+87035,NM,Moriarty,34.988878,-106.060871
+87036,NM,Mountainair,34.515775,-106.257738
+87041,NM,Cochiti Pueblo,35.603104,-106.343472
+87042,NM,Peralta,34.833188,-106.687159
+87043,NM,Placitas,35.309175,-106.529279
+87044,NM,Ponderosa,35.797576,-106.654421
+87045,NM,Prewitt,35.35466,-108.103798
+87046,NM,Regina,36.20283,-107.071932
+87047,NM,Sandia Park,35.168275,-106.323846
+87048,NM,Corrales,35.233888,-106.620034
+87050,NM,San Mateo,35.222614,-107.70498
+87052,NM,Santo Domingo Pu,35.513892,-106.361275
+87053,NM,Zia Pueblo,35.524241,-106.737467
+87055,NM,Seboyeta,35.149322,-107.382281
+87056,NM,Stanley,35.12948,-106.028299
+87059,NM,Tijeras,35.044563,-106.306226
+87062,NM,Veguita,34.485032,-106.759148
+87063,NM,Willard,34.57543,-106.030706
+87068,NM,Bosque Farms,34.876366,-106.697506
+87102,NM,Albuquerque,35.081831,-106.648171
+87104,NM,Albuquerque,35.103822,-106.671215
+87105,NM,Albuquerque,35.044761,-106.689341
+87106,NM,Albuquerque,35.079011,-106.616917
+87107,NM,Albuquerque,35.134742,-106.642747
+87108,NM,Albuquerque,35.072586,-106.574864
+87109,NM,Albuquerque,35.15058,-106.569004
+87110,NM,Albuquerque,35.110417,-106.578052
+87111,NM,Albuquerque,35.134724,-106.522164
+87112,NM,Albuquerque,35.101026,-106.518338
+87113,NM,Albuquerque,35.175906,-106.601467
+87114,NM,Alameda,35.195612,-106.659138
+87115,NM,Kirtland A F B E,34.904876,-106.513896
+87116,NM,Albuquerque,35.056116,-106.550605
+87118,NM,Albuquerque,35.055443,-106.595802
+87120,NM,Albuquerque,35.142146,-106.704137
+87121,NM,Albuquerque,35.051209,-106.726861
+87122,NM,Albuquerque,35.178715,-106.510176
+87123,NM,Albuquerque,35.07166,-106.509003
+87124,NM,Rio Rancho,35.249347,-106.681756
+87301,NM,Gallup,35.506475,-108.741352
+87310,NM,Brimhall,35.800503,-108.581469
+87312,NM,Continental Divi,35.504295,-108.469256
+87313,NM,Crownpoint,35.720557,-108.02709
+87315,NM,Fence Lake,34.734385,-108.693392
+87320,NM,Mexican Springs,35.783727,-108.818964
+87321,NM,Ramah,35.132375,-108.491951
+87323,NM,Thoreau,35.57869,-107.830218
+87324,NM,Toadlena,36.073202,-108.750647
+87325,NM,Tohatchi,35.768609,-108.687818
+87327,NM,Zuni,35.06845,-108.833611
+87328,NM,Navajo,35.894193,-109.022621
+87401,NM,Farmington,36.706514,-108.199531
+87402,NM,Farmington,36.768503,-108.147766
+87410,NM,Aztec,36.820499,-108.010982
+87412,NM,Blanco,36.725612,-107.795276
+87413,NM,Bloomfield,36.695475,-107.978437
+87415,NM,Flora Vista,36.802771,-108.082683
+87416,NM,Fruitland,36.76323,-108.45339
+87417,NM,Kirtland,36.740953,-108.350956
+87418,NM,La Plata,36.957632,-108.179243
+87419,NM,Navajo Dam,36.833838,-107.670991
+87420,NM,Shiprock,36.655981,-108.735479
+87421,NM,Waterflow,36.780092,-108.431083
+87501,NM,Pojoaque Valley,35.702472,-105.974818
+87505,NM,Santa Fe,35.619623,-105.981994
+87510,NM,Abiquiu,36.176923,-106.244859
+87513,NM,Arroyo Hondo,36.531848,-105.621998
+87514,NM,Arroyo Seco,36.504568,-105.594609
+87520,NM,Chama,36.896214,-106.582928
+87521,NM,Chamisal,36.160411,-105.68461
+87522,NM,Cundiyo,36.011906,-105.911441
+87524,NM,Costilla,36.952556,-105.501586
+87527,NM,Dixon,36.179,-105.86148
+87528,NM,Dulce,36.859808,-107.060179
+87530,NM,El Rito,36.364694,-106.21917
+87531,NM,Embudo,36.137028,-106.024187
+87532,NM,Espanola,35.987157,-106.071697
+87535,NM,Glorieta,35.566645,-105.790316
+87537,NM,Hernandez,36.073811,-106.139579
+87539,NM,La Madera,36.246387,-106.13443
+87540,NM,Lamy,35.431057,-105.940906
+87544,NM,Los Alamos,35.866321,-106.267624
+87549,NM,Ojo Caliente,36.40991,-105.915507
+87552,NM,Pecos,35.571011,-105.670104
+87553,NM,Penasco,36.176023,-105.734245
+87556,NM,Questa,36.72572,-105.560984
+87557,NM,Ranchos De Taos,36.335692,-105.608576
+87560,NM,Ribera,35.334448,-105.465228
+87563,NM,Rutheron,36.647146,-106.685267
+87564,NM,San Cristobal,36.611638,-105.635968
+87565,NM,San Jose,35.456949,-105.438341
+87566,NM,San Juan Pueblo,36.048886,-106.079267
+87567,NM,Santa Cruz,35.986011,-106.031839
+87571,NM,Taos,36.395288,-105.584732
+87573,NM,Tererro,35.736881,-105.645725
+87575,NM,Tierra Amarilla,36.680481,-106.556972
+87579,NM,Vadito,36.191305,-105.67818
+87580,NM,Valdez,36.569699,-105.506971
+87581,NM,Vallecitos,36.516284,-106.085942
+87701,NM,Las Vegas,35.594862,-105.227162
+87711,NM,Anton Chico,35.159262,-105.141041
+87713,NM,Chacon,36.138805,-105.385411
+87714,NM,Cimarron,36.457424,-105.069694
+87715,NM,Cleveland,35.989831,-105.43262
+87718,NM,Eagle Nest,36.53255,-105.275561
+87722,NM,Guadalupita,36.113046,-105.127814
+87724,NM,La Loma,35.191562,-105.096864
+87725,NM,Ledoux,35.919118,-105.421555
+87728,NM,Maxwell,36.543393,-104.56395
+87729,NM,Miami,36.28955,-104.811769
+87730,NM,Mills,36.128144,-104.227743
+87731,NM,Montezuma,35.682959,-105.409729
+87732,NM,Mora,36.00405,-105.312837
+87733,NM,Albert,35.715938,-103.746132
+87734,NM,Ocate,36.10366,-105.06595
+87740,NM,Raton,36.895187,-104.434881
+87742,NM,Rociada,35.822648,-105.314716
+87743,NM,Roy,35.952248,-104.149698
+87745,NM,Sapello,35.762012,-105.107735
+87746,NM,Solano,35.837828,-104.1221
+87747,NM,Springer,36.37672,-104.592705
+87750,NM,Valmora,35.794033,-104.911587
+87752,NM,Wagon Mound,35.981361,-104.691
+87801,NM,Socorro,34.047853,-106.890659
+87815,NM,Bingham,34.043864,-106.021163
+87820,NM,Aragon,33.88592,-108.546589
+87821,NM,Datil,34.04269,-108.018284
+87823,NM,Lemitar,34.155999,-106.904381
+87825,NM,Alamo,34.241178,-107.340647
+87827,NM,Pie Town,34.324282,-108.368187
+87828,NM,Polvadera,34.134672,-106.897505
+87829,NM,Quemado,34.265158,-108.757835
+87830,NM,Reserve,33.688074,-108.800918
+87831,NM,San Acacia,34.228328,-106.904884
+87901,NM,Truth Or Consequ,33.139478,-107.248794
+87930,NM,Arrey,32.802057,-107.354368
+87931,NM,Caballo,33.013452,-107.347113
+87932,NM,Cuchillo,33.370269,-107.456536
+87933,NM,Derry,32.808561,-107.284271
+87936,NM,Garfield,32.755749,-107.270409
+87937,NM,Hatch,32.658335,-107.159028
+87940,NM,Rincon,32.65969,-107.064343
+87941,NM,Salem,32.709322,-107.215689
+87942,NM,Williamsburg,33.226498,-107.337583
+87943,NM,Winston,33.306089,-107.667456
+88001,NM,Las Cruces,32.321641,-106.746034
+88002,NM,White Sands Miss,32.382669,-106.49236
+88005,NM,Las Cruces,32.316076,-106.79908
+88020,NM,Animas,31.793696,-108.585695
+88021,NM,Chaparral,31.934505,-106.573452
+88023,NM,Vanadium,32.756334,-108.107667
+88025,NM,Buckhorn,32.813466,-108.477951
+88026,NM,Central,32.779767,-108.162698
+88030,NM,Deming,32.231808,-107.746559
+88039,NM,Glenwood,33.304789,-108.774282
+88041,NM,San Lorenzo,32.853311,-108.082185
+88042,NM,Hillsboro,32.923913,-107.6276
+88043,NM,Hurley,32.64799,-108.15162
+88044,NM,La Mesa,32.082312,-106.701103
+88045,NM,Road Forks,32.314032,-108.754657
+88047,NM,Mesilla Park,32.297725,-106.637016
+88048,NM,Mesquite,32.145958,-106.667626
+88049,NM,Mimbres,32.860936,-107.942326
+88061,NM,Silver City,32.789986,-108.274916
+88101,NM,Clovis,34.412585,-103.221391
+88112,NM,Broadview,34.803956,-103.129235
+88113,NM,Causey,33.892926,-103.150201
+88114,NM,Crossroads,33.527186,-103.356387
+88116,NM,Elida,33.940468,-103.632341
+88118,NM,Floyd,34.251951,-103.582707
+88119,NM,Fort Sumner,34.460018,-104.231689
+88120,NM,Grady,34.810697,-103.298043
+88121,NM,House,34.695156,-103.920256
+88123,NM,Lingo,33.696291,-103.208161
+88124,NM,Melrose,34.44787,-103.632507
+88125,NM,Milnesand,33.60501,-103.278189
+88126,NM,Pep,33.897032,-103.327208
+88130,NM,Portales,34.179915,-103.336311
+88132,NM,Rogers,34.024759,-103.127527
+88133,NM,Saint Vrain,34.465205,-103.453239
+88134,NM,Taiban,34.424829,-104.032899
+88135,NM,Texico,34.395795,-103.061544
+88136,NM,Yeso,34.474962,-104.527582
+88201,NM,Roswell,33.388504,-104.525857
+88210,NM,Artesia,32.838355,-104.407401
+88213,NM,Caprock,33.393855,-103.639009
+88220,NM,Carlsbad,32.411867,-104.239539
+88230,NM,Dexter,33.191006,-104.383285
+88231,NM,Eunice,32.439225,-103.159407
+88232,NM,Hagerman,33.107643,-104.329778
+88240,NM,Hobbs,32.72217,-103.137246
+88250,NM,Hope,32.81561,-104.729921
+88252,NM,Jal,32.112816,-103.199724
+88253,NM,Lake Arthur,33.017106,-104.406412
+88256,NM,Loving,32.274034,-104.091376
+88260,NM,Lovington,32.951166,-103.348849
+88264,NM,Maljamar,32.842281,-103.723401
+88265,NM,Monument,32.587405,-103.270256
+88266,NM,Oil Center,32.490383,-103.301915
+88267,NM,Tatum,33.260018,-103.314
+88301,NM,Carrizozo,33.64962,-105.869617
+88310,NM,Alamogordo,32.893186,-105.948544
+88314,NM,Bent,33.148014,-105.863472
+88316,NM,Capitan,33.560232,-105.526906
+88317,NM,Cloudcroft,32.574067,-105.939028
+88318,NM,Corona,34.169259,-105.533873
+88321,NM,Encino,34.61496,-105.483914
+88324,NM,Glencoe,33.386738,-105.502991
+88330,NM,Holloman Air For,32.862093,-106.07845
+88336,NM,Hondo,33.462518,-105.388854
+88337,NM,La Luz,32.977449,-105.953397
+88338,NM,Lincoln,33.492912,-105.528427
+88339,NM,Mayhill,32.907048,-105.518056
+88340,NM,Mescalero,33.216436,-105.774293
+88341,NM,Nogal,33.499552,-105.703631
+88343,NM,Picacho,33.345642,-105.083382
+88344,NM,Pinon,32.639584,-105.415708
+88345,NM,Ruidoso,33.347406,-105.650994
+88346,NM,Ruidoso Downs,33.357718,-105.538306
+88347,NM,Sacramento,32.805221,-105.621128
+88348,NM,San Patricio,33.38775,-105.349798
+88351,NM,Tinnie,33.337308,-105.202681
+88352,NM,Tularosa,33.065049,-106.010789
+88353,NM,Vaughn,34.624074,-105.192558
+88354,NM,Weed,32.80519,-105.506296
+88401,NM,Tucumcari,35.168003,-103.717935
+88410,NM,Amistad,35.898276,-103.212954
+88411,NM,Bard,35.115364,-103.317778
+88412,NM,Bueyeros,36.013541,-103.666894
+88414,NM,Capulin,36.747453,-103.993599
+88415,NM,Clayton,36.441378,-103.188823
+88416,NM,Conchas Dam,35.378561,-104.205231
+88417,NM,Cuervo,35.01013,-104.399867
+88418,NM,Des Moines,36.729069,-103.873853
+88419,NM,Folsom,36.86896,-103.839925
+88421,NM,Garita,35.350182,-104.441911
+88422,NM,Gladstone,36.307741,-103.893081
+88424,NM,Grenville,36.725396,-103.415521
+88426,NM,Logan,35.368051,-103.438339
+88427,NM,Mc Alister,34.749206,-103.657169
+88429,NM,Mount Dora,36.498795,-103.416667
+88430,NM,Nara Visa,35.617963,-103.131738
+88431,NM,Newkirk,35.084746,-104.243323
+88432,NM,Puerto De Luna,34.847826,-104.619645
+88433,NM,Quay,34.929916,-103.78176
+88434,NM,San Jon,35.119848,-103.284599
+88435,NM,Pastura,34.933276,-104.682155
+88436,NM,Sedan,36.226027,-103.14488
+88437,NM,Seneca,36.6279,-103.089394
+88438,NM,Stead,36.12359,-103.121117
+88439,NM,Trementina,35.584945,-104.616341
+88441,NM,Bell Ranch,35.638425,-104.111991
+6390,NY,Fishers Island,41.263934,-72.017834
+10001,NY,New York,40.74838,-73.996705
+10002,NY,New York,40.715231,-73.987681
+10003,NY,New York,40.731253,-73.989223
+10004,NY,Governors Island,40.693604,-74.019025
+10005,NY,New York,40.705649,-74.008344
+10006,NY,New York,40.708451,-74.013474
+10007,NY,New York,40.713905,-74.007022
+10009,NY,New York,40.726188,-73.979591
+10010,NY,New York,40.737476,-73.981328
+10011,NY,New York,40.740225,-73.99963
+10012,NY,New York,40.72553,-73.998284
+10013,NY,New York,40.718511,-74.002529
+10014,NY,New York,40.73393,-74.005421
+10016,NY,New York,40.744281,-73.978134
+10017,NY,New York,40.75172,-73.970661
+10018,NY,New York,40.754713,-73.992503
+10019,NY,New York,40.765069,-73.985834
+10020,NY,New York,40.759729,-73.982347
+10021,NY,New York,40.768476,-73.958805
+10022,NY,New York,40.757091,-73.965703
+10023,NY,New York,40.77638,-73.982652
+10024,NY,New York,40.786446,-73.976385
+10025,NY,New York,40.797466,-73.968312
+10026,NY,New York,40.801942,-73.953069
+10027,NY,New York,40.811556,-73.954978
+10028,NY,New York,40.776267,-73.952866
+10029,NY,New York,40.791817,-73.94475
+10030,NY,New York,40.818333,-73.942597
+10031,NY,New York,40.82455,-73.950712
+10032,NY,New York,40.83819,-73.941978
+10033,NY,New York,40.84955,-73.935649
+10034,NY,New York,40.866222,-73.922077
+10035,NY,New York,40.801116,-73.937098
+10036,NY,New York,40.759724,-73.991826
+10037,NY,New York,40.813491,-73.9381
+10038,NY,New York,40.710092,-74.001298
+10039,NY,New York,40.826458,-73.938266
+10040,NY,New York,40.858308,-73.929601
+10044,NY,New York,40.762998,-73.949136
+10128,NY,New York,40.781618,-73.951112
+10280,NY,New York,40.710537,-74.016323
+10301,NY,Staten Island,40.631602,-74.092663
+10302,NY,Staten Island,40.630597,-74.137918
+10303,NY,Staten Island,40.630062,-74.160679
+10304,NY,Staten Island,40.610249,-74.087836
+10305,NY,Staten Island,40.597296,-74.076795
+10306,NY,Staten Island,40.568183,-74.118386
+10307,NY,Staten Island,40.508452,-74.244482
+10308,NY,Staten Island,40.55181,-74.152649
+10309,NY,Staten Island,40.535179,-74.211572
+10310,NY,Staten Island,40.632427,-74.11715
+10312,NY,Staten Island,40.545745,-74.179165
+10314,NY,Staten Island,40.603915,-74.147218
+10451,NY,Bronx,40.8222,-73.921735
+10452,NY,Bronx,40.837594,-73.921555
+10453,NY,Bronx,40.852047,-73.912937
+10454,NY,Bronx,40.808549,-73.919821
+10455,NY,Bronx,40.815309,-73.907172
+10456,NY,Bronx,40.831557,-73.909893
+10457,NY,Bronx,40.848635,-73.899907
+10458,NY,Bronx,40.863307,-73.889464
+10459,NY,Bronx,40.824699,-73.894047
+10460,NY,Bronx,40.840949,-73.879409
+10461,NY,Bronx,40.846506,-73.840953
+10462,NY,Bronx,40.843369,-73.860185
+10463,NY,Bronx,40.879812,-73.906737
+10464,NY,Bronx,40.846941,-73.787436
+10465,NY,Bronx,40.826065,-73.819581
+10466,NY,Bronx,40.890375,-73.850333
+10467,NY,Bronx,40.873671,-73.871242
+10468,NY,Bronx,40.866231,-73.900259
+10469,NY,Bronx,40.870193,-73.849465
+10470,NY,Bronx,40.900029,-73.862194
+10471,NY,Bronx,40.901084,-73.905283
+10472,NY,Bronx,40.829464,-73.871557
+10473,NY,Bronx,40.819364,-73.860626
+10474,NY,Bronx,40.801518,-73.886376
+10475,NY,Bronx,40.872903,-73.827817
+10501,NY,Amawalk,41.294618,-73.761079
+10502,NY,Ardsley,41.011332,-73.841311
+10504,NY,Armonk,41.136002,-73.700942
+10506,NY,Bedford,41.190913,-73.635548
+10507,NY,Bedford Hills,41.234439,-73.691517
+10509,NY,Brewster,41.409704,-73.599179
+10510,NY,Briarcliff Manor,41.144364,-73.834956
+10511,NY,Buchanan,41.258285,-73.941238
+10512,NY,Carmel,41.443216,-73.681526
+10514,NY,Chappaqua,41.170497,-73.771458
+10516,NY,Cold Spring,41.44142,-73.933485
+10518,NY,Cross River,41.27218,-73.602027
+10520,NY,Croton On Hudson,41.218037,-73.892408
+10522,NY,Dobbs Ferry,41.011835,-73.866494
+10523,NY,Elmsford,41.057171,-73.813597
+10524,NY,Garrison,41.362065,-73.920003
+10527,NY,Granite Springs,41.309791,-73.753008
+10528,NY,Harrison,40.971876,-73.718068
+10530,NY,Hartsdale,41.019658,-73.807404
+10532,NY,Hawthorne,41.095316,-73.801685
+10533,NY,Irvington,41.038113,-73.859666
+10535,NY,Jefferson Valley,41.338522,-73.794697
+10536,NY,Katonah,41.270884,-73.684115
+10537,NY,Lake Peekskill,41.337437,-73.883787
+10538,NY,Larchmont,40.935055,-73.75715
+10541,NY,Mahopac,41.371708,-73.750755
+10543,NY,Mamaroneck,40.952481,-73.735037
+10546,NY,Millwood,41.201519,-73.792626
+10547,NY,Mohegan Lake,41.314348,-73.850836
+10548,NY,Montrose,41.249585,-73.944593
+10549,NY,Mount Kisco,41.204966,-73.729921
+10550,NY,Mount Vernon,40.907863,-73.837961
+10552,NY,Mount Vernon,40.923056,-73.829919
+10553,NY,Mount Vernon,40.908645,-73.822111
+10560,NY,North Salem,41.341388,-73.592947
+10562,NY,Ossining,41.167344,-73.853791
+10566,NY,Cortlandt Manor,41.293722,-73.902562
+10570,NY,Pleasantville,41.134977,-73.784484
+10573,NY,Rye Brook,41.007755,-73.672045
+10576,NY,Pound Ridge,41.204196,-73.573215
+10577,NY,Purchase,41.038396,-73.715629
+10578,NY,Purdys,41.322427,-73.654313
+10579,NY,Putnam Valley,41.372815,-73.85024
+10580,NY,Rye,40.973403,-73.690721
+10583,NY,Heathcote,40.988365,-73.797566
+10588,NY,Shrub Oak,41.328608,-73.82732
+10589,NY,Somers,41.334568,-73.695145
+10590,NY,South Salem,41.255261,-73.540224
+10591,NY,North Tarrytown,41.078108,-73.859335
+10594,NY,Thornwood,41.118163,-73.773329
+10595,NY,Valhalla,41.085559,-73.777596
+10597,NY,Waccabuc,41.303208,-73.603207
+10598,NY,Yorktown Heights,41.299947,-73.792398
+10601,NY,White Plains,41.032955,-73.765231
+10603,NY,White Plains,41.049913,-73.77758
+10604,NY,East White Plain,41.043295,-73.750727
+10605,NY,White Plains,41.014053,-73.755247
+10606,NY,White Plains,41.024714,-73.778097
+10607,NY,White Plains,41.039813,-73.811692
+10701,NY,Yonkers,40.940716,-73.888317
+10703,NY,Yonkers,40.951763,-73.885163
+10704,NY,Yonkers,40.917633,-73.859347
+10705,NY,Yonkers,40.917665,-73.895041
+10706,NY,Hastings On Huds,40.99071,-73.875912
+10707,NY,Tuckahoe,40.95691,-73.819771
+10708,NY,Bronxville,40.939133,-73.835332
+10709,NY,Eastchester,40.954966,-73.80858
+10710,NY,Yonkers,40.965574,-73.843435
+10801,NY,New Rochelle,40.916628,-73.787729
+10803,NY,Pelham,40.904455,-73.807304
+10804,NY,New Rochelle,40.948335,-73.786018
+10805,NY,New Rochelle,40.900236,-73.781043
+10901,NY,Suffern,41.117654,-74.124098
+10911,NY,Bear Mountain,41.306734,-73.996108
+10913,NY,Blauvelt,41.062597,-73.962924
+10916,NY,Campbell Hall,41.442993,-74.250466
+10917,NY,Central Valley,41.326836,-74.122036
+10918,NY,Chester,41.355381,-74.265116
+10919,NY,Circleville,41.524387,-74.385044
+10920,NY,Congers,41.148689,-73.94131
+10921,NY,Florida,41.329507,-74.352805
+10923,NY,Garnerville,41.202057,-74.000501
+10924,NY,Goshen,41.394586,-74.330162
+10925,NY,Greenwood Lake,41.212718,-74.300007
+10926,NY,Harriman,41.299681,-74.155805
+10927,NY,Haverstraw,41.197095,-73.968959
+10928,NY,Highland Falls,41.358177,-73.974618
+10930,NY,Highland Mills,41.353592,-74.119678
+10931,NY,Hillburn,41.123981,-74.170195
+10940,NY,Scotchtown,41.457222,-74.412023
+10950,NY,Monroe,41.328578,-74.188521
+10952,NY,Monsey,41.116255,-74.0736
+10954,NY,Bardonia,41.099176,-74.009589
+10956,NY,New City,41.147247,-73.996206
+10958,NY,New Hampton,41.362714,-74.443483
+10960,NY,Nyack,41.091351,-73.925226
+10962,NY,Orangeburg,41.044183,-73.960873
+10963,NY,Otisville,41.481806,-74.529413
+10964,NY,Palisades,41.010263,-73.924985
+10965,NY,Pearl River,41.062939,-74.01587
+10968,NY,Piermont,41.03955,-73.919187
+10969,NY,Pine Island,41.323796,-74.379457
+10970,NY,Pomona,41.190105,-74.043564
+10973,NY,Slate Hill,41.376004,-74.484658
+10974,NY,Sterlington,41.16047,-74.188107
+10975,NY,Southfields,41.247959,-74.176182
+10976,NY,Sparkill,41.025573,-73.92288
+10977,NY,Chestnut Ridge,41.117977,-74.046253
+10980,NY,Stony Point,41.229174,-73.996164
+10983,NY,Tappan,41.027751,-73.949065
+10984,NY,Thiells,41.207826,-74.015441
+10985,NY,Thompson Ridge,41.580957,-74.377445
+10986,NY,Tomkins Cove,41.259763,-73.98916
+10987,NY,Tuxedo Park,41.192486,-74.215912
+10989,NY,Valley Cottage,41.118338,-73.943006
+10990,NY,Warwick,41.265563,-74.36037
+10992,NY,Washingtonville,41.423701,-74.1601
+10993,NY,West Haverstraw,41.209016,-73.982123
+10994,NY,West Nyack,41.097324,-73.976846
+10996,NY,West Point,41.394545,-73.973666
+10998,NY,Westtown,41.321414,-74.552946
+11001,NY,Floral Park,40.723586,-73.70576
+11003,NY,Alden Manor,40.699615,-73.705751
+11004,NY,Glen Oaks,40.7481,-73.711436
+11010,NY,Franklin Square,40.701049,-73.675807
+11020,NY,Great Neck,40.774235,-73.718918
+11021,NY,Great Neck,40.786674,-73.726984
+11023,NY,Great Neck,40.799307,-73.734257
+11024,NY,Kings Point Cont,40.813307,-73.741391
+11030,NY,Plandome,40.798641,-73.688369
+11040,NY,Hillside Manor,40.743926,-73.68042
+11042,NY,New Hyde Park,40.7602,-73.694978
+11050,NY,Port Washington,40.834995,-73.696356
+11101,NY,Astoria,40.750316,-73.939393
+11102,NY,Astoria,40.77063,-73.926462
+11103,NY,Astoria,40.762651,-73.914886
+11104,NY,Sunnyside,40.743641,-73.921556
+11105,NY,Astoria,40.77627,-73.910965
+11106,NY,Astoria,40.760813,-73.929527
+11201,NY,Brooklyn,40.694021,-73.99034
+11203,NY,Brooklyn,40.650496,-73.934888
+11204,NY,Brooklyn,40.617871,-73.985623
+11205,NY,Brooklyn,40.692433,-73.96662
+11206,NY,Brooklyn,40.701195,-73.943617
+11207,NY,Brooklyn,40.670486,-73.893957
+11208,NY,Brooklyn,40.676191,-73.873649
+11209,NY,Brooklyn,40.625106,-74.030304
+11210,NY,Brooklyn,40.628064,-73.946682
+11211,NY,Brooklyn,40.709476,-73.956283
+11212,NY,Brooklyn,40.662474,-73.914483
+11213,NY,Brooklyn,40.669961,-73.93665
+11214,NY,Brooklyn,40.601563,-73.99681
+11215,NY,Brooklyn,40.666863,-73.982783
+11216,NY,Brooklyn,40.67943,-73.949639
+11217,NY,Brooklyn,40.68165,-73.979797
+11218,NY,Brooklyn,40.642373,-73.975806
+11219,NY,Brooklyn,40.633568,-73.996011
+11220,NY,Brooklyn,40.641165,-74.013287
+11221,NY,Brooklyn,40.690695,-73.927373
+11222,NY,Brooklyn,40.727164,-73.949846
+11223,NY,Brooklyn,40.597874,-73.974291
+11224,NY,Brooklyn,40.576729,-73.988395
+11225,NY,Brooklyn,40.662776,-73.954588
+11226,NY,Brooklyn,40.646694,-73.956985
+11228,NY,Brooklyn,40.617441,-74.012067
+11229,NY,Brooklyn,40.601094,-73.94749
+11230,NY,Brooklyn,40.622493,-73.965007
+11231,NY,Brooklyn,40.679437,-74.00141
+11232,NY,Brooklyn,40.652113,-74.001797
+11233,NY,Brooklyn,40.678415,-73.921104
+11234,NY,Brooklyn,40.620475,-73.923915
+11235,NY,Brooklyn,40.583898,-73.953599
+11236,NY,Brooklyn,40.640685,-73.902764
+11237,NY,Brooklyn,40.700616,-73.917979
+11238,NY,Brooklyn,40.679015,-73.964387
+11239,NY,Brooklyn,40.649748,-73.882375
+11251,NY,Brooklyn Navy Ya,40.703578,-73.966511
+11354,NY,Flushing,40.766722,-73.824142
+11355,NY,Flushing,40.753573,-73.822609
+11356,NY,College Point,40.785511,-73.844955
+11357,NY,Whitestone,40.785147,-73.809594
+11358,NY,Flushing,40.760636,-73.796788
+11359,NY,Fort Totten,40.789967,-73.777244
+11360,NY,Bayside,40.780684,-73.781216
+11361,NY,Bayside,40.76268,-73.774457
+11362,NY,Little Neck,40.759131,-73.732622
+11363,NY,Little Neck,40.772166,-73.745401
+11364,NY,Flushing,40.745847,-73.758646
+11365,NY,Fresh Meadows,40.737424,-73.79506
+11366,NY,Fresh Meadows,40.727231,-73.794922
+11367,NY,Flushing,40.727966,-73.81953
+11368,NY,Corona,40.745288,-73.861069
+11369,NY,East Elmhurst,40.761254,-73.873902
+11370,NY,East Elmhurst,40.761111,-73.891586
+11371,NY,Flushing,40.772117,-73.873535
+11372,NY,Jackson Heights,40.751329,-73.882975
+11373,NY,Jackson Heights,40.740388,-73.878551
+11374,NY,Rego Park,40.72775,-73.860191
+11375,NY,Forest Hills,40.722854,-73.847306
+11377,NY,Woodside,40.744972,-73.906911
+11378,NY,Maspeth,40.723865,-73.899682
+11379,NY,Middle Village,40.717286,-73.879228
+11385,NY,Ridgewood,40.703613,-73.896122
+11411,NY,Cambria Heights,40.694741,-73.737445
+11412,NY,Kew Gardens,40.698097,-73.758641
+11413,NY,Springfield Gard,40.67295,-73.75071
+11414,NY,Kew Gardens,40.660603,-73.845041
+11415,NY,Kew Gardens,40.706865,-73.829715
+11416,NY,Ozone Park,40.683753,-73.851397
+11417,NY,Ozone Park,40.676854,-73.844778
+11418,NY,Richmond Hill,40.698171,-73.834484
+11419,NY,S Richmond Hill,40.688113,-73.823871
+11420,NY,S Ozone Park,40.675379,-73.815773
+11421,NY,Woodhaven,40.691345,-73.858514
+11422,NY,Rosedale,40.662141,-73.735265
+11423,NY,Hollis,40.714156,-73.767685
+11426,NY,Bellerose,40.734735,-73.723018
+11427,NY,Queens Village,40.727707,-73.748908
+11428,NY,Queens Village,40.720756,-73.743312
+11429,NY,Queens Village,40.70902,-73.740064
+11430,NY,Jamaica,40.647221,-73.782663
+11432,NY,Jamaica,40.711867,-73.79442
+11433,NY,Jamaica,40.69691,-73.787669
+11434,NY,Jamaica,40.677483,-73.77584
+11435,NY,Jamaica,40.702934,-73.811121
+11436,NY,Jamaica,40.676347,-73.796596
+11501,NY,Mineola,40.746927,-73.639761
+11507,NY,Albertson,40.77032,-73.651419
+11509,NY,Atlantic Beach,40.588652,-73.725545
+11510,NY,Baldwin,40.654755,-73.609688
+11514,NY,Carle Place,40.75115,-73.611941
+11516,NY,Cedarhurst,40.623619,-73.726404
+11518,NY,East Rockaway,40.640445,-73.667376
+11520,NY,Freeport,40.65359,-73.586615
+11530,NY,Garden City,40.72452,-73.648718
+11542,NY,Glen Cove,40.864958,-73.62772
+11545,NY,Glen Head,40.828098,-73.60763
+11548,NY,Greenvale,40.812503,-73.626124
+11550,NY,Hempstead,40.70492,-73.617641
+11552,NY,West Hempstead,40.692915,-73.653859
+11553,NY,Uniondale,40.702029,-73.591995
+11554,NY,East Meadow,40.714915,-73.556088
+11557,NY,Hewlett,40.640392,-73.695667
+11558,NY,Island Park,40.604044,-73.655411
+11559,NY,Lawrence,40.61396,-73.732969
+11560,NY,Locust Valley,40.881728,-73.59271
+11561,NY,Long Beach,40.587697,-73.659467
+11563,NY,Lynbrook,40.657107,-73.674143
+11565,NY,Malverne,40.674982,-73.673073
+11566,NY,North Merrick,40.668312,-73.555001
+11568,NY,Old Westbury,40.78821,-73.587515
+11570,NY,Rockville Centre,40.663745,-73.638
+11572,NY,Oceanside,40.636199,-73.637533
+11575,NY,Roosevelt,40.680171,-73.586697
+11576,NY,Roslyn,40.790668,-73.653362
+11577,NY,Roslyn Heights,40.784497,-73.640292
+11579,NY,Sea Cliff,40.845984,-73.643598
+11580,NY,Valley Stream,40.674184,-73.705738
+11581,NY,North Woodmere,40.651838,-73.710705
+11590,NY,Westbury,40.755749,-73.57226
+11596,NY,Williston Park,40.759198,-73.644892
+11598,NY,Woodmere,40.63262,-73.714146
+11691,NY,Far Rockaway,40.600645,-73.757971
+11692,NY,Far Rockaway,40.59257,-73.797446
+11693,NY,Far Rockaway,40.607644,-73.819804
+11694,NY,Far Rockaway,40.579471,-73.839192
+11696,NY,Inwood,40.617784,-73.746988
+11697,NY,Far Rockaway,40.560032,-73.914873
+11701,NY,Amityville,40.684197,-73.417106
+11702,NY,Oak Beach,40.634183,-73.324583
+11703,NY,North Babylon,40.732102,-73.323581
+11704,NY,West Babylon,40.713476,-73.354591
+11705,NY,Bayport,40.744408,-73.054207
+11706,NY,Kismet,40.733744,-73.252708
+11709,NY,Bayville,40.907382,-73.560141
+11710,NY,North Bellmore,40.677028,-73.534517
+11713,NY,Bellport,40.77327,-72.946891
+11714,NY,Bethpage,40.740014,-73.485727
+11715,NY,Blue Point,40.750089,-73.035213
+11716,NY,Bohemia,40.767788,-73.116339
+11717,NY,West Brentwood,40.777918,-73.248189
+11718,NY,Brightwaters,40.727957,-73.264639
+11719,NY,Brookhaven,40.78428,-72.892125
+11720,NY,Centereach,40.870508,-73.082163
+11721,NY,Centerport,40.892899,-73.3754
+11722,NY,Central Islip,40.786618,-73.196145
+11724,NY,Cold Spring Harb,40.863056,-73.450032
+11725,NY,Commack,40.843032,-73.279924
+11726,NY,Copiague,40.677833,-73.396271
+11727,NY,Coram,40.884988,-73.006881
+11729,NY,Deer Park,40.759083,-73.32572
+11730,NY,East Islip,40.72816,-73.180471
+11731,NY,Elwood,40.867066,-73.319506
+11732,NY,East Norwich,40.847162,-73.534876
+11733,NY,Setauket,40.930004,-73.101467
+11735,NY,South Farmingdal,40.725061,-73.445055
+11738,NY,Farmingville,40.836602,-73.04125
+11740,NY,Greenlawn,40.862121,-73.364641
+11741,NY,Holbrook,40.796426,-73.071789
+11742,NY,Holtsville,40.810478,-73.04161
+11743,NY,Halesite,40.866945,-73.410924
+11746,NY,Dix Hills,40.821754,-73.375472
+11747,NY,Melville,40.794606,-73.402963
+11751,NY,Islip,40.734821,-73.22211
+11752,NY,Islip Terrace,40.75482,-73.182746
+11753,NY,Jericho,40.788118,-73.533067
+11754,NY,Kings Park,40.886121,-73.243763
+11755,NY,Lake Grove,40.856681,-73.116751
+11756,NY,Levittown,40.725428,-73.516578
+11757,NY,Lindenhurst,40.688373,-73.374493
+11758,NY,North Massapequa,40.685738,-73.469727
+11762,NY,Massapequa Park,40.680673,-73.444447
+11763,NY,Medford,40.817416,-72.985214
+11764,NY,Miller Place,40.943572,-72.991349
+11765,NY,Mill Neck,40.88574,-73.552602
+11766,NY,Mount Sinai,40.927092,-73.012732
+11767,NY,Nesconset,40.846206,-73.1482
+11768,NY,Northport,40.905062,-73.330889
+11769,NY,Oakdale,40.738224,-73.12969
+11771,NY,Oyster Bay,40.866012,-73.527212
+11772,NY,Davis Park,40.773501,-72.998108
+11776,NY,Port Jefferson S,40.911722,-73.052136
+11777,NY,Port Jefferson,40.945687,-73.061093
+11778,NY,Rocky Point,40.949206,-72.935681
+11779,NY,Lake Ronkonkoma,40.820763,-73.1208
+11780,NY,Saint James,40.881299,-73.159121
+11782,NY,Cherry Grove,40.74606,-73.082297
+11783,NY,Seaford,40.679513,-73.491015
+11784,NY,Selden,40.869883,-73.044848
+11786,NY,Shoreham,40.948493,-72.892685
+11787,NY,Smithtown,40.854186,-73.213816
+11788,NY,Hauppauge,40.823069,-73.195762
+11789,NY,Sound Beach,40.956707,-72.974172
+11790,NY,Stony Brook,40.900257,-73.125085
+11791,NY,Syosset,40.81462,-73.502397
+11792,NY,Wading River,40.952049,-72.834774
+11793,NY,Wantagh,40.684998,-73.51033
+11794,NY,Suny Stony Brook,40.914127,-73.125456
+11795,NY,West Islip,40.711734,-73.30072
+11796,NY,West Sayville,40.731971,-73.100019
+11797,NY,Woodbury,40.815441,-73.471612
+11798,NY,Wheatley Heights,40.753258,-73.36596
+11801,NY,Hicksville,40.762305,-73.52297
+11803,NY,Plainview,40.778099,-73.481638
+11804,NY,Old Bethpage,40.764991,-73.457481
+11901,NY,Riverhead,40.926202,-72.651966
+11933,NY,Calverton,40.929662,-72.74229
+11934,NY,Center Moriches,40.799657,-72.797048
+11935,NY,Cutchogue,41.013918,-72.480255
+11937,NY,East Hampton,40.992964,-72.178958
+11939,NY,East Marion,41.126425,-72.34186
+11940,NY,East Moriches,40.808975,-72.753778
+11941,NY,Eastport,40.809947,-72.705388
+11942,NY,East Quogue,40.84277,-72.581297
+11944,NY,Greenport,41.103905,-72.367415
+11946,NY,Hampton Bays,40.872596,-72.520209
+11948,NY,Laurel,40.9674,-72.55404
+11949,NY,Manorville,40.842102,-72.800208
+11950,NY,Mastic,40.80644,-72.856608
+11951,NY,Mastic Beach,40.765653,-72.853701
+11952,NY,Mattituck,40.994336,-72.536296
+11953,NY,Middle Island,40.878212,-72.952539
+11954,NY,Montauk,41.045853,-71.943963
+11955,NY,Moriches,40.809502,-72.822918
+11957,NY,Orient,41.143741,-72.287894
+11961,NY,Ridge,40.901846,-72.888135
+11963,NY,Sag Harbor,40.981996,-72.30674
+11964,NY,Shelter Island,41.064046,-72.336616
+11965,NY,Shelter Island H,41.074205,-72.348082
+11967,NY,Shirley,40.743932,-72.876043
+11968,NY,Southampton,40.904341,-72.410271
+11971,NY,Southold,41.05555,-72.429039
+11976,NY,Water Mill,40.920929,-72.349069
+11977,NY,Westhampton,40.818031,-72.669931
+11978,NY,Westhampton Beac,40.822783,-72.644757
+11980,NY,Yaphank,40.837037,-72.917435
+12007,NY,Alcove,42.453818,-74.034721
+12008,NY,Alplaus,42.857329,-73.900188
+12009,NY,Altamont,42.70627,-74.019339
+12010,NY,West Charlton,42.948822,-74.18393
+12015,NY,Athens,42.2736,-73.815175
+12017,NY,Austerlitz,42.322272,-73.454965
+12018,NY,Averill Park,42.636511,-73.550437
+12019,NY,Ballston Lake,42.919176,-73.855171
+12020,NY,Ballston Spa,43.004956,-73.84858
+12022,NY,Berlin,42.691893,-73.370186
+12023,NY,Berne,42.610848,-74.146577
+12024,NY,Brainard,42.405101,-73.615874
+12025,NY,Broadalbin,43.072687,-74.168367
+12027,NY,Burnt Hills,42.932902,-73.896043
+12028,NY,Buskirk,42.960134,-73.449677
+12029,NY,Canaan,42.413168,-73.415889
+12031,NY,Carlisle,42.749754,-74.456284
+12032,NY,Caroga Lake,43.192159,-74.516915
+12033,NY,Castleton On Hud,42.538243,-73.709529
+12035,NY,Central Bridge,42.73696,-74.345107
+12036,NY,Charlotteville,42.533034,-74.681863
+12037,NY,Chatham,42.349578,-73.587281
+12041,NY,Clarksville,42.566974,-73.968775
+12042,NY,Climax,42.370808,-73.862459
+12043,NY,Cobleskill,42.684047,-74.493866
+12046,NY,Coeymans Hollow,42.486537,-73.920588
+12047,NY,Cohoes,42.775362,-73.712356
+12051,NY,Coxsackie,42.350142,-73.819881
+12052,NY,Cropseyville,42.766718,-73.471869
+12053,NY,Delanson,42.74802,-74.18681
+12054,NY,Delmar,42.61579,-73.837329
+12055,NY,Dormansville,42.437859,-74.198966
+12056,NY,Duanesburg,42.770839,-74.083911
+12057,NY,White Creek,42.961527,-73.351974
+12058,NY,Earlton,42.352689,-73.906222
+12059,NY,East Berne,42.61913,-74.055488
+12060,NY,East Chatham,42.433028,-73.49026
+12061,NY,East Greenbush,42.595096,-73.682644
+12062,NY,East Nassau,42.535215,-73.498407
+12064,NY,East Worcester,42.621423,-74.676348
+12065,NY,Clifton Park,42.849865,-73.785094
+12066,NY,Esperance,42.771677,-74.288246
+12067,NY,Feura Bush,42.554998,-73.923743
+12068,NY,Fonda,42.957078,-74.402129
+12070,NY,Fort Johnson,42.976535,-74.248436
+12071,NY,Fultonham,42.585914,-74.38759
+12072,NY,Fultonville,42.903601,-74.359765
+12074,NY,Galway,43.021693,-74.029043
+12075,NY,Ghent,42.303637,-73.64864
+12076,NY,Gilboa,42.410835,-74.400275
+12077,NY,Glenmont,42.597147,-73.795884
+12078,NY,Gloversville,43.061603,-74.337526
+12083,NY,Greenville,42.411342,-74.022222
+12084,NY,Guilderland,42.697273,-73.897454
+12086,NY,Hagaman,42.959715,-74.166764
+12087,NY,Hannacroix,42.428533,-73.868029
+12090,NY,Hoosick Falls,42.893712,-73.358105
+12092,NY,Howes Cave,42.704526,-74.364825
+12093,NY,Jefferson,42.499869,-74.611744
+12094,NY,Johnsonville,42.876875,-73.498899
+12095,NY,Johnstown,43.006923,-74.37149
+12106,NY,Kinderhook,42.376675,-73.718259
+12108,NY,Lake Pleasant,43.472543,-74.422563
+12110,NY,Latham,42.74616,-73.762985
+12113,NY,Lawyersville,42.692682,-74.506969
+12115,NY,Malden Bridge,42.460201,-73.587958
+12116,NY,Maryland,42.537075,-74.903033
+12117,NY,Mayfield,43.141133,-74.244397
+12118,NY,Mechanicville,42.967613,-73.673173
+12120,NY,Medusa,42.451504,-74.131524
+12121,NY,Melrose,42.841163,-73.607667
+12122,NY,Middleburgh,42.563734,-74.329168
+12123,NY,Nassau,42.527141,-73.611753
+12125,NY,New Lebanon,42.475865,-73.377295
+12130,NY,Niverville,42.927575,-73.485614
+12131,NY,North Blenheim,42.489938,-74.428174
+12134,NY,Edinburg,43.237126,-74.168361
+12135,NY,Norton Hill,42.420014,-74.078945
+12136,NY,Old Chatham,42.435692,-73.55447
+12137,NY,Pattersonville,42.84995,-74.123126
+12138,NY,Taconic Lake,42.736367,-73.371033
+12139,NY,Piseco,43.448125,-74.526282
+12140,NY,Poestenkill,42.679548,-73.588846
+12143,NY,Ravena,42.475371,-73.821991
+12144,NY,Rensselaer,42.635855,-73.721895
+12147,NY,Rensselaerville,42.513288,-74.147431
+12148,NY,Rexford,42.852411,-73.8701
+12149,NY,Richmondville,42.642445,-74.571001
+12150,NY,Rotterdam Juncti,42.87296,-74.046857
+12151,NY,Round Lake,42.925994,-73.770127
+12153,NY,Sand Lake,42.637912,-73.498949
+12154,NY,Schaghticoke,42.914356,-73.615428
+12155,NY,Schenevus,42.59004,-74.814863
+12156,NY,Schodack Landing,42.481644,-73.747996
+12157,NY,Schoharie,42.661503,-74.30473
+12158,NY,Selkirk,42.54861,-73.812863
+12159,NY,Slingerlands,42.648461,-73.871065
+12160,NY,Sloansville,42.759852,-74.364174
+12164,NY,Speculator,43.504159,-74.36667
+12165,NY,Spencertown,42.30908,-73.500754
+12166,NY,Sprakers,42.848446,-74.453558
+12167,NY,Stamford,42.417409,-74.609831
+12168,NY,Stephentown,42.523323,-73.422447
+12169,NY,Stephentown,42.556224,-73.374964
+12170,NY,Stillwater,42.905652,-73.697163
+12173,NY,Stuyvesant,42.359572,-73.761329
+12175,NY,Summit,42.587122,-74.574952
+12176,NY,Surprise,42.361171,-73.951541
+12180,NY,Troy,42.728748,-73.668263
+12182,NY,Troy,42.782921,-73.664806
+12183,NY,Green Island,42.743812,-73.693707
+12184,NY,Valatie,42.432051,-73.668322
+12185,NY,Valley Falls,42.885458,-73.543674
+12186,NY,Voorheesville,42.643108,-73.944773
+12187,NY,Warnerville,42.638826,-74.487046
+12188,NY,Waterford,42.809957,-73.699481
+12189,NY,Watervliet,42.729843,-73.712342
+12190,NY,Wells,43.401219,-74.288583
+12192,NY,West Coxsackie,42.415055,-73.817033
+12193,NY,Westerlo,42.515621,-74.039383
+12194,NY,West Fulton,42.550615,-74.463105
+12196,NY,West Sand Lake,42.637969,-73.610896
+12197,NY,Worcester,42.604889,-74.72992
+12198,NY,Wynantskill,42.687785,-73.63826
+12202,NY,Albany,42.641314,-73.764071
+12203,NY,Mc Kownville,42.676757,-73.821988
+12204,NY,Albany,42.684667,-73.735364
+12205,NY,Roessleville,42.713116,-73.820174
+12206,NY,Albany,42.668326,-73.774406
+12207,NY,Albany,42.658133,-73.752327
+12208,NY,Albany,42.655989,-73.796357
+12209,NY,Albany,42.641665,-73.785385
+12210,NY,Albany,42.65677,-73.76052
+12211,NY,Loudonville,42.704693,-73.769982
+12302,NY,Mayfair,42.858839,-73.955051
+12303,NY,Rotterdam,42.769645,-73.938776
+12304,NY,Schenectady,42.784083,-73.909432
+12305,NY,Schenectady,42.816131,-73.939786
+12306,NY,Schenectady,42.790384,-73.980876
+12307,NY,Schenectady,42.804653,-73.936349
+12308,NY,Schenectady,42.817928,-73.920591
+12309,NY,Niskayuna,42.796168,-73.878268
+12401,NY,Eddyville,41.930126,-74.023575
+12404,NY,Accord,41.808308,-74.235336
+12405,NY,Acra,42.330367,-74.085723
+12406,NY,Arkville,42.082262,-74.554453
+12407,NY,Ashland,42.237174,-74.307925
+12409,NY,Shady,42.041991,-74.171298
+12410,NY,Oliverea,42.143884,-74.446655
+12411,NY,Bloomington,41.856165,-74.066889
+12412,NY,Boiceville,42.004761,-74.265808
+12413,NY,Cairo,42.30965,-74.01154
+12414,NY,Catskill,42.227598,-73.898536
+12416,NY,Chichester,42.087965,-74.281565
+12418,NY,Cornwallville,42.362874,-74.163092
+12419,NY,Cottekill,41.846706,-74.103774
+12421,NY,Denver,42.252204,-74.540654
+12422,NY,Durham,42.402037,-74.184926
+12423,NY,East Durham,42.385978,-74.11169
+12424,NY,East Jewett,42.280567,-74.207981
+12427,NY,Elka Park,42.164309,-74.124539
+12428,NY,Ellenville,41.721805,-74.414125
+12430,NY,Halcott Center,42.178765,-74.531908
+12431,NY,Freehold,42.3815,-74.062266
+12433,NY,Glenford,42.005342,-74.153154
+12434,NY,Grand Gorge,42.387358,-74.531173
+12435,NY,Greenfield Park,41.728133,-74.520074
+12439,NY,East Windham,42.259032,-74.213063
+12440,NY,High Falls,41.816749,-74.131122
+12442,NY,Hunter,42.237316,-74.203753
+12443,NY,Hurley,41.932743,-74.06873
+12444,NY,Jewett,42.269383,-74.279274
+12446,NY,Kerhonkson,41.793866,-74.303457
+12448,NY,Lake Hill,42.073271,-74.212338
+12449,NY,Lake Katrine,41.991787,-73.992379
+12450,NY,Lanesville,42.189149,-74.19715
+12451,NY,Leeds,42.304506,-73.945726
+12454,NY,Maplecrest,42.299485,-74.165522
+12455,NY,Kelly Corners,42.163702,-74.648853
+12456,NY,Mount Marion,42.035704,-74.000211
+12457,NY,Mount Tremper,42.043545,-74.248481
+12458,NY,Napanoch,41.758965,-74.380354
+12460,NY,Oak Hill,42.406902,-74.152832
+12461,NY,Krumville,41.895906,-74.246954
+12462,NY,12462,42.026764,-74.444263
+12463,NY,Palenville,42.17294,-74.016674
+12464,NY,Phoenicia,42.054426,-74.339328
+12465,NY,Pine Hill,42.133974,-74.487562
+12466,NY,Port Ewen,41.913113,-73.987161
+12468,NY,Prattsville,42.297904,-74.389502
+12469,NY,Preston Hollow,42.456348,-74.24199
+12470,NY,Purling,42.275497,-74.01138
+12472,NY,Rosendale,41.840248,-74.072999
+12473,NY,Round Top,42.267782,-74.052279
+12474,NY,Roxbury,42.311688,-74.540519
+12477,NY,Saugerties,42.07376,-73.979684
+12480,NY,Shandaken,42.108353,-74.409084
+12481,NY,Shokan,41.976678,-74.211943
+12482,NY,South Cairo,42.27338,-73.963982
+12484,NY,Stone Ridge,41.861562,-74.169748
+12485,NY,Tannersville,42.203179,-74.101441
+12486,NY,Tillson,41.816279,-74.072219
+12487,NY,Ulster Park,41.865109,-73.994843
+12491,NY,West Hurley,41.990816,-74.115232
+12492,NY,West Kill,42.204584,-74.361994
+12494,NY,West Shokan,41.955478,-74.285117
+12495,NY,Willow,42.092318,-74.202537
+12496,NY,Windham,42.317465,-74.262017
+12498,NY,Woodstock,42.034793,-74.111974
+12501,NY,Amenia,41.844695,-73.554158
+12502,NY,Ancram,42.085093,-73.642368
+12503,NY,Ancramdale,42.038103,-73.58187
+12507,NY,Barrytown,42.0006,-73.921484
+12508,NY,Beacon,41.509681,-73.963384
+12513,NY,Claverack,42.2183,-73.722844
+12514,NY,Clinton Corners,41.869262,-73.765867
+12515,NY,Clintondale,41.674939,-74.055713
+12516,NY,Copake,42.111329,-73.552588
+12517,NY,Copake Falls,42.136737,-73.510773
+12518,NY,Cornwall,41.430944,-74.053877
+12520,NY,Cornwall On Huds,41.443031,-74.016411
+12521,NY,Craryville,42.175961,-73.657128
+12522,NY,Dover Plains,41.735054,-73.587024
+12523,NY,Elizaville,42.090173,-73.781814
+12524,NY,Fishkill,41.540352,-73.89791
+12525,NY,Gardiner,41.657615,-74.167155
+12526,NY,Germantown,42.1219,-73.862451
+12528,NY,Highland,41.716691,-73.992825
+12529,NY,Hillsdale,42.186816,-73.548306
+12531,NY,Holmes,41.532461,-73.662751
+12533,NY,Hopewell Junctio,41.576639,-73.797581
+12534,NY,Hudson,42.246978,-73.755248
+12538,NY,Hyde Park,41.788724,-73.906347
+12540,NY,Lagrangeville,41.661471,-73.744955
+12542,NY,Marlboro,41.605612,-73.988017
+12543,NY,Maybrook,41.48865,-74.216312
+12545,NY,Millbrook,41.780334,-73.688491
+12546,NY,Millerton,41.953623,-73.528709
+12547,NY,Milton,41.653487,-73.977194
+12548,NY,Modena,41.650347,-74.103578
+12549,NY,Montgomery,41.53332,-74.253417
+12550,NY,Middle Hope,41.517833,-74.03598
+12553,NY,New Windsor,41.472374,-74.056596
+12561,NY,Mohonk Lake,41.743346,-74.083875
+12563,NY,Patterson,41.488761,-73.58149
+12564,NY,Pawling,41.574893,-73.594847
+12566,NY,Pine Bush,41.617758,-74.326311
+12567,NY,Pine Plains,41.989569,-73.660227
+12569,NY,Pleasant Valley,41.747032,-73.814276
+12570,NY,Poughquag,41.61936,-73.678328
+12571,NY,Red Hook,42.006439,-73.854577
+12572,NY,Rhinebeck,41.927206,-73.888754
+12575,NY,Rock Tavern,41.457523,-74.16588
+12577,NY,Salisbury Mills,41.449714,-74.121378
+12578,NY,Salt Point,41.805041,-73.801329
+12580,NY,Staatsburg,41.850193,-73.898838
+12581,NY,Stanfordville,41.887726,-73.694467
+12582,NY,Stormville,41.551193,-73.725548
+12583,NY,Tivoli,42.057945,-73.902514
+12585,NY,Verbank,41.722664,-73.71841
+12586,NY,Walden,41.559631,-74.176395
+12589,NY,Wallkill,41.615952,-74.143853
+12590,NY,New Hamburg,41.592199,-73.890588
+12592,NY,Wassaic,41.775884,-73.554382
+12594,NY,Wingdale,41.653824,-73.555621
+12601,NY,South Road,41.702082,-73.9218
+12603,NY,Arlington,41.676775,-73.885217
+12701,NY,Monticello,41.65158,-74.700748
+12719,NY,Barryville,41.491162,-74.915234
+12720,NY,Bethel,41.669326,-74.893984
+12721,NY,Bloomingburg,41.564427,-74.430351
+12723,NY,Callicoon,41.7754,-75.025688
+12725,NY,Claryville,41.965666,-74.529287
+12726,NY,Fosterdale,41.698208,-74.980687
+12727,NY,Cochecton Center,41.645776,-74.977116
+12729,NY,Cuddebackville,41.477601,-74.597564
+12732,NY,Eldred,41.532793,-74.896769
+12733,NY,Fallsburg,41.7273,-74.615409
+12734,NY,Grossinger,41.730029,-74.754873
+12736,NY,Fremont Center,41.847134,-75.029635
+12737,NY,Glen Spey,41.48576,-74.799493
+12738,NY,Glen Wild,41.654536,-74.583289
+12739,NY,Godeffroy,41.442347,-74.605716
+12740,NY,Grahamsville,41.880659,-74.512697
+12741,NY,Mileses,41.831288,-75.099809
+12742,NY,Harris,41.714055,-74.7218
+12743,NY,Highland Lake,41.530925,-74.851615
+12745,NY,Hortonville,41.78568,-75.026329
+12746,NY,Huguenot,41.437162,-74.64261
+12747,NY,Hurleyville,41.760882,-74.65344
+12748,NY,Jeffersonville,41.778394,-74.919574
+12750,NY,Kenoza Lake,41.777802,-74.935384
+12751,NY,Kiamesha Lake,41.683825,-74.672402
+12752,NY,Lake Huntington,41.678158,-74.994933
+12753,NY,Lew Beach,42.015762,-74.728835
+12754,NY,Liberty,41.79618,-74.748397
+12758,NY,Livingston Manor,41.87779,-74.827028
+12759,NY,Loch Sheldrake,41.778899,-74.661406
+12760,NY,Long Eddy,41.864359,-75.094157
+12762,NY,Mongaup Valley,41.681017,-74.802772
+12763,NY,Mountain Dale,41.691763,-74.535762
+12764,NY,Narrowsburg,41.592108,-75.010687
+12765,NY,Neversink,41.849205,-74.612726
+12766,NY,North Branch,41.814184,-74.982388
+12768,NY,Parksville,41.851686,-74.735933
+12770,NY,Pond Eddy,41.451068,-74.841029
+12771,NY,Port Jervis,41.378557,-74.669097
+12775,NY,Rock Hill,41.613351,-74.587223
+12776,NY,Cook Falls,41.945774,-74.923704
+12777,NY,Forestburgh,41.569093,-74.724087
+12779,NY,South Fallsburg,41.704192,-74.644401
+12780,NY,Sparrowbush,41.435886,-74.723647
+12782,NY,Sundown,41.823822,-74.550838
+12783,NY,Swan Lake,41.728479,-74.834092
+12786,NY,White Lake,41.648498,-74.865437
+12787,NY,White Sulphur Sp,41.790042,-74.828065
+12788,NY,Woodbourne,41.770807,-74.592828
+12789,NY,Woodridge,41.716955,-74.581518
+12790,NY,Wurtsboro,41.587667,-74.503891
+12791,NY,Youngsville,41.803238,-74.888776
+12792,NY,Yulan,41.538378,-74.926224
+12801,NY,Queensbury,43.312539,-73.648816
+12803,NY,South Glens Fall,43.283911,-73.637947
+12804,NY,Queensbury,43.328983,-73.681846
+12808,NY,Adirondack,43.716479,-73.782486
+12809,NY,Argyle,43.238084,-73.464076
+12810,NY,Athol,43.483872,-73.881695
+12812,NY,Blue Mountain La,43.837499,-74.429831
+12814,NY,Bolton Landing,43.576641,-73.671392
+12815,NY,Brant Lake,43.698875,-73.720458
+12816,NY,Cambridge,43.046585,-73.381375
+12817,NY,Chestertown,43.645053,-73.806641
+12819,NY,Clemons,43.643544,-73.432613
+12821,NY,Comstock,43.456706,-73.360607
+12822,NY,Corinth,43.242569,-73.836901
+12823,NY,Cossayuna,43.175059,-73.41237
+12824,NY,Diamond Point,43.515553,-73.700123
+12826,NY,East Greenwich,43.157918,-73.392425
+12827,NY,Fort Ann,43.428457,-73.478381
+12828,NY,Fort Edward,43.265321,-73.582169
+12831,NY,Gansevoort,43.180343,-73.705267
+12832,NY,Granville,43.377562,-73.297825
+12833,NY,Greenfield Cente,43.122488,-73.860193
+12834,NY,Thomson,43.096183,-73.506658
+12835,NY,Hadley,43.301268,-73.949905
+12836,NY,Hague,43.74631,-73.528172
+12837,NY,Hampton,43.462135,-73.273072
+12838,NY,Hartford,43.349281,-73.404946
+12839,NY,Hudson Falls,43.314863,-73.574607
+12842,NY,Indian Lake,43.760594,-74.276638
+12843,NY,Johnsburg,43.634081,-74.021254
+12844,NY,Pilot Knob,43.515561,-73.629883
+12845,NY,Lake George,43.416725,-73.697547
+12846,NY,Lake Luzerne,43.316487,-73.822821
+12847,NY,Long Lake,43.947653,-74.466243
+12849,NY,Middle Granville,43.450773,-73.303077
+12850,NY,Middle Grove,43.097548,-74.016687
+12851,NY,Minerva,43.781058,-73.983542
+12852,NY,Newcomb,43.945991,-74.129911
+12853,NY,North Creek,43.713802,-73.892802
+12854,NY,North Granville,43.506212,-73.330114
+12855,NY,North Hudson,43.986872,-73.712065
+12857,NY,Olmstedville,43.779931,-73.933479
+12858,NY,Paradox,43.891382,-73.644956
+12859,NY,Porter Corners,43.172358,-73.883918
+12860,NY,Pottersville,43.692956,-73.756438
+12861,NY,Putnam Station,43.755976,-73.412299
+12863,NY,Rock City Falls,43.066248,-73.921523
+12865,NY,Salem,43.182785,-73.332703
+12866,NY,Wilton,43.080094,-73.780644
+12870,NY,Schroon Lake,43.841159,-73.767382
+12871,NY,Schuylerville,43.087778,-73.60068
+12872,NY,Severance,43.876903,-73.730127
+12873,NY,Shushan,43.110575,-73.323148
+12874,NY,Silver Bay,43.697804,-73.507062
+12878,NY,Stony Creek,43.421389,-73.949467
+12883,NY,Ticonderoga,43.846302,-73.442592
+12885,NY,Warrensburg,43.500253,-73.792021
+12886,NY,Wevertown,43.64129,-73.930909
+12887,NY,Whitehall,43.5531,-73.386412
+12901,NY,Plattsburgh,44.692715,-73.465969
+12910,NY,Altona,44.881584,-73.640767
+12911,NY,Au Sable Chasm,44.521594,-73.508976
+12912,NY,Au Sable Forks,44.44994,-73.685672
+12913,NY,Bloomingdale,44.398477,-74.08293
+12914,NY,Bombay,44.947861,-74.594737
+12916,NY,Brushton,44.828212,-74.522274
+12917,NY,Burke,44.917722,-74.173116
+12918,NY,Cadyville,44.686473,-73.670242
+12919,NY,Champlain,44.977292,-73.446603
+12920,NY,Chateaugay,44.908768,-74.074098
+12921,NY,Chazy,44.888379,-73.450076
+12922,NY,Childwold,44.286715,-74.675878
+12923,NY,Churubusco,44.943232,-73.935484
+12924,NY,Keeseville,44.504814,-73.567971
+12926,NY,Constable,44.941688,-74.329713
+12928,NY,Crown Point,43.952633,-73.466486
+12930,NY,Dickinson Center,44.723328,-74.552346
+12932,NY,Elizabethtown,44.224518,-73.601131
+12934,NY,Ellenburg Center,44.844353,-73.868546
+12935,NY,Ellenburg Depot,44.916266,-73.787572
+12936,NY,Essex,44.280695,-73.373147
+12937,NY,Fort Covington,44.973096,-74.492879
+12938,NY,Nicholville,44.638703,-74.536471
+12941,NY,Jay,44.373351,-73.724702
+12942,NY,Keene,44.25548,-73.791457
+12943,NY,Saint Huberts,44.177978,-73.795923
+12944,NY,Keeseville,44.499933,-73.474538
+12945,NY,Upper Saint Regi,44.359392,-74.243336
+12946,NY,North Pole,44.274986,-73.986354
+12949,NY,Lawrenceville,44.758988,-74.662927
+12950,NY,Lewis,44.307507,-73.549129
+12952,NY,Lyon Mountain,44.725491,-73.919452
+12953,NY,Malone,44.848164,-74.292808
+12955,NY,Merrill,44.799364,-73.977832
+12956,NY,Mineville,44.087631,-73.523588
+12957,NY,Moira,44.850412,-74.560273
+12958,NY,Mooers,44.959244,-73.583413
+12959,NY,Mooers Forks,44.960232,-73.672967
+12960,NY,Moriah,44.043755,-73.507862
+12961,NY,Moriah Center,44.066197,-73.511071
+12962,NY,Morrisonville,44.68936,-73.577168
+12964,NY,New Russia,44.159532,-73.605881
+12965,NY,Nicholville,44.708182,-74.653379
+12966,NY,Bangor,44.829997,-74.413369
+12967,NY,North Lawrence,44.774982,-74.665307
+12968,NY,Onchiota,44.458163,-74.170991
+12969,NY,Owls Head,44.730791,-74.134173
+12970,NY,Paul Smiths,44.444967,-74.266432
+12972,NY,Peru,44.585109,-73.529322
+12973,NY,Piercefield,44.234037,-74.573228
+12974,NY,Port Henry,44.04645,-73.470542
+12978,NY,Redford,44.606926,-73.801948
+12979,NY,Rouses Point,44.988413,-73.369083
+12980,NY,Saint Regis Fall,44.677298,-74.66032
+12981,NY,Saranac,44.703168,-73.748135
+12983,NY,Saranac Lake,44.324331,-74.132951
+12985,NY,Schuyler Falls,44.588224,-73.689481
+12986,NY,Sunmount,44.228461,-74.463172
+12987,NY,Upper Jay,44.325586,-73.807864
+12989,NY,Vermontville,44.460134,-74.057278
+12992,NY,West Chazy,44.796967,-73.511188
+12993,NY,Westport,44.204983,-73.470223
+12994,NY,Whallonsburg,44.292637,-73.432205
+12996,NY,Willsboro,44.360396,-73.396292
+12997,NY,Wilmington,44.387976,-73.816553
+13021,NY,Auburn,42.929958,-76.562605
+13026,NY,Aurora,42.747231,-76.67749
+13027,NY,Baldwinsville,43.162039,-76.323718
+13028,NY,Bernhards Bay,43.271722,-75.937299
+13029,NY,Brewerton,43.225194,-76.135132
+13030,NY,Bridgeport,43.159015,-75.970009
+13031,NY,Camillus,43.041651,-76.280728
+13032,NY,Canastota,43.087764,-75.760197
+13033,NY,Cato,43.179443,-76.564791
+13034,NY,Cayuga,42.914198,-76.702402
+13035,NY,Cazenovia,42.937955,-75.839229
+13036,NY,Central Square,43.308986,-76.184852
+13037,NY,Chittenango,43.05524,-75.87684
+13039,NY,Cicero,43.170693,-76.096185
+13040,NY,Cincinnatus,42.538539,-75.903029
+13041,NY,Clay,43.173734,-76.170748
+13042,NY,Cleveland,43.243199,-75.853691
+13044,NY,Constantia,43.272751,-76.004155
+13045,NY,Cortland,42.595175,-76.185675
+13050,NY,Cuyler,42.740571,-75.938367
+13052,NY,De Ruyter,42.749444,-75.858226
+13053,NY,Dryden,42.486118,-76.287224
+13054,NY,Durhamville,43.157912,-75.671409
+13055,NY,East Freetown,42.579845,-75.998924
+13057,NY,East Syracuse,43.073359,-76.05578
+13060,NY,Elbridge,43.025246,-76.435164
+13061,NY,Erieville,42.856166,-75.754255
+13063,NY,Fabius,42.853117,-75.983645
+13066,NY,Fayetteville,43.026774,-76.014503
+13068,NY,Freeville,42.499768,-76.363622
+13069,NY,Fulton,43.321108,-76.40342
+13071,NY,Genoa,42.674624,-76.541755
+13072,NY,Georgetown,42.763059,-75.744279
+13073,NY,Groton,42.58549,-76.363286
+13074,NY,Hannibal,43.311115,-76.546034
+13076,NY,Hastings,43.35268,-76.147708
+13077,NY,Homer,42.672586,-76.18783
+13078,NY,Jamesville,42.982973,-76.076571
+13080,NY,Jordan,43.065141,-76.45978
+13081,NY,King Ferry,42.66351,-76.621603
+13082,NY,Kirkville,43.098095,-75.955003
+13083,NY,Lacona,43.642883,-76.050335
+13084,NY,La Fayette,42.890959,-76.106116
+13085,NY,Lebanon,42.77451,-75.677585
+13088,NY,Liverpool,43.109925,-76.186999
+13090,NY,Bayberry,43.148048,-76.223269
+13092,NY,Locke,42.655789,-76.415436
+13101,NY,Mc Graw,42.594758,-76.081958
+13103,NY,Mallory,43.33782,-76.089208
+13104,NY,Manlius,42.990441,-75.970345
+13108,NY,Marcellus,42.982056,-76.33228
+13110,NY,Marietta,42.897441,-76.28055
+13111,NY,Martville,43.26608,-76.628936
+13112,NY,Memphis,43.093438,-76.40301
+13114,NY,Mexico,43.460533,-76.244588
+13116,NY,Minoa,43.077212,-76.009812
+13118,NY,Moravia,42.735456,-76.39898
+13120,NY,Nedrow,42.955855,-76.152932
+13122,NY,New Woodstock,42.844135,-75.863526
+13124,NY,North Pitcher,42.637243,-75.816359
+13126,NY,Oswego,43.443836,-76.497489
+13131,NY,Parish,43.415295,-76.100023
+13132,NY,Pennellville,43.260946,-76.239466
+13135,NY,Phoenix,43.24679,-76.306449
+13136,NY,Pitcher,42.596941,-75.846464
+13140,NY,Port Byron,43.042653,-76.644919
+13141,NY,Preble,42.79501,-76.214105
+13142,NY,Pulaski,43.55617,-76.125231
+13143,NY,Red Creek,43.229068,-76.714556
+13144,NY,Richland,43.577578,-76.002918
+13145,NY,Sandy Creek,43.651681,-76.126439
+13146,NY,Savannah,43.093439,-76.75647
+13147,NY,Venice Center,42.778472,-76.574175
+13148,NY,Seneca Falls,42.909377,-76.792538
+13152,NY,Skaneateles,42.925751,-76.405174
+13155,NY,South Otselic,42.66256,-75.766919
+13156,NY,Sterling,43.329578,-76.674731
+13158,NY,Truxton,42.708547,-76.018946
+13159,NY,Tully,42.806977,-76.13936
+13160,NY,Union Springs,42.833546,-76.673959
+13164,NY,Warners,43.09317,-76.290413
+13165,NY,Waterloo,42.904515,-76.875498
+13166,NY,Weedsport,43.048882,-76.542502
+13167,NY,West Monroe,43.288235,-76.079747
+13202,NY,Syracuse,43.040988,-76.148856
+13203,NY,Syracuse,43.060703,-76.136931
+13204,NY,Syracuse,43.044398,-76.175767
+13205,NY,Syracuse,43.012314,-76.14518
+13206,NY,Syracuse,43.06773,-76.110226
+13207,NY,Syracuse,43.019482,-76.16501
+13208,NY,Syracuse,43.073007,-76.148616
+13209,NY,Solvay,43.078204,-76.238448
+13210,NY,Syracuse,43.035414,-76.128166
+13211,NY,Mattydale,43.09951,-76.142181
+13212,NY,North Syracuse,43.130623,-76.137295
+13214,NY,De Witt,43.042529,-76.07844
+13215,NY,Onondaga,42.997544,-76.211851
+13219,NY,Syracuse,43.040943,-76.226159
+13224,NY,Syracuse,43.042134,-76.104609
+13301,NY,Alder Creek,43.415659,-75.213748
+13302,NY,Altmar,43.497022,-75.971934
+13303,NY,Ava,43.344519,-75.450919
+13304,NY,Barneveld,43.223697,-75.161156
+13308,NY,Blossvale,43.230293,-75.687313
+13309,NY,Boonville,43.478615,-75.343973
+13310,NY,Bouckville,42.894024,-75.567841
+13314,NY,Brookfield,42.807538,-75.343859
+13315,NY,Burlington Flats,42.75162,-75.169044
+13316,NY,Camden,43.339197,-75.754258
+13317,NY,Ames,42.88239,-74.583522
+13318,NY,Cassville,42.906931,-75.260704
+13319,NY,Chadwicks,43.022563,-75.265645
+13320,NY,Cherry Valley,42.782315,-74.744439
+13322,NY,Clayville,42.97119,-75.206126
+13323,NY,Clinton,43.05856,-75.38079
+13324,NY,Cold Brook,43.302391,-74.997651
+13325,NY,Constableville,43.562982,-75.458406
+13326,NY,Cooperstown,42.70319,-74.918148
+13327,NY,Croghan,43.909461,-75.354192
+13328,NY,Deansboro,42.981788,-75.438309
+13329,NY,Dolgeville,43.104161,-74.764305
+13331,NY,Eagle Bay,43.723659,-74.965381
+13332,NY,Earlville,42.752218,-75.541653
+13333,NY,East Springfield,42.832947,-74.759741
+13334,NY,Eaton,42.848417,-75.631359
+13335,NY,Edmeston,42.730281,-75.252522
+13337,NY,Fly Creek,42.725177,-74.986921
+13338,NY,Forestport,43.473651,-75.178742
+13339,NY,Fort Plain,42.937158,-74.643298
+13340,NY,Frankfort,43.044041,-75.107155
+13342,NY,Garrattsville,42.635634,-75.232701
+13343,NY,Glenfield,43.732306,-75.366902
+13345,NY,Greig,43.689184,-75.312393
+13346,NY,Hamilton,42.82306,-75.543382
+13348,NY,Hartwick,42.695033,-75.055009
+13350,NY,Herkimer,43.030696,-74.98757
+13353,NY,Hoffmeister,43.391545,-74.739974
+13354,NY,Holland Patent,43.248406,-75.253506
+13355,NY,Hubbardsville,42.823663,-75.436707
+13357,NY,Ilion,43.006391,-75.04836
+13360,NY,Inlet,43.748024,-74.784631
+13361,NY,Jordanville,42.89478,-74.820919
+13363,NY,Lee Center,43.314804,-75.505532
+13365,NY,Little Falls,43.047371,-74.860598
+13367,NY,Beaver River,43.801055,-75.475378
+13368,NY,Lyons Falls,43.626165,-75.355312
+13401,NY,Mc Connellsville,43.289552,-75.652477
+13402,NY,Madison,42.896854,-75.507562
+13403,NY,Marcy,43.163926,-75.278335
+13406,NY,Middleville,43.136933,-74.923978
+13407,NY,Mohawk,42.989986,-74.985298
+13408,NY,Morrisville,42.910805,-75.648656
+13409,NY,Munnsville,42.986326,-75.594032
+13411,NY,New Berlin,42.622414,-75.347406
+13413,NY,New Hartford,43.065412,-75.290551
+13415,NY,New Lisbon,42.578968,-75.327436
+13416,NY,Newport,43.180002,-74.986133
+13417,NY,New York Mills,43.100038,-75.29369
+13418,NY,North Brookfield,42.850088,-75.381489
+13420,NY,Old Forge,43.74347,-74.893511
+13421,NY,Oneida,43.086248,-75.650814
+13424,NY,Oriskany,43.152427,-75.343437
+13425,NY,Oriskany Falls,42.957585,-75.483807
+13428,NY,Palatine Bridge,42.922119,-74.570825
+13431,NY,Poland,43.211458,-75.07313
+13433,NY,Port Leyden,43.580245,-75.326257
+13436,NY,Raquette Lake,43.866224,-74.537959
+13437,NY,Redfield,43.565794,-75.82423
+13438,NY,Remsen,43.338456,-75.161618
+13439,NY,Richfield Spring,42.850298,-74.992214
+13440,NY,Rome,43.219349,-75.449758
+13450,NY,Roseboom,42.788246,-74.74161
+13452,NY,Saint Johnsville,43.016995,-74.64604
+13454,NY,Salisbury Center,43.162509,-74.780932
+13456,NY,Sauquoit,43.007291,-75.26259
+13459,NY,Sharon Springs,42.763357,-74.591911
+13460,NY,Sherburne,42.685885,-75.483027
+13461,NY,Sherrill,43.070397,-75.598975
+13464,NY,Smyrna,42.689565,-75.612124
+13466,NY,South Edmeston,42.676754,-75.262919
+13468,NY,Springfield Cent,42.850106,-74.938051
+13469,NY,Stittville,43.222889,-75.289854
+13470,NY,Stratford,43.179101,-74.676786
+13471,NY,Taberg,43.336571,-75.602706
+13473,NY,Turin,43.644074,-75.413199
+13475,NY,Van Hornesville,42.894812,-74.834662
+13476,NY,Vernon,43.094509,-75.56272
+13477,NY,Vernon Center,43.044309,-75.521028
+13478,NY,Verona,43.147311,-75.572399
+13480,NY,Waterville,42.933244,-75.381466
+13482,NY,West Burlington,42.706229,-75.190603
+13483,NY,Westdale,43.411671,-75.822587
+13485,NY,West Edmeston,42.794543,-75.303723
+13486,NY,Westernville,43.329413,-75.315118
+13488,NY,Westford,42.503512,-75.100378
+13489,NY,West Leyden,43.459713,-75.512707
+13490,NY,Westmoreland,43.101686,-75.453259
+13491,NY,West Winfield,42.882566,-75.183491
+13492,NY,Whitesboro,43.115805,-75.309479
+13493,NY,Williamstown,43.410559,-75.904411
+13494,NY,Woodgate,43.54881,-75.119111
+13495,NY,Yorkville,43.111582,-75.275565
+13501,NY,Utica,43.087112,-75.231463
+13502,NY,Utica,43.106723,-75.231383
+13601,NY,Watertown,43.974258,-75.912212
+13602,NY,Fort Drum,44.035434,-75.753972
+13603,NY,Fort Drum,44.072122,-75.791884
+13605,NY,Smithville,43.81614,-76.054302
+13606,NY,Adams Center,43.863106,-76.00415
+13607,NY,Point Vivian,44.326982,-75.930619
+13608,NY,Antwerp,44.235775,-75.600484
+13611,NY,Belleville,43.785373,-76.115053
+13612,NY,Black River,44.004156,-75.795777
+13613,NY,Brasher Falls,44.846718,-74.747303
+13614,NY,Brier Hill,44.552542,-75.672203
+13616,NY,Calcium,44.026484,-75.849884
+13617,NY,Canton,44.592442,-75.162792
+13618,NY,Cape Vincent,44.124419,-76.316443
+13619,NY,Carthage,43.981039,-75.616008
+13620,NY,Castorland,43.88432,-75.460432
+13621,NY,Chase Mills,44.867246,-75.073002
+13622,NY,Chaumont,44.08481,-76.123163
+13624,NY,Frontenac,44.217016,-76.107056
+13625,NY,Colton,44.50156,-74.932672
+13626,NY,Copenhagen,43.880136,-75.683913
+13630,NY,De Kalb Junction,44.489551,-75.287088
+13633,NY,De Peyster,44.541341,-75.432814
+13634,NY,Dexter,44.006923,-76.06499
+13635,NY,Edwards,44.311048,-75.252226
+13636,NY,Ellisburg,43.737202,-76.125871
+13637,NY,Evans Mills,44.081668,-75.830516
+13638,NY,Felts Mills,44.020374,-75.752443
+13642,NY,Gouverneur,44.328302,-75.465061
+13646,NY,Hammond,44.450155,-75.672749
+13648,NY,Harrisville,44.161294,-75.325151
+13650,NY,Henderson,43.846742,-76.235212
+13652,NY,Hermon,44.444845,-75.198664
+13654,NY,Heuvelton,44.593034,-75.420345
+13655,NY,Hogansburg,44.982511,-74.662649
+13656,NY,La Fargeville,44.198709,-75.956902
+13658,NY,Lisbon,44.718424,-75.269364
+13659,NY,Lorraine,43.756845,-75.905339
+13660,NY,Madrid,44.768978,-75.14134
+13661,NY,Mannsville,43.717905,-76.08203
+13662,NY,Massena,44.932411,-74.886205
+13665,NY,Natural Bridge,44.062982,-75.503883
+13666,NY,Newton Falls,44.198584,-74.98456
+13667,NY,Norfolk,44.84235,-74.957736
+13668,NY,Norwood,44.747193,-74.999188
+13669,NY,Ogdensburg,44.690203,-75.477403
+13670,NY,Oswegatchie,44.193328,-75.065947
+13672,NY,Parishville,44.592655,-74.794062
+13673,NY,Philadelphia,44.158896,-75.709917
+13675,NY,Plessis,44.277364,-75.849577
+13676,NY,Potsdam,44.659246,-74.968076
+13679,NY,Redwood,44.321077,-75.814975
+13680,NY,Rensselaer Falls,44.590635,-75.32261
+13681,NY,Richville,44.40454,-75.402455
+13682,NY,Rodman,43.862217,-75.871879
+13684,NY,Degrasse,44.380668,-75.113778
+13685,NY,Sackets Harbor,43.93983,-76.105039
+13687,NY,South Colton,44.504097,-74.860726
+13690,NY,Star Lake,44.157762,-75.033015
+13691,NY,Theresa,44.211288,-75.801419
+13693,NY,Three Mile Bay,44.055102,-76.26893
+13694,NY,Waddington,44.856373,-75.204887
+13695,NY,Wanakena,44.2184,-75.090765
+13696,NY,West Stockholm,44.728951,-74.891932
+13697,NY,Winthrop,44.758289,-74.806586
+13698,NY,Woodville,43.781245,-76.172002
+13730,NY,Afton,42.241737,-75.536604
+13731,NY,Andes,42.156925,-74.788726
+13732,NY,Apalachin,42.055579,-76.15194
+13733,NY,Bainbridge,42.311975,-75.489411
+13734,NY,Barton,42.069534,-76.398349
+13736,NY,Berkshire,42.307435,-76.192008
+13739,NY,Bloomville,42.352236,-74.807118
+13740,NY,Bovina Center,42.27094,-74.766112
+13743,NY,Candor,42.206274,-76.332196
+13744,NY,Castle Creek,42.256805,-75.908746
+13746,NY,Chenango Forks,42.263659,-75.824236
+13748,NY,Conklin,42.045429,-75.807624
+13750,NY,Davenport,42.471081,-74.835709
+13751,NY,Davenport Center,42.452303,-74.906975
+13752,NY,De Lancey,42.188984,-74.922899
+13753,NY,Meredith,42.287851,-74.922823
+13754,NY,Deposit,42.066581,-75.428745
+13755,NY,Downsville,42.071634,-75.015216
+13756,NY,East Branch,41.984366,-75.125189
+13757,NY,East Meredith,42.410098,-74.898699
+13760,NY,Endwell,42.114089,-76.056927
+13775,NY,Franklin,42.342117,-75.148475
+13776,NY,Gilbertsville,42.432951,-75.360929
+13777,NY,Glen Aubrey,42.257289,-75.980544
+13778,NY,Greene,42.337301,-75.75954
+13780,NY,Guilford,42.426901,-75.482318
+13782,NY,Hamden,42.17873,-74.998391
+13783,NY,Cadosia,41.959667,-75.265306
+13786,NY,Harpersfield,42.449901,-74.687059
+13787,NY,Harpursville,42.18232,-75.654538
+13788,NY,Hobart,42.359409,-74.675889
+13790,NY,Johnson City,42.126683,-75.968492
+13795,NY,Kirkwood,42.069463,-75.796711
+13796,NY,Laurens,42.538261,-75.127947
+13797,NY,Lisle,42.340923,-76.030237
+13801,NY,Mc Donough,42.506807,-75.762305
+13802,NY,Maine,42.196204,-76.059526
+13803,NY,Marathon,42.452725,-76.039526
+13804,NY,Masonville,42.262346,-75.215485
+13806,NY,Meridale,42.377987,-74.980258
+13807,NY,Milford,42.614801,-74.968498
+13808,NY,Morris,42.547807,-75.244764
+13809,NY,Mount Upton,42.408064,-75.400268
+13810,NY,Mount Vision,42.606763,-75.126366
+13811,NY,Newark Valley,42.228136,-76.16248
+13812,NY,Nichols,42.031961,-76.361039
+13813,NY,Nineveh,42.162481,-75.548409
+13815,NY,Norwich,42.54145,-75.527431
+13820,NY,Oneonta,42.462453,-75.049072
+13825,NY,Otego,42.41333,-75.207883
+13826,NY,Ouaquaga,42.119293,-75.647351
+13827,NY,Owego,42.113809,-76.252797
+13830,NY,Brisben,42.443375,-75.606256
+13832,NY,Plymouth,42.633592,-75.617163
+13833,NY,Sanitaria Spring,42.195735,-75.790978
+13834,NY,Portlandville,42.510303,-74.976059
+13835,NY,Richford,42.394521,-76.186501
+13838,NY,Sidney,42.307368,-75.3908
+13839,NY,Sidney Center,42.244085,-75.287057
+13841,NY,Smithville Flats,42.398894,-75.823719
+13842,NY,South Kortright,42.376994,-74.725901
+13843,NY,South New Berlin,42.530569,-75.35249
+13844,NY,South Plymouth,42.605254,-75.633
+13846,NY,Treadwell,42.362963,-75.058754
+13849,NY,Unadilla,42.325199,-75.336589
+13850,NY,Vestal,42.077106,-76.011757
+13856,NY,Walton,42.175647,-75.153177
+13859,NY,Wells Bridge,42.357973,-75.256565
+13861,NY,West Oneonta,42.453854,-75.095689
+13862,NY,Whitney Point,42.338449,-75.952231
+13863,NY,Willet,42.452044,-75.901434
+13864,NY,Willseyville,42.302915,-76.389721
+13865,NY,Windsor,42.074482,-75.672828
+13901,NY,Binghamton,42.146307,-75.886517
+13903,NY,Binghamton,42.081102,-75.897676
+13904,NY,Binghamton,42.11714,-75.865269
+13905,NY,Binghamton,42.115051,-75.930865
+14001,NY,Akron,43.024944,-78.508365
+14003,NY,Alabama,43.071888,-78.385231
+14004,NY,Alden,42.89839,-78.525707
+14005,NY,Alexander,42.915851,-78.25889
+14006,NY,Angola,42.636581,-79.049651
+14008,NY,Appleton,43.310535,-78.637217
+14009,NY,Arcade,42.562995,-78.413418
+14011,NY,Attica,42.849918,-78.279826
+14012,NY,Barker,43.336779,-78.542004
+14013,NY,Basom,43.080724,-78.395143
+14020,NY,Batavia,43.000316,-78.192869
+14024,NY,Bliss,42.579936,-78.258084
+14025,NY,Boston,42.631384,-78.73909
+14026,NY,Bowmansville,42.947826,-78.682961
+14028,NY,Burt,43.322089,-78.714097
+14030,NY,Chaffee,42.560492,-78.502543
+14031,NY,Clarence,42.980965,-78.616228
+14032,NY,Clarence Center,43.0362,-78.63903
+14033,NY,Colden,42.655052,-78.692078
+14034,NY,Collins,42.500082,-78.892974
+14036,NY,Corfu,42.977734,-78.392906
+14037,NY,Cowlesville,42.811245,-78.448136
+14039,NY,Dale,42.826284,-78.174865
+14040,NY,Darien Center,42.894806,-78.387782
+14041,NY,Dayton,42.423075,-78.981842
+14042,NY,Delevan,42.492598,-78.479326
+14043,NY,Depew,42.904973,-78.704052
+14047,NY,Derby,42.697445,-78.983365
+14048,NY,Van Buren Bay,42.475907,-79.329366
+14051,NY,Swormville,43.029168,-78.705035
+14052,NY,East Aurora,42.770138,-78.601992
+14054,NY,East Bethany,42.916619,-78.134206
+14055,NY,East Concord,42.546585,-78.610972
+14057,NY,Eden,42.650552,-78.878077
+14058,NY,Elba,43.089739,-78.170383
+14059,NY,Elma,42.834002,-78.634257
+14060,NY,Farmersville Sta,42.44827,-78.291533
+14062,NY,Forestville,42.448229,-79.160743
+14063,NY,Fredonia,42.433345,-79.333914
+14065,NY,Freedom,42.489693,-78.35013
+14066,NY,Gainesville,42.61897,-78.179516
+14067,NY,Gasport,43.210587,-78.574536
+14068,NY,Getzville,43.023989,-78.753184
+14069,NY,Glenwood,42.600094,-78.638634
+14070,NY,Gowanda,42.471202,-78.933902
+14072,NY,Grand Island,43.018266,-78.959059
+14075,NY,Hamburg,42.733404,-78.838853
+14080,NY,Holland,42.639582,-78.543889
+14081,NY,Irving,42.573866,-79.059634
+14082,NY,Java Center,42.66342,-78.392527
+14083,NY,Java Village,42.676852,-78.44101
+14085,NY,Lake View,42.721535,-78.932693
+14086,NY,Lancaster,42.901681,-78.663085
+14091,NY,Lawtons,42.540364,-78.921222
+14092,NY,Lewiston,43.172165,-79.021547
+14094,NY,Lockport,43.159987,-78.692344
+14098,NY,Lyndonville,43.323312,-78.381057
+14101,NY,Machias,42.408271,-78.50586
+14102,NY,Marilla,42.833216,-78.558656
+14103,NY,Medina,43.218428,-78.387422
+14105,NY,Middleport,43.218257,-78.484055
+14108,NY,Newfane,43.272443,-78.706972
+14111,NY,North Collins,42.589648,-78.91073
+14113,NY,North Java,42.677631,-78.337958
+14120,NY,North Tonawanda,43.049828,-78.850997
+14125,NY,Oakfield,43.071726,-78.270179
+14127,NY,Orchard Park,42.763891,-78.751834
+14129,NY,Perrysburg,42.472289,-78.998108
+14131,NY,Ransomville,43.228602,-78.898159
+14132,NY,Sanborn,43.141879,-78.878522
+14134,NY,Sardinia,42.532976,-78.506415
+14136,NY,Silver Creek,42.535675,-79.162805
+14138,NY,South Dayton,42.371803,-79.050132
+14139,NY,South Wales,42.706271,-78.545219
+14141,NY,Springville,42.519982,-78.684717
+14143,NY,Stafford,42.982894,-78.089783
+14145,NY,Strykersville,42.724892,-78.434714
+14150,NY,Tonawanda,43.002837,-78.85472
+14167,NY,Varysburg,42.745935,-78.316749
+14170,NY,West Falls,42.70532,-78.677937
+14171,NY,West Valley,42.43153,-78.627978
+14172,NY,Wilson,43.29681,-78.824396
+14174,NY,Youngstown,43.246075,-79.024545
+14201,NY,Buffalo,42.896659,-78.884575
+14202,NY,Buffalo,42.887038,-78.877948
+14203,NY,Buffalo,42.893938,-78.868143
+14204,NY,Buffalo,42.883978,-78.859736
+14206,NY,Buffalo,42.881132,-78.810375
+14207,NY,Buffalo,42.949062,-78.897815
+14208,NY,Buffalo,42.915416,-78.850487
+14209,NY,Buffalo,42.913,-78.865629
+14210,NY,Buffalo,42.861432,-78.82055
+14211,NY,Buffalo,42.908153,-78.822477
+14212,NY,Buffalo,42.894553,-78.824458
+14213,NY,Buffalo,42.916675,-78.889461
+14214,NY,Buffalo,42.941429,-78.837403
+14215,NY,Buffalo,42.933536,-78.811504
+14216,NY,Buffalo,42.949914,-78.859865
+14217,NY,Kenmore,42.968618,-78.872948
+14218,NY,Lackawanna,42.818301,-78.817263
+14219,NY,Blasdell,42.790039,-78.822228
+14220,NY,Buffalo,42.844138,-78.818205
+14221,NY,Williamsville,42.985621,-78.738044
+14222,NY,Buffalo,42.916401,-78.876333
+14223,NY,Buffalo,42.973088,-78.845
+14224,NY,West Seneca,42.836162,-78.75109
+14225,NY,Cheektowaga,42.928642,-78.760855
+14226,NY,Amherst,42.967232,-78.799849
+14227,NY,Cheektowaga,42.877467,-78.741936
+14228,NY,Amherst,43.018414,-78.774604
+14301,NY,Niagara Falls,43.095467,-79.041443
+14303,NY,Niagara Falls,43.087777,-79.036958
+14304,NY,Niagara Falls,43.090844,-78.964375
+14305,NY,Niagara Falls,43.114648,-79.037804
+14410,NY,Adams Basin,43.190644,-77.853905
+14411,NY,Albion,43.239827,-78.206846
+14414,NY,Avon,42.903034,-77.727398
+14415,NY,Bellona,42.755442,-77.021737
+14416,NY,Bergen,43.086937,-77.96033
+14418,NY,Branchport,42.606537,-77.205165
+14420,NY,Brockport,43.21284,-77.936797
+14422,NY,Byron,43.073794,-78.062912
+14423,NY,Caledonia,42.956661,-77.849295
+14424,NY,Canandaigua,42.868866,-77.284561
+14425,NY,Canandaigua,42.959591,-77.341139
+14427,NY,Castile,42.635883,-78.054728
+14428,NY,Clifton,43.089617,-77.860339
+14432,NY,Clifton Springs,42.963175,-77.143975
+14433,NY,Clyde,43.085549,-76.872464
+14435,NY,Conesus,42.721643,-77.67469
+14437,NY,Dansville,42.569975,-77.710907
+14441,NY,Dresden,42.684565,-76.956389
+14445,NY,East Rochester,43.112808,-77.490596
+14450,NY,Fairport,43.089198,-77.435956
+14454,NY,Geneseo,42.793783,-77.799552
+14456,NY,Geneva,42.86372,-76.991349
+14462,NY,Groveland,42.676046,-77.757334
+14464,NY,Hamlin,43.307577,-77.926996
+14466,NY,Hemlock,42.779957,-77.58199
+14467,NY,Henrietta,43.048264,-77.612224
+14468,NY,Hilton,43.292344,-77.790511
+14469,NY,Bloomfield,42.885101,-77.459983
+14470,NY,Hulberton,43.225494,-78.040392
+14471,NY,Honeoye,42.768637,-77.505434
+14472,NY,Honeoye Falls,42.969499,-77.57812
+14475,NY,Ionia,42.938002,-77.50086
+14476,NY,Kendall,43.328415,-78.030359
+14477,NY,Kent,43.334064,-78.135533
+14478,NY,Bluff Point,42.601032,-77.105197
+14480,NY,Lakeville,42.82957,-77.714865
+14481,NY,Leicester,42.773903,-77.898976
+14482,NY,Le Roy,42.977377,-77.985097
+14485,NY,Lima,42.901234,-77.608305
+14486,NY,Linwood,42.884721,-77.910422
+14487,NY,Livonia,42.813514,-77.663472
+14489,NY,Lyons,43.07768,-76.989575
+14502,NY,Macedon,43.078366,-77.337199
+14504,NY,Manchester,42.969874,-77.229733
+14505,NY,Marion,43.154612,-77.186277
+14506,NY,Mendon,42.995307,-77.50013
+14507,NY,Middlesex,42.697624,-77.280509
+14510,NY,Tuscarora,42.705431,-77.861083
+14512,NY,Naples,42.640425,-77.390106
+14513,NY,Newark,43.051909,-77.094602
+14514,NY,North Chili,43.118601,-77.800518
+14516,NY,North Rose,43.196439,-76.915152
+14517,NY,Nunda,42.586708,-77.918006
+14519,NY,Ontario,43.229092,-77.308781
+14521,NY,Hayt Corners,42.676979,-76.821575
+14522,NY,Palmyra,43.062192,-77.221798
+14525,NY,Linwood,42.880088,-78.014698
+14526,NY,Penfield,43.139638,-77.456043
+14527,NY,Penn Yan,42.664548,-77.05687
+14530,NY,Perry,42.722852,-78.005882
+14532,NY,Phelps,42.958178,-77.047264
+14533,NY,Wadsworth,42.84269,-77.882545
+14534,NY,Pittsford,43.069511,-77.514067
+14536,NY,Portageville,42.556957,-78.085635
+14541,NY,Mac Dougall,42.761378,-76.853582
+14543,NY,West Rush,42.998934,-77.665381
+14544,NY,Rushville,42.75973,-77.239538
+14545,NY,Scottsburg,42.658907,-77.682633
+14546,NY,Scottsville,43.02462,-77.774256
+14548,NY,Shortsville,42.969034,-77.227312
+14550,NY,Rock Glen,42.669446,-78.092994
+14551,NY,Sodus,43.221681,-77.05141
+14555,NY,Sodus Point,43.265058,-76.98833
+14559,NY,Spencerport,43.189502,-77.804333
+14560,NY,Springwater,42.677598,-77.577503
+14561,NY,Stanley,42.830277,-77.120702
+14564,NY,Victor,42.986597,-77.417982
+14568,NY,Walworth,43.140161,-77.28582
+14569,NY,Warsaw,42.741035,-78.142899
+14571,NY,Waterport,43.332563,-78.242958
+14572,NY,Wayland,42.559274,-77.590613
+14580,NY,Webster,43.219563,-77.461587
+14586,NY,West Henrietta,43.039667,-77.687131
+14589,NY,Williamson,43.242071,-77.170011
+14590,NY,Wolcott,43.234129,-76.821748
+14591,NY,Wyoming,42.83175,-78.083292
+14604,NY,Rochester,43.157729,-77.607978
+14605,NY,Rochester,43.169758,-77.600711
+14606,NY,Rochester,43.168455,-77.684488
+14607,NY,Rochester,43.150086,-77.588976
+14608,NY,Rochester,43.152144,-77.625803
+14609,NY,Rochester,43.174001,-77.563701
+14610,NY,Rochester,43.14524,-77.549501
+14611,NY,Rochester,43.148375,-77.639353
+14612,NY,Rochester,43.256576,-77.665228
+14613,NY,Rochester,43.18308,-77.639276
+14614,NY,Rochester,43.155823,-77.61419
+14615,NY,Rochester,43.20575,-77.652118
+14616,NY,Greece,43.232359,-77.651238
+14617,NY,Rochester,43.220258,-77.599442
+14618,NY,Twelve Corners,43.115416,-77.558801
+14619,NY,Rochester,43.136685,-77.6481
+14620,NY,Rochester,43.131711,-77.606239
+14621,NY,Rochester,43.183362,-77.604284
+14622,NY,Rochester,43.213959,-77.55549
+14623,NY,Rochester,43.083371,-77.634412
+14624,NY,Westgate,43.12589,-77.733552
+14625,NY,Panorama,43.14949,-77.503188
+14626,NY,Rochester,43.21257,-77.703996
+14701,NY,Jamestown,42.092845,-79.243989
+14706,NY,Allegany,42.091827,-78.499883
+14708,NY,Alma,42.016859,-78.040012
+14709,NY,Angelica,42.326339,-77.994671
+14710,NY,Ashville,42.108376,-79.405624
+14711,NY,Belfast,42.320013,-78.094281
+14712,NY,Bemus Point,42.151346,-79.35808
+14714,NY,Black Creek,42.285528,-78.231249
+14715,NY,Bolivar,42.070442,-78.144834
+14716,NY,Brocton,42.393973,-79.43443
+14717,NY,Caneadea,42.370304,-78.197321
+14718,NY,Cassadaga,42.350356,-79.299282
+14719,NY,Cattaraugus,42.333291,-78.888528
+14721,NY,Ceres,41.99939,-78.272686
+14723,NY,Cherry Creek,42.312725,-79.120275
+14724,NY,Clymer,42.055699,-79.668532
+14726,NY,Conewango Valley,42.262467,-79.021956
+14727,NY,Cuba,42.18819,-78.275074
+14728,NY,Dewittville,42.239413,-79.419303
+14729,NY,East Otto,42.3971,-78.743167
+14731,NY,Ellicottville,42.295873,-78.66064
+14733,NY,Falconer,42.123915,-79.189499
+14735,NY,Fillmore,42.463605,-78.106232
+14736,NY,Findley Lake,42.120401,-79.734908
+14737,NY,Franklinville,42.338823,-78.440043
+14738,NY,Frewsburg,42.052753,-79.131797
+14739,NY,Friendship,42.190666,-78.13588
+14740,NY,Gerry,42.214728,-79.164865
+14741,NY,Great Valley,42.208292,-78.620811
+14743,NY,Ischua,42.179747,-78.400611
+14744,NY,Houghton,42.411567,-78.109506
+14747,NY,Kennedy,42.150776,-79.096416
+14748,NY,Kill Buck,42.141005,-78.642604
+14750,NY,Lakewood,42.097256,-79.329124
+14753,NY,Limestone,42.063945,-78.631979
+14754,NY,Little Genesee,42.023964,-78.235056
+14755,NY,Little Valley,42.254121,-78.809286
+14757,NY,Mayville,42.240906,-79.496325
+14760,NY,Olean,42.0787,-78.423265
+14767,NY,Panama,42.056965,-79.481536
+14769,NY,Portland,42.385792,-79.458894
+14770,NY,Portville,42.027253,-78.331353
+14772,NY,Randolph,42.163143,-78.960034
+14775,NY,Ripley,42.248175,-79.712103
+14777,NY,Rushford,42.417216,-78.186704
+14779,NY,Salamanca,42.16035,-78.73042
+14781,NY,Sherman,42.163124,-79.585742
+14782,NY,Sinclairville,42.24548,-79.267297
+14784,NY,Stockton,42.318195,-79.375792
+14787,NY,Westfield,42.321977,-79.572646
+14801,NY,Addison,42.09825,-77.266027
+14802,NY,Alfred,42.255165,-77.79295
+14803,NY,Alfred Station,42.255799,-77.778084
+14804,NY,Almond,42.316036,-77.777965
+14805,NY,Alpine,42.351014,-76.734775
+14806,NY,Andover,42.157454,-77.792008
+14807,NY,Arkport,42.422466,-77.691778
+14808,NY,Atlanta,42.556269,-77.480091
+14809,NY,Wallace,42.41513,-77.434254
+14810,NY,Veterans Adminis,42.345451,-77.323255
+14812,NY,Beaver Dams,42.279763,-76.971953
+14813,NY,Belmont,42.233409,-78.01103
+14814,NY,Big Flats,42.145509,-76.952721
+14815,NY,Bradford,42.382517,-77.09134
+14816,NY,Breesport,42.19392,-76.73612
+14817,NY,Brooktondale,42.37653,-76.366844
+14818,NY,Burdett,42.439442,-76.829219
+14819,NY,Cameron,42.21284,-77.440341
+14820,NY,Cameron Mills,42.192547,-77.364976
+14821,NY,Campbell,42.238569,-77.206619
+14822,NY,Canaseraga,42.458504,-77.795374
+14823,NY,Canisteo,42.263503,-77.589706
+14824,NY,Cayuta,42.277445,-76.697367
+14825,NY,Chemung,42.039243,-76.620224
+14826,NY,Cohocton,42.500315,-77.499763
+14830,NY,Corning,42.138331,-77.047546
+14836,NY,Dalton,42.544895,-77.928889
+14837,NY,Dundee,42.505261,-77.002773
+14838,NY,Erin,42.185898,-76.681942
+14839,NY,Greenwood,42.139809,-77.636041
+14840,NY,Hammondsport,42.431217,-77.197702
+14841,NY,Hector,42.49658,-76.878597
+14842,NY,Himrod,42.594455,-76.950774
+14843,NY,Hornell,42.327393,-77.656907
+14845,NY,Horseheads,42.180493,-76.834539
+14846,NY,Hunt,42.538821,-77.981839
+14847,NY,Interlaken,42.616524,-76.726798
+14850,NY,Ithaca College,42.448497,-76.492911
+14853,NY,Ithaca,42.443087,-76.488707
+14855,NY,Jasper,42.128962,-77.499909
+14858,NY,Lindley,42.042483,-77.154132
+14859,NY,Lockwood,42.114943,-76.536618
+14860,NY,Lodi,42.596555,-76.833904
+14861,NY,Lowman,42.06938,-76.693005
+14864,NY,Millport,42.258084,-76.839233
+14865,NY,Montour Falls,42.343678,-76.839581
+14867,NY,Newfield,42.362137,-76.591978
+14869,NY,Odessa,42.360947,-76.771698
+14870,NY,Painted Post,42.170967,-77.119375
+14871,NY,Pine City,42.041938,-76.881519
+14872,NY,Pine Valley,42.234795,-76.865206
+14873,NY,Prattsburg,42.526918,-77.282455
+14874,NY,Pulteney,42.523275,-77.169108
+14877,NY,Rexville,42.072645,-77.676663
+14878,NY,Rock Stream,42.448511,-76.936436
+14879,NY,Savona,42.30407,-77.208345
+14880,NY,Scio,42.169703,-77.990026
+14881,NY,Slaterville Spri,42.401119,-76.315677
+14882,NY,Lansing,42.564494,-76.537455
+14883,NY,Spencer,42.246736,-76.489853
+14884,NY,Swain,42.477314,-77.88899
+14885,NY,Troupsburg,42.050083,-77.550208
+14886,NY,Trumansburg,42.520987,-76.668145
+14888,NY,Valois,42.524304,-76.860879
+14889,NY,Van Etten,42.208455,-76.571663
+14891,NY,Watkins Glen,42.377121,-76.90215
+14892,NY,Waverly,42.017228,-76.533308
+14894,NY,Wellsburg,42.027317,-76.772315
+14895,NY,Wellsville,42.110757,-77.94191
+14897,NY,Whitesville,42.045586,-77.810615
+14898,NY,Woodhull,42.073638,-77.420333
+14901,NY,Elmira,42.100769,-76.811977
+14903,NY,Elmira Heights,42.130203,-76.843572
+14904,NY,Elmira,42.072866,-76.803735
+14905,NY,Elmira,42.086919,-76.839686
+27006,NC,Advance,36.006496,-80.446301
+27007,NC,Ararat,36.386932,-80.608887
+27009,NC,Belews Creek,36.226874,-80.092988
+27011,NC,Boonville,36.234012,-80.63569
+27012,NC,Clemmons,36.034112,-80.39623
+27013,NC,Cleveland,35.737397,-80.711254
+27016,NC,Danbury,36.455857,-80.219354
+27017,NC,Dobson,36.369826,-80.710065
+27018,NC,East Bend,36.203152,-80.528405
+27019,NC,Germanton,36.272513,-80.225432
+27020,NC,Hamptonville,36.124248,-80.813687
+27021,NC,King,36.295033,-80.355957
+27022,NC,Lawsonville,36.513228,-80.210291
+27023,NC,Lewisville,36.0967,-80.420638
+27024,NC,Lowgap,36.503041,-80.788862
+27025,NC,Madison,36.369507,-79.965438
+27027,NC,Mayodan,36.427677,-79.956742
+27028,NC,Mocksville,35.922007,-80.536965
+27030,NC,Mount Airy,36.500739,-80.611871
+27040,NC,Pfafftown,36.166914,-80.379826
+27041,NC,Pilot Mountain,36.41094,-80.492065
+27042,NC,Pine Hall,36.348178,-80.049533
+27043,NC,Pinnacle,36.333905,-80.439111
+27045,NC,Rural Hall,36.229251,-80.293643
+27046,NC,Sandy Ridge,36.489973,-80.085857
+27047,NC,Siloam,36.300208,-80.577162
+27048,NC,Stoneville,36.470483,-79.901297
+27050,NC,Tobaccoville,36.233627,-80.391549
+27051,NC,Walkertown,36.179999,-80.162865
+27052,NC,Walnut Cove,36.318872,-80.148414
+27053,NC,Westfield,36.467405,-80.367739
+27054,NC,Woodleaf,35.787564,-80.603941
+27055,NC,Yadkinville,36.127694,-80.65302
+27101,NC,Winston Salem,36.10237,-80.222798
+27103,NC,Winston Salem,36.067127,-80.302509
+27104,NC,Winston Salem,36.091985,-80.322423
+27105,NC,Winston Salem,36.144039,-80.237646
+27106,NC,Winston Salem,36.142762,-80.306866
+27107,NC,Winston Salem,36.040324,-80.193265
+27127,NC,Winston Salem,36.042534,-80.260946
+27203,NC,Farmer,35.693496,-79.819678
+27207,NC,Bear Creek,35.612882,-79.372606
+27208,NC,Bennett,35.567269,-79.522524
+27209,NC,Biscoe,35.325654,-79.759555
+27212,NC,Blanch,36.533839,-79.304185
+27214,NC,Browns Summit,36.201868,-79.71008
+27215,NC,Glen Raven,36.072011,-79.462152
+27217,NC,Burlington,36.1288,-79.411447
+27229,NC,Candor,35.22335,-79.787623
+27231,NC,Cedar Grove,36.201986,-79.166588
+27233,NC,Climax,35.934512,-79.701858
+27235,NC,Colfax,36.100272,-80.010276
+27239,NC,Denton,35.619567,-80.095926
+27242,NC,Eagle Springs,35.335957,-79.630983
+27243,NC,Efland,36.091166,-79.188415
+27244,NC,Elon College,36.146638,-79.502334
+27248,NC,Franklinville,35.791739,-79.713178
+27249,NC,Gibsonville,36.118304,-79.568454
+27252,NC,Goldston,35.56428,-79.33852
+27253,NC,Graham,36.030967,-79.381384
+27258,NC,Haw River,36.055085,-79.334557
+27260,NC,High Point,35.959313,-80.011673
+27262,NC,High Point,35.973406,-80.010677
+27263,NC,Archdale,35.910757,-79.961764
+27265,NC,High Point,36.003584,-80.003571
+27278,NC,Hillsborough,36.07558,-79.091416
+27281,NC,Jackson Springs,35.225941,-79.668535
+27282,NC,Jamestown,35.998993,-79.929286
+27283,NC,Julian,35.95429,-79.638629
+27284,NC,Kernersville,36.116534,-80.083115
+27288,NC,Eden,36.500003,-79.758998
+27291,NC,Leasburg,36.415113,-79.194188
+27292,NC,Lexington,35.82306,-80.262049
+27298,NC,Liberty,35.872878,-79.582144
+27299,NC,Linwood,35.75623,-80.374895
+27301,NC,Mc Leansville,36.116291,-79.668388
+27302,NC,Mebane,36.097862,-79.271895
+27305,NC,Milton,36.515784,-79.208699
+27306,NC,Mount Gilead,35.227447,-79.98709
+27310,NC,Oak Ridge,36.167315,-79.980366
+27311,NC,Pelham,36.489912,-79.473605
+27312,NC,Pittsboro,35.769436,-79.175509
+27313,NC,Pleasant Garden,35.952243,-79.754943
+27314,NC,Prospect Hill,36.293195,-79.215644
+27315,NC,Providence,36.48314,-79.36306
+27316,NC,Coleridge,35.708349,-79.635101
+27317,NC,Randleman,35.848805,-79.801794
+27320,NC,Reidsville,36.343209,-79.664212
+27325,NC,Robbins,35.452839,-79.582034
+27326,NC,Ruffin,36.442763,-79.560551
+27330,NC,Colon,35.464148,-79.176446
+27341,NC,Seagrove,35.528309,-79.69787
+27343,NC,Semora,36.511414,-79.094168
+27344,NC,Siler City,35.735392,-79.456624
+27349,NC,Snow Camp,35.906583,-79.427893
+27350,NC,Sophia,35.829845,-79.898634
+27355,NC,Staley,35.801485,-79.584391
+27356,NC,Star,35.421113,-79.782607
+27357,NC,Stokesdale,36.255217,-79.970528
+27358,NC,Summerfield,36.224454,-79.890136
+27360,NC,Thomasville,35.87128,-80.09128
+27370,NC,Trinity,35.842949,-79.990206
+27371,NC,Troy,35.377702,-79.909252
+27376,NC,West End,35.251239,-79.53598
+27377,NC,Whitsett,36.032981,-79.597151
+27379,NC,Yanceyville,36.390695,-79.346485
+27401,NC,Greensboro,36.069741,-79.768151
+27403,NC,Greensboro,36.064147,-79.820181
+27405,NC,Greensboro,36.121408,-79.7733
+27406,NC,Greensboro,36.021969,-79.782058
+27407,NC,Greensboro,36.033442,-79.862647
+27408,NC,Greensboro,36.1064,-79.816531
+27409,NC,Greensboro,36.077683,-79.908602
+27410,NC,Greensboro,36.103164,-79.879365
+27501,NC,Angier,35.489725,-78.724931
+27502,NC,Apex,35.722504,-78.840816
+27503,NC,Bahama,36.156581,-78.890284
+27504,NC,Benson,35.403661,-78.54213
+27505,NC,Broadway,35.418088,-79.043547
+27507,NC,Bullock,36.507642,-78.56458
+27509,NC,Butner,36.135939,-78.7636
+27510,NC,Carrboro,35.912409,-79.081832
+27511,NC,Cary,35.764119,-78.778568
+27513,NC,Cary,35.795642,-78.794061
+27514,NC,Chapel Hill,35.920322,-79.037189
+27516,NC,Chapel Hill,35.916175,-79.099867
+27520,NC,Clayton,35.63484,-78.451013
+27521,NC,Coats,35.40822,-78.662704
+27522,NC,Creedmoor,36.112433,-78.647587
+27524,NC,Four Oaks,35.404017,-78.415282
+27525,NC,Franklinton,36.095505,-78.448618
+27526,NC,Fuquay Varina,35.579952,-78.790807
+27529,NC,Garner,35.681254,-78.597527
+27530,NC,Grantham,35.382585,-78.015813
+27531,NC,Seymour Johnson,35.352611,-77.964312
+27534,NC,Goldsboro,35.36643,-77.922069
+27536,NC,Henderson,36.330068,-78.398086
+27540,NC,Holly Springs,35.626263,-78.845816
+27541,NC,Hurdle Mills,36.251788,-79.08266
+27542,NC,Kenly,35.607742,-78.138227
+27544,NC,Kittrell,36.204175,-78.424073
+27545,NC,Knightdale,35.778926,-78.489814
+27546,NC,Lillington,35.331954,-78.921223
+27549,NC,Louisburg,36.05781,-78.258625
+27551,NC,Macon,36.444697,-77.998709
+27553,NC,Manson,36.460264,-78.29525
+27557,NC,Middlesex,35.766499,-78.206162
+27559,NC,Moncure,35.630615,-79.083915
+27560,NC,Morrisville,35.834371,-78.846594
+27562,NC,New Hill,35.680877,-78.936534
+27563,NC,Norlina,36.475364,-78.189455
+27565,NC,Oxford,36.331269,-78.613433
+27569,NC,Princeton,35.455833,-78.167368
+27571,NC,Rolesville,35.915575,-78.465843
+27572,NC,Rougemont,36.239251,-78.901867
+27573,NC,Roxboro,36.405902,-78.973698
+27576,NC,Selma,35.556531,-78.264025
+27577,NC,Smithfield,35.50684,-78.347866
+27581,NC,Stem,36.21004,-78.70012
+27583,NC,Timberlake,36.291763,-78.935287
+27587,NC,Wake Forest,35.981544,-78.539213
+27589,NC,Warrenton,36.353944,-78.159389
+27591,NC,Wendell,35.797964,-78.392601
+27592,NC,Willow Spring,35.547031,-78.671738
+27596,NC,Youngsville,36.007782,-78.441198
+27597,NC,Zebulon,35.832078,-78.317368
+27601,NC,Raleigh,35.772701,-78.632439
+27603,NC,Raleigh,35.707569,-78.656265
+27604,NC,Raleigh,35.833407,-78.579949
+27605,NC,Raleigh,35.790795,-78.653025
+27606,NC,Raleigh,35.764499,-78.711189
+27607,NC,Raleigh,35.801385,-78.687747
+27608,NC,Raleigh,35.807746,-78.646277
+27609,NC,Raleigh,35.847989,-78.631654
+27610,NC,Raleigh,35.766674,-78.60076
+27612,NC,Raleigh,35.851997,-78.684119
+27613,NC,Raleigh,35.894932,-78.705059
+27614,NC,Raleigh,35.945711,-78.643339
+27615,NC,Raleigh,35.888744,-78.639277
+27701,NC,Durham,35.996725,-78.896613
+27703,NC,Durham,35.978122,-78.843874
+27704,NC,Durham,36.038297,-78.876437
+27705,NC,Durham,36.021846,-78.947776
+27706,NC,Durham,36.002427,-78.937524
+27707,NC,Durham,35.963076,-78.931484
+27712,NC,Durham,36.091779,-78.929919
+27713,NC,Research Triangl,35.916105,-78.916641
+27801,NC,Rocky Mount,35.94265,-77.760816
+27803,NC,Rocky Mount,35.923784,-77.835022
+27804,NC,Wesleyan College,35.979634,-77.827543
+27805,NC,Aulander,36.147452,-77.114086
+27806,NC,Aurora,35.302282,-76.799448
+27807,NC,Bailey,35.807167,-78.089226
+27808,NC,Bath,35.470161,-76.771531
+27809,NC,Battleboro,35.84387,-77.431107
+27810,NC,Belhaven,35.520493,-76.623574
+27812,NC,Bethel,35.790885,-77.374765
+27814,NC,Blounts Creek,35.382029,-76.925004
+27816,NC,Castalia,36.090124,-78.070452
+27817,NC,Chocowinity,35.481409,-77.086801
+27818,NC,Como,36.497818,-77.051526
+27820,NC,Conway,36.416382,-77.250243
+27821,NC,Edward,35.323588,-76.879388
+27822,NC,Elm City,35.810954,-77.856032
+27823,NC,Enfield,36.197331,-77.712907
+27824,NC,Middletown,35.49806,-76.037434
+27826,NC,Fairfield,35.565873,-76.231768
+27828,NC,Farmville,35.580606,-77.579303
+27829,NC,Fountain,35.669436,-77.621448
+27830,NC,Eureka,35.518558,-77.996302
+27831,NC,Garysburg,36.476147,-77.571905
+27832,NC,Gaston,36.51153,-77.682379
+27834,NC,Greenville,35.619221,-77.397542
+27837,NC,Grimesland,35.558005,-77.256612
+27839,NC,Halifax,36.30492,-77.560725
+27840,NC,Hamilton,35.944119,-77.21762
+27842,NC,Henrico,36.527409,-77.854625
+27843,NC,Hobgood,36.004281,-77.436959
+27844,NC,Hollister,36.25898,-77.931916
+27845,NC,Jackson,36.386984,-77.468144
+27846,NC,Jamesville,35.78385,-76.898332
+27847,NC,Kelford,36.199173,-77.259214
+27848,NC,Lasker,36.376664,-77.348266
+27849,NC,Lewiston Woodvil,36.134416,-77.206631
+27850,NC,Littleton,36.416877,-77.852815
+27851,NC,Lucama,35.641504,-78.019687
+27852,NC,Crisp,35.773741,-77.596442
+27853,NC,Margarettsville,36.524494,-77.325997
+27855,NC,Murfreesboro,36.43192,-77.102696
+27856,NC,Nashville,35.98428,-77.959485
+27857,NC,Oak City,35.959736,-77.300362
+27858,NC,Greenville,35.586567,-77.348505
+27859,NC,Palmyra,36.106268,-77.364288
+27860,NC,Pantego,35.620058,-76.698848
+27862,NC,Pendleton,36.493676,-77.191112
+27863,NC,Pikeville,35.49289,-77.957787
+27864,NC,Pinetops,35.819611,-77.691952
+27865,NC,Pinetown,35.57576,-76.807565
+27866,NC,Pleasant Hill,36.521246,-77.519217
+27869,NC,Rich Square,36.277256,-77.296947
+27870,NC,Roanoke Rapids,36.446146,-77.67306
+27871,NC,Robersonville,35.821797,-77.26004
+27872,NC,Roxobel,36.194464,-77.227061
+27873,NC,Saratoga,35.662778,-77.767613
+27874,NC,Scotland Neck,36.130141,-77.427274
+27875,NC,Scranton,35.525039,-76.491706
+27876,NC,Seaboard,36.488552,-77.411306
+27880,NC,Sims,35.74351,-78.085854
+27882,NC,Spring Hope,35.930193,-78.1085
+27883,NC,Stantonsburg,35.593998,-77.837773
+27884,NC,Stokes,35.710402,-77.272178
+27885,NC,Swanquarter,35.422207,-76.287521
+27886,NC,Tarboro,35.898257,-77.542067
+27888,NC,Walstonburg,35.588204,-77.698336
+27889,NC,Washington,35.588392,-77.140356
+27890,NC,Weldon,36.420643,-77.60346
+27891,NC,Whitakers,36.075797,-77.716743
+27892,NC,Williamston,35.660154,-77.048344
+27893,NC,Wilson,35.727022,-77.922733
+27897,NC,George,36.320465,-77.197782
+27909,NC,Elizabeth City,36.295051,-76.244548
+27910,NC,Ahoskie,36.295737,-76.996632
+27916,NC,Aydlett,36.304469,-75.902914
+27917,NC,Barco,36.358778,-75.979284
+27919,NC,Belvidere,36.309644,-76.543586
+27921,NC,Camden,36.324985,-76.150002
+27922,NC,Cofield,36.333316,-76.874568
+27923,NC,Coinjock,36.375064,-75.934012
+27924,NC,Colerain,36.190083,-76.854799
+27925,NC,Columbia,35.905664,-76.234481
+27926,NC,Corapeake,36.517946,-76.597852
+27927,NC,Corolla,36.320646,-75.813217
+27928,NC,Creswell,35.865303,-76.419555
+27929,NC,Currituck,36.429691,-75.988399
+27932,NC,Edenton,36.090777,-76.622384
+27935,NC,Eure,36.434117,-76.846341
+27937,NC,Gates,36.503618,-76.764563
+27938,NC,Gatesville,36.407171,-76.732462
+27939,NC,Grandy,36.233889,-75.876808
+27941,NC,Harbinger,36.086392,-75.812143
+27942,NC,Harrellsville,36.286586,-76.776677
+27944,NC,Durants Neck,36.177058,-76.424299
+27946,NC,Hobbsville,36.354303,-76.617813
+27947,NC,Jarvisburg,36.173963,-75.859469
+27948,NC,Kill Devil Hills,36.008793,-75.675654
+27949,NC,Southern Shores,36.100694,-75.725373
+27950,NC,Knotts Island,36.523167,-75.970247
+27953,NC,East Lake,35.887191,-75.944404
+27954,NC,Manteo,35.894774,-75.671418
+27956,NC,Maple,36.398686,-76.003874
+27957,NC,Merry Hill,36.087121,-76.77756
+27958,NC,Moyock,36.487094,-76.114575
+27959,NC,Nags Head,35.347209,-75.567592
+27962,NC,Plymouth,35.850826,-76.743148
+27964,NC,Point Harbor,36.078114,-75.798285
+27965,NC,Poplar Branch,36.257028,-75.883018
+27966,NC,Powells Point,36.120674,-75.827314
+27970,NC,Roper,35.899413,-76.580918
+27973,NC,Shawboro,36.377875,-76.094451
+27974,NC,Shiloh,36.258449,-76.043168
+27976,NC,South Mills,36.453576,-76.303284
+27978,NC,Stumpy Point,35.863007,-75.77909
+27979,NC,Sunbury,36.431605,-76.609568
+27980,NC,Tyner,36.250239,-76.642796
+27983,NC,Windsor,36.015881,-76.933612
+27986,NC,Winton,36.382616,-76.936007
+28001,NC,Albemarle,35.357276,-80.204363
+28006,NC,Alexis,35.383613,-81.102204
+28012,NC,Belmont,35.244029,-81.044016
+28016,NC,Bessemer City,35.284904,-81.28635
+28018,NC,Bostic,35.453259,-81.81183
+28020,NC,Casar,35.514496,-81.635742
+28021,NC,Cherryville,35.374742,-81.350893
+28023,NC,China Grove,35.5669,-80.59004
+28025,NC,Concord,35.371614,-80.530027
+28027,NC,Concord,35.414115,-80.616227
+28032,NC,Cramerton,35.23965,-81.083061
+28033,NC,Crouse,35.483722,-81.341851
+28034,NC,Dallas,35.334853,-81.1862
+28036,NC,Cornelius,35.495692,-80.857229
+28037,NC,Denver,35.483677,-80.989785
+28040,NC,Ellenboro,35.334426,-81.770652
+28043,NC,Alexander Mills,35.301753,-81.864247
+28052,NC,Gastonia,35.244917,-81.219449
+28054,NC,Gastonia,35.200537,-81.145409
+28056,NC,Gastonia,35.258331,-81.149622
+28071,NC,Gold Hill,35.549784,-80.334558
+28073,NC,Grover,35.183639,-81.455182
+28075,NC,Harrisburg,35.324731,-80.659401
+28078,NC,Cornelius,35.421992,-80.864664
+28079,NC,Indian Trail,35.08307,-80.659743
+28080,NC,Iron Station,35.465654,-81.107009
+28081,NC,Kannapolis,35.502016,-80.635875
+28083,NC,Kannapolis,35.484807,-80.601536
+28086,NC,Kings Mountain,35.251578,-81.380567
+28088,NC,Landis,35.5435,-80.612926
+28090,NC,Lawndale,35.444932,-81.533625
+28091,NC,Lilesville,34.968914,-79.97208
+28092,NC,Boger City,35.482138,-81.228039
+28097,NC,Locust,35.270416,-80.421061
+28098,NC,Lowell,35.265481,-81.096037
+28103,NC,Marshville,35.016684,-80.378113
+28105,NC,Stallings,35.121879,-80.713568
+28107,NC,Midland,35.247724,-80.531853
+28110,NC,Monroe,35.017775,-80.53723
+28112,NC,Monroe,34.894621,-80.553952
+28114,NC,Mooresboro,35.248389,-81.672171
+28115,NC,Mooresville,35.577358,-80.822629
+28119,NC,Morven,34.85106,-80.002529
+28120,NC,Mount Holly,35.311872,-81.030567
+28124,NC,Mount Pleasant,35.414576,-80.417081
+28125,NC,Mount Ulla,35.638934,-80.72386
+28127,NC,New London,35.428518,-80.205737
+28128,NC,Norwood,35.227493,-80.14326
+28129,NC,Oakboro,35.245997,-80.341272
+28133,NC,Peachland,35.005434,-80.282943
+28134,NC,Pineville,35.070942,-80.885852
+28135,NC,Polkton,34.982288,-80.153812
+28137,NC,Richfield,35.511035,-80.267135
+28138,NC,Rockwell,35.549437,-80.422568
+28139,NC,Rutherfordton,35.37058,-81.978107
+28144,NC,Salisbury,35.651498,-80.488945
+28146,NC,Salisbury,35.667564,-80.46569
+28150,NC,Kingstown,35.347075,-81.581573
+28152,NC,Shelby,35.268889,-81.533673
+28159,NC,Spencer,35.695312,-80.431049
+28160,NC,Spindale,35.360131,-81.925142
+28163,NC,Stanfield,35.21061,-80.440672
+28164,NC,Stanley,35.351565,-81.095921
+28166,NC,Troutman,35.686271,-80.882229
+28167,NC,Union Mills,35.47324,-81.96846
+28168,NC,Vale,35.518796,-81.458887
+28170,NC,Wadesboro,34.980938,-80.069586
+28173,NC,Weddington,34.955334,-80.727901
+28174,NC,Wingate,34.984666,-80.447595
+28202,NC,Charlotte,35.229002,-80.841864
+28203,NC,Charlotte,35.208139,-80.858279
+28204,NC,Charlotte,35.213178,-80.823149
+28205,NC,Charlotte,35.219951,-80.788129
+28206,NC,Charlotte,35.252173,-80.826505
+28207,NC,Charlotte,35.193474,-80.827248
+28208,NC,Charlotte,35.235795,-80.896352
+28209,NC,Charlotte,35.179629,-80.855926
+28210,NC,Charlotte,35.131586,-80.857749
+28211,NC,Charlotte,35.167653,-80.793244
+28212,NC,Charlotte,35.190797,-80.744777
+28213,NC,Charlotte,35.317868,-80.750079
+28214,NC,Charlotte,35.273095,-80.95709
+28215,NC,Charlotte,35.243962,-80.738669
+28216,NC,Charlotte,35.283377,-80.870216
+28217,NC,Charlotte,35.0972,-81.007848
+28226,NC,Charlotte,35.086856,-80.816675
+28227,NC,Charlotte,35.193612,-80.684634
+28262,NC,Charlotte,35.272506,-80.775958
+28269,NC,Charlotte,35.288635,-80.820941
+28270,NC,Charlotte,35.135473,-80.766872
+28273,NC,Charlotte,35.159646,-80.896673
+28277,NC,Charlotte,35.134486,-80.800174
+28278,NC,Charlotte,35.146685,-80.960421
+28301,NC,East Fayettevill,35.05099,-78.842255
+28303,NC,Bonnie Doone,35.084046,-78.960135
+28304,NC,Fayetteville,35.025683,-78.970494
+28305,NC,Fayetteville,35.056022,-78.904658
+28306,NC,Fayetteville,35.001874,-78.936408
+28307,NC,Fort Bragg,35.141649,-79.002457
+28311,NC,Fayetteville,35.129416,-78.898217
+28314,NC,Fayetteville,35.058322,-79.007985
+28315,NC,Aberdeen,35.121641,-79.445039
+28318,NC,Autryville,35.099673,-78.602111
+28320,NC,Bladenboro,34.565832,-78.779295
+28323,NC,Bunnlevel,35.281057,-78.855189
+28326,NC,Johnsonville,35.313581,-79.268826
+28327,NC,Carthage,35.306066,-79.396939
+28328,NC,Clinton,35.015143,-78.326007
+28333,NC,Dudley,35.292564,-78.027274
+28334,NC,Dunn,35.316511,-78.615079
+28337,NC,Elizabethtown,34.64714,-78.574693
+28338,NC,Ellerbe,35.091422,-79.752361
+28339,NC,Erwin,35.328651,-78.685935
+28340,NC,Mcdonald,34.481402,-79.128596
+28341,NC,Faison,35.119884,-78.117983
+28343,NC,Gibson,34.754857,-79.583854
+28344,NC,Godwin,35.196919,-78.662472
+28345,NC,Hamlet,34.889375,-79.702217
+28347,NC,Hoffman,35.032607,-79.560027
+28348,NC,Hope Mills,34.953564,-78.935364
+28349,NC,Kenansville,35.039621,-77.967743
+28351,NC,Laurel Hill,34.823831,-79.549135
+28352,NC,Laurinburg,34.759869,-79.467316
+28356,NC,Linden,35.227645,-78.800361
+28357,NC,Lumber Bridge,34.876192,-79.066417
+28358,NC,Lumberton,34.629301,-79.008309
+28363,NC,Marston,34.989628,-79.659554
+28364,NC,Maxton,34.733435,-79.309725
+28365,NC,Mount Olive,35.210923,-78.09834
+28366,NC,Newton Grove,35.221258,-78.426037
+28369,NC,Orrum,34.447347,-79.031037
+28371,NC,Parkton,34.900569,-78.996943
+28372,NC,Pembroke,34.690198,-79.18337
+28374,NC,Pinehurst,35.188408,-79.473194
+28376,NC,Raeford,34.989009,-79.22276
+28377,NC,Red Springs,34.808315,-79.163619
+28379,NC,Rockingham,34.933613,-79.766566
+28382,NC,Roseboro,34.994081,-78.504109
+28383,NC,Rowland,34.588664,-79.261843
+28384,NC,Saint Pauls,34.800962,-78.973077
+28385,NC,Salemburg,35.051459,-78.471385
+28386,NC,Shannon,34.898762,-79.180617
+28387,NC,Southern Pines,35.169747,-79.395682
+28390,NC,Spring Lake,35.182981,-78.978555
+28391,NC,Stedman,35.034749,-78.694932
+28392,NC,Tar Heel,34.746541,-78.81341
+28393,NC,Turkey,34.985673,-78.212086
+28394,NC,Vass,35.217133,-79.256189
+28395,NC,Wade,35.160559,-78.724929
+28396,NC,Wagram,34.904432,-79.39594
+28398,NC,Bowdens,34.99818,-78.086739
+28399,NC,White Oak,34.766206,-78.73014
+28401,NC,Cape Fear,34.225304,-77.937856
+28403,NC,Wilmington,34.223653,-77.886213
+28405,NC,Ogden,34.264065,-77.852937
+28409,NC,Wilmington,34.166256,-77.87227
+28412,NC,Wilmington,34.157173,-77.914137
+28420,NC,Ash,34.065871,-78.505637
+28421,NC,Atkinson,34.530445,-78.167108
+28422,NC,Bolivia,34.025962,-78.16814
+28423,NC,Bolton,34.309085,-78.337177
+28425,NC,Burgaw,34.548679,-77.940317
+28428,NC,Carolina Beach,34.036599,-77.896289
+28429,NC,Castle Hayne,34.323596,-77.91085
+28430,NC,Cerro Gordo,34.302483,-78.921571
+28431,NC,Chadbourn,34.322303,-78.826683
+28432,NC,Clarendon,34.199517,-78.788844
+28433,NC,Clarkton,34.503011,-78.631271
+28434,NC,Council,34.429042,-78.411511
+28435,NC,Currie,34.449668,-78.092516
+28436,NC,Delco,34.327419,-78.19169
+28438,NC,Evergreen,34.375234,-78.884638
+28439,NC,Fair Bluff,34.302275,-79.017502
+28441,NC,Garland,34.822906,-78.34142
+28442,NC,Hallsboro,34.318087,-78.604272
+28443,NC,Hampstead,34.3879,-77.662808
+28444,NC,Harrells,34.676918,-78.242973
+28445,NC,Surf City,34.4644,-77.51005
+28447,NC,Ivanhoe,34.697169,-78.162333
+28448,NC,Kelly,34.459064,-78.294161
+28449,NC,Kure Beach,33.992707,-77.909875
+28450,NC,Lake Waccamaw,34.339359,-78.510208
+28451,NC,Leland,34.267952,-78.057815
+28452,NC,Longwood,33.950059,-78.531531
+28453,NC,Magnolia,34.895702,-78.043213
+28454,NC,Maple Hill,34.617753,-77.736588
+28455,NC,Nakina,34.115293,-78.657005
+28456,NC,Riegelwood,34.34706,-78.257473
+28457,NC,Rocky Point,34.434418,-77.923448
+28458,NC,Rose Hill,34.823462,-78.016624
+28459,NC,Shallotte,33.943011,-78.41068
+28460,NC,Sneads Ferry,34.542589,-77.403801
+28461,NC,Boiling Spring L,34.012137,-78.045551
+28462,NC,Holden Beach,33.962504,-78.296089
+28463,NC,Tabor City,34.123314,-78.823178
+28464,NC,Teachey,34.770036,-78.022091
+28465,NC,Oak Island,33.916122,-78.125455
+28466,NC,Wallace,34.754166,-77.942922
+28467,NC,Calabash,33.904668,-78.574406
+28468,NC,Sunset Beach,33.883569,-78.519955
+28469,NC,Ocean Isle Beach,33.891271,-78.429849
+28471,NC,Watha,34.620725,-78.007351
+28472,NC,Whiteville,34.324142,-78.716048
+28478,NC,Willard,34.684451,-78.023445
+28479,NC,Winnabow,34.214511,-78.056211
+28480,NC,Wrightsville Bea,34.212228,-77.798166
+28501,NC,Kinston,35.278333,-77.585969
+28508,NC,Albertson,35.117647,-77.851517
+28510,NC,Arapahoe,35.0055,-76.814909
+28511,NC,Atlantic,34.888827,-76.352097
+28512,NC,Pine Knoll Shore,34.697295,-76.815163
+28513,NC,Ayden,35.456471,-77.405127
+28515,NC,Bayboro,35.152598,-76.751793
+28516,NC,Beaufort,34.758037,-76.622834
+28518,NC,Beulaville,34.933962,-77.769655
+28520,NC,Cedar Island,35.074881,-76.08049
+28521,NC,Chinquapin,34.827609,-77.763573
+28523,NC,Cove City,35.202274,-77.296306
+28525,NC,Deep Run,35.162991,-77.69275
+28526,NC,Dover,35.262652,-77.372688
+28527,NC,Ernul,35.254693,-77.050164
+28528,NC,Gloucester,34.685645,-76.527627
+28529,NC,Grantsboro,35.122186,-76.884387
+28530,NC,Grifton,35.375681,-77.4193
+28531,NC,Harkers Island,34.69663,-76.558301
+28532,NC,Havelock,34.896753,-76.890042
+28537,NC,Hobucken,35.251838,-76.569602
+28538,NC,Hookerton,35.437976,-77.565555
+28539,NC,Hubert,34.69929,-77.207928
+28540,NC,Jacksonville,34.737456,-77.462815
+28542,NC,Camp Lejeune,34.665806,-77.3373
+28543,NC,Tarawa Terrace,34.73542,-77.383114
+28544,NC,Midway Park,34.726994,-77.320001
+28546,NC,Jacksonville,34.77401,-77.378097
+28551,NC,La Grange,35.305381,-77.76862
+28552,NC,Lowland,35.305955,-76.5777
+28553,NC,Marshallberg,34.726472,-76.517323
+28555,NC,Maysville,34.869077,-77.231456
+28556,NC,Merritt,35.1228,-76.699401
+28557,NC,Morehead City,34.72532,-76.753069
+28560,NC,New Bern,35.101941,-77.031945
+28562,NC,New Bern,35.100434,-77.102874
+28570,NC,Newport,34.755076,-76.906945
+28571,NC,Oriental,35.036406,-76.701521
+28572,NC,Pink Hill,35.066351,-77.712148
+28573,NC,Pollocksville,35.015105,-77.228727
+28574,NC,Richlands,34.862426,-77.586305
+28577,NC,Sealevel,34.876949,-76.389778
+28578,NC,Seven Springs,35.210466,-77.914621
+28579,NC,Smyrna,34.773384,-76.515313
+28580,NC,Snow Hill,35.443848,-77.695565
+28581,NC,Stacy,34.84124,-76.428877
+28582,NC,Stella,34.777672,-77.130807
+28584,NC,Swansboro,34.699066,-77.135013
+28585,NC,Trenton,35.074481,-77.459473
+28586,NC,Vanceboro,35.306255,-77.171618
+28587,NC,Vandemere,35.195298,-76.657088
+28590,NC,Winterville,35.533582,-77.39097
+28594,NC,Emerald Isle,34.666195,-77.025961
+28601,NC,Hickory,35.75757,-81.328858
+28602,NC,Hickory,35.68837,-81.361229
+28604,NC,Banner Elk,36.170461,-81.841194
+28605,NC,Blowing Rock,36.094594,-81.750968
+28606,NC,Boomer,36.055192,-81.313704
+28607,NC,Boone,36.214237,-81.666025
+28609,NC,Catawba,35.675708,-81.050307
+28610,NC,Claremont,35.721053,-81.129672
+28611,NC,Collettsville,35.951946,-81.674188
+28612,NC,Connellys Spring,35.706972,-81.492958
+28613,NC,Conover,35.731343,-81.216455
+28615,NC,Creston,36.449959,-81.650624
+28617,NC,Crumpler,36.464057,-81.403886
+28618,NC,Deep Gap,36.213573,-81.516265
+28621,NC,Elkin,36.28723,-80.855365
+28622,NC,Elk Park,36.164623,-81.963882
+28623,NC,Ennice,36.525278,-80.977141
+28624,NC,Ferguson,36.128316,-81.386407
+28626,NC,Fleetwood,36.281382,-81.514008
+28627,NC,Glade Valley,36.442889,-81.016782
+28630,NC,Granite Falls,35.819663,-81.457145
+28631,NC,Grassy Creek,36.541524,-81.446751
+28634,NC,Harmony,35.957975,-80.758462
+28635,NC,Hays,36.310015,-81.116116
+28636,NC,Hiddenite,35.95045,-81.048663
+28638,NC,Hudson,35.840295,-81.489747
+28640,NC,Jefferson,36.408987,-81.439626
+28642,NC,Jonesville,36.228571,-80.787029
+28643,NC,Lansing,36.517641,-81.526925
+28644,NC,Laurel Springs,36.444897,-81.26061
+28645,NC,Lenoir,35.914935,-81.539793
+28648,NC,Longisland,35.665814,-80.990403
+28649,NC,Mc Grady,36.310345,-81.191207
+28650,NC,Maiden,35.575884,-81.174492
+28651,NC,Millers Creek,36.211949,-81.248533
+28654,NC,Moravian Falls,36.078762,-81.178073
+28655,NC,Morganton,35.73458,-81.704216
+28657,NC,Frank,36.040203,-81.952276
+28658,NC,Newton,35.649766,-81.242546
+28659,NC,North Wilkesboro,36.20174,-81.128603
+28660,NC,Olin,35.959333,-80.851084
+28665,NC,Purlear,36.196391,-81.352773
+28668,NC,Roaring Gap,36.383553,-81.018781
+28669,NC,Roaring River,36.191561,-81.000373
+28670,NC,Ronda,36.20594,-80.926964
+28673,NC,Sherrills Ford,35.596244,-81.033859
+28675,NC,Sparta,36.508851,-81.138442
+28676,NC,State Road,36.34218,-80.865294
+28677,NC,Statesville,35.799022,-80.894009
+28678,NC,Stony Point,35.866109,-81.064135
+28679,NC,Sugar Grove,36.262672,-81.844094
+28681,NC,Taylorsville,35.901046,-81.212429
+28682,NC,Terrell,35.583587,-80.963064
+28683,NC,Thurmond,36.356188,-80.931674
+28684,NC,Todd,36.324527,-81.587403
+28685,NC,Traphill,36.330097,-81.015126
+28686,NC,Triplett,36.181685,-81.489649
+28689,NC,Union Grove,36.036947,-80.896695
+28690,NC,Valdese,35.744739,-81.56696
+28691,NC,Valle Crucis,36.207041,-81.880563
+28692,NC,Vilas,36.257375,-81.765203
+28693,NC,Warrensville,36.45723,-81.546522
+28694,NC,West Jefferson,36.377648,-81.487218
+28697,NC,Wilkesboro,36.135857,-81.157292
+28698,NC,Zionville,36.319437,-81.747567
+28701,NC,Alexander,35.706394,-82.631134
+28702,NC,Almond,35.3295,-83.578406
+28703,NC,Aquone,35.240254,-83.566218
+28704,NC,Arden,35.463666,-82.535372
+28705,NC,Bakersville,36.028588,-82.171133
+28708,NC,Balsam Grove,35.229751,-82.87795
+28709,NC,Barnardsville,35.77483,-82.456682
+28711,NC,Black Mountain S,35.612494,-82.325087
+28712,NC,Brevard,35.22076,-82.740444
+28713,NC,Bryson City,35.424128,-83.439246
+28714,NC,Burnsville,35.902974,-82.287623
+28715,NC,Candler,35.537626,-82.700081
+28716,NC,Canton,35.512651,-82.841291
+28717,NC,Cashiers,35.097117,-83.087074
+28719,NC,Cherokee,35.50937,-83.31444
+28721,NC,Clyde,35.559654,-82.921582
+28722,NC,Columbus,35.241031,-82.120631
+28723,NC,Cullowhee,35.240876,-83.147522
+28726,NC,East Flat Rock,35.279868,-82.420423
+28729,NC,Etowah,35.317192,-82.597705
+28730,NC,Fairview,35.525759,-82.398534
+28731,NC,Flat Rock,35.288993,-82.391568
+28732,NC,Fletcher,35.44989,-82.496559
+28733,NC,Fontana Dam,35.428187,-83.817631
+28734,NC,Franklin,35.180984,-83.388479
+28735,NC,Gerton,35.468723,-82.306204
+28736,NC,Glenville,35.188164,-83.090033
+28738,NC,Hazelwood,35.476877,-83.004284
+28739,NC,Hendersonville,35.319213,-82.499995
+28740,NC,Greenmountain,35.995619,-82.287867
+28741,NC,Highlands,35.070546,-83.216044
+28742,NC,Horse Shoe,35.370267,-82.598128
+28743,NC,Hot Springs,35.816175,-82.812011
+28745,NC,Lake Junaluska,35.525916,-82.970235
+28746,NC,Lake Lure,35.446447,-82.175203
+28747,NC,Lake Toxaway,35.145052,-82.919081
+28748,NC,Leicester,35.649781,-82.710622
+28751,NC,Maggie Valley,35.52006,-83.092928
+28752,NC,Marion,35.681916,-82.017993
+28753,NC,Walnut,35.856074,-82.656577
+28754,NC,Mars Hill,35.852825,-82.525352
+28756,NC,Mill Spring,35.333792,-82.155733
+28761,NC,Nebo,35.673158,-81.905581
+28762,NC,Old Fort,35.616948,-82.168621
+28763,NC,Otto,35.062668,-83.384755
+28766,NC,Penrose,35.252407,-82.622239
+28768,NC,Pisgah Forest,35.259931,-82.669516
+28771,NC,Robbinsville,35.325932,-83.788775
+28772,NC,Rosman,35.119695,-82.818916
+28773,NC,Saluda,35.238341,-82.330595
+28774,NC,Sapphire,35.066578,-83.001924
+28775,NC,Scaly Mountain,35.024036,-83.311338
+28777,NC,Spruce Pine,35.905971,-82.070492
+28778,NC,Warren Wilson Co,35.604843,-82.40649
+28779,NC,Sylva,35.348055,-83.203054
+28780,NC,Tapoco,35.442023,-83.905415
+28781,NC,Topton,35.230604,-83.745117
+28782,NC,Tryon,35.215703,-82.23942
+28783,NC,Tuckasegee,35.259934,-83.074864
+28786,NC,Waynesville,35.501767,-82.991346
+28787,NC,Weaverville,35.712642,-82.549109
+28789,NC,Whittier,35.446934,-83.287239
+28790,NC,Zirconia,35.215291,-82.457368
+28792,NC,Hendersonville,35.361342,-82.426443
+28801,NC,Asheville,35.597075,-82.556533
+28803,NC,Asheville,35.539291,-82.518021
+28804,NC,Asheville,35.63743,-82.564625
+28805,NC,Asheville,35.600363,-82.491781
+28806,NC,Asheville,35.580814,-82.607787
+28901,NC,Andrews,35.195948,-83.822836
+28902,NC,Brasstown,35.031392,-83.966773
+28904,NC,Hayesville,35.04172,-83.78668
+28905,NC,Marble,35.14748,-83.938065
+28906,NC,Unaka,35.079228,-84.101454
+28909,NC,Warne,35.002437,-83.904541
+58002,ND,Absaraka,47.014359,-97.388769
+58003,ND,Alice,46.768892,-97.531819
+58004,ND,Amenia,47.019395,-97.204808
+58005,ND,Argusville,47.10664,-96.905764
+58006,ND,Arthur,47.104774,-97.209737
+58007,ND,Ayr,47.019576,-97.572841
+58008,ND,Barney,46.249621,-96.970772
+58009,ND,Blanchard,47.353664,-97.262079
+58011,ND,Buffalo,46.926351,-97.535159
+58012,ND,Casselton,46.899195,-97.213821
+58013,ND,Cayuga,46.132589,-97.405941
+58014,ND,Chaffee,46.766477,-97.357753
+58015,ND,Christine,46.552157,-96.790882
+58016,ND,Clifford,47.356946,-97.409961
+58017,ND,Brampton,46.089106,-97.809543
+58018,ND,Colfax,46.497153,-96.979001
+58021,ND,Davenport,46.696811,-97.087073
+58027,ND,Enderlin,46.607898,-97.610554
+58029,ND,Erie,47.112803,-97.384851
+58030,ND,Fairmount,46.042658,-96.630811
+58031,ND,Fingal,46.772754,-97.781198
+58032,ND,Forman,46.072075,-97.698643
+58033,ND,Englevale,46.478188,-97.905482
+58035,ND,Galesburg,47.27779,-97.374599
+58036,ND,Gardner,47.1252,-96.990116
+58038,ND,Grandin,47.215769,-97.020676
+58039,ND,Great Bend,46.154369,-96.817143
+58040,ND,Crete,46.230455,-97.866853
+58041,ND,Hankinson,46.055797,-96.899069
+58042,ND,Prosper,46.996497,-96.900973
+58043,ND,Havana,45.964413,-97.60945
+58045,ND,Kelso,47.394168,-97.056024
+58046,ND,Colgate,47.19995,-97.784865
+58047,ND,Hickson,46.739267,-96.860941
+58048,ND,Hunter,47.19132,-97.251648
+58049,ND,Hastings,46.705548,-97.999791
+58051,ND,Kindred,46.654296,-97.004919
+58052,ND,Leonard,46.659324,-97.272488
+58053,ND,Geneseo,46.073885,-97.144429
+58054,ND,Elliott,46.420133,-97.658895
+58056,ND,Luverne,47.315052,-97.729622
+58057,ND,Mcleod,46.41027,-97.313892
+58058,ND,Mantador,46.159935,-96.957004
+58059,ND,Durbin,46.867546,-97.051366
+58060,ND,Delamere,46.255074,-97.433724
+58061,ND,Mooreton,46.261537,-96.850726
+58062,ND,Nome,46.674834,-97.791099
+58063,ND,Oriska,46.943251,-97.785331
+58064,ND,Page,47.151512,-97.596665
+58067,ND,Rutland,46.073813,-97.548284
+58068,ND,Sheldon,46.554784,-97.454261
+58069,ND,Stirum,46.229891,-97.654233
+58071,ND,Tower City,46.911873,-97.659392
+58072,ND,Valley City,46.92681,-98.003316
+58075,ND,Dwight,46.279842,-96.633934
+58077,ND,Walcott,46.583529,-97.001442
+58078,ND,Riverside,46.869523,-96.895002
+58079,ND,Embden,46.875015,-97.391694
+58081,ND,Wyndmere,46.289137,-97.128912
+58102,ND,North River,46.900878,-96.793577
+58103,ND,Fargo,46.856406,-96.812252
+58104,ND,Briarwood,46.81492,-96.823846
+58201,ND,Grand Forks,47.901041,-97.04463
+58203,ND,Grand Forks,47.927217,-97.067156
+58205,ND,Grand Forks,47.959499,-97.370802
+58210,ND,Adams,48.422299,-98.086741
+58212,ND,Aneta,47.699262,-97.981406
+58213,ND,Ardoch,48.226911,-97.253534
+58214,ND,Arvilla,47.909292,-97.487124
+58216,ND,Bathgate,48.868632,-97.483215
+58218,ND,Buxton,47.616314,-97.089259
+58219,ND,Caledonia,47.457645,-96.908476
+58220,ND,Concrete,48.794341,-97.657191
+58222,ND,Crystal,48.592387,-97.673846
+58223,ND,Cummings,47.537023,-96.991287
+58224,ND,Dahlen,48.159896,-97.957269
+58225,ND,Bowesmont,48.578569,-97.199222
+58227,ND,Gardar,48.490164,-97.890188
+58228,ND,Emerado,47.921376,-97.263012
+58229,ND,Fairdale,48.481924,-98.206587
+58230,ND,Finley,47.530611,-97.744242
+58231,ND,Fordville,48.22119,-97.802238
+58233,ND,Forest River,48.225094,-97.460476
+58235,ND,Honeyford,48.077082,-97.463299
+58237,ND,Nash,48.410783,-97.415895
+58238,ND,Hamilton,48.794249,-97.469302
+58239,ND,Hannah,48.959446,-98.723693
+58240,ND,Hatton,47.638012,-97.432548
+58241,ND,Hensel,48.673836,-97.596223
+58243,ND,Hoople,48.51981,-97.618333
+58244,ND,Orr,48.118654,-97.681302
+58245,ND,58245,48.143406,-97.454697
+58246,ND,58246,48.793789,-97.215983
+58249,ND,Langdon,48.786562,-98.35662
+58250,ND,Lankin,48.295233,-98.006997
+58251,ND,Mccanna,47.904048,-97.651792
+58254,ND,Kloten,47.778981,-98.162999
+58255,ND,Maida,48.949043,-98.394826
+58256,ND,Manvel,48.085314,-97.194332
+58257,ND,Mayville,47.50138,-97.317645
+58258,ND,Mekinock,47.980909,-97.489593
+58259,ND,Whitman,48.04144,-98.124243
+58260,ND,Milton,48.616963,-98.018285
+58261,ND,Voss,48.298874,-97.333727
+58262,ND,Mountain,48.677341,-97.807569
+58264,ND,58264,48.497773,-97.471905
+58265,ND,Neche,48.979567,-97.542687
+58266,ND,Niagara,47.984817,-97.833431
+58267,ND,Kempton,47.741756,-97.563054
+58269,ND,Osnabrock,48.641908,-98.23271
+58270,ND,Park River,48.403881,-97.743897
+58271,ND,Joliette,48.936124,-97.275611
+58272,ND,Petersburg,47.997973,-97.984033
+58273,ND,Pisek,48.297096,-97.702894
+58274,ND,Portland,47.501542,-97.384303
+58275,ND,Reynolds,47.706776,-97.209153
+58276,ND,Saint Thomas,48.625223,-97.454508
+58277,ND,Sharon,47.606188,-97.905091
+58278,ND,Thompson,47.77658,-97.096201
+58281,ND,Wales,48.921647,-98.559649
+58282,ND,Backoo,48.91103,-97.881927
+58301,ND,Devils Lake,48.113162,-98.861588
+58311,ND,Loma,48.636847,-98.622545
+58315,ND,Barton,48.461084,-100.204429
+58316,ND,Belcourt,48.837862,-99.768754
+58317,ND,Bisbee,48.555196,-99.363592
+58318,ND,Bottineau,48.845137,-100.432894
+58319,ND,Bremen,47.727212,-99.371564
+58320,ND,Brinsmade,48.156805,-99.312384
+58321,ND,Brocket,48.225527,-98.355854
+58323,ND,Calvin,48.80843,-98.924236
+58324,ND,Maza,48.485479,-99.194553
+58325,ND,Churchs Ferry,48.286206,-99.141187
+58327,ND,Southam,48.053028,-98.621236
+58328,ND,Doyon,48.081067,-98.506757
+58329,ND,San Haven,48.84801,-100.031105
+58330,ND,Edmore,48.43084,-98.445756
+58331,ND,Egeland,48.635537,-99.111475
+58332,ND,Fillmore,48.072022,-99.703388
+58337,ND,Hamberg,47.779372,-99.468297
+58338,ND,Hampden,48.522892,-98.654316
+58339,ND,Hansboro,48.86648,-99.383259
+58341,ND,Manfred,47.768121,-99.932941
+58342,ND,Heimdal,47.799918,-99.689147
+58343,ND,Knox,48.338812,-99.671274
+58344,ND,Mapes,48.035714,-98.341548
+58345,ND,Lawton,48.30326,-98.414199
+58346,ND,Harlow,48.26681,-99.440123
+58348,ND,Flora,47.95074,-99.543061
+58351,ND,Minnewaukan,48.069777,-99.274323
+58352,ND,Calio,48.654605,-98.842646
+58353,ND,Mylo,48.635981,-99.632878
+58356,ND,Brantford,47.679385,-99.078007
+58357,ND,Oberon,47.948744,-99.140129
+58360,ND,Overly,48.679029,-100.175958
+58361,ND,Pekin,47.769558,-98.326035
+58362,ND,Penn,48.227106,-99.065509
+58363,ND,Perth,48.681601,-99.383076
+58365,ND,Rocklake,48.821569,-99.179628
+58366,ND,Nanson,48.655224,-99.874375
+58367,ND,Rolla,48.859423,-99.613386
+58368,ND,Pleasant Lake,48.317264,-99.998954
+58369,ND,Saint John,48.936588,-99.76476
+58370,ND,Saint Michael,47.977363,-98.918058
+58372,ND,Sarles,48.945921,-98.960562
+58373,ND,58373,47.868454,-99.882826
+58374,ND,Sheyenne,47.818386,-99.058326
+58377,ND,Starkweather,48.448802,-98.853903
+58380,ND,Hamar,47.802014,-98.475218
+58381,ND,Warwick,47.891285,-98.680956
+58382,ND,Webster,48.322852,-98.873944
+58384,ND,Willow City,48.606205,-100.296802
+58385,ND,Wolford,48.480937,-99.662756
+58386,ND,Baker,48.321709,-99.550489
+58401,ND,Eldridge,46.905899,-98.706127
+58411,ND,Alfred,46.58588,-98.914671
+58412,ND,Arena,47.134934,-100.17651
+58413,ND,Ashley,46.053677,-99.3164
+58415,ND,Berlin,46.400834,-98.523342
+58416,ND,Binford,47.573899,-98.354625
+58418,ND,Bowdon,47.434318,-99.701532
+58420,ND,Buchanan,47.040917,-98.811158
+58421,ND,Bordulac,47.453918,-99.108226
+58422,ND,Emrick,47.549857,-99.429677
+58423,ND,Chaseley,47.449018,-99.824082
+58424,ND,Windsor,46.883242,-99.086596
+58425,ND,Cooperstown,47.452732,-98.153332
+58426,ND,Courtenay,47.227195,-98.54885
+58428,ND,Dawson,46.829612,-99.763544
+58429,ND,Sibley,47.195503,-98.143863
+58430,ND,Denhoff,47.570905,-100.263037
+58431,ND,Dickey,46.542565,-98.468212
+58432,ND,Eckelson,46.916737,-98.366939
+58433,ND,Merricourt,46.324969,-98.708346
+58436,ND,Ellendale,46.007317,-98.51383
+58438,ND,Fessenden,47.628644,-99.643361
+58439,ND,Forbes,46.010926,-98.812414
+58440,ND,Fredonia,46.353456,-99.262818
+58441,ND,Fullerton,46.195138,-98.388219
+58442,ND,Gackle,46.591263,-99.219056
+58443,ND,Juanita,47.443185,-98.663951
+58444,ND,Goodrich,47.471048,-100.118979
+58445,ND,Grace City,47.55358,-98.809465
+58448,ND,Walum,47.299693,-98.15718
+58450,ND,Heaton,47.462249,-99.578482
+58451,ND,Hurdsfield,47.438733,-99.94165
+58454,ND,Nortonville,46.500996,-98.807661
+58455,ND,Kensal,47.272609,-98.720579
+58456,ND,Kulm,46.307274,-98.942724
+58458,ND,Grand Rapids,46.361961,-98.30022
+58460,ND,Lehr,46.258638,-99.349136
+58461,ND,Litchville,46.688788,-98.20327
+58463,ND,Mcclusky,47.489639,-100.451966
+58464,ND,Mchenry,47.560416,-98.572594
+58465,ND,Manfred,47.711663,-99.764369
+58466,ND,Marion,46.571587,-98.253327
+58467,ND,Medina,46.891951,-99.310556
+58471,ND,Monango,46.193641,-98.57962
+58472,ND,Adrian,46.654218,-98.597647
+58474,ND,Guelph,46.128796,-98.099339
+58475,ND,Pettibone,47.119973,-99.527892
+58476,ND,Edmunds,47.165715,-99.002041
+58477,ND,Regan,47.152703,-100.522448
+58478,ND,Lake Williams,47.150765,-99.700302
+58479,ND,Leal,47.071086,-98.220885
+58480,ND,Sanborn,46.927065,-98.233622
+58481,ND,Spiritwood,47.101601,-98.648468
+58482,ND,Steele,46.852357,-99.933559
+58483,ND,Streeter,46.694999,-99.297108
+58484,ND,Sutton,47.385355,-98.432044
+58486,ND,Sykeston,47.436938,-99.39751
+58487,ND,Tappen,46.83362,-99.601892
+58488,ND,Tuttle,47.162583,-99.987287
+58489,ND,Venturia,46.037075,-99.494253
+58490,ND,Verona,46.371229,-98.089536
+58492,ND,Wimbledon,47.143837,-98.432916
+58494,ND,Wing,47.151939,-100.307159
+58495,ND,Burnstad,46.251617,-99.586005
+58496,ND,Woodworth,47.163639,-99.3406
+58497,ND,Ypsilanti,46.771949,-98.487636
+58501,ND,Bismarck,46.823448,-100.774755
+58504,ND,Lincoln,46.782463,-100.774411
+58520,ND,Almont,46.704605,-101.522126
+58521,ND,Baldwin,46.954338,-100.761464
+58523,ND,Beulah,47.270664,-101.807468
+58524,ND,Braddock,46.549885,-100.241577
+58528,ND,Cannon Ball,46.387446,-100.59749
+58529,ND,Carson,46.462389,-101.538725
+58530,ND,Fort Clark,47.121912,-101.328643
+58531,ND,Coleharbor,47.519559,-101.233198
+58532,ND,Driscoll,46.851139,-100.144063
+58533,ND,Heil,46.411346,-101.835145
+58535,ND,Lark,46.465133,-101.151681
+58537,ND,Huff,46.563172,-100.693909
+58538,ND,Fort Yates,46.09054,-100.651611
+58540,ND,Emmet,47.655219,-101.398325
+58541,ND,Golden Valley,47.293754,-102.061229
+58542,ND,Hague,46.058896,-99.974507
+58544,ND,Hazelton,46.487477,-100.273325
+58545,ND,Hazen,47.327138,-101.610695
+58549,ND,Kintyre,46.573573,-99.970462
+58551,ND,Leith,46.234873,-101.455531
+58552,ND,Temvik,46.286924,-100.215832
+58553,ND,Mckenzie,46.831062,-100.3995
+58554,ND,Mandan,46.830649,-100.909175
+58558,ND,Menoken,46.861032,-100.527488
+58559,ND,Mercer,47.485792,-100.717079
+58560,ND,Moffit,46.675725,-100.297538
+58561,ND,Napoleon,46.486724,-99.77253
+58562,ND,Bentley,46.374448,-101.89369
+58563,ND,Hannover,46.851248,-101.424453
+58564,ND,Raleigh,46.335236,-101.282651
+58565,ND,Riverdale,47.640333,-101.115061
+58566,ND,Saint Anthony,46.588831,-100.897237
+58568,ND,Selfridge,46.035147,-101.150204
+58569,ND,Shields,46.183772,-101.258894
+58570,ND,Breien,46.294106,-100.81363
+58571,ND,Stanton,47.312786,-101.38987
+58572,ND,Sterling,46.843583,-100.274392
+58573,ND,Strasburg,46.097938,-100.211869
+58575,ND,Turtle Lake,47.541416,-100.881364
+58576,ND,Underwood,47.460163,-101.189807
+58577,ND,Washburn,47.311388,-101.011568
+58579,ND,Wilton,47.170853,-100.794385
+58580,ND,Zap,47.289711,-101.925649
+58581,ND,Zeeland,46.005476,-99.772543
+58601,ND,New Hradec,46.887289,-102.787595
+58620,ND,Amidon,46.455951,-103.264741
+58621,ND,Beach,46.932381,-103.98429
+58622,ND,Fryburg,46.887728,-103.179515
+58623,ND,Bowman,46.173316,-103.401965
+58625,ND,Dodge,47.304893,-102.198505
+58626,ND,Dunn Center,47.345265,-102.589198
+58627,ND,Gorham,47.118004,-103.222328
+58630,ND,Gladstone,46.815162,-102.527379
+58631,ND,Glen Ullin,46.823301,-101.822293
+58632,ND,Golva,46.7075,-103.957545
+58634,ND,Grassy Butte,47.443072,-103.294433
+58636,ND,Werner,47.367752,-102.319286
+58638,ND,Hebron,46.893613,-102.036678
+58639,ND,Bucyrus,46.027869,-102.584516
+58640,ND,Killdeer,47.410898,-102.776242
+58641,ND,Lefor,46.725264,-102.764292
+58642,ND,Manning,47.125837,-102.680638
+58643,ND,Marmarth,46.325396,-103.88
+58645,ND,Medora,46.845771,-103.421011
+58646,ND,Burt,46.401095,-102.312935
+58647,ND,New England,46.512841,-102.835816
+58649,ND,Reeder,46.111577,-102.940519
+58650,ND,Regent,46.423452,-102.568443
+58651,ND,Rhame,46.166449,-103.70791
+58652,ND,Richardton,46.842614,-102.292004
+58653,ND,Gascoyne,46.139924,-103.144688
+58654,ND,Sentinel Butte,46.830475,-103.800113
+58655,ND,South Heart,46.812701,-103.016241
+58656,ND,Taylor,46.928372,-102.375626
+58657,ND,Trotters,47.233008,-103.854704
+58701,ND,Minot,48.22914,-101.298476
+58704,ND,Minot Afb,48.423217,-101.31678
+58710,ND,Anamoose,47.870307,-100.252941
+58711,ND,Antler,48.958525,-101.333758
+58712,ND,Balfour,47.968451,-100.520929
+58713,ND,Bantry,48.511875,-100.789445
+58716,ND,Benedict,47.786493,-101.057884
+58718,ND,Blaisdell,48.323399,-101.800562
+58721,ND,Coteau,48.796803,-102.247271
+58722,ND,Burlington,48.273534,-101.428205
+58723,ND,Butte,47.811884,-100.660446
+58725,ND,Carpio,48.432299,-101.711943
+58727,ND,Larson,48.878875,-102.794848
+58730,ND,Crosby,48.883551,-103.274023
+58731,ND,Deering,48.405693,-101.033685
+58733,ND,Des Lacs,48.25569,-101.567167
+58734,ND,Donnybrook,48.490015,-101.896039
+58735,ND,Douglas,47.865914,-101.511218
+58736,ND,Drake,47.902431,-100.378955
+58737,ND,Northgate,48.917672,-102.341502
+58738,ND,Foxholm,48.339193,-101.59072
+58739,ND,Gardena,48.683566,-100.48429
+58740,ND,Wolseth,48.507978,-101.31955
+58741,ND,Granville,48.256575,-100.808193
+58744,ND,Karlsruhe,48.10085,-100.574158
+58746,ND,Coulee,48.673149,-102.071745
+58747,ND,Kief,47.818615,-100.52146
+58748,ND,Kramer,48.686666,-100.671638
+58750,ND,Lansford,48.625419,-101.385825
+58752,ND,Lignite,48.848113,-102.554177
+58755,ND,Mcgregor,48.594983,-102.928795
+58756,ND,Makoti,47.985283,-101.814942
+58757,ND,Mandaree,47.856744,-102.653473
+58758,ND,Martin,47.778144,-100.122517
+58759,ND,Max,47.815577,-101.293166
+58760,ND,Maxbass,48.772163,-101.256328
+58761,ND,Loraine,48.765814,-101.554512
+58762,ND,Newburg,48.698192,-100.968056
+58763,ND,Charlson,47.977154,-102.485793
+58765,ND,Noonan,48.885635,-103.009793
+58768,ND,Norwich,48.249115,-100.971165
+58769,ND,Palermo,48.3396,-102.239954
+58770,ND,Parshall,47.95597,-102.142732
+58771,ND,Plaza,48.02421,-101.964276
+58772,ND,Portal,48.975818,-102.548023
+58773,ND,Battleview,48.589815,-102.644646
+58775,ND,Roseglen,47.695967,-101.822041
+58776,ND,Ross,48.316159,-102.530721
+58778,ND,Ruso,47.762224,-100.875432
+58779,ND,Raub,47.868017,-101.765095
+58781,ND,Sawyer,48.085837,-101.067396
+58782,ND,Sherwood,48.957551,-101.697024
+58783,ND,Carbury,48.937378,-100.741324
+58784,ND,Belden,48.319189,-102.392802
+58785,ND,Surrey,48.236472,-101.121617
+58787,ND,Tolley,48.796903,-101.855891
+58788,ND,Berwick,48.377657,-100.412322
+58789,ND,Upham,48.581632,-100.732314
+58790,ND,Velva,48.06748,-100.934623
+58792,ND,Bergen,47.951793,-100.803824
+58793,ND,Westhope,48.905074,-101.033809
+58794,ND,White Earth,48.430748,-102.806672
+58795,ND,Hamlet,48.621929,-103.184878
+58801,ND,Bonetraill,48.167924,-103.631699
+58830,ND,Appam,48.585803,-103.422154
+58831,ND,Rawson,47.843517,-103.63961
+58833,ND,Ambrose,48.817195,-103.700676
+58835,ND,Arnegard,47.808832,-103.453837
+58838,ND,Cartwright,47.79922,-103.948718
+58843,ND,Springbrook,48.260088,-103.372462
+58844,ND,Colgan,48.924646,-103.828955
+58845,ND,Alkabo,48.613946,-103.929128
+58847,ND,Keene,47.940516,-102.890567
+58849,ND,Wheelock,48.3323,-103.18365
+58852,ND,Temple,48.392009,-102.961281
+58853,ND,Trenton,48.056303,-103.861276
+58854,ND,Watford City,47.804258,-103.258205
+58856,ND,Zahl,48.578747,-103.659926
+43001,OH,Alexandria,40.105965,-82.607683
+43002,OH,Amlin,40.07203,-83.179157
+43003,OH,Ashley,40.416264,-82.954201
+43004,OH,Blacklick,40.020952,-82.807857
+43006,OH,Brinkhaven,40.458346,-82.155289
+43009,OH,Cable,40.178411,-83.64696
+43011,OH,Centerburg,40.286513,-82.680039
+43013,OH,Croton,40.237603,-82.698948
+43014,OH,Danville,40.455693,-82.263855
+43015,OH,Delaware,40.293186,-83.072312
+43017,OH,Dublin,40.109297,-83.114633
+43019,OH,Fredericktown,40.497613,-82.585711
+43021,OH,Galena,40.191546,-82.895937
+43022,OH,Gambier,40.378241,-82.382752
+43023,OH,Granville,40.078791,-82.519399
+43025,OH,Hebron,39.953464,-82.491868
+43026,OH,Hilliard,40.032187,-83.138333
+43028,OH,Howard,40.415818,-82.333351
+43029,OH,Irwin,40.128352,-83.458699
+43031,OH,Johnstown,40.14452,-82.697284
+43036,OH,Magnetic Springs,40.358023,-83.267142
+43037,OH,Martinsburg,40.267954,-82.356691
+43040,OH,Marysville,40.247723,-83.362213
+43044,OH,Mechanicsburg,40.064659,-83.572352
+43045,OH,Milford Center,40.181666,-83.437333
+43046,OH,Millersport,39.899307,-82.528348
+43050,OH,Mount Vernon,40.384937,-82.487286
+43054,OH,New Albany,40.084686,-82.798793
+43055,OH,Newark,40.072429,-82.404565
+43056,OH,Heath,40.019659,-82.387527
+43060,OH,North Lewisburg,40.222871,-83.561476
+43061,OH,Ostrander,40.273971,-83.197813
+43062,OH,Pataskala,40.000925,-82.668656
+43064,OH,Plain City,40.097356,-83.269049
+43065,OH,Shawnee Hills,40.152652,-83.074921
+43066,OH,Radnor,40.391779,-83.178074
+43067,OH,Raymond,40.247321,-83.364927
+43068,OH,Reynoldsburg,39.955145,-82.803454
+43071,OH,Saint Louisville,40.181776,-82.356015
+43072,OH,Saint Paris,40.105755,-83.963062
+43074,OH,Sunbury,40.265499,-82.851051
+43076,OH,Thornville,39.897364,-82.407059
+43078,OH,Urbana,40.106639,-83.767142
+43080,OH,Utica,40.244137,-82.413459
+43081,OH,Westerville,40.114569,-82.910504
+43084,OH,Woodstock,40.181644,-83.546149
+43085,OH,Worthington,40.105155,-83.010069
+43102,OH,Amanda,39.625104,-82.755236
+43103,OH,Ashville,39.731576,-82.944567
+43105,OH,Baltimore,39.864452,-82.624023
+43106,OH,Bloomingburg,39.628617,-83.409521
+43107,OH,Hide A Way Hills,39.698807,-82.42548
+43110,OH,Canal Winchester,39.83486,-82.804369
+43112,OH,Carroll,39.795743,-82.708358
+43113,OH,Circleville,39.598836,-82.929966
+43115,OH,Clarksburg,39.490432,-83.156282
+43119,OH,Galloway,39.936604,-83.183848
+43123,OH,Grove City,39.881382,-83.083944
+43125,OH,Groveport,39.858137,-82.887219
+43128,OH,Jeffersonville,39.65896,-83.56873
+43130,OH,Lancaster,39.718697,-82.603074
+43135,OH,Laurelville,39.4757,-82.721219
+43137,OH,Lockbourne,39.814236,-82.976369
+43138,OH,Logan,39.537175,-82.412594
+43140,OH,London,39.900074,-83.443899
+43143,OH,Mount Sterling,39.717506,-83.280618
+43145,OH,New Holland,39.558897,-83.250429
+43146,OH,Orient,39.795386,-83.154317
+43147,OH,Pickerington,39.906062,-82.756267
+43148,OH,Pleasantville,39.822684,-82.504268
+43149,OH,Rockbridge,39.550907,-82.562572
+43150,OH,Rushville,39.767375,-82.427981
+43152,OH,South Bloomingvi,39.374145,-82.639404
+43153,OH,South Solon,39.742295,-83.596984
+43154,OH,Stoutsville,39.60672,-82.819279
+43155,OH,Sugar Grove,39.627699,-82.532113
+43160,OH,Washington Court,39.534346,-83.438817
+43162,OH,West Jefferson,39.942409,-83.285306
+43164,OH,Williamsport,39.611739,-83.125053
+43201,OH,Columbus,39.995157,-83.004732
+43202,OH,Columbus,40.020084,-83.011842
+43203,OH,Columbus,39.971925,-82.969131
+43204,OH,Columbus,39.952333,-83.077999
+43205,OH,Columbus,39.956905,-82.964352
+43206,OH,Columbus,39.942639,-82.974845
+43207,OH,Columbus,39.904565,-82.970334
+43209,OH,Bexley,39.958999,-82.926595
+43210,OH,Columbus,40.002804,-83.016404
+43211,OH,Columbus,40.011792,-82.973196
+43212,OH,Columbus,39.987381,-83.045579
+43213,OH,Whitehall,39.967146,-82.878275
+43214,OH,Columbus,40.053482,-83.01875
+43215,OH,Columbus,39.967106,-83.004383
+43217,OH,Columbus,39.806209,-82.947483
+43219,OH,Shepard,40.004394,-82.936459
+43220,OH,Columbus,40.049484,-83.066911
+43221,OH,Upper Arlington,40.015431,-83.064592
+43222,OH,Columbus,39.957628,-83.031109
+43223,OH,Columbus,39.938753,-83.046344
+43224,OH,Columbus,40.042493,-82.968947
+43227,OH,Columbus,39.944394,-82.890298
+43228,OH,Lincoln Village,39.947876,-83.123858
+43229,OH,Columbus,40.083886,-82.972568
+43230,OH,Gahanna,40.038458,-82.882429
+43231,OH,Columbus,40.080984,-82.938275
+43232,OH,Columbus,39.923024,-82.866432
+43235,OH,West Worthington,40.101271,-83.059287
+43302,OH,Marion,40.587648,-83.127056
+43310,OH,Belle Center,40.502371,-83.768773
+43311,OH,Bellefontaine,40.360472,-83.757076
+43314,OH,Caledonia,40.627239,-82.992465
+43315,OH,Cardington,40.506583,-82.933728
+43316,OH,Carey,40.948599,-83.383578
+43318,OH,De Graff,40.305773,-83.9153
+43319,OH,East Liberty,40.307682,-83.586221
+43320,OH,Edison,40.590475,-82.902301
+43321,OH,Fulton,40.465013,-82.836244
+43323,OH,Harpster,40.747541,-83.23428
+43324,OH,Huntsville,40.441295,-83.792748
+43326,OH,Kenton,40.640433,-83.611087
+43331,OH,Lakeview,40.503033,-83.908139
+43332,OH,La Rue,40.578879,-83.373397
+43333,OH,Lewistown,40.42768,-83.920893
+43334,OH,Marengo,40.389512,-82.812136
+43335,OH,Martel,40.670775,-82.90586
+43337,OH,Morral,40.695366,-83.204606
+43338,OH,Mount Gilead,40.538371,-82.806235
+43340,OH,Mount Victory,40.52321,-83.494165
+43341,OH,New Bloomington,40.607301,-83.322351
+43342,OH,Prospect,40.472659,-83.176295
+43343,OH,Quincy,40.287606,-83.974411
+43344,OH,Richwood,40.43698,-83.313639
+43345,OH,Ridgeway,40.520923,-83.570161
+43346,OH,Roundhead,40.580337,-83.848502
+43347,OH,Rushsylvania,40.465808,-83.659789
+43348,OH,Russells Point,40.474956,-83.879825
+43350,OH,Sparta,40.373492,-82.697034
+43351,OH,Upper Sandusky,40.824876,-83.297711
+43356,OH,Waldo,40.460544,-83.070609
+43357,OH,West Liberty,40.262541,-83.752763
+43358,OH,West Mansfield,40.404284,-83.524274
+43359,OH,Wharton,40.861216,-83.463016
+43360,OH,Zanesfield,40.302396,-83.664832
+43402,OH,Bowling Green,41.381513,-83.650749
+43406,OH,Bradner,41.329789,-83.4456
+43407,OH,Burgoon,41.267986,-83.247455
+43410,OH,Clyde,41.302397,-82.991849
+43412,OH,Curtice,41.647736,-83.285825
+43413,OH,Cygnet,41.247024,-83.614151
+43416,OH,Elmore,41.468144,-83.27673
+43420,OH,Fremont,41.349792,-83.118095
+43430,OH,Genoa,41.530005,-83.358984
+43431,OH,Gibsonburg,41.380474,-83.335762
+43432,OH,Elliston,41.527136,-83.261135
+43435,OH,Millersville,41.318005,-83.323184
+43436,OH,Isle Saint Georg,41.713668,-82.819275
+43438,OH,Kelleys Island,41.600755,-82.706811
+43439,OH,Lacarne,41.527846,-83.024004
+43440,OH,Lakeside,41.52913,-82.771392
+43442,OH,Lindsey,41.414747,-83.213474
+43443,OH,Luckey,41.451669,-83.467396
+43445,OH,Bono,41.596249,-83.345536
+43447,OH,Millbury,41.56106,-83.438083
+43449,OH,Oak Harbor,41.523556,-83.127764
+43450,OH,Pemberville,41.402258,-83.473642
+43451,OH,Portage,41.312702,-83.614299
+43452,OH,Port Clinton,41.521535,-82.909368
+43456,OH,Put In Bay,41.651356,-82.822593
+43457,OH,Risingsun,41.270639,-83.43259
+43460,OH,Rossford,41.604908,-83.563793
+43462,OH,Rudolph,41.296734,-83.683212
+43464,OH,Vickery,41.39099,-82.898953
+43465,OH,Walbridge,41.586067,-83.493008
+43466,OH,Wayne,41.299312,-83.470065
+43469,OH,Woodville,41.451206,-83.364643
+43501,OH,Alvordton,41.662489,-84.435533
+43502,OH,Archbold,41.533255,-84.304833
+43504,OH,Berkey,41.698892,-83.830972
+43506,OH,Bryan,41.474839,-84.56287
+43511,OH,Custar,41.295318,-83.834919
+43512,OH,Defiance,41.279858,-84.362583
+43515,OH,Delta,41.557695,-83.9866
+43516,OH,Deshler,41.223945,-83.896434
+43517,OH,Edgerton,41.442496,-84.734937
+43518,OH,Edon,41.584219,-84.757002
+43521,OH,Fayette,41.671716,-84.325004
+43522,OH,Grand Rapids,41.437855,-83.855246
+43524,OH,Hamler,41.212874,-84.071989
+43525,OH,Haskins,41.465159,-83.705858
+43526,OH,Hicksville,41.303378,-84.758852
+43527,OH,Holgate,41.254859,-84.144735
+43528,OH,Holland,41.622629,-83.725712
+43532,OH,Liberty Center,41.451371,-83.985889
+43533,OH,Lyons,41.690546,-84.062351
+43534,OH,Mc Clure,41.377309,-83.942482
+43535,OH,Malinta,41.308425,-84.045731
+43536,OH,Mark Center,41.291669,-84.62778
+43537,OH,Maumee,41.581682,-83.66283
+43540,OH,Metamora,41.695233,-83.925972
+43542,OH,Monclova,41.568416,-83.775718
+43543,OH,Montpelier,41.59821,-84.614703
+43545,OH,Napoleon,41.390969,-84.143271
+43548,OH,New Bavaria,41.208649,-84.191336
+43549,OH,Ney,41.378083,-84.526921
+43551,OH,Perrysburg,41.542926,-83.592727
+43554,OH,Pioneer,41.665619,-84.536324
+43556,OH,Sherwood,41.294593,-84.541674
+43557,OH,Stryker,41.486123,-84.408914
+43558,OH,Swanton,41.594497,-83.871821
+43560,OH,Sylvania,41.707985,-83.706825
+43566,OH,Waterville,41.502248,-83.733142
+43567,OH,Wauseon,41.566796,-84.153745
+43569,OH,Weston,41.351593,-83.797336
+43570,OH,West Unity,41.575645,-84.442066
+43571,OH,Whitehouse,41.519432,-83.81151
+43602,OH,Toledo,41.647984,-83.554747
+43604,OH,Toledo,41.661415,-83.524949
+43605,OH,Oregon,41.640701,-83.512341
+43606,OH,Toledo,41.671213,-83.605992
+43607,OH,Toledo,41.650417,-83.597419
+43608,OH,Toledo,41.677908,-83.534359
+43609,OH,Toledo,41.629761,-83.577282
+43610,OH,Toledo,41.676693,-83.557303
+43611,OH,Toledo,41.704507,-83.489203
+43612,OH,Toledo,41.704567,-83.565622
+43613,OH,Toledo,41.703913,-83.603397
+43614,OH,Toledo,41.60279,-83.62917
+43615,OH,Toledo,41.649197,-83.670583
+43616,OH,Oregon,41.641842,-83.471366
+43617,OH,Toledo,41.666765,-83.716967
+43618,OH,Oregon,41.665636,-83.392302
+43619,OH,Northwood,41.607986,-83.48056
+43620,OH,Toledo,41.66536,-83.553602
+43623,OH,Toledo,41.707968,-83.643408
+43624,OH,Toledo,41.65627,-83.545005
+43701,OH,Sonora,39.944265,-82.008898
+43713,OH,Somerton,39.9812,-81.171295
+43716,OH,Beallsville,39.872601,-81.014358
+43718,OH,Belmont,40.03202,-81.006564
+43719,OH,Bethesda,40.019221,-81.076742
+43720,OH,Blue Rock,39.799996,-81.891023
+43723,OH,Byesville,39.962336,-81.548485
+43724,OH,Caldwell,39.746651,-81.51528
+43725,OH,Claysville,40.030501,-81.591277
+43727,OH,Chandlersville,39.889659,-81.830084
+43728,OH,Chesterhill,39.495277,-81.877286
+43730,OH,Hemlock,39.634902,-82.097737
+43731,OH,Crooksville,39.762321,-82.084018
+43732,OH,Cumberland,39.874092,-81.625925
+43734,OH,Duncan Falls,39.877777,-81.911665
+43739,OH,Glenford,39.869935,-82.302592
+43746,OH,Hopewell,39.96008,-82.175619
+43747,OH,Jerusalem,39.848831,-81.092088
+43748,OH,Junction City,39.696531,-82.315525
+43749,OH,Guernsey,40.166544,-81.53036
+43754,OH,Lewisville,39.768379,-81.231583
+43755,OH,Lore City,40.045854,-81.447853
+43756,OH,Mc Connelsville,39.670014,-81.837625
+43758,OH,Malta,39.648212,-81.912746
+43760,OH,Mount Perry,39.878798,-82.188039
+43762,OH,New Concord,40.008798,-81.738727
+43764,OH,New Lexington,39.717438,-82.201884
+43766,OH,New Straitsville,39.586872,-82.248804
+43767,OH,Norwich,39.993438,-81.802425
+43771,OH,Philo,39.845773,-81.917479
+43772,OH,Pleasant City,39.909514,-81.55797
+43773,OH,Quaker City,39.986576,-81.289883
+43777,OH,Roseville,39.818656,-82.079212
+43778,OH,Salesville,40.008146,-81.372793
+43779,OH,Sarahsville,39.793846,-81.467825
+43780,OH,Senecaville,39.933719,-81.458043
+43782,OH,Shawnee,39.610984,-82.208459
+43783,OH,Somerset,39.793615,-82.29911
+43787,OH,Pennsville,39.561434,-81.825251
+43788,OH,Summerfield,39.803597,-81.331993
+43793,OH,Antioch,39.753063,-81.10336
+43802,OH,Adamsville,40.07929,-81.871847
+43804,OH,Baltic,40.447568,-81.679171
+43811,OH,Conesville,40.180441,-81.895074
+43812,OH,Coshocton,40.275412,-81.866033
+43821,OH,Adams Mills,40.112941,-82.018807
+43822,OH,Frazeysburg,40.131616,-82.129279
+43824,OH,Fresno,40.371126,-81.762297
+43830,OH,Nashport,40.038588,-82.09976
+43832,OH,Newcomerstown,40.273895,-81.593969
+43837,OH,Port Washington,40.340359,-81.521518
+43840,OH,Stone Creek,40.405188,-81.589018
+43843,OH,Walhonding,40.362037,-82.209359
+43844,OH,Warsaw,40.317243,-82.055989
+43845,OH,West Lafayette,40.271829,-81.736102
+43901,OH,Adena,40.212581,-80.881538
+43902,OH,Alledonia,39.905271,-80.957753
+43903,OH,Amsterdam,40.473131,-80.959554
+43906,OH,Bellaire,40.020399,-80.763813
+43907,OH,Moorefield,40.264537,-80.996244
+43908,OH,Bergholz,40.47771,-80.886153
+43910,OH,Bloomingdale,40.3742,-80.807214
+43912,OH,Bridgeport,40.075184,-80.774682
+43913,OH,Brilliant,40.268283,-80.631949
+43915,OH,Clarington,39.781908,-80.911311
+43917,OH,Dillonvale,40.212132,-80.802843
+43920,OH,Calcutta,40.645918,-80.578669
+43930,OH,Hammondsville,40.579909,-80.729918
+43932,OH,Irondale,40.511052,-80.791546
+43933,OH,Armstrong Mills,39.956304,-80.882181
+43935,OH,Martins Ferry,40.103597,-80.736125
+43938,OH,Mingo Junction,40.320256,-80.625021
+43942,OH,Powhatan Point,39.867935,-80.8168
+43943,OH,Rayland,40.208274,-80.712534
+43944,OH,Richmond,40.426061,-80.76128
+43945,OH,Salineville,40.619525,-80.834977
+43946,OH,Sardis,39.652639,-80.924308
+43947,OH,Shadyside,39.967497,-80.764309
+43950,OH,Saint Clairsvill,40.083439,-80.902285
+43952,OH,Wintersville,40.370638,-80.66115
+43963,OH,Tiltonsville,40.168075,-80.699647
+43964,OH,Toronto,40.473298,-80.632504
+43968,OH,Wellsville,40.617099,-80.662095
+43971,OH,Yorkville,40.158051,-80.707737
+43973,OH,Freeport,40.192502,-81.276955
+43976,OH,Hopedale,40.349647,-80.902136
+43977,OH,Flushing,40.145144,-81.07573
+43983,OH,Piedmont,40.150716,-81.214494
+43986,OH,Jewett,40.37446,-81.000379
+43988,OH,Scio,40.40116,-81.101577
+44001,OH,South Amherst,41.390506,-82.228165
+44003,OH,Andover,41.622488,-80.575374
+44004,OH,Ashtabula,41.867877,-80.794681
+44010,OH,Austinburg,41.75536,-80.858422
+44011,OH,Avon,41.446713,-82.020359
+44012,OH,Avon Lake,41.501904,-82.011094
+44017,OH,Berea,41.367557,-81.861756
+44021,OH,Burton,41.452702,-81.15262
+44022,OH,Chagrin Falls,41.418577,-81.361437
+44024,OH,Chardon,41.571862,-81.205629
+44026,OH,Chesterland,41.534378,-81.342102
+44028,OH,Columbia Station,41.318708,-81.934398
+44030,OH,Conneaut,41.934479,-80.580257
+44032,OH,Dorset,41.658972,-80.668334
+44035,OH,Elyria,41.372353,-82.105088
+44039,OH,North Ridgeville,41.396432,-82.003323
+44040,OH,Gates Mills,41.532368,-81.415021
+44041,OH,Geneva,41.802864,-80.947363
+44044,OH,Grafton,41.28537,-82.043098
+44046,OH,Huntsburg,41.530559,-81.057183
+44047,OH,Jefferson,41.733513,-80.756166
+44048,OH,Kingsville,41.872311,-80.660092
+44050,OH,Lagrange,41.242278,-82.127918
+44052,OH,Lorain,41.457796,-82.171039
+44053,OH,Lorain,41.432002,-82.203833
+44054,OH,Sheffield Lake,41.482276,-82.096497
+44055,OH,Lorain,41.436131,-82.134992
+44056,OH,Macedonia,41.322236,-81.499578
+44057,OH,Madison,41.805367,-81.058819
+44060,OH,Mentor,41.689468,-81.342133
+44062,OH,Middlefield,41.445547,-81.037338
+44064,OH,Montville,41.603446,-81.057036
+44065,OH,Newbury,41.475022,-81.23452
+44067,OH,Northfield,41.320821,-81.542943
+44070,OH,North Olmsted,41.420129,-81.913056
+44072,OH,Novelty,41.476288,-81.334228
+44074,OH,Oberlin,41.28987,-82.222863
+44076,OH,East Orwell,41.533456,-80.839671
+44077,OH,Fairport Harbor,41.714014,-81.243665
+44081,OH,Perry,41.767916,-81.143312
+44082,OH,Pierpont,41.767661,-80.574114
+44084,OH,Roaming Shores,41.6651,-80.885134
+44085,OH,Roaming Shores,41.602629,-80.832075
+44086,OH,Thompson,41.676189,-81.057318
+44087,OH,Twinsburg,41.328851,-81.455912
+44089,OH,Vermilion,41.409989,-82.355417
+44090,OH,Wellington,41.171178,-82.226915
+44092,OH,Wickliffe,41.604565,-81.469175
+44093,OH,Williamsfield,41.538296,-80.596378
+44094,OH,Willoughby,41.630229,-81.407619
+44095,OH,Willowick,41.649822,-81.447887
+44099,OH,Windsor,41.56233,-80.966745
+44102,OH,Cleveland,41.473508,-81.739791
+44103,OH,Cleveland,41.515726,-81.640475
+44104,OH,Cleveland,41.480924,-81.624502
+44105,OH,Cleveland,41.450912,-81.619002
+44106,OH,Cleveland,41.508359,-81.60757
+44107,OH,Edgewater,41.482654,-81.797143
+44108,OH,Cleveland,41.53492,-81.608974
+44109,OH,Cleveland,41.445768,-81.703315
+44110,OH,Cleveland,41.563557,-81.573276
+44111,OH,Cleveland,41.457066,-81.78435
+44112,OH,East Cleveland,41.535517,-81.576262
+44113,OH,Cleveland,41.481648,-81.701848
+44114,OH,Cleveland,41.506351,-81.67425
+44115,OH,Cleveland,41.494574,-81.667009
+44116,OH,Rocky River,41.469401,-81.851246
+44117,OH,Euclid,41.569615,-81.525686
+44118,OH,Cleveland Height,41.501213,-81.553945
+44119,OH,Cleveland,41.588238,-81.546759
+44120,OH,Cleveland,41.471433,-81.583911
+44121,OH,South Euclid,41.526019,-81.533758
+44122,OH,Beachwood,41.470109,-81.523172
+44123,OH,Shore,41.604416,-81.524325
+44124,OH,Lyndhurst Mayfie,41.514349,-81.46801
+44125,OH,Garfield Heights,41.415792,-81.605385
+44126,OH,Fairview Park,41.4433,-81.856381
+44127,OH,Cleveland,41.470125,-81.648999
+44128,OH,Cleveland,41.441565,-81.548574
+44129,OH,Parma,41.396474,-81.734604
+44130,OH,Midpark,41.377178,-81.774858
+44131,OH,Independence,41.380905,-81.66421
+44132,OH,Noble,41.608516,-81.499056
+44133,OH,North Royalton,41.323164,-81.745657
+44134,OH,Parma,41.390764,-81.705726
+44135,OH,Cleveland,41.434177,-81.804433
+44136,OH,Strongsville,41.313218,-81.828457
+44137,OH,Maple Heights,41.410513,-81.560339
+44138,OH,Olmsted Falls,41.373351,-81.915769
+44139,OH,Solon,41.386597,-81.442082
+44140,OH,Bay Village,41.484137,-81.928868
+44141,OH,Brecksville,41.316554,-81.626083
+44142,OH,Brookpark,41.397944,-81.811811
+44143,OH,Richmond Heights,41.552195,-81.484715
+44144,OH,Brooklyn,41.434419,-81.735222
+44145,OH,Westlake,41.453459,-81.921771
+44146,OH,Bedford,41.392067,-81.52315
+44147,OH,Broadview Height,41.32907,-81.680879
+44201,OH,Atwater,41.033487,-81.198456
+44202,OH,Reminderville,41.320935,-81.360424
+44203,OH,Norton,41.018589,-81.615314
+44212,OH,Brunswick,41.247053,-81.827968
+44214,OH,Burbank,40.963725,-81.995753
+44215,OH,Chippewa Lake,41.06719,-81.909173
+44216,OH,Clinton,40.939062,-81.587079
+44217,OH,Creston,40.978846,-81.921083
+44221,OH,Cuyahoga Falls,41.140082,-81.478961
+44223,OH,Cuyahoga Falls,41.146448,-81.510719
+44224,OH,Stow,41.174808,-81.438017
+44230,OH,Doylestown,40.965042,-81.684845
+44231,OH,Garrettsville,41.298803,-81.070365
+44233,OH,Hinckley,41.241872,-81.74527
+44234,OH,Hiram,41.332253,-81.14644
+44235,OH,Homerville,41.02669,-82.124957
+44236,OH,Hudson,41.245836,-81.436659
+44240,OH,Kent,41.14492,-81.34976
+44241,OH,Streetsboro,41.249099,-81.338298
+44253,OH,Litchfield,41.166847,-82.015674
+44254,OH,Lodi,41.032713,-82.014661
+44255,OH,Mantua,41.294141,-81.228259
+44256,OH,Medina,41.140415,-81.858351
+44260,OH,Mogadore,41.038196,-81.358963
+44262,OH,Munroe Falls,41.14202,-81.437565
+44264,OH,Peninsula,41.225579,-81.540013
+44266,OH,Ravenna,41.164886,-81.233656
+44270,OH,Rittman,40.968381,-81.782599
+44272,OH,Rootstown,41.099534,-81.202642
+44273,OH,Seville,41.022731,-81.856199
+44275,OH,Spencer,41.098287,-82.099907
+44276,OH,Sterling,40.953263,-81.851914
+44278,OH,Tallmadge,41.097492,-81.425966
+44280,OH,Valley City,41.236806,-81.924467
+44281,OH,Wadsworth,41.038375,-81.737373
+44286,OH,Richfield,41.23712,-81.646668
+44287,OH,West Salem,40.948514,-82.106638
+44288,OH,Windham,41.239244,-81.053451
+44301,OH,Akron,41.044852,-81.520048
+44302,OH,Akron,41.091988,-81.542015
+44303,OH,Akron,41.102508,-81.538609
+44304,OH,Akron,41.080808,-81.508526
+44305,OH,Akron,41.076029,-81.464409
+44306,OH,Akron,41.04791,-81.491554
+44307,OH,Akron,41.069465,-81.548786
+44308,OH,Akron,41.079576,-81.519363
+44310,OH,Akron,41.107547,-81.500586
+44311,OH,Akron,41.063784,-81.520005
+44312,OH,Akron,41.033442,-81.438528
+44313,OH,Akron,41.121995,-81.568487
+44314,OH,Akron,41.040774,-81.559825
+44319,OH,Akron,40.97912,-81.53468
+44320,OH,Akron,41.083496,-81.56744
+44321,OH,Copley,41.103139,-81.648045
+44333,OH,Fairlawn,41.146734,-81.62385
+44401,OH,Berlin Center,41.024319,-80.934104
+44402,OH,Bristolville,41.379749,-80.856839
+44403,OH,Brookfield,41.247957,-80.578767
+44404,OH,Burghill,41.334688,-80.54406
+44405,OH,Campbell,41.077829,-80.589721
+44406,OH,Canfield,41.029328,-80.756436
+44408,OH,Columbiana,40.885279,-80.697473
+44410,OH,Cortland,41.325125,-80.732745
+44411,OH,Deerfield,41.03586,-81.052827
+44412,OH,Diamond,41.093473,-81.0425
+44413,OH,East Palestine,40.840554,-80.546513
+44417,OH,Farmdale,41.392301,-80.662818
+44418,OH,Fowler,41.334851,-80.605894
+44420,OH,Girard,41.161136,-80.693305
+44423,OH,Hanoverton,40.773116,-80.914445
+44425,OH,Hubbard,41.162401,-80.576192
+44427,OH,Kensington,40.71418,-80.938079
+44428,OH,Kinsman,41.435442,-80.576506
+44429,OH,Lake Milton,41.101354,-80.97235
+44430,OH,Leavittsburg,41.244498,-80.886922
+44431,OH,Leetonia,40.863077,-80.758453
+44432,OH,Lisbon,40.759154,-80.758674
+44436,OH,Lowellville,41.050256,-80.541551
+44437,OH,Mc Donald,41.158026,-80.731169
+44438,OH,Masury,41.22552,-80.532565
+44440,OH,Mineral Ridge,41.131843,-80.755293
+44441,OH,Negley,40.774601,-80.564497
+44442,OH,New Middletown,40.964607,-80.553415
+44443,OH,New Springfield,40.926517,-80.585585
+44444,OH,Newton Falls,41.191047,-80.970135
+44445,OH,New Waterford,40.848941,-80.620855
+44446,OH,Niles,41.182414,-80.755775
+44449,OH,North Benton,40.987579,-81.016168
+44450,OH,North Bloomfield,41.456887,-80.806835
+44451,OH,North Jackson,41.088044,-80.86225
+44452,OH,North Lima,40.964866,-80.654911
+44454,OH,Petersburg,40.904861,-80.540031
+44455,OH,Rogers,40.778943,-80.620237
+44460,OH,Salem,40.900024,-80.861883
+44470,OH,Southington,41.298312,-80.948474
+44471,OH,Struthers,41.050847,-80.598487
+44473,OH,Vienna,41.217478,-80.654998
+44481,OH,Warren,41.172426,-80.871806
+44483,OH,Warren,41.263878,-80.816448
+44484,OH,Warren,41.231819,-80.764243
+44485,OH,Warren,41.240511,-80.844136
+44490,OH,Washingtonville,40.897331,-80.763137
+44491,OH,West Farmington,41.350849,-80.967245
+44502,OH,Youngstown,41.077366,-80.640905
+44503,OH,Youngstown,41.102016,-80.650007
+44504,OH,Youngstown,41.123686,-80.653887
+44505,OH,Youngstown,41.125748,-80.627748
+44506,OH,Youngstown,41.096045,-80.625916
+44507,OH,Youngstown,41.073236,-80.655336
+44509,OH,Youngstown,41.10498,-80.694463
+44510,OH,Youngstown,41.119714,-80.667204
+44511,OH,Youngstown,41.070402,-80.693098
+44512,OH,Boardman,41.031985,-80.666629
+44514,OH,Poland,41.023258,-80.610254
+44515,OH,Austintown,41.093903,-80.743966
+44601,OH,Alliance,40.915842,-81.118193
+44606,OH,Apple Creek,40.755118,-81.809256
+44608,OH,Beach City,40.656199,-81.585129
+44609,OH,Beloit,40.895678,-80.989669
+44611,OH,Big Prairie,40.618777,-82.072048
+44612,OH,Bolivar,40.634692,-81.446356
+44613,OH,Brewster,40.714387,-81.598752
+44614,OH,Canal Fulton,40.88871,-81.577269
+44615,OH,Carrollton,40.578663,-81.081789
+44618,OH,Dalton,40.779326,-81.70078
+44620,OH,Dellroy,40.586143,-81.19856
+44621,OH,Dennison,40.408885,-81.320301
+44622,OH,Dover,40.534338,-81.476321
+44624,OH,Dundee,40.639441,-81.676519
+44625,OH,East Rochester,40.756288,-81.01749
+44626,OH,East Sparta,40.697065,-81.368728
+44627,OH,Fredericksburg,40.685953,-81.851812
+44628,OH,Glenmont,40.521682,-82.150538
+44629,OH,Gnadenhutten,40.372123,-81.405858
+44632,OH,Hartville,40.961798,-81.323873
+44633,OH,Holmesville,40.633042,-81.927476
+44634,OH,Homeworth,40.859192,-81.065473
+44637,OH,Killbuck,40.4933,-81.983721
+44638,OH,Lakeville,40.651965,-82.145477
+44641,OH,Louisville,40.847729,-81.259464
+44643,OH,Magnolia,40.651414,-81.307607
+44644,OH,Malvern,40.684532,-81.18378
+44645,OH,Marshallville,40.906677,-81.722527
+44646,OH,Massillon,40.811605,-81.497263
+44647,OH,Massillon,40.795918,-81.553252
+44651,OH,Mechanicstown,40.626279,-80.956025
+44654,OH,Millersburg,40.556683,-81.832383
+44656,OH,Zoarville,40.625686,-81.354561
+44657,OH,Minerva,40.742049,-81.103076
+44662,OH,Navarre,40.720405,-81.533824
+44663,OH,New Philadelphia,40.484539,-81.435827
+44666,OH,North Lawrence,40.838652,-81.629946
+44667,OH,Orrville,40.845836,-81.774109
+44669,OH,Paris,40.801413,-81.15399
+44672,OH,Sebring,40.922694,-81.023191
+44675,OH,Sherrodsville,40.518418,-81.233945
+44676,OH,Shreve,40.692584,-82.032451
+44677,OH,Smithville,40.859228,-81.863328
+44680,OH,Strasburg,40.60028,-81.536646
+44681,OH,Sugarcreek,40.514785,-81.660356
+44683,OH,Uhrichsville,40.390502,-81.337365
+44685,OH,Uniontown,40.963694,-81.421108
+44688,OH,Waynesburg,40.682881,-81.265891
+44689,OH,Wilmot,40.656723,-81.635247
+44691,OH,Wooster,40.809354,-81.948272
+44695,OH,Bowerston,40.437056,-81.18624
+44699,OH,Tippecanoe,40.279748,-81.291937
+44702,OH,Canton,40.80267,-81.373946
+44703,OH,Canton,40.809791,-81.381439
+44704,OH,Canton,40.799076,-81.353701
+44705,OH,Canton,40.825866,-81.339903
+44706,OH,Canton,40.767959,-81.411903
+44707,OH,North Industry,40.776885,-81.360407
+44708,OH,Canton,40.81196,-81.424116
+44709,OH,North Canton,40.837227,-81.385947
+44710,OH,Canton,40.791107,-81.416946
+44714,OH,Canton,40.827174,-81.360963
+44718,OH,Jackson Belden,40.85479,-81.448514
+44720,OH,North Canton,40.889919,-81.413464
+44721,OH,Canton,40.883446,-81.33279
+44730,OH,East Canton,40.784983,-81.278295
+44802,OH,Alvada,41.046284,-83.376982
+44804,OH,Arcadia,41.111562,-83.50195
+44805,OH,Ashland,40.855892,-82.318931
+44807,OH,Carrothers,41.077755,-82.889721
+44811,OH,Bellevue,41.268432,-82.85765
+44813,OH,Bellville,40.613604,-82.517516
+44814,OH,Berlin Heights,41.320519,-82.477713
+44817,OH,Bloomdale,41.181489,-83.572356
+44818,OH,Bloomville,41.018206,-82.989874
+44820,OH,Bucyrus,40.810306,-82.969829
+44822,OH,Butler,40.543754,-82.398984
+44824,OH,Castalia,41.387229,-82.799426
+44825,OH,Chatfield,40.956637,-83.021432
+44826,OH,Collins,41.245023,-82.490402
+44827,OH,Crestline,40.792714,-82.736723
+44830,OH,Fostoria,41.162346,-83.413938
+44833,OH,Galion,40.730316,-82.793943
+44836,OH,Green Springs,41.228111,-83.088549
+44837,OH,Greenwich,41.04068,-82.51334
+44839,OH,Shinrock,41.390662,-82.555491
+44840,OH,Jeromesville,40.813366,-82.186134
+44841,OH,Kansas,41.212543,-83.329829
+44842,OH,Loudonville,40.636059,-82.23559
+44843,OH,Lucas,40.70389,-82.408671
+44844,OH,Mc Cutchenville,40.975225,-83.263669
+44845,OH,Melmore,41.038954,-83.143238
+44846,OH,Milan,41.311065,-82.612565
+44847,OH,Monroeville,41.218074,-82.70233
+44849,OH,Nevada,40.825946,-83.126567
+44851,OH,New London,41.090575,-82.396588
+44853,OH,New Riegel,41.036058,-83.241807
+44854,OH,New Washington,40.957076,-82.850359
+44855,OH,North Fairfield,41.102987,-82.599801
+44857,OH,Norwalk,41.240314,-82.60785
+44859,OH,Nova,41.028215,-82.338439
+44864,OH,Perrysville,40.660626,-82.321307
+44865,OH,Plymouth,41.00031,-82.663492
+44866,OH,Polk,40.934293,-82.212587
+44867,OH,Republic,41.125876,-83.019407
+44870,OH,Sandusky,41.434878,-82.70633
+44874,OH,Savannah,40.945382,-82.344272
+44875,OH,Shelby,40.878432,-82.654949
+44878,OH,Shiloh,40.934015,-82.522155
+44880,OH,Sullivan,41.036818,-82.217217
+44882,OH,Sycamore,40.941299,-83.149176
+44883,OH,Tiffin,41.123822,-83.184356
+44887,OH,Tiro,40.880992,-82.797032
+44889,OH,Wakeman,41.263748,-82.378168
+44890,OH,Willard,41.062787,-82.728805
+44902,OH,Mansfield,40.755937,-82.512269
+44903,OH,Mansfield,40.762258,-82.52538
+44904,OH,Lexington,40.682568,-82.590605
+44905,OH,Lincoln,40.777173,-82.474609
+44906,OH,Mansfield,40.762679,-82.559295
+44907,OH,Mansfield,40.734483,-82.519833
+45001,OH,Addyston,39.137364,-84.709602
+45002,OH,Cleves,39.193707,-84.733969
+45003,OH,College Corner,39.575453,-84.804951
+45005,OH,Carlisle,39.547839,-84.305881
+45011,OH,Hamilton,39.405906,-84.522117
+45013,OH,Rossville,39.40619,-84.606655
+45014,OH,Fairfield,39.326602,-84.547881
+45015,OH,Lindenwald,39.367152,-84.551187
+45030,OH,Harrison,39.259208,-84.78368
+45036,OH,Otterbien Home,39.442047,-84.218754
+45039,OH,Maineville,39.313878,-84.252567
+45040,OH,Mason,39.335741,-84.314935
+45042,OH,Middletown,39.532121,-84.389601
+45044,OH,Excello,39.485259,-84.383461
+45050,OH,Monroe,39.441285,-84.365196
+45052,OH,North Bend,39.153605,-84.727261
+45053,OH,Okeana,39.353732,-84.776149
+45054,OH,Oregonia,39.414479,-84.051136
+45056,OH,Miami University,39.503838,-84.738518
+45064,OH,Somerville,39.555366,-84.621911
+45065,OH,South Lebanon,39.371451,-84.210783
+45066,OH,Springboro,39.562975,-84.228774
+45067,OH,Trenton,39.479937,-84.459769
+45068,OH,Waynesville,39.528489,-84.081518
+45069,OH,West Chester,39.340243,-84.399786
+45101,OH,Aberdeen,38.670864,-83.763723
+45102,OH,Amelia,39.021138,-84.211174
+45103,OH,Batavia,39.095661,-84.145125
+45106,OH,Bethel,38.94236,-84.09195
+45107,OH,Blanchester,39.303442,-83.973977
+45111,OH,Camp Dennison,39.196212,-84.289659
+45113,OH,Clarksville,39.404233,-83.959407
+45118,OH,Fayetteville,39.186214,-83.950087
+45120,OH,Felicity,38.826248,-84.098581
+45121,OH,Georgetown,38.871708,-83.909153
+45122,OH,Goshen,39.220931,-84.118764
+45123,OH,Greenfield,39.347763,-83.389805
+45130,OH,Hamersville,38.919962,-83.993062
+45133,OH,Hillsboro,39.167877,-83.606406
+45135,OH,Leesburg,39.345767,-83.548146
+45140,OH,Loveland,39.244484,-84.258802
+45142,OH,Lynchburg,39.211931,-83.802124
+45144,OH,Manchester,38.698167,-83.618064
+45146,OH,Martinsville,39.312705,-83.800545
+45148,OH,Midland,39.29169,-83.893131
+45150,OH,Day Heights,39.179987,-84.243814
+45152,OH,Morrow,39.347619,-84.118085
+45153,OH,Moscow,38.858255,-84.195824
+45154,OH,Mount Orab,39.045368,-83.948027
+45157,OH,New Richmond,38.953663,-84.237903
+45159,OH,New Vienna,39.332058,-83.688171
+45162,OH,Pleasant Plain,39.288382,-84.096736
+45167,OH,Ripley,38.755095,-83.822677
+45168,OH,Russellville,38.851128,-83.762459
+45169,OH,Sabina,39.490022,-83.650252
+45171,OH,Sardinia,38.983232,-83.796649
+45174,OH,Terrace Park,39.160155,-84.309762
+45176,OH,Williamsburg,39.075345,-84.043167
+45177,OH,Wilmington,39.448788,-83.841653
+45202,OH,Cincinnati,39.107225,-84.501956
+45203,OH,Cincinnati,39.10754,-84.525684
+45204,OH,Cincinnati,39.102498,-84.566794
+45205,OH,Cincinnati,39.110439,-84.575672
+45206,OH,Cincinnati,39.126916,-84.485258
+45207,OH,Cincinnati,39.139747,-84.470621
+45208,OH,Cincinnati,39.136082,-84.435474
+45209,OH,Cincinnati,39.151578,-84.427833
+45210,OH,Cincinnati,39.112579,-84.513535
+45211,OH,Cincinnati,39.152401,-84.596714
+45212,OH,Norwood,39.162505,-84.452765
+45213,OH,Taft,39.182905,-84.418701
+45214,OH,Cincinnati,39.120642,-84.541442
+45215,OH,Lockland,39.230063,-84.457168
+45216,OH,Elmwood Place,39.199183,-84.479232
+45217,OH,Saint Bernard,39.161715,-84.497424
+45218,OH,Greenhills,39.266573,-84.519608
+45219,OH,Cincinnati,39.127027,-84.513127
+45220,OH,Cincinnati,39.143183,-84.521738
+45223,OH,Cincinnati,39.169619,-84.547807
+45224,OH,College Hill,39.203079,-84.53883
+45225,OH,Cincinnati,39.144654,-84.553267
+45226,OH,Cincinnati,39.117356,-84.431194
+45227,OH,Madisonville,39.15431,-84.387211
+45228,OH,Cincinnati,39.066448,-84.423539
+45229,OH,Cincinnati,39.149016,-84.489184
+45230,OH,Anderson,39.080861,-84.378727
+45231,OH,Cincinnati,39.241827,-84.543702
+45232,OH,Cincinnati,39.185926,-84.514101
+45233,OH,Saylor Park,39.11928,-84.669411
+45236,OH,Taft,39.207302,-84.394746
+45237,OH,Cincinnati,39.18797,-84.457997
+45238,OH,Western Hills,39.111667,-84.608805
+45239,OH,Groesbeck,39.207995,-84.579225
+45240,OH,Parkdale,39.286424,-84.526299
+45241,OH,Sharonville,39.276745,-84.391161
+45242,OH,Sycamore,39.239881,-84.359919
+45243,OH,Madeira,39.187847,-84.359349
+45244,OH,Newtown,39.107091,-84.347765
+45245,OH,Newtown,39.091293,-84.277383
+45246,OH,Glendale,39.28751,-84.472353
+45247,OH,Groesbeck,39.207604,-84.631608
+45248,OH,Westwood,39.159056,-84.651535
+45249,OH,Sycamore,39.275946,-84.326673
+45251,OH,Groesbeck,39.253005,-84.587987
+45252,OH,Cincinnati,39.266803,-84.62832
+45255,OH,Anderson,39.070642,-84.330774
+45302,OH,Anna,40.405105,-84.210344
+45303,OH,Ansonia,40.215064,-84.640642
+45304,OH,Castine,39.988367,-84.53702
+45305,OH,Bellbrook,39.640187,-84.08245
+45306,OH,Botkins,40.465897,-84.177994
+45308,OH,Bradford,40.128558,-84.429288
+45309,OH,Brookville,39.841393,-84.416464
+45311,OH,Camden,39.613391,-84.610008
+45312,OH,Casstown,40.071578,-84.108799
+45314,OH,Cedarville,39.748424,-83.801253
+45315,OH,Clayton,39.855124,-84.33989
+45317,OH,Conover,40.145694,-84.028297
+45318,OH,Covington,40.11756,-84.349646
+45320,OH,Eaton,39.742572,-84.650849
+45321,OH,Eldorado,39.888209,-84.678592
+45322,OH,Union,39.873976,-84.309515
+45323,OH,Enon,39.866282,-83.938464
+45324,OH,Fairborn,39.805311,-84.019789
+45325,OH,Farmersville,39.686684,-84.420507
+45326,OH,Fletcher,40.152622,-84.13304
+45327,OH,Germantown,39.6244,-84.376384
+45331,OH,Greenville,40.098726,-84.634189
+45332,OH,Hollansburg,39.989862,-84.79008
+45333,OH,Houston,40.253478,-84.352109
+45334,OH,Jackson Center,40.435802,-84.045677
+45335,OH,Jamestown,39.642848,-83.750417
+45337,OH,Laura,39.978492,-84.3994
+45338,OH,Lewisburg,39.853404,-84.53685
+45339,OH,Ludlow Falls,39.987091,-84.333391
+45340,OH,Maplewood,40.343743,-84.076657
+45341,OH,Medway,39.879774,-84.026808
+45342,OH,Miamisburg,39.632095,-84.267477
+45344,OH,New Carlisle,39.930025,-84.021704
+45345,OH,New Lebanon,39.739798,-84.395591
+45346,OH,New Madison,39.968711,-84.722211
+45347,OH,New Paris,39.861718,-84.779337
+45348,OH,New Weston,40.334923,-84.630792
+45356,OH,Piqua,40.148621,-84.253053
+45359,OH,Pleasant Hill,40.053136,-84.343634
+45362,OH,Rossburg,40.29465,-84.626419
+45363,OH,Russia,40.234065,-84.412255
+45365,OH,Sidney,40.287357,-84.162223
+45368,OH,Selma,39.846939,-83.660787
+45369,OH,South Vienna,39.94732,-83.615704
+45370,OH,Spring Valley,39.602761,-84.101583
+45371,OH,Phoneton,39.943577,-84.171501
+45373,OH,Troy,40.037394,-84.203151
+45377,OH,Vandalia,39.888273,-84.202266
+45380,OH,Versailles,40.227284,-84.495697
+45381,OH,West Alexandria,39.725898,-84.535214
+45382,OH,West Manchester,39.902564,-84.619383
+45383,OH,West Milton,39.953077,-84.324237
+45385,OH,Xenia,39.684204,-83.936878
+45387,OH,Yellow Springs,39.799569,-83.889066
+45388,OH,Yorkshire,40.328328,-84.483587
+45390,OH,Union City,40.201773,-84.783209
+45402,OH,Dayton,39.756305,-84.189508
+45403,OH,Dayton,39.761728,-84.149802
+45404,OH,Dayton,39.78619,-84.162157
+45405,OH,Dayton,39.78993,-84.213546
+45406,OH,Dayton,39.782148,-84.237297
+45407,OH,Dayton,39.762699,-84.224232
+45408,OH,Dayton,39.739526,-84.228963
+45409,OH,Dayton,39.728496,-84.182495
+45410,OH,Dayton,39.74743,-84.16001
+45414,OH,Dayton,39.828528,-84.202444
+45415,OH,Dayton,39.835488,-84.261328
+45416,OH,Trotwood,39.805541,-84.259824
+45417,OH,Dayton,39.752812,-84.246961
+45418,OH,Dayton,39.716251,-84.267696
+45419,OH,Dayton,39.715486,-84.163656
+45420,OH,Kettering,39.721286,-84.133892
+45424,OH,Huber Heights,39.845339,-84.123287
+45426,OH,Trotwood,39.810548,-84.298283
+45427,OH,Dayton,39.754527,-84.281884
+45429,OH,Kettering,39.686392,-84.156077
+45430,OH,Beavercreek,39.709381,-84.083596
+45431,OH,Beavercreek,39.765396,-84.099802
+45432,OH,Beavercreek,39.740774,-84.094157
+45433,OH,Dayton,39.813758,-84.059048
+45434,OH,Beavercreek,39.716552,-84.040385
+45439,OH,West Carrollton,39.689617,-84.21626
+45440,OH,Dayton,39.674854,-84.113573
+45449,OH,West Carrollton,39.662098,-84.237887
+45458,OH,Centerville,39.615755,-84.162697
+45459,OH,Centerville,39.645957,-84.166422
+45502,OH,Springfield,39.930486,-83.841338
+45503,OH,Springfield,39.9528,-83.78043
+45504,OH,Springfield,39.940793,-83.834302
+45505,OH,Springfield,39.910588,-83.785593
+45506,OH,Springfield,39.910418,-83.827512
+45601,OH,Chillicothe,39.337997,-82.98949
+45612,OH,Bainbridge,39.213116,-83.276268
+45613,OH,Beaver,39.023847,-82.847469
+45614,OH,Bidwell,38.927647,-82.270092
+45616,OH,Blue Creek,38.756451,-83.35268
+45619,OH,Chesapeake,38.455089,-82.450448
+45620,OH,Cheshire,38.958678,-82.123537
+45622,OH,Creola,39.3497,-82.493835
+45623,OH,Crown City,38.613548,-82.265717
+45628,OH,Frankfort,39.391015,-83.203356
+45629,OH,Franklin Furnace,38.628216,-82.814477
+45631,OH,Gallipolis,38.814781,-82.22902
+45634,OH,Hamden,39.168497,-82.509976
+45638,OH,Ironton,38.529429,-82.665351
+45640,OH,Jackson,39.042821,-82.647209
+45644,OH,Kingston,39.441432,-82.848808
+45645,OH,Kitts Hill,38.564945,-82.548897
+45646,OH,Latham,39.080436,-83.328294
+45647,OH,Londonderry,39.272283,-82.783288
+45648,OH,Lucasville,38.893832,-82.994009
+45651,OH,Allensville,39.255326,-82.490699
+45652,OH,Mc Dermott,38.836203,-83.068892
+45653,OH,Minford,38.875087,-82.855538
+45654,OH,New Plymouth,39.388421,-82.389172
+45656,OH,Oak Hill,38.891559,-82.588343
+45657,OH,Otway,38.85203,-83.222172
+45658,OH,Patriot,38.77702,-82.427491
+45659,OH,Pedro,38.650323,-82.647722
+45660,OH,Peebles,38.986885,-83.368698
+45661,OH,Idaho,39.040196,-83.076742
+45662,OH,New Boston,38.757252,-82.94864
+45663,OH,Portsmouth,38.749222,-83.047657
+45669,OH,Proctorville,38.463461,-82.352294
+45670,OH,Radcliff,39.105205,-82.354243
+45671,OH,Rarden,38.943388,-83.237337
+45672,OH,Ray,39.207678,-82.690801
+45673,OH,Richmond Dale,39.203922,-82.814913
+45675,OH,Rock Camp,38.522145,-82.563832
+45678,OH,Scottown,38.594034,-82.396685
+45679,OH,Seaman,38.962072,-83.593625
+45680,OH,South Point,38.433856,-82.552883
+45681,OH,South Salem,39.302137,-83.271953
+45682,OH,South Webster,38.819967,-82.720151
+45684,OH,Stout,38.654588,-83.208984
+45685,OH,Thurman,38.898786,-82.404996
+45686,OH,Vinton,38.978338,-82.357014
+45688,OH,Waterloo,38.718152,-82.517399
+45690,OH,Waverly,39.126445,-83.004874
+45692,OH,Wellston,39.118897,-82.548474
+45693,OH,West Union,38.801702,-83.533349
+45694,OH,Wheelersburg,38.741793,-82.820434
+45696,OH,Willow Wood,38.593976,-82.453
+45697,OH,Winchester,38.935283,-83.666137
+45701,OH,Athens,39.317824,-82.102011
+45710,OH,Albany,39.209664,-82.217727
+45711,OH,Amesville,39.408641,-81.964976
+45714,OH,Belpre,39.286772,-81.596795
+45715,OH,Beverly,39.571435,-81.634588
+45723,OH,Coolville,39.214131,-81.832867
+45724,OH,Cutler,39.404172,-81.76573
+45727,OH,Dexter City,39.652585,-81.467151
+45729,OH,Fleming,39.392806,-81.656444
+45732,OH,Glouster,39.497837,-82.087128
+45734,OH,Rinard Mills,39.659384,-81.189152
+45735,OH,Guysville,39.294368,-81.926841
+45741,OH,Dexter,39.056325,-82.231186
+45742,OH,Little Hocking,39.280046,-81.707107
+45743,OH,Long Bottom,39.08015,-81.888748
+45744,OH,Lowell,39.53847,-81.519679
+45745,OH,Warner,39.593895,-81.35452
+45746,OH,Macksburg,39.620356,-81.447088
+45750,OH,Marietta,39.428141,-81.464438
+45760,OH,Middleport,38.999312,-82.060012
+45761,OH,Millfield,39.407711,-82.111328
+45764,OH,Nelsonville,39.455635,-82.230883
+45766,OH,New Marshfield,39.338295,-82.222513
+45767,OH,New Matamoras,39.528819,-81.093998
+45768,OH,Newport,39.39711,-81.240175
+45769,OH,Pomeroy,39.060729,-82.033145
+45770,OH,Portland,38.999919,-81.813548
+45771,OH,Racine,38.978551,-81.925759
+45772,OH,Reedsville,39.149002,-81.792433
+45773,OH,Reno,39.378408,-81.38043
+45774,OH,45774,39.559845,-81.182005
+45775,OH,Rutland,39.045653,-82.121914
+45776,OH,Shade,39.212862,-82.021755
+45778,OH,Stewart,39.32133,-81.892884
+45780,OH,The Plains,39.366177,-82.134148
+45784,OH,Vincent,39.337446,-81.674265
+45786,OH,Waterford,39.515904,-81.655917
+45788,OH,Whipple,39.480975,-81.363639
+45789,OH,Wingett Run,39.542813,-81.283999
+45801,OH,Lima,40.764066,-84.097296
+45804,OH,Lima,40.727476,-84.089023
+45805,OH,Lima,40.739911,-84.14591
+45806,OH,Cridersville,40.675926,-84.144049
+45807,OH,Elida,40.791599,-84.163966
+45810,OH,Ada,40.770931,-83.815402
+45812,OH,Alger,40.705967,-83.825011
+45813,OH,Antwerp,41.188736,-84.744796
+45814,OH,Arlington,40.876109,-83.668536
+45817,OH,Bluffton,40.878978,-83.891397
+45821,OH,Cecil,41.217355,-84.629646
+45822,OH,Carthagena,40.546074,-84.570067
+45827,OH,Cloverdale,41.037934,-84.29382
+45828,OH,Coldwater,40.484557,-84.651653
+45830,OH,Columbus Grove,40.91372,-84.070467
+45831,OH,Continental,41.114769,-84.235778
+45832,OH,Convoy,40.926998,-84.723772
+45833,OH,Delphos,40.833619,-84.324678
+45835,OH,Dola,40.787645,-83.689371
+45836,OH,Dunkirk,40.782375,-83.633912
+45840,OH,Findlay,41.044903,-83.645656
+45841,OH,Jenera,40.900388,-83.725628
+45843,OH,Patterson,40.79955,-83.509771
+45844,OH,Fort Jennings,40.948393,-84.237381
+45845,OH,Fort Loramie,40.330632,-84.374131
+45846,OH,Fort Recovery,40.401829,-84.76125
+45849,OH,Grover Hill,41.024497,-84.495601
+45850,OH,Harrod,40.717657,-83.943649
+45851,OH,Haviland,41.032911,-84.6139
+45856,OH,Leipsic,41.109197,-83.995723
+45858,OH,Mc Comb,41.112498,-83.801423
+45860,OH,Maria Stein,40.406225,-84.507579
+45862,OH,Mendon,40.677737,-84.51515
+45863,OH,Middle Point,40.873147,-84.417495
+45865,OH,Minster,40.390983,-84.372895
+45867,OH,Mount Blanchard,40.892929,-83.555286
+45868,OH,Mount Cory,40.943717,-83.809285
+45869,OH,New Bremen,40.438917,-84.3821
+45871,OH,New Knoxville,40.50386,-84.311797
+45872,OH,North Baltimore,41.186703,-83.680581
+45873,OH,Oakwood,41.090788,-84.396923
+45874,OH,Ohio City,40.785428,-84.673063
+45875,OH,Gilboa,41.029747,-84.047293
+45876,OH,Ottoville,40.937218,-84.347392
+45877,OH,Pandora,40.95087,-83.952073
+45879,OH,Paulding,41.141016,-84.572227
+45880,OH,Payne,41.08069,-84.734127
+45881,OH,Rawson,41.000135,-83.806951
+45882,OH,Rockford,40.677077,-84.664174
+45883,OH,Saint Henry,40.409138,-84.633338
+45885,OH,Saint Marys,40.543988,-84.394399
+45886,OH,Scott,40.989238,-84.584455
+45887,OH,Spencerville,40.703767,-84.34125
+45889,OH,Van Buren,41.132691,-83.647302
+45890,OH,Vanlue,40.958314,-83.497062
+45891,OH,Van Wert,40.868927,-84.590364
+45894,OH,Venedocia,40.768454,-84.46204
+45895,OH,Wapakoneta,40.568978,-84.177378
+45896,OH,Waynesfield,40.607185,-83.958475
+45898,OH,Willshire,40.734618,-84.77773
+73002,OK,Alex,34.961202,-97.75709
+73004,OK,Amber,35.137691,-97.764566
+73005,OK,Anadarko,35.072808,-98.24291
+73006,OK,Apache,34.903376,-98.369483
+73007,OK,Arcadia,35.6543,-97.324289
+73008,OK,Bethany,35.504315,-97.639856
+73009,OK,Binger,35.310593,-98.314797
+73010,OK,Blanchard,35.119215,-97.640131
+73011,OK,Bradley,34.874124,-97.711841
+73013,OK,Edmond,35.621534,-97.473268
+73014,OK,Calumet,35.594819,-98.189991
+73015,OK,Carnegie,35.123484,-98.575454
+73016,OK,Cashion,35.799996,-97.679523
+73017,OK,Cement,34.932092,-98.14656
+73018,OK,Chickasha,35.026751,-97.951847
+73020,OK,Choctaw,35.471758,-97.272564
+73021,OK,Colony,35.344844,-98.670674
+73024,OK,Corn,35.399842,-98.806226
+73027,OK,Coyle,35.898496,-97.260683
+73028,OK,Crescent,35.942,-97.596922
+73029,OK,Cyril,34.895854,-98.208269
+73030,OK,Davis,34.495301,-97.10843
+73034,OK,Edmond,35.666483,-97.479835
+73035,OK,Elmore City,34.608516,-97.39003
+73036,OK,El Reno,35.533468,-97.959091
+73038,OK,Fort Cobb,35.116097,-98.430296
+73039,OK,Foster,34.627789,-97.533395
+73040,OK,Geary,35.621709,-98.390529
+73041,OK,Gotebo,35.075891,-98.875977
+73042,OK,Gracemont,35.187498,-98.283513
+73043,OK,Greenfield,35.733269,-98.384073
+73044,OK,Guthrie,35.832955,-97.435995
+73045,OK,Harrah,35.483258,-97.17343
+73046,OK,Hennepin,34.485893,-97.421467
+73047,OK,Hinton,35.4675,-98.331348
+73048,OK,Hydro,35.45201,-98.560448
+73049,OK,Jones,35.575316,-97.28914
+73051,OK,Lexington,35.037661,-97.260945
+73052,OK,Lindsay,34.821116,-97.599788
+73053,OK,Lookeba,35.367946,-98.389833
+73054,OK,Luther,35.631491,-97.182292
+73055,OK,Marlow,34.638681,-97.940955
+73056,OK,Marshall,36.148455,-97.617052
+73057,OK,Maysville,34.811316,-97.413143
+73058,OK,Meridian,35.8451,-97.24623
+73059,OK,Minco,35.306723,-97.96638
+73061,OK,Morrison,36.290214,-97.022777
+73062,OK,Mountain View,35.06535,-98.730694
+73063,OK,Mulhall,36.053678,-97.409809
+73064,OK,Mustang,35.388498,-97.730888
+73065,OK,Newcastle,35.245269,-97.621573
+73067,OK,Ninnekah,34.91435,-97.933277
+73068,OK,Noble,35.141742,-97.340929
+73069,OK,Norman,35.220389,-97.457743
+73071,OK,Norman,35.224254,-97.379159
+73072,OK,Norman,35.210733,-97.472984
+73073,OK,Orlando,36.141973,-97.395992
+73074,OK,Paoli,34.828492,-97.260807
+73075,OK,Pauls Valley,34.738506,-97.219501
+73077,OK,Perry,36.287468,-97.284175
+73078,OK,Piedmont,35.66946,-97.743109
+73079,OK,Pocasset,35.154437,-97.97904
+73080,OK,Purcell,35.010293,-97.425493
+73081,OK,Ratliff City,34.420719,-97.514424
+73082,OK,Rush Springs,34.770804,-97.943101
+73084,OK,Spencer,35.518276,-97.348775
+73086,OK,Sulphur,34.511585,-96.979695
+73088,OK,Tussy,34.492159,-97.536379
+73089,OK,Tuttle,35.267406,-97.744621
+73090,OK,Union City,35.391333,-97.93979
+73092,OK,Verden,35.08356,-98.079206
+73093,OK,Washington,35.13235,-97.486969
+73095,OK,Wayne,34.915353,-97.329014
+73096,OK,Weatherford,35.535046,-98.699603
+73098,OK,Wynnewood,34.63847,-97.176952
+73099,OK,Yukon,35.49772,-97.732307
+73102,OK,Oklahoma City,35.472601,-97.519926
+73103,OK,Oklahoma City,35.490957,-97.519591
+73104,OK,Oklahoma City,35.479388,-97.501714
+73105,OK,Oklahoma City,35.510811,-97.500291
+73106,OK,Oklahoma City,35.485328,-97.537228
+73107,OK,Oklahoma City,35.48736,-97.573974
+73108,OK,Oklahoma City,35.444485,-97.561928
+73109,OK,Oklahoma City,35.425944,-97.526131
+73110,OK,Midwest City,35.461978,-97.397661
+73111,OK,Oklahoma City,35.504238,-97.480607
+73112,OK,Oklahoma City,35.518435,-97.574639
+73114,OK,Oklahoma City,35.570357,-97.525736
+73115,OK,Del City,35.440093,-97.441645
+73116,OK,Nichols Hills,35.542484,-97.56394
+73117,OK,Oklahoma City,35.479667,-97.472195
+73118,OK,Oklahoma City,35.513645,-97.531908
+73119,OK,Oklahoma City,35.421033,-97.561584
+73120,OK,Oklahoma City,35.583478,-97.563756
+73121,OK,Oklahoma City,35.506235,-97.445183
+73122,OK,Warr Acres,35.520239,-97.613305
+73127,OK,Oklahoma City,35.483371,-97.629927
+73128,OK,Oklahoma City,35.444358,-97.616362
+73129,OK,Oklahoma City,35.43119,-97.491309
+73130,OK,Midwest City,35.460863,-97.351489
+73131,OK,Oklahoma City,35.579693,-97.469127
+73132,OK,Warr Acres,35.552783,-97.636333
+73134,OK,Oklahoma City,35.617397,-97.558342
+73135,OK,Oklahoma City,35.411037,-97.438762
+73139,OK,Oklahoma City,35.379193,-97.536205
+73141,OK,Oklahoma City,35.491848,-97.366606
+73142,OK,Oklahoma City,35.598994,-97.625067
+73145,OK,Tinker Afb,35.415706,-97.403707
+73149,OK,Oklahoma City,35.394998,-97.497175
+73150,OK,Oklahoma City,35.41231,-97.33308
+73151,OK,Oklahoma City,35.568508,-97.39057
+73159,OK,Oklahoma City,35.39224,-97.55674
+73160,OK,Moore,35.342465,-97.487352
+73162,OK,Oklahoma City,35.580647,-97.641934
+73165,OK,Moore,35.337086,-97.349792
+73169,OK,Oklahoma City,35.388233,-97.658683
+73170,OK,Moore,35.341554,-97.536
+73173,OK,Oklahoma City,35.342455,-97.63171
+73179,OK,Oklahoma City,35.424157,-97.654729
+73401,OK,Milo,34.176681,-97.134157
+73430,OK,Burneyville,33.951516,-97.324929
+73432,OK,Coleman,34.262498,-96.458818
+73437,OK,Graham,34.337379,-97.495435
+73438,OK,Healdton,34.229017,-97.488904
+73439,OK,Kingston,33.951664,-96.711977
+73440,OK,Lebanon,33.961036,-96.864495
+73441,OK,Leon,33.924278,-97.447058
+73442,OK,Loco,34.321416,-97.665803
+73443,OK,Lone Grove,34.177373,-97.268523
+73446,OK,Mc Millan,34.07126,-96.787258
+73447,OK,Mannsville,34.189902,-96.877801
+73448,OK,Marietta,33.943099,-97.114801
+73449,OK,Mead,33.994442,-96.529886
+73450,OK,Milburn,34.195172,-96.54286
+73453,OK,Overbrook,34.053906,-97.132353
+73456,OK,Ringling,34.167865,-97.602867
+73458,OK,Springer,34.303832,-97.122266
+73459,OK,Thackerville,33.788167,-97.136349
+73460,OK,Tishomingo,34.264286,-96.667502
+73461,OK,Wapanucka,34.386634,-96.453223
+73463,OK,Rubottom,34.164206,-97.42487
+73501,OK,Lawton,34.591467,-98.369783
+73503,OK,Fort Sill,34.659525,-98.40041
+73505,OK,Lawton,34.617939,-98.455234
+73507,OK,Lawton,34.624595,-98.389453
+73521,OK,Altus,34.648406,-99.320483
+73526,OK,Blair,34.778813,-99.333404
+73527,OK,Cache,34.613072,-98.615351
+73528,OK,Chattanooga,34.426193,-98.651365
+73529,OK,Comanche,34.376523,-97.979286
+73530,OK,Davidson,34.251423,-99.064031
+73531,OK,Devol,34.195589,-98.576991
+73532,OK,Duke,34.666769,-99.548172
+73533,OK,Duncan,34.507277,-97.940322
+73537,OK,Eldorado,34.472744,-99.645956
+73538,OK,Elgin,34.772018,-98.407322
+73539,OK,Elmer,34.513668,-99.316744
+73540,OK,Faxon,34.464521,-98.55771
+73541,OK,Fletcher,34.784657,-98.200246
+73542,OK,Frederick,34.401199,-99.011877
+73543,OK,Geronimo,34.480499,-98.387525
+73544,OK,Gould,34.664964,-99.784337
+73546,OK,Grandfield,34.228247,-98.686654
+73547,OK,Granite,34.971184,-99.388139
+73548,OK,Hastings,34.225064,-98.107539
+73549,OK,Headrick,34.72189,-99.23904
+73550,OK,Hollis,34.695281,-99.917711
+73551,OK,Hollister,34.352473,-98.881404
+73552,OK,Indiahoma,34.624226,-98.734864
+73553,OK,Loveland,34.391018,-98.72353
+73554,OK,Reed,34.875473,-99.505769
+73559,OK,Mountain Park,34.703158,-98.959136
+73560,OK,Olustee,34.549634,-99.428684
+73561,OK,Oscar,33.973237,-97.761359
+73562,OK,Randlett,34.174045,-98.459974
+73564,OK,Roosevelt,34.846983,-98.983599
+73565,OK,Ryan,34.023787,-97.946141
+73566,OK,Snyder,34.654779,-98.950752
+73568,OK,Temple,34.260669,-98.237074
+73569,OK,Grady,33.897162,-97.935045
+73570,OK,Tipton,34.509793,-99.131482
+73571,OK,Vinson,34.906179,-99.833929
+73572,OK,Walters,34.360526,-98.313983
+73573,OK,Waurika,34.174466,-97.997346
+73601,OK,Clinton,35.511543,-98.979533
+73620,OK,Arapaho,35.578864,-98.959508
+73622,OK,Bessie,35.38545,-98.989638
+73625,OK,Butler,35.633638,-99.242749
+73626,OK,Canute,35.403678,-99.281575
+73627,OK,Carter,35.220779,-99.482239
+73628,OK,Strong City,35.623181,-99.676688
+73632,OK,Cordell,35.278803,-98.951056
+73638,OK,Crawford,35.836766,-99.806446
+73639,OK,Custer City,35.689371,-98.912013
+73641,OK,Dill City,35.278704,-99.153738
+73642,OK,Durham,35.836391,-99.908774
+73644,OK,Elk City,35.410359,-99.421086
+73645,OK,Erick,35.228586,-99.863463
+73646,OK,Fay,35.820417,-98.658678
+73647,OK,Foss,35.373645,-99.15259
+73650,OK,Hammon,35.646131,-99.402683
+73651,OK,Hobart,35.025521,-99.094433
+73654,OK,Leedey,35.869772,-99.349146
+73655,OK,Lone Wolf,34.980584,-99.250161
+73658,OK,Eagle City,35.921429,-98.708058
+73659,OK,Putnam,35.853851,-98.963765
+73660,OK,Reydon,35.657587,-99.916567
+73661,OK,Rocky,35.152636,-99.048037
+73662,OK,Sayre,35.304722,-99.642928
+73663,OK,Seiling,36.127823,-98.88746
+73664,OK,Sentinel,35.161741,-99.170611
+73666,OK,Sweetwater,35.448835,-99.900619
+73667,OK,Taloga,35.997242,-98.982473
+73668,OK,Texola,35.224977,-99.98218
+73669,OK,Thomas,35.738165,-98.738842
+73673,OK,Willow,35.070245,-99.542091
+73701,OK,Enid,36.402842,-97.862257
+73703,OK,Enid,36.397509,-97.915697
+73716,OK,Aline,36.505621,-98.457387
+73717,OK,Alva,36.801564,-98.672162
+73718,OK,Ames,36.242293,-98.181989
+73719,OK,Amorita,36.941221,-98.245821
+73720,OK,Bison,36.196222,-97.880484
+73722,OK,Burlington,36.903613,-98.421455
+73723,OK,Byron,36.879857,-98.244502
+73724,OK,Canton,36.037194,-98.577818
+73725,OK,Capron,36.896812,-98.629891
+73726,OK,Carmen,36.584206,-98.457793
+73727,OK,Carrier,36.518892,-97.999688
+73728,OK,Cherokee,36.756376,-98.359375
+73729,OK,Cleo Springs,36.408989,-98.442275
+73730,OK,Covington,36.309944,-97.575163
+73731,OK,Dacoma,36.660604,-98.594202
+73733,OK,Douglas,36.248138,-97.689626
+73734,OK,Dover,35.984761,-97.906677
+73735,OK,Drummond,36.284142,-98.035846
+73736,OK,Fairmont,36.391614,-97.711493
+73737,OK,Orienta,36.265981,-98.506271
+73738,OK,Garber,36.439184,-97.578899
+73739,OK,Goltry,36.531364,-98.153978
+73741,OK,Helena,36.54375,-98.277819
+73742,OK,Hennessey,36.086848,-97.892595
+73744,OK,Hitchcock,35.971209,-98.331535
+73747,OK,Isabella,36.23407,-98.337446
+73749,OK,Jet,36.692917,-98.172121
+73750,OK,Kingfisher,35.863613,-97.947293
+73753,OK,Kremlin,36.520735,-97.854186
+73754,OK,Lahoma,36.385005,-98.072738
+73755,OK,Longdale,36.121233,-98.549966
+73756,OK,Loyal,35.970529,-98.115516
+73757,OK,Lucien,36.275327,-97.452574
+73758,OK,Manchester,36.9744,-98.03826
+73759,OK,Medford,36.814195,-97.720215
+73760,OK,Meno,36.381497,-98.163501
+73761,OK,Nash,36.696146,-98.025764
+73762,OK,Okarche,35.750158,-97.92999
+73763,OK,Okeene,36.11646,-98.325422
+73764,OK,Omega,35.850653,-98.186344
+73766,OK,Pond Creek,36.664281,-97.801903
+73768,OK,Ringwood,36.375293,-98.270639
+73770,OK,Southard,36.074706,-98.446456
+73771,OK,Wakita,36.875333,-97.942687
+73772,OK,Watonga,35.853762,-98.417487
+73773,OK,Waukomis,36.278057,-97.899578
+73801,OK,Woodward,36.426784,-99.402016
+73832,OK,Harmon,36.120524,-99.73266
+73834,OK,Selman,36.835901,-99.604816
+73835,OK,Camargo,36.021235,-99.278101
+73838,OK,Chester,36.252841,-98.884078
+73840,OK,Fargo,36.40525,-99.650602
+73841,OK,Fort Supply,36.564556,-99.526797
+73842,OK,Freedom,36.809036,-99.131922
+73843,OK,Gage,36.317996,-99.760003
+73844,OK,Gate,36.875679,-100.073386
+73847,OK,Knowles,36.839316,-100.217867
+73848,OK,Laverne,36.70625,-99.891766
+73849,OK,Logan,36.635554,-100.167934
+73851,OK,May,36.62673,-99.72469
+73852,OK,Mooreland,36.442828,-99.18321
+73853,OK,Mutual,36.213954,-99.114492
+73855,OK,Rosston,36.878915,-99.900253
+73857,OK,Sharon,36.269872,-99.358736
+73858,OK,Shattuck,36.288922,-99.879303
+73859,OK,Vici,36.137168,-99.267004
+73860,OK,Waynoka,36.585788,-98.848746
+73931,OK,Balko,36.599607,-100.710329
+73932,OK,Elmwood,36.795562,-100.532938
+73933,OK,Boise City,36.728328,-102.535519
+73937,OK,Felt,36.566569,-102.797422
+73938,OK,Forgan,36.908588,-100.540875
+73939,OK,Goodwell,36.674382,-101.71369
+73942,OK,Guymon,36.696052,-101.47778
+73944,OK,Hardesty,36.601754,-101.153944
+73945,OK,Optima,36.847981,-101.190683
+73946,OK,Kenton,36.855639,-102.912421
+73947,OK,Keyes,36.800316,-102.236063
+73949,OK,Texhoma,36.52529,-101.839351
+73950,OK,Baker,36.909012,-100.869028
+73951,OK,Tyrone,36.95577,-101.059408
+74002,OK,Barnsdall,36.542866,-96.131789
+74003,OK,Bartlesville,36.743956,-95.992091
+74006,OK,Bartlesville,36.736646,-95.92513
+74008,OK,Bixby,35.917291,-95.872895
+74010,OK,Bristow,35.820904,-96.375838
+74011,OK,Broken Arrow,35.990812,-95.814332
+74012,OK,Broken Arrow,36.04466,-95.807863
+74014,OK,Broken Arrow,36.054435,-95.722269
+74015,OK,Catoosa,36.17208,-95.727321
+74016,OK,Chelsea,36.535586,-95.448871
+74017,OK,Claremore,36.324208,-95.598539
+74020,OK,Cleveland,36.255334,-96.423009
+74021,OK,Collinsville,36.370069,-95.84688
+74022,OK,Copan,36.906181,-95.912987
+74023,OK,Cushing,35.982174,-96.752628
+74027,OK,Delaware,36.780382,-95.618096
+74028,OK,Depew,35.756141,-96.489665
+74029,OK,Dewey,36.80125,-95.93454
+74030,OK,Drumright,35.993136,-96.519789
+74032,OK,Glencoe,36.215815,-96.913845
+74033,OK,Glenpool,35.959106,-95.999709
+74035,OK,Hominy,36.411068,-96.387848
+74036,OK,Inola,36.150315,-95.520456
+74037,OK,Jenks,36.014834,-95.979711
+74038,OK,Jennings,36.186302,-96.573227
+74039,OK,Kellyville,35.917075,-96.218009
+74042,OK,Lenapah,36.880055,-95.623316
+74044,OK,Mannford,36.092688,-96.357552
+74045,OK,Maramec,36.217465,-96.68441
+74047,OK,Mounds,35.912919,-96.068513
+74048,OK,Nowata,36.694565,-95.640421
+74051,OK,Ochelata,36.594655,-95.969143
+74053,OK,Oologah,36.443723,-95.72901
+74054,OK,Osage,36.283156,-96.377411
+74055,OK,Owasso,36.286258,-95.822151
+74056,OK,Pawhuska,36.690424,-96.31209
+74058,OK,Pawnee,36.336197,-96.79227
+74059,OK,Perkins,35.97684,-97.044059
+74060,OK,Prue,36.250125,-96.270074
+74061,OK,Ramona,36.575245,-95.89622
+74062,OK,Ripley,35.998491,-96.89667
+74063,OK,Sand Springs,36.13414,-96.142601
+74066,OK,Sapulpa,36.00297,-96.11061
+74070,OK,Skiatook,36.372495,-96.012325
+74072,OK,S Coffeyville,36.983684,-95.606509
+74073,OK,Sperry,36.29547,-95.980368
+74074,OK,Stillwater,36.104349,-97.060868
+74075,OK,Stillwater,36.139584,-97.063035
+74079,OK,Kendrick,35.782389,-96.684377
+74080,OK,Talala,36.542915,-95.714203
+74081,OK,Terlton,36.188856,-96.487569
+74083,OK,Wann,36.940211,-95.776752
+74084,OK,Wynona,36.50847,-96.368891
+74085,OK,Yale,36.110065,-96.702209
+74103,OK,Tulsa,36.153858,-95.995426
+74104,OK,Tulsa,36.146446,-95.952566
+74105,OK,Tulsa,36.094808,-95.965544
+74106,OK,Tulsa,36.188296,-95.985956
+74107,OK,Tulsa,36.104199,-96.024448
+74108,OK,Tulsa,36.149893,-95.792311
+74110,OK,Tulsa,36.180296,-95.952492
+74112,OK,Tulsa,36.147039,-95.907036
+74114,OK,Tulsa,36.126152,-95.940796
+74115,OK,Tulsa,36.175408,-95.911183
+74116,OK,Tulsa,36.174994,-95.847695
+74117,OK,Tulsa,36.27949,-95.910768
+74119,OK,Tulsa,36.140688,-95.990194
+74120,OK,Tulsa,36.144228,-95.973373
+74126,OK,Tulsa,36.238288,-95.993113
+74127,OK,Tulsa,36.157636,-96.03107
+74128,OK,Tulsa,36.145927,-95.851377
+74129,OK,Tulsa,36.125928,-95.865354
+74130,OK,Tulsa,36.239481,-95.959649
+74131,OK,Tulsa,36.05566,-96.060229
+74132,OK,Tulsa,36.063971,-96.025104
+74133,OK,Tulsa,36.046717,-95.884062
+74134,OK,Tulsa,36.116223,-95.822472
+74135,OK,Tulsa,36.097603,-95.922805
+74136,OK,Tulsa,36.060548,-95.945178
+74137,OK,Tulsa,36.028426,-95.930597
+74145,OK,Tulsa,36.093433,-95.885576
+74146,OK,Tulsa,36.109293,-95.85061
+74301,OK,Vinita,36.633353,-95.138164
+74330,OK,Adair,36.411453,-95.273199
+74331,OK,Bernice,36.630072,-94.907491
+74332,OK,Big Cabin,36.607931,-95.274736
+74333,OK,Bluejacket,36.797453,-95.101844
+74337,OK,Chouteau,36.166924,-95.341574
+74338,OK,Colcord,36.233349,-94.654675
+74339,OK,Commerce,36.933063,-94.872983
+74342,OK,Eucha,36.398709,-94.923003
+74343,OK,Fairland,36.74178,-94.827934
+74344,OK,Grove,36.592869,-94.756536
+74346,OK,Jay,36.436343,-94.776309
+74347,OK,Kansas,36.216114,-94.811416
+74352,OK,Locust Grove,36.181902,-95.168854
+74354,OK,Miami,36.876377,-94.87186
+74359,OK,Oaks,36.168663,-94.850206
+74360,OK,Picher,36.979961,-94.817301
+74361,OK,Pryor,36.292112,-95.312942
+74363,OK,Quapaw,36.928248,-94.742983
+74364,OK,Leach,36.211263,-94.993362
+74365,OK,Salina,36.311597,-95.115772
+74366,OK,Spavinaw,36.415548,-95.028465
+74367,OK,Strang,36.463861,-95.070768
+74368,OK,Twin Oaks,36.191616,-94.854444
+74369,OK,Welch,36.902022,-95.129455
+74370,OK,Wyandotte,36.779616,-94.700239
+74401,OK,Muskogee,35.730661,-95.375491
+74403,OK,Muskogee,35.741057,-95.344907
+74421,OK,Beggs,35.789595,-96.026398
+74422,OK,Boynton,35.657652,-95.660036
+74423,OK,Braggs,35.657395,-95.203326
+74425,OK,Canadian,35.159258,-95.653042
+74426,OK,Checotah,35.435786,-95.535038
+74427,OK,Cookson,35.711622,-94.913205
+74428,OK,Council Hill,35.532175,-95.711326
+74429,OK,Coweta,35.957835,-95.652597
+74432,OK,Eufaula,35.29114,-95.647227
+74434,OK,Fort Gibson,35.794285,-95.229734
+74435,OK,Gore,35.541772,-95.109474
+74436,OK,Haskell,35.810752,-95.683981
+74437,OK,Hoffman,35.454476,-95.976187
+74440,OK,Hoyt,35.268466,-95.299382
+74441,OK,Hulbert,35.925415,-95.165095
+74442,OK,Indianola,35.093724,-95.784479
+74445,OK,Morris,35.661877,-95.83186
+74447,OK,Okmulgee,35.628805,-95.96967
+74450,OK,Oktaha,35.625014,-95.485591
+74451,OK,Park Hill,35.797686,-94.982173
+74452,OK,Peggs,36.059061,-94.991928
+74454,OK,Porter,35.85674,-95.508193
+74455,OK,Porum,35.363059,-95.260661
+74457,OK,Proctor,35.967111,-94.744159
+74461,OK,Stidham,35.381389,-95.705575
+74462,OK,Stigler,35.268561,-95.10707
+74463,OK,Taft,35.758059,-95.54936
+74464,OK,Tahlequah,35.909385,-94.97873
+74467,OK,Wagoner,35.954864,-95.353956
+74469,OK,Warner,35.494546,-95.306434
+74470,OK,Webbers Falls,35.513787,-95.165881
+74471,OK,Welling,35.881917,-94.865326
+74472,OK,Whitefield,35.25114,-95.237493
+74501,OK,Mcalester,34.926233,-95.759168
+74523,OK,Antlers,34.234923,-95.625412
+74525,OK,Atoka,34.34451,-96.141827
+74528,OK,Blanco,34.762151,-95.792069
+74531,OK,Calvin,34.877987,-96.270972
+74533,OK,Caney,34.222112,-96.258364
+74534,OK,Centrahoma,34.606642,-96.338585
+74536,OK,Clayton,34.590591,-95.379981
+74538,OK,Coalgate,34.534408,-96.216726
+74540,OK,Daisy,34.538357,-95.708773
+74542,OK,Farris,34.255833,-95.841368
+74543,OK,Finley,34.340654,-95.538519
+74547,OK,Hartshorne,34.84517,-95.573972
+74548,OK,Haywood,34.951102,-95.967154
+74549,OK,Honobia,34.592604,-94.991557
+74552,OK,Kinta,35.197065,-95.317545
+74553,OK,Kiowa,34.727755,-95.932836
+74555,OK,Lane,34.269122,-95.968515
+74557,OK,Moyers,34.338648,-95.663881
+74558,OK,Nashoba,34.507204,-95.207467
+74560,OK,Pittsburg,34.69748,-95.843905
+74561,OK,Quinton,35.154666,-95.467085
+74562,OK,Rattan,34.245417,-95.344235
+74563,OK,Red Oak,34.942174,-95.090432
+74567,OK,Snow,34.377963,-95.427833
+74569,OK,Stringtown,34.467597,-96.000245
+74570,OK,Stuart,34.882581,-96.138105
+74571,OK,Talihina,34.73812,-94.997813
+74572,OK,Tupelo,34.559809,-96.427365
+74574,OK,Tuskahoma,34.734778,-95.220798
+74576,OK,Wardville,34.568791,-96.020958
+74577,OK,Whitesboro,34.684311,-94.869977
+74578,OK,Wilburton,34.912805,-95.338896
+74601,OK,Ponca City,36.703104,-97.078409
+74604,OK,Ponca City,36.729916,-97.045443
+74630,OK,Billings,36.524609,-97.418889
+74631,OK,Blackwell,36.800574,-97.286695
+74632,OK,Braman,36.933054,-97.308231
+74633,OK,Burbank,36.696583,-96.786873
+74636,OK,Deer Creek,36.80482,-97.513581
+74637,OK,Fairfax,36.557687,-96.699691
+74640,OK,Hunter,36.560342,-97.642507
+74641,OK,Kaw City,36.786663,-96.898862
+74643,OK,Lamont,36.693884,-97.560093
+74644,OK,Marland,36.559067,-97.097592
+74646,OK,Nardin,36.815517,-97.432458
+74647,OK,Peckham,36.887425,-97.05133
+74650,OK,Ralston,36.499228,-96.775481
+74651,OK,Red Rock,36.474754,-97.164021
+74652,OK,Foraker,36.814915,-96.674962
+74653,OK,Tonkawa,36.68062,-97.30634
+74701,OK,Durant,34.00609,-96.384705
+74723,OK,Bennington,33.977085,-96.018774
+74724,OK,Bethel,34.358443,-94.878126
+74726,OK,Bokchito,33.985913,-96.162097
+74727,OK,Boswell,34.024475,-95.840313
+74728,OK,Broken Bow,34.026991,-94.762296
+74729,OK,Caddo,34.115688,-96.260017
+74730,OK,Calera,33.928872,-96.410205
+74731,OK,Cartwright,33.884552,-96.551909
+74733,OK,Colbert,33.857516,-96.495345
+74734,OK,Eagletown,34.036358,-94.559557
+74735,OK,Fort Towson,34.051968,-95.253015
+74736,OK,Garvin,33.920512,-94.932308
+74738,OK,Grant,33.930239,-95.489324
+74740,OK,Tom,33.787507,-94.581775
+74741,OK,Hendrix,33.801582,-96.358134
+74743,OK,Hugo,34.011339,-95.513876
+74745,OK,Idabel,33.88512,-94.802012
+74748,OK,Kenefic,34.131377,-96.388663
+74754,OK,Ringold,34.179892,-95.070387
+74755,OK,Rufe,34.161684,-95.136011
+74756,OK,Sawyer,34.027726,-95.355833
+74759,OK,Soper,34.03659,-95.691566
+74760,OK,Spencerville,34.13263,-95.383468
+74764,OK,Valliant,34.009056,-95.068625
+74766,OK,Wright City,34.079922,-94.992889
+74801,OK,Shawnee,35.34907,-96.931321
+74820,OK,Ada,34.780044,-96.69236
+74824,OK,Agra,35.882548,-96.87794
+74825,OK,Allen,34.850176,-96.558462
+74826,OK,Asher,34.984862,-96.876326
+74827,OK,Atwood,34.919194,-96.357703
+74829,OK,Boley,35.491328,-96.470386
+74831,OK,Byars,34.890397,-97.099723
+74832,OK,Carney,35.805381,-97.015942
+74833,OK,Castle,35.473235,-96.379133
+74834,OK,Chandler,35.704253,-96.858266
+74835,OK,Clearview,35.392585,-96.171404
+74839,OK,Dustin,35.251937,-96.057271
+74840,OK,Earlsboro,35.262792,-96.804093
+74842,OK,Fittstown,34.630134,-96.649458
+74843,OK,Fitzhugh,34.661545,-96.774487
+74845,OK,Vernon,35.208526,-95.895795
+74848,OK,Holdenville,35.083935,-96.376968
+74849,OK,Konawa,34.970824,-96.734279
+74850,OK,Lamar,35.083557,-96.114226
+74851,OK,Mc Loud,35.41907,-97.105178
+74852,OK,Macomb,35.12052,-97.033964
+74854,OK,Maud,35.129224,-96.762686
+74855,OK,Meeker,35.521111,-96.998052
+74856,OK,Mill Creek,34.309754,-96.788419
+74857,OK,Newalla,35.373415,-97.197123
+74859,OK,Bearden,35.447516,-96.306788
+74860,OK,Paden,35.518171,-96.571921
+74864,OK,Prague,35.510482,-96.700879
+74865,OK,Roff,34.615294,-96.842313
+74867,OK,Sasakwa,34.950982,-96.538706
+74868,OK,Seminole,35.252095,-96.668307
+74869,OK,Sparks,35.61378,-96.816269
+74871,OK,Harden City,34.666194,-96.54289
+74872,OK,Stratford,34.771412,-96.976277
+74873,OK,Tecumseh,35.25023,-96.966713
+74875,OK,Tryon,35.863151,-96.9984
+74878,OK,Wanette,34.998313,-97.0419
+74880,OK,Weleetka,35.341582,-96.113609
+74881,OK,Wellston,35.675738,-97.059685
+74882,OK,Welty,35.610727,-96.42762
+74883,OK,Wetumka,35.239552,-96.242082
+74884,OK,New Lima,35.182893,-96.503793
+74901,OK,Arkoma,35.343352,-94.440311
+74902,OK,Pocola,35.243603,-94.476029
+74930,OK,Bokoshe,35.160925,-94.722158
+74931,OK,Bunch,35.735691,-94.734154
+74932,OK,Cameron,35.149355,-94.506015
+74937,OK,Heavener,34.835267,-94.61849
+74939,OK,Hodgen,34.753757,-94.63908
+74940,OK,Howe,34.929936,-94.657072
+74941,OK,Keota,35.264541,-94.902822
+74944,OK,Mccurtain,35.140403,-95.012737
+74948,OK,Muldrow,35.401985,-94.633216
+74949,OK,Muse,34.664124,-94.719007
+74953,OK,Poteau,35.060561,-94.609603
+74954,OK,Roland,35.453811,-94.529085
+74955,OK,Sallisaw,35.485191,-94.778998
+74956,OK,Shady Point,35.129333,-94.666534
+74957,OK,Octavia,34.479056,-94.619117
+74959,OK,Spiro,35.249219,-94.626546
+74960,OK,Stilwell,35.810703,-94.631322
+74962,OK,Vian,35.540383,-94.988756
+74963,OK,Watson,34.419252,-94.556217
+74964,OK,Watts,36.115216,-94.634472
+74965,OK,Westville,35.991226,-94.592627
+74966,OK,Wister,34.955593,-94.783205
+97001,OR,Antelope,44.889196,-120.791384
+97002,OR,Aurora,45.228432,-122.803881
+97004,OR,Beavercreek,45.259723,-122.475122
+97005,OR,Beaverton,45.475035,-122.805395
+97006,OR,Aloha,45.517675,-122.859209
+97007,OR,Aloha,45.472985,-122.859473
+97009,OR,Boring,45.429704,-122.380713
+97010,OR,Bridal Veil,45.557904,-122.176587
+97011,OR,Brightwood,45.365218,-122.003621
+97013,OR,Canby,45.251425,-122.68322
+97014,OR,Bonneville,45.671447,-121.882411
+97015,OR,Clackamas,45.414992,-122.52005
+97016,OR,Westport,46.09978,-123.2124
+97017,OR,Colton,45.157291,-122.424753
+97018,OR,Columbia City,45.892474,-122.812174
+97019,OR,Corbett,45.522116,-122.241746
+97021,OR,Friend,45.429099,-121.146797
+97022,OR,Eagle Creek,45.358205,-122.338053
+97023,OR,Estacada,45.287177,-122.325858
+97026,OR,Gervais,45.108645,-122.896185
+97027,OR,Gladstone,45.389882,-122.590197
+97028,OR,Timberline Lodge,45.318366,-121.785426
+97029,OR,Grass Valley,45.301333,-120.747795
+97030,OR,Gresham,45.515397,-122.420258
+97031,OR,Hood River,45.671058,-121.539104
+97032,OR,Hubbard,45.160422,-122.754115
+97033,OR,Kent,45.083789,-120.664895
+97034,OR,Lake Oswego,45.409263,-122.684721
+97035,OR,Lake Oswego,45.414666,-122.722709
+97037,OR,Maupin,45.074247,-121.228164
+97038,OR,Molalla,45.122256,-122.575574
+97039,OR,Moro,45.485332,-120.695666
+97040,OR,Mosier,45.66167,-121.324532
+97041,OR,Mount Hood Parkd,45.521584,-121.588485
+97042,OR,Mulino,45.212973,-122.535068
+97044,OR,Odell,45.623245,-121.440131
+97045,OR,Oregon City,45.337718,-122.569991
+97048,OR,Rainier,46.064552,-122.967067
+97049,OR,Zigzag,45.355201,-121.953691
+97050,OR,Rufus,45.68515,-120.726777
+97051,OR,Saint Helens,45.860825,-122.828177
+97053,OR,Warren,45.826043,-122.863445
+97054,OR,Deer Island,45.935553,-122.898458
+97055,OR,Sandy,45.378954,-122.223049
+97056,OR,Scappoose,45.765451,-122.892771
+97057,OR,Shaniko,45.047231,-120.806953
+97058,OR,The Dalles,45.599504,-121.190493
+97060,OR,Troutdale,45.525398,-122.373866
+97062,OR,Tualatin,45.372688,-122.763132
+97063,OR,Wamic,45.231789,-121.296517
+97064,OR,Vernonia,45.857298,-123.196662
+97065,OR,Wasco,45.597447,-120.730356
+97067,OR,Welches,45.339862,-121.959826
+97068,OR,West Linn,45.366874,-122.647952
+97070,OR,Wilsonville,45.298646,-122.769886
+97071,OR,Woodburn,45.144617,-122.858342
+97080,OR,Gresham,45.481699,-122.415645
+97101,OR,Amity,45.115704,-123.174402
+97103,OR,Astoria,46.155802,-123.79798
+97106,OR,Banks,45.653476,-123.120982
+97107,OR,Bay City,45.519658,-123.876075
+97108,OR,Beaver,45.276746,-123.823417
+97109,OR,Buxton,45.736983,-123.214555
+97111,OR,Carlton,45.28593,-123.152346
+97112,OR,Cloverdale,45.285821,-123.835628
+97113,OR,Cornelius,45.529034,-123.041536
+97114,OR,Dayton,45.197722,-123.075332
+97115,OR,Dundee,45.27761,-123.01523
+97116,OR,Glenwood,45.532835,-123.115152
+97117,OR,Gales Creek,45.595747,-123.233967
+97119,OR,Gaston,45.442738,-123.16657
+97121,OR,Hammond,46.198028,-123.952726
+97122,OR,Hebo,45.212016,-123.871433
+97123,OR,Hillsboro,45.498401,-122.956998
+97124,OR,Hillsboro,45.53868,-122.963608
+97125,OR,Manning,45.652468,-123.186113
+97127,OR,Lafayette,45.246638,-123.111362
+97128,OR,Mcminnville,45.209677,-123.204342
+97131,OR,Nehalem,45.72159,-123.904943
+97132,OR,Newberg,45.309901,-122.968503
+97136,OR,Rockaway,45.608511,-123.907834
+97137,OR,Saint Paul,45.195996,-122.96737
+97138,OR,Gearhart,45.969506,-123.878837
+97140,OR,Sherwood,45.351419,-122.856724
+97141,OR,Tillamook,45.449185,-123.818851
+97144,OR,Timber,45.727033,-123.311852
+97145,OR,Tolovana Park,45.886172,-123.95887
+97146,OR,Warrenton,46.145017,-123.925366
+97148,OR,Yamhill,45.335049,-123.203639
+97149,OR,Neskowin,45.178165,-123.926344
+97201,OR,Portland,45.498819,-122.690258
+97202,OR,Portland,45.484007,-122.636534
+97203,OR,Portland,45.588872,-122.734699
+97204,OR,Portland,45.51807,-122.674498
+97205,OR,Portland,45.52072,-122.688846
+97206,OR,Portland,45.483995,-122.59727
+97209,OR,Portland,45.526962,-122.685447
+97210,OR,Portland,45.530318,-122.703348
+97211,OR,Portland,45.565259,-122.644815
+97212,OR,Portland,45.544127,-122.642319
+97213,OR,Portland,45.537292,-122.59867
+97214,OR,Portland,45.514207,-122.636397
+97215,OR,Portland,45.514282,-122.599001
+97216,OR,Portland,45.513746,-122.55688
+97217,OR,Portland,45.57424,-122.684196
+97218,OR,Portland,45.560032,-122.600131
+97219,OR,Portland,45.457956,-122.70738
+97220,OR,Portland,45.541109,-122.556586
+97221,OR,Portland,45.491829,-122.726723
+97222,OR,Milwaukie,45.442919,-122.615092
+97223,OR,Garden Home,45.443343,-122.775974
+97224,OR,Tigard,45.407292,-122.788379
+97225,OR,Cedar Hills,45.500449,-122.768344
+97227,OR,Portland,45.549564,-122.674257
+97229,OR,Portland,45.541087,-122.829924
+97230,OR,Rockwood Corners,45.535753,-122.500343
+97231,OR,Portland,45.640124,-122.838032
+97232,OR,Portland,45.528712,-122.63631
+97233,OR,Portland,45.514206,-122.498493
+97236,OR,Portland,45.488748,-122.509091
+97266,OR,Portland,45.476207,-122.559607
+97267,OR,Oak Grove,45.407494,-122.610631
+97301,OR,Salem,44.926039,-122.979692
+97302,OR,Salem,44.903899,-123.044514
+97303,OR,Keizer,44.985794,-123.019015
+97304,OR,Salem,44.958846,-123.075323
+97305,OR,Brooks,44.982502,-122.966892
+97306,OR,Salem,44.8685,-123.043789
+97321,OR,Albany,44.627722,-123.094409
+97324,OR,Alsea,44.369068,-123.60892
+97325,OR,West Stayton,44.817817,-122.878575
+97326,OR,Blodgett,44.628141,-123.606715
+97327,OR,Brownsville,44.376974,-122.948491
+97329,OR,Cascadia,44.392239,-122.464214
+97330,OR,Corvallis,44.590411,-123.272171
+97331,OR,Corvallis,44.563783,-123.277889
+97333,OR,Corvallis,44.539281,-123.279908
+97338,OR,Dallas,44.922534,-123.319991
+97341,OR,Depoe Bay,44.851445,-124.03234
+97342,OR,Detroit,44.776619,-122.18447
+97343,OR,Eddyville,44.637139,-123.753096
+97344,OR,Falls City,44.870597,-123.446149
+97345,OR,Foster,44.383556,-122.544898
+97346,OR,Gates,44.752716,-122.399498
+97347,OR,Grand Ronde,45.074973,-123.633518
+97348,OR,Halsey,44.386151,-123.125103
+97350,OR,Idanha,44.701484,-122.047574
+97351,OR,Independence,44.848098,-123.187913
+97352,OR,Jefferson,44.749452,-123.00596
+97355,OR,Lebanon,44.531558,-122.882064
+97357,OR,Logsden,44.747514,-123.773645
+97358,OR,Lyons,44.776792,-122.820083
+97360,OR,Mill City,44.751566,-122.476825
+97361,OR,Monmouth,44.837706,-123.251233
+97362,OR,Mount Angel,45.073727,-122.785611
+97364,OR,Neotsu,44.998801,-123.984337
+97365,OR,Newport,44.648653,-124.050903
+97366,OR,South Beach,44.57122,-124.059968
+97367,OR,Lincoln City,44.968139,-123.99556
+97368,OR,Otis,45.013755,-123.933244
+97370,OR,Philomath,44.548817,-123.392271
+97371,OR,Rickreall,45.020032,-123.206424
+97374,OR,Scio,44.716792,-122.768356
+97375,OR,Scotts Mills,45.022,-122.665418
+97376,OR,Seal Rock,44.477749,-124.060708
+97377,OR,Shedd,44.452951,-123.106462
+97378,OR,Sheridan,45.089703,-123.400335
+97380,OR,Siletz,44.731333,-123.906239
+97381,OR,Silverton,44.991041,-122.762724
+97383,OR,Stayton,44.80211,-122.76241
+97385,OR,Sublimity,44.842523,-122.800718
+97386,OR,Sweet Home,44.398111,-122.728561
+97389,OR,Tangent,44.54973,-123.110815
+97390,OR,Tidewater,44.405538,-123.914861
+97391,OR,Toledo,44.627082,-123.930119
+97392,OR,Turner,44.847607,-122.950117
+97394,OR,Waldport,44.408497,-124.035053
+97396,OR,Willamina,45.082605,-123.504708
+97401,OR,Coburg,44.073677,-123.078757
+97402,OR,Eugene,44.061243,-123.155525
+97403,OR,Eugene,44.038534,-123.061422
+97404,OR,Eugene,44.100536,-123.13336
+97405,OR,Eugene,44.018497,-123.099769
+97406,OR,Agness,42.574788,-124.064769
+97410,OR,Azalea,42.844992,-123.155017
+97411,OR,Bandon,43.096806,-124.40367
+97412,OR,Blachly,44.196597,-123.534816
+97413,OR,Mc Kenzie Bridge,44.177809,-122.222951
+97414,OR,Broadbent,42.985048,-124.118924
+97415,OR,Harbor,42.064004,-124.267811
+97416,OR,Camas Valley,43.05566,-123.665465
+97417,OR,Canyonville,42.930683,-123.278015
+97419,OR,Cheshire,44.178206,-123.371516
+97420,OR,Charleston,43.362812,-124.233101
+97423,OR,Coquille,43.188413,-124.201386
+97424,OR,Cottage Grove,43.783934,-123.05291
+97426,OR,Creswell,43.90583,-123.02838
+97427,OR,Culp Creek,43.684534,-122.752417
+97429,OR,Days Creek,42.981946,-123.14387
+97430,OR,Greenleaf,44.145131,-123.688328
+97431,OR,Dexter,43.921691,-122.842351
+97434,OR,Dorena,43.758655,-122.885796
+97435,OR,Drain,43.687659,-123.292922
+97436,OR,Elkton,43.637761,-123.590014
+97437,OR,Elmira,44.08726,-123.367051
+97438,OR,Fall Creek,43.95616,-122.785904
+97439,OR,Florence,43.988099,-124.099303
+97441,OR,Gardiner,43.785736,-124.143695
+97442,OR,Glendale,42.751751,-123.394302
+97443,OR,Glide,43.277395,-122.963846
+97444,OR,Pistol River,42.434818,-124.396072
+97446,OR,Harrisburg,44.271656,-123.143165
+97447,OR,Idleyld Park,43.371571,-122.901789
+97448,OR,Junction City,44.198792,-123.230014
+97449,OR,Lakeside,43.583306,-124.162364
+97450,OR,Langlois,42.915386,-124.441322
+97451,OR,Lorane,43.829044,-123.247679
+97452,OR,Lowell,43.920993,-122.780627
+97453,OR,Mapleton,44.031189,-123.865735
+97454,OR,Marcola,44.206439,-122.82464
+97455,OR,Pleasant Hill,43.945816,-122.928487
+97456,OR,Monroe,44.32446,-123.32033
+97457,OR,Myrtle Creek,43.016161,-123.285054
+97458,OR,Myrtle Point,43.066694,-124.121327
+97459,OR,North Bend,43.432665,-124.213103
+97461,OR,Noti,44.119509,-123.456962
+97462,OR,Oakland,43.452968,-123.355774
+97463,OR,Oakridge,43.749767,-122.457711
+97465,OR,Port Orford,42.757194,-124.491283
+97466,OR,Powers,42.891006,-124.066441
+97467,OR,Winchester Bay,43.695701,-124.105476
+97468,OR,Remote,43.007909,-123.89149
+97469,OR,Riddle,42.938867,-123.361247
+97470,OR,Roseburg,43.222726,-123.366437
+97473,OR,Scottsburg,43.676481,-123.804065
+97476,OR,Sixes,42.824984,-124.44093
+97477,OR,Springfield,44.06106,-123.015259
+97478,OR,Springfield,44.056056,-122.917108
+97479,OR,Sutherlin,43.390404,-123.297425
+97480,OR,Swisshome,44.089903,-123.827899
+97481,OR,Tenmile,43.137116,-123.530104
+97484,OR,Tiller,42.985896,-122.908088
+97486,OR,Umpqua,43.374537,-123.535771
+97487,OR,Veneta,44.038235,-123.35159
+97488,OR,Vida,44.130041,-122.504429
+97489,OR,Leaburg,44.135163,-122.629064
+97490,OR,Walton,44.028194,-123.589304
+97492,OR,Westfir,43.756636,-122.514095
+97493,OR,Westlake,43.914017,-124.033364
+97496,OR,Winston,43.104855,-123.432481
+97497,OR,Sunny Valley,42.655128,-123.351538
+97498,OR,Yachats,44.325563,-124.086262
+97499,OR,Yoncalla,43.60434,-123.292562
+97501,OR,West Main,42.319293,-122.887011
+97502,OR,Central Point,42.389914,-122.922235
+97503,OR,White City,42.431919,-122.82962
+97504,OR,Medford,42.336251,-122.839801
+97520,OR,Ashland,42.188509,-122.693033
+97522,OR,Butte Falls,42.549243,-122.563801
+97523,OR,Cave Junction,42.134789,-123.627199
+97524,OR,Eagle Point,42.493467,-122.808802
+97525,OR,Gold Hill,42.424436,-123.08543
+97526,OR,Grants Pass,42.463758,-123.345727
+97527,OR,Grants Pass,42.398913,-123.353799
+97530,OR,Applegate,42.254894,-123.028098
+97531,OR,Kerby,42.209343,-123.657302
+97532,OR,Merlin,42.529654,-123.439256
+97534,OR,O Brien,42.068816,-123.720898
+97535,OR,Phoenix,42.276555,-122.822694
+97536,OR,Prospect,42.754394,-122.50898
+97537,OR,Rogue River,42.488889,-123.158726
+97538,OR,Selma,42.296358,-123.568394
+97539,OR,Shady Cove,42.607575,-122.812191
+97540,OR,Talent,42.236252,-122.78605
+97541,OR,Trail,42.686358,-122.816029
+97543,OR,Wilderville,42.392483,-123.513861
+97544,OR,Williams,42.223049,-123.282877
+97601,OR,Oretech,42.229601,-121.786969
+97603,OR,Klamath Falls,42.191915,-121.724124
+97620,OR,Adel,42.148697,-119.883291
+97621,OR,Beatty,42.436942,-121.219962
+97623,OR,Bonanza,42.246268,-121.333558
+97624,OR,Chiloquin,42.546293,-121.744959
+97625,OR,Dairy,42.258141,-121.642453
+97627,OR,Keno,42.175472,-121.972427
+97630,OR,Lakeview,42.185443,-120.377533
+97632,OR,Malin,42.019502,-121.422121
+97633,OR,Merrill,42.029516,-121.598545
+97635,OR,New Pine Creek,42.027759,-120.28939
+97636,OR,Paisley,42.703089,-120.553208
+97637,OR,Plush,42.503493,-119.894722
+97638,OR,Silver Lake,43.258164,-120.780109
+97640,OR,Summer Lake,42.831302,-121.063254
+97701,OR,Bend,44.092788,-121.293632
+97702,OR,Bend,44.022332,-121.298543
+97707,OR,Sunriver,43.850336,-121.457871
+97711,OR,Ashwood,44.719479,-120.719161
+97712,OR,Brothers,43.778877,-120.477035
+97720,OR,Burns,43.51451,-119.050398
+97730,OR,Camp Sherman,44.454997,-121.639363
+97731,OR,Diamond Lake,43.124669,-121.8447
+97732,OR,Crane,43.426219,-118.4642
+97733,OR,Crescent,43.497226,-121.664813
+97734,OR,Culver,44.481796,-121.234353
+97735,OR,Fort Rock,43.44615,-121.08243
+97737,OR,Gilchrist,43.30759,-121.886596
+97739,OR,La Pine,43.709125,-121.519445
+97740,OR,Lawen,43.561816,-118.8418
+97741,OR,Madras,44.637579,-121.134924
+97750,OR,Mitchell,44.565734,-120.145579
+97751,OR,Paulina,44.210243,-119.782768
+97752,OR,Post,44.079273,-120.299781
+97753,OR,Powell Butte,44.241512,-121.011326
+97754,OR,Prineville,44.30445,-120.833616
+97756,OR,Redmond,44.27669,-121.189604
+97758,OR,Riley,44.930529,-116.900621
+97759,OR,Black Butte Ranc,44.307329,-121.524133
+97760,OR,Crooked River Ra,44.355505,-121.167565
+97761,OR,Warm Springs,44.746826,-121.290941
+97801,OR,Pendleton,45.660535,-118.783104
+97810,OR,Adams,45.749678,-118.617582
+97812,OR,Arlington,45.666417,-120.197148
+97813,OR,Athena,45.828893,-118.497147
+97814,OR,Medical Springs,44.780102,-117.828631
+97818,OR,Boardman,45.827165,-119.72057
+97820,OR,Canyon City,44.410005,-118.950155
+97823,OR,Condon,45.230587,-120.189834
+97824,OR,Cove,45.319902,-117.814741
+97825,OR,Dayville,44.466307,-119.531178
+97826,OR,Echo,45.74109,-119.194904
+97827,OR,Elgin,45.594101,-117.91119
+97828,OR,Enterprise,45.437037,-117.288808
+97830,OR,Kinzua,44.985289,-120.206699
+97831,OR,Fox,44.660681,-119.291646
+97833,OR,Haines,44.877622,-117.97556
+97834,OR,Halfway,44.895272,-117.113152
+97835,OR,Helix,45.866541,-118.722219
+97836,OR,Heppner,45.348577,-119.536897
+97837,OR,Hereford,44.641048,-117.98896
+97838,OR,Hermiston,45.844992,-119.284876
+97839,OR,Lexington,45.426362,-119.74636
+97841,OR,Imbler,45.459908,-117.954377
+97842,OR,Imnaha,45.513733,-116.825741
+97843,OR,Ione,45.54033,-119.769034
+97844,OR,Irrigon,45.88768,-119.507016
+97845,OR,John Day,44.409977,-119.105157
+97846,OR,Joseph,45.349432,-117.212805
+97848,OR,Kimberly,44.72263,-119.596497
+97850,OR,La Grande,45.330435,-118.085228
+97856,OR,Long Creek,44.755416,-119.09702
+97857,OR,Lostine,45.493861,-117.435909
+97862,OR,Milton Freewater,45.948581,-118.391172
+97864,OR,Monument,44.818451,-119.430164
+97865,OR,Mount Vernon,44.417095,-119.112142
+97867,OR,North Powder,45.031667,-117.933666
+97868,OR,Pilot Rock,45.422724,-118.848331
+97869,OR,Prairie City,44.456977,-118.695199
+97870,OR,Richland,44.797013,-117.301825
+97872,OR,Ritter,44.95404,-118.941818
+97873,OR,Seneca,44.127704,-119.057797
+97874,OR,Spray,44.824186,-119.830318
+97875,OR,Stanfield,45.785988,-119.211602
+97876,OR,Summerville,45.507687,-118.026978
+97877,OR,Sumpter,44.73164,-118.190604
+97882,OR,Mcnary,45.915725,-119.313715
+97883,OR,Union,45.201939,-117.853554
+97884,OR,Unity,44.449063,-118.16273
+97885,OR,Wallowa,45.571722,-117.535727
+97886,OR,Weston,45.807365,-118.373279
+97901,OR,Adrian,43.653712,-117.060193
+97902,OR,Arock,43.970896,-117.034189
+97903,OR,Brogan,44.199396,-117.590371
+97904,OR,Drewsey,43.864277,-118.47066
+97906,OR,Harper,43.873363,-117.528433
+97907,OR,Huntington,44.381113,-117.309691
+97908,OR,Ironside,44.300913,-117.944435
+97909,OR,Jamieson,44.181873,-117.437269
+97910,OR,Jordan Valley,42.880139,-117.280984
+97911,OR,Juntura,43.825277,-118.092118
+97913,OR,Nyssa,43.860386,-117.025113
+97914,OR,Ontario,44.04156,-116.978268
+97917,OR,Riverside,43.467415,-118.095769
+97918,OR,Vale,44.003902,-117.267412
+97920,OR,Westfall,43.992246,-117.687673
+15001,PA,Macarthur,40.604424,-80.281567
+15003,PA,Fairoaks,40.595368,-80.219778
+15005,PA,Baden,40.641595,-80.198471
+15007,PA,Bakerstown,40.647826,-79.930956
+15009,PA,Beaver,40.697184,-80.336528
+15010,PA,Racine,40.766234,-80.33988
+15012,PA,Rostraver,40.14368,-79.83454
+15014,PA,Brackenridge,40.608223,-79.741375
+15015,PA,Bradfordwoods,40.634175,-80.082305
+15017,PA,Bridgeville,40.347195,-80.115293
+15018,PA,Buena Vista,40.278635,-79.791874
+15019,PA,Bulger,40.405119,-80.362192
+15021,PA,Paris,40.390114,-80.444485
+15022,PA,Charleroi,40.140402,-79.92002
+15024,PA,Cheswick,40.568117,-79.841002
+15025,PA,Large,40.298917,-79.910096
+15026,PA,Clinton,40.513148,-80.342282
+15027,PA,Conway,40.664917,-80.234899
+15030,PA,Creighton,40.582051,-79.78177
+15031,PA,Cuddy,40.360069,-80.164432
+15033,PA,Donora,40.176821,-79.861858
+15034,PA,Dravosburg,40.352676,-79.889461
+15035,PA,East Mc Keesport,40.383944,-79.807881
+15037,PA,Elizabeth,40.265575,-79.856842
+15042,PA,Freedom,40.683023,-80.214663
+15043,PA,Georgetown,40.574275,-80.490023
+15044,PA,Gibsonia,40.625233,-79.944307
+15045,PA,Glassport,40.325952,-79.888324
+15049,PA,Harwick,40.557433,-79.805115
+15050,PA,Hookstown,40.542929,-80.436268
+15051,PA,Indianola,40.576605,-79.881765
+15052,PA,Industry,40.667101,-80.415085
+15053,PA,Joffre,40.381027,-80.391542
+15055,PA,Lawrence,40.311615,-80.144029
+15056,PA,Leetsdale,40.566165,-80.209874
+15057,PA,Mc Donald,40.369664,-80.256204
+15059,PA,Midland,40.658962,-80.468952
+15060,PA,Midway,40.367974,-80.29209
+15061,PA,Monaca,40.671847,-80.291743
+15062,PA,Monessen,40.152379,-79.883526
+15063,PA,Monongahela,40.193728,-79.924127
+15064,PA,Morgan,40.360433,-80.154064
+15065,PA,Natrona,40.628862,-79.725621
+15066,PA,New Brighton,40.739333,-80.29722
+15067,PA,New Eagle,40.206573,-79.953408
+15068,PA,Arnold,40.571179,-79.741547
+15071,PA,Noblestown,40.428734,-80.202615
+15074,PA,Rochester,40.715745,-80.260315
+15076,PA,Russellton,40.614344,-79.837102
+15077,PA,Shippingport,40.626012,-80.419866
+15078,PA,Slovan,40.363086,-80.399239
+15083,PA,Sutersville,40.238207,-79.792223
+15084,PA,Tarentum,40.618651,-79.785204
+15085,PA,Level Green,40.385155,-79.755157
+15086,PA,Warrendale,40.664149,-80.080705
+15089,PA,West Newton,40.207549,-79.757976
+15090,PA,Wexford,40.612044,-80.064879
+15101,PA,Allison Park,40.569975,-79.966512
+15102,PA,Bethel Park,40.320984,-80.039793
+15104,PA,Rankin,40.406304,-79.864352
+15106,PA,Carnegie,40.402941,-80.091532
+15108,PA,Moon Twp,40.513245,-80.18969
+15110,PA,Duquesne,40.370449,-79.852244
+15112,PA,East Pittsburgh,40.403577,-79.83889
+15116,PA,Glenshaw,40.537492,-79.964351
+15120,PA,Munhall,40.394171,-79.904199
+15122,PA,W Mifflin Fin,40.366535,-79.89429
+15126,PA,Imperial,40.458384,-80.264861
+15129,PA,Library,40.292199,-80.001144
+15131,PA,White Oak,40.341147,-79.810519
+15132,PA,Mc Keesport,40.341713,-79.8452
+15133,PA,Mc Keesport,40.332835,-79.866759
+15135,PA,Boston,40.304412,-79.812844
+15136,PA,Mc Kees Rocks,40.471742,-80.087567
+15137,PA,North Versailles,40.376248,-79.812427
+15139,PA,Oakmont,40.519647,-79.836865
+15140,PA,Pitcairn,40.404787,-79.776951
+15142,PA,Presto,40.384664,-80.120922
+15143,PA,Sewickley,40.557031,-80.157848
+15144,PA,Springdale,40.543999,-79.784447
+15145,PA,Turtle Creek,40.41135,-79.822046
+15146,PA,Monroeville,40.429026,-79.762279
+15147,PA,Verona,40.492727,-79.834535
+15148,PA,Wall,40.393416,-79.803033
+15201,PA,Arsenal,40.474536,-79.952524
+15202,PA,Bellevue,40.501321,-80.066966
+15203,PA,Carson,40.425439,-79.977556
+15204,PA,Corliss,40.455569,-80.061056
+15205,PA,Crafton,40.438045,-80.073393
+15206,PA,East Liberty,40.468885,-79.919267
+15207,PA,Hazelwood,40.401206,-79.933935
+15208,PA,Homewood,40.454955,-79.898474
+15209,PA,Millvale,40.49718,-79.97401
+15210,PA,Mount Oliver,40.408541,-79.987405
+15211,PA,Mount Washington,40.42908,-80.012156
+15212,PA,Allegheny,40.468873,-80.013128
+15213,PA,Oakland,40.44372,-79.954428
+15214,PA,Observatory,40.481309,-80.01393
+15215,PA,Aspinwall,40.499225,-79.917513
+15216,PA,South Hills,40.399584,-80.035727
+15217,PA,Squirrel Hill,40.431852,-79.924973
+15218,PA,Swissvale,40.424468,-79.887591
+15219,PA,Uptown,40.44539,-79.977229
+15220,PA,Parkway Center,40.417405,-80.051202
+15221,PA,Wilkinsburg,40.438352,-79.870243
+15222,PA,Downtown,40.442111,-80.000556
+15223,PA,Etna,40.50428,-79.95145
+15224,PA,Bloomfield,40.464215,-79.945445
+15225,PA,Neville Island,40.513819,-80.137027
+15226,PA,Brookline,40.394628,-80.015759
+15227,PA,Brentwood,40.37619,-79.975816
+15228,PA,Mount Lebanon,40.371326,-80.043186
+15229,PA,West View,40.519321,-80.035685
+15232,PA,Shadyside,40.453598,-79.932557
+15233,PA,Kilbuck,40.460425,-80.029965
+15234,PA,Castle Shannon,40.369424,-80.017907
+15235,PA,Penn Hills,40.4605,-79.826892
+15236,PA,Caste Village,40.345244,-79.976894
+15237,PA,Mc Knight,40.552238,-80.034939
+15238,PA,Blawnox,40.515077,-79.877423
+15239,PA,Plum,40.477693,-79.734505
+15241,PA,Upper Saint Clai,40.332174,-80.07921
+15243,PA,Cedarhurst,40.373797,-80.072425
+15301,PA,Washington,40.171687,-80.255957
+15310,PA,Aleppo,39.824647,-80.457918
+15311,PA,Amity,40.061786,-80.194865
+15312,PA,Avella,40.273386,-80.456503
+15313,PA,Beallsville,40.064503,-80.025056
+15314,PA,Bentleyville,40.118702,-80.006987
+15317,PA,Mc Murray,40.270743,-80.153153
+15320,PA,Carmichaels,39.882548,-79.971007
+15321,PA,Cecil,40.322813,-80.20437
+15322,PA,Clarksville,39.994064,-80.012386
+15323,PA,Claysville,40.137557,-80.385904
+15324,PA,Cokeburg,40.100801,-80.065152
+15327,PA,Dilliner,39.755536,-79.977135
+15329,PA,Prosperity,40.0224,-80.261257
+15330,PA,Eighty Four,40.186821,-80.062695
+15331,PA,Ellsworth,40.107321,-80.020364
+15332,PA,Finleyville,40.259301,-79.97531
+15333,PA,Fredericktown,40.023749,-80.030937
+15337,PA,Graysville,39.909165,-80.395223
+15338,PA,Greensboro,39.804482,-79.93992
+15340,PA,Hickory,40.292511,-80.302508
+15341,PA,Holbrook,39.848878,-80.338455
+15342,PA,Houston,40.242492,-80.220937
+15344,PA,Jefferson,39.933391,-80.050286
+15345,PA,Marianna,40.033067,-80.114506
+15346,PA,Mather,39.945226,-80.085353
+15349,PA,Davistown,39.744289,-80.096763
+15352,PA,New Freeport,39.750728,-80.454228
+15353,PA,Nineveh,39.974328,-80.312809
+15357,PA,Rices Landing,39.943993,-79.985701
+15359,PA,Rogersville,39.900515,-80.283665
+15360,PA,Scenery Hill,40.099378,-80.091414
+15362,PA,Spraggs,39.761038,-80.262186
+15363,PA,Strabane,40.216914,-80.146156
+15364,PA,Sycamore,39.95273,-80.228199
+15367,PA,Venetia,40.275451,-80.059849
+15370,PA,Waynesburg,39.891691,-80.179524
+15376,PA,West Alexander,40.106514,-80.497769
+15377,PA,West Finley,39.991397,-80.440806
+15380,PA,Wind Ridge,39.897106,-80.464665
+15401,PA,Uniontown,39.889733,-79.728216
+15410,PA,Adah,39.883101,-79.890827
+15411,PA,Addison,39.761195,-79.319334
+15412,PA,Allenport,40.089845,-79.854194
+15413,PA,Allison,39.982566,-79.875675
+15417,PA,West Brownsville,40.02671,-79.920609
+15419,PA,California,40.062529,-79.895319
+15423,PA,Coal Center,40.097272,-79.8839
+15424,PA,Listonburg,39.821247,-79.351304
+15425,PA,South Connellsvi,40.025037,-79.587838
+15427,PA,Daisytown,40.074349,-79.967036
+15428,PA,Dawson,40.063767,-79.660224
+15431,PA,Dunbar,39.972171,-79.64305
+15432,PA,Dunlevy,40.115077,-79.862703
+15433,PA,East Millsboro,39.982214,-79.966442
+15434,PA,Elco,40.079671,-79.875836
+15436,PA,Fairchance,39.822876,-79.755051
+15437,PA,Farmington,39.806995,-79.583185
+15438,PA,Fayette City,40.098799,-79.836584
+15440,PA,Gibbon Glade,39.736357,-79.573603
+15442,PA,Grindstone,40.008415,-79.840447
+15444,PA,Hiller,40.004496,-79.899936
+15445,PA,Hopwood,39.868868,-79.705945
+15446,PA,Indian Head,40.020195,-79.393387
+15450,PA,La Belle,39.973829,-79.937024
+15451,PA,Lake Lynn,39.750065,-79.86184
+15456,PA,Lemont Furnace,39.931057,-79.647684
+15458,PA,Lamberton,39.890185,-79.859022
+15459,PA,Markleysburg,39.759723,-79.46003
+15461,PA,Grays Landing,39.83495,-79.893813
+15462,PA,Melcroft,40.064789,-79.3587
+15463,PA,Merrittstown,39.964854,-79.874447
+15464,PA,Mill Run,39.967985,-79.462219
+15468,PA,New Salem,39.940747,-79.80407
+15469,PA,Normalville,40.041793,-79.415061
+15470,PA,Ohiopyle,39.873202,-79.48846
+15472,PA,Oliver,39.911659,-79.715601
+15473,PA,Layton,40.085724,-79.754384
+15474,PA,Point Marion,39.735124,-79.898986
+15475,PA,Republic,39.961427,-79.902914
+15477,PA,Roscoe,40.078686,-79.865617
+15478,PA,Smithfield,39.792306,-79.81268
+15479,PA,Van Meter,40.144267,-79.731277
+15480,PA,Smock,39.996096,-79.767828
+15482,PA,Star Junction,40.083198,-79.755461
+15483,PA,Stockdale,40.082567,-79.850103
+15486,PA,Vanderbilt,40.024581,-79.695518
+15488,PA,Waltersburg,39.990465,-79.780336
+15490,PA,White,40.072596,-79.425117
+15501,PA,Somerset,40.024813,-79.080814
+15521,PA,Alum Bank,40.185833,-78.620591
+15522,PA,Bedford,39.990838,-78.526071
+15530,PA,Berlin,39.918847,-78.963692
+15531,PA,Boswell,40.191807,-79.036179
+15533,PA,Breezewood,39.990521,-78.245271
+15534,PA,Buffalo Mills,39.922025,-78.69962
+15535,PA,Clearville,39.853284,-78.43918
+15536,PA,Crystal Spring,39.919973,-78.225836
+15537,PA,Everett,40.009808,-78.371315
+15538,PA,Glencoe,39.909046,-78.827522
+15540,PA,Fort Hill,39.877282,-79.23535
+15541,PA,Friedens,40.010997,-78.903298
+15542,PA,Garrett,39.864581,-79.061561
+15545,PA,Hyndman,39.804857,-78.733512
+15546,PA,Jenners,40.147321,-79.054571
+15550,PA,Manns Choice,39.980787,-78.642259
+15551,PA,Markleton,39.869096,-79.287851
+15552,PA,Meyersdale,39.790489,-79.026141
+15554,PA,New Paris,40.118876,-78.588569
+15557,PA,Rockwood,39.937296,-79.186546
+15558,PA,Salisbury,39.753052,-79.083516
+15559,PA,Schellsburg,40.04869,-78.648194
+15562,PA,Springs,39.748895,-79.08895
+15563,PA,Stoystown,40.109886,-78.955978
+15601,PA,Greensburg,40.307359,-79.542439
+15610,PA,Acme,40.104891,-79.482747
+15611,PA,Adamsburg,40.312577,-79.656469
+15612,PA,Alverton,40.127866,-79.558608
+15613,PA,Apollo,40.556481,-79.577158
+15615,PA,Ardara,40.362993,-79.733533
+15616,PA,Armbrust,40.236097,-79.553884
+15617,PA,Arona,40.26799,-79.659104
+15618,PA,Avonmore,40.522125,-79.485264
+15620,PA,Bradenville,40.296094,-79.309679
+15622,PA,Champion,40.043976,-79.324719
+15625,PA,Darragh,40.260377,-79.678036
+15626,PA,Delmont,40.413901,-79.57638
+15627,PA,Derry,40.334931,-79.332585
+15628,PA,Donegal,40.099613,-79.381043
+15631,PA,Everson,40.091144,-79.587277
+15632,PA,Export,40.425185,-79.611021
+15634,PA,Grapeville,40.303804,-79.603189
+15636,PA,Harrison City,40.372455,-79.679754
+15637,PA,Herminie,40.245485,-79.717164
+15639,PA,Hunker,40.214947,-79.582364
+15641,PA,Hyde Park,40.631102,-79.589884
+15642,PA,North Huntingdon,40.319227,-79.723855
+15644,PA,Jeannette,40.32947,-79.614412
+15646,PA,Jones Mills,40.07977,-79.339933
+15647,PA,Larimer,40.351842,-79.736627
+15650,PA,Latrobe,40.292625,-79.410278
+15655,PA,Laughlintown,40.208025,-79.18058
+15656,PA,Leechburg,40.634398,-79.620101
+15658,PA,Wilpen,40.245133,-79.236666
+15661,PA,Loyalhanna,40.30199,-79.344157
+15663,PA,Madison,40.246669,-79.675978
+15665,PA,Manor,40.33822,-79.671221
+15666,PA,Mount Pleasant,40.174179,-79.513383
+15668,PA,Murrysville,40.446674,-79.684154
+15670,PA,New Alexandria,40.398112,-79.396594
+15671,PA,New Derry,40.333334,-79.300863
+15672,PA,New Stanton,40.223345,-79.618187
+15675,PA,Penn,40.330081,-79.641336
+15677,PA,Rector,40.186444,-79.247331
+15678,PA,Rillton,40.282454,-79.728211
+15679,PA,Ruffs Dale,40.158458,-79.627743
+15681,PA,Saltsburg,40.479239,-79.442844
+15683,PA,Scottdale,40.102948,-79.593017
+15684,PA,Slickville,40.465347,-79.506654
+15686,PA,Spring Church,40.615329,-79.454487
+15687,PA,Stahlstown,40.138593,-79.344473
+15688,PA,Tarrs,40.161915,-79.566101
+15690,PA,Park,40.605883,-79.565531
+15692,PA,Westmoreland Cit,40.276802,-79.547696
+15697,PA,Youngwood,40.239482,-79.582291
+15698,PA,Yukon,40.215529,-79.684941
+15701,PA,Indiana,40.619628,-79.159596
+15711,PA,Anita,41.001806,-78.966637
+15713,PA,Aultman,40.540083,-79.219791
+15714,PA,Barnesboro,40.673307,-78.777058
+15716,PA,Black Lick,40.466905,-79.193231
+15717,PA,Blairsville,40.441262,-79.253329
+15720,PA,Brush Valley,40.528565,-79.058765
+15721,PA,Burnside,40.813431,-78.786488
+15722,PA,Carrolltown,40.589054,-78.703676
+15724,PA,Cherry Tree,40.755387,-78.847357
+15725,PA,Clarksburg,40.503933,-79.367676
+15728,PA,Clymer,40.668811,-79.011863
+15729,PA,Commodore,40.701588,-78.913371
+15730,PA,Coolspring,40.951816,-78.922015
+15732,PA,Creekside,40.719892,-79.201396
+15739,PA,Ernest,40.704255,-79.096937
+15742,PA,Glen Campbell,40.850766,-78.855538
+15744,PA,Hamilton,40.921432,-79.093987
+15747,PA,Home,40.783441,-79.164082
+15748,PA,Graceton,40.538375,-79.183942
+15753,PA,La Jose,40.830118,-78.62337
+15754,PA,Lucernemines,40.545313,-79.157349
+15757,PA,Mc Gees Mills,40.889251,-78.72039
+15758,PA,Marchand,40.875411,-79.045151
+15759,PA,Marion Center,40.78135,-79.02524
+15760,PA,Marsteller,40.65004,-78.813356
+15762,PA,Nicktown,40.601623,-78.811394
+15763,PA,Northpoint,40.903703,-79.125657
+15764,PA,Oliveburg,40.996379,-79.038197
+15765,PA,Penn Run,40.626825,-78.971597
+15767,PA,Punxsutawney,40.947937,-78.968056
+15770,PA,Ringgold,40.999731,-79.176581
+15771,PA,Rochester Mills,40.819482,-78.997985
+15772,PA,Rossiter,40.884553,-78.941353
+15773,PA,Saint Benedict,40.611845,-78.738332
+15774,PA,Shelocta,40.638787,-79.31907
+15775,PA,Spangler,40.648082,-78.769061
+15776,PA,Sprankle Mills,41.01846,-79.077809
+15777,PA,Starford,40.700971,-78.980317
+15778,PA,Timblin,40.968387,-79.20135
+15780,PA,Valier,40.922851,-79.083263
+15784,PA,Worthville,41.023767,-79.138685
+15801,PA,Du Bois,41.126039,-78.752698
+15821,PA,Benezett,41.325318,-78.357621
+15823,PA,Brockport,41.28217,-78.712829
+15824,PA,Brockway,41.240564,-78.811568
+15825,PA,Hazen,41.159986,-79.064101
+15827,PA,Byrnedale,41.286459,-78.505126
+15828,PA,Clarington,41.323272,-79.146557
+15829,PA,Corsica,41.182983,-79.175567
+15832,PA,Driftwood,41.376396,-78.163194
+15834,PA,Emporium,41.517689,-78.25361
+15840,PA,Falls Creek,41.145505,-78.812791
+15845,PA,Johnsonburg,41.492823,-78.67826
+15846,PA,Kersey,41.356271,-78.60152
+15848,PA,Luthersburg,41.05321,-78.742758
+15849,PA,Penfield,41.208519,-78.579111
+15851,PA,Reynoldsville,41.062935,-78.896147
+15853,PA,Portland Mills,41.431566,-78.729715
+15856,PA,Rockton,41.080571,-78.657662
+15857,PA,Saint Marys,41.428949,-78.550533
+15860,PA,Sigel,41.309921,-79.053957
+15861,PA,Sinnamahoning,41.376197,-78.06607
+15864,PA,Summerville,41.105822,-79.172583
+15865,PA,Sykesville,41.05137,-78.819508
+15868,PA,Weedville,41.268502,-78.495165
+15870,PA,Wilcox,41.573471,-78.682295
+15901,PA,Johnstown,40.325957,-78.91408
+15902,PA,Johnstown,40.307787,-78.896905
+15904,PA,Johnstown,40.285026,-78.865383
+15905,PA,Johnstown,40.307188,-78.943006
+15906,PA,Johnstown,40.352193,-78.938317
+15909,PA,Johnstown,40.387965,-78.862284
+15920,PA,Armagh,40.442452,-79.013055
+15923,PA,Bolivar,40.367289,-79.160546
+15924,PA,Cairnbrook,40.114472,-78.810082
+15926,PA,Central City,40.091257,-78.844753
+15927,PA,Colver,40.541086,-78.778432
+15928,PA,Davidsville,40.224451,-78.936333
+15931,PA,Ebensburg,40.480105,-78.726294
+15935,PA,Hollsopple,40.234301,-78.951471
+15936,PA,Hooversville,40.148776,-78.914071
+15938,PA,Lilly,40.423844,-78.62306
+15940,PA,Loretto,40.510484,-78.629357
+15942,PA,Mineral Point,40.379253,-78.835201
+15943,PA,Nanty Glo,40.470435,-78.837504
+15944,PA,New Florence,40.382266,-79.096803
+15945,PA,Parkhill,40.359385,-78.869432
+15946,PA,Puritan,40.384201,-78.671753
+15949,PA,Robinson,40.407655,-79.137928
+15951,PA,Saint Michael,40.336248,-78.782999
+15952,PA,Salix,40.300627,-78.743704
+15953,PA,Seanor,40.231191,-78.890897
+15954,PA,Seward,40.409907,-79.023224
+15955,PA,Sidman,40.329873,-78.745966
+15956,PA,South Fork,40.362877,-78.788671
+15957,PA,Strongstown,40.56279,-78.912961
+15958,PA,Summerhill,40.388959,-78.755979
+15960,PA,Twin Rocks,40.518254,-78.860488
+15961,PA,Vintondale,40.493949,-78.94267
+15963,PA,Windber,40.228695,-78.830289
+16001,PA,Bon Aire,40.862096,-79.902717
+16020,PA,Boyers,41.109205,-79.904692
+16022,PA,Bruin,41.057078,-79.729051
+16023,PA,Marwood,40.779723,-79.770851
+16025,PA,Chicora,40.945768,-79.746237
+16028,PA,East Brady,40.974373,-79.630187
+16030,PA,Eau Claire,41.13478,-79.798093
+16033,PA,Evans City,40.780795,-80.059195
+16034,PA,Fenelton,40.855464,-79.737152
+16036,PA,Foxburg,41.160239,-79.653443
+16037,PA,Harmony,40.849646,-80.138117
+16038,PA,Harrisville,41.163087,-79.979639
+16040,PA,Hilliards,41.100894,-79.821456
+16041,PA,Karns City,41.002193,-79.716017
+16045,PA,Lyndora,40.855071,-79.921401
+16046,PA,Mars,40.700514,-80.035769
+16049,PA,Parker,41.100891,-79.688888
+16050,PA,Petrolia,41.044208,-79.771069
+16051,PA,Portersville,40.948651,-80.172965
+16052,PA,Prospect,40.904941,-80.067903
+16053,PA,Renfrew,40.810003,-79.977004
+16055,PA,Sarver,40.714285,-79.74243
+16056,PA,Saxonburg,40.736099,-79.835222
+16057,PA,Slippery Rock,41.045412,-80.046847
+16059,PA,Valencia,40.701831,-79.923527
+16061,PA,West Sunbury,41.002601,-79.875134
+16063,PA,Zelienople,40.73136,-80.128564
+16101,PA,New Castle,40.99222,-80.328449
+16102,PA,New Castle,40.967745,-80.390704
+16105,PA,Neshannock,41.033502,-80.342191
+16110,PA,Adamsville,41.506677,-80.376544
+16111,PA,Atlantic,41.533313,-80.286251
+16112,PA,Bessemer,40.975493,-80.493689
+16114,PA,Clarks Mills,41.385141,-80.175223
+16115,PA,Darlington,40.796839,-80.455611
+16116,PA,Edinburg,41.027614,-80.463178
+16117,PA,Ellport,40.859024,-80.274606
+16120,PA,Enon Valley,40.8721,-80.461182
+16121,PA,Farrell,41.210995,-80.494442
+16123,PA,Fombell,40.812527,-80.207312
+16124,PA,Fredonia,41.324141,-80.269871
+16125,PA,Shenango,41.399403,-80.380344
+16127,PA,Grove City,41.160704,-80.084138
+16130,PA,Hadley,41.43302,-80.153544
+16131,PA,Hartstown,41.550875,-80.381321
+16133,PA,Jackson Center,41.280134,-80.103726
+16134,PA,Westford,41.506031,-80.456459
+16137,PA,Mercer,41.23254,-80.234018
+16141,PA,New Galilee,40.856891,-80.393904
+16142,PA,New Wilmington,41.138155,-80.324541
+16143,PA,Pulaski,41.094215,-80.468515
+16145,PA,Sandy Lake,41.338337,-80.04974
+16146,PA,Sharon,41.231552,-80.499342
+16148,PA,Hermitage,41.232601,-80.45303
+16150,PA,Sharpsville,41.267648,-80.465642
+16153,PA,Stoneboro,41.34385,-80.097613
+16154,PA,Transfer,41.324401,-80.419742
+16156,PA,Volant,41.093767,-80.244129
+16157,PA,Wampum,40.881879,-80.339184
+16159,PA,West Middlesex,41.174054,-80.452759
+16201,PA,Kittanning,40.815516,-79.510675
+16210,PA,Adrian,40.904902,-79.507444
+16212,PA,Cadogan,40.75392,-79.579827
+16213,PA,Callensburg,41.132379,-79.55695
+16214,PA,Clarion,41.212272,-79.377268
+16217,PA,Cooksburg,41.338366,-79.19708
+16218,PA,Cowansville,40.922985,-79.594607
+16222,PA,Dayton,40.874101,-79.268551
+16224,PA,Fairmount City,41.042861,-79.278405
+16225,PA,Fisher,41.266737,-79.247033
+16226,PA,Ford City,40.738407,-79.51222
+16229,PA,Freeport,40.703277,-79.662991
+16232,PA,Knox,41.224518,-79.519404
+16233,PA,Leeper,41.367074,-79.302179
+16234,PA,Limestone,41.133396,-79.299292
+16235,PA,Lucinda,41.312377,-79.375372
+16236,PA,Mc Grann,40.76929,-79.53086
+16238,PA,Manorville,40.786256,-79.521333
+16239,PA,Marienville,41.462237,-79.130581
+16240,PA,Mayport,40.99059,-79.261701
+16242,PA,New Bethlehem,40.9999,-79.352654
+16248,PA,Huey,41.039434,-79.510677
+16249,PA,Rural Valley,40.788488,-79.299102
+16254,PA,Shippenville,41.247491,-79.433199
+16255,PA,Sligo,41.11394,-79.480485
+16256,PA,Smicksburg,40.837193,-79.161432
+16258,PA,Strattanville,41.195498,-79.308188
+16259,PA,Templeton,40.941884,-79.449884
+16260,PA,Vowinckel,41.378642,-79.274553
+16262,PA,Craigsville,40.834442,-79.638525
+16301,PA,Oil City,41.431936,-79.691648
+16311,PA,Carlton,41.481541,-80.020302
+16313,PA,Clarendon,41.730224,-79.171949
+16314,PA,Cochranton,41.520487,-80.057269
+16316,PA,Conneaut Lake,41.6189,-80.308567
+16317,PA,Cooperstown,41.497998,-79.875676
+16319,PA,Cranberry,41.337184,-79.719121
+16321,PA,East Hickory,41.5691,-79.385483
+16323,PA,Franklin,41.404775,-79.83089
+16326,PA,Fryburg,41.371736,-79.413401
+16327,PA,Guys Mills,41.633265,-79.971437
+16329,PA,Irvine,41.843283,-79.286303
+16331,PA,Kossuth,41.290215,-79.588249
+16332,PA,Lickingville,41.3789,-79.371516
+16333,PA,Ludlow,41.728409,-78.924345
+16334,PA,Marble,41.326077,-79.445929
+16335,PA,Meadville,41.633847,-80.148787
+16340,PA,Pittsfield,41.836629,-79.419619
+16341,PA,Pleasantville,41.586696,-79.5685
+16342,PA,Polk,41.358315,-79.93461
+16345,PA,Russell,41.946106,-79.127079
+16346,PA,Seneca,41.374436,-79.675902
+16347,PA,Sheffield,41.70053,-79.034814
+16350,PA,Sugar Grove,41.947542,-79.318609
+16351,PA,Tidioute,41.703008,-79.375224
+16353,PA,Tionesta,41.511616,-79.366332
+16354,PA,Titusville,41.638163,-79.685494
+16360,PA,Townville,41.685581,-79.876679
+16362,PA,Utica,41.479848,-79.940292
+16364,PA,Venus,41.376113,-79.504765
+16365,PA,North Warren,41.845265,-79.14286
+16371,PA,Youngsville,41.853654,-79.318708
+16372,PA,Clintonville,41.20022,-79.87338
+16373,PA,Emlenton,41.202769,-79.746996
+16374,PA,Kennerdell,41.284762,-79.739313
+16401,PA,Lundys Lane,41.885882,-80.375273
+16402,PA,Bear Lake,41.97006,-79.461365
+16403,PA,Cambridge Spring,41.794611,-80.028003
+16404,PA,Centerville,41.724316,-79.79004
+16405,PA,Columbus,41.938152,-79.573073
+16406,PA,Conneautville,41.745455,-80.344516
+16407,PA,Corry,41.922593,-79.656742
+16410,PA,Cranesville,41.916222,-80.308528
+16411,PA,East Springfield,41.979363,-80.430336
+16412,PA,Edinboro,41.875629,-80.135604
+16415,PA,Fairview,42.040741,-80.239508
+16417,PA,Girard,41.989573,-80.317756
+16420,PA,Grand Valley,41.77315,-79.546944
+16421,PA,Harborcreek,42.176719,-79.941648
+16423,PA,Lake City,42.020361,-80.338834
+16424,PA,Espyville,41.663535,-80.426911
+16426,PA,Mc Kean,41.999035,-80.147336
+16428,PA,North East,42.200793,-79.833179
+16433,PA,Saegertown,41.726753,-80.147857
+16434,PA,Spartansburg,41.793648,-79.684916
+16435,PA,Springboro,41.811348,-80.375276
+16436,PA,Spring Creek,41.846832,-79.56554
+16438,PA,Union City,41.893851,-79.845464
+16440,PA,Venango,41.791968,-80.125353
+16441,PA,Waterford,41.960266,-79.99963
+16442,PA,Wattsburg,42.039114,-79.836282
+16443,PA,West Springfield,41.94646,-80.46501
+16501,PA,Erie,42.125962,-80.08601
+16502,PA,Erie,42.113332,-80.097607
+16503,PA,Erie,42.126506,-80.063976
+16504,PA,Erie,42.1108,-80.05208
+16505,PA,Presque Isle,42.097526,-80.161902
+16506,PA,Erie,42.073801,-80.14844
+16507,PA,Erie,42.131579,-80.086424
+16508,PA,Erie,42.097577,-80.093544
+16509,PA,Erie,42.076326,-80.066827
+16510,PA,Wesleyville,42.123673,-80.003752
+16511,PA,Erie,42.15529,-80.017665
+16565,PA,Erie,42.0687,-80.10011
+16601,PA,Altoona,40.520945,-78.408901
+16602,PA,Altoona,40.50524,-78.390533
+16611,PA,Barree,40.549901,-78.107066
+16613,PA,Ashville,40.551266,-78.534639
+16616,PA,Beccaria,40.757938,-78.508036
+16617,PA,Bellwood,40.60394,-78.337234
+16620,PA,Brisbin,40.838711,-78.352634
+16621,PA,Broad Top,40.201891,-78.1406
+16622,PA,Calvin,40.298667,-78.023697
+16623,PA,Cassville,40.293977,-78.027178
+16625,PA,Claysburg,40.329243,-78.479658
+16627,PA,Coalport,40.750323,-78.535238
+16630,PA,Cresson,40.460779,-78.586068
+16634,PA,Dudley,40.219453,-78.183823
+16635,PA,Duncansville,40.426228,-78.43833
+16636,PA,Dysart,40.60885,-78.527072
+16637,PA,East Freedom,40.328197,-78.447519
+16639,PA,Fallentimber,40.671924,-78.465912
+16640,PA,Flinton,40.701615,-78.48149
+16641,PA,Gallitzin,40.48772,-78.555435
+16645,PA,Glen Hope,40.798405,-78.499869
+16646,PA,Hastings,40.665874,-78.702924
+16647,PA,Hesston,40.412139,-78.128109
+16648,PA,Hollidaysburg,40.438727,-78.368627
+16650,PA,Hopewell,40.119225,-78.312897
+16651,PA,Houtzdale,40.830538,-78.3618
+16652,PA,Huntingdon,40.502274,-78.005028
+16655,PA,Imler,40.23186,-78.516719
+16656,PA,Irvona,40.801744,-78.560243
+16657,PA,James Creek,40.356672,-78.188678
+16659,PA,Loysburg,40.174577,-78.386435
+16661,PA,Madera,40.827086,-78.427475
+16662,PA,Martinsburg,40.295082,-78.324367
+16664,PA,New Enterprise,40.200013,-78.425916
+16666,PA,Osceola Mills,40.872208,-78.275705
+16667,PA,St Clairsville,40.158583,-78.509928
+16668,PA,Patton,40.623045,-78.635028
+16669,PA,Petersburg,40.602968,-77.998402
+16671,PA,Ramey,40.801511,-78.399821
+16673,PA,Roaring Spring,40.327747,-78.39284
+16674,PA,Robertsdale,40.178674,-78.111696
+16678,PA,Saxton,40.223301,-78.247137
+16679,PA,Six Mile Run,40.157583,-78.210814
+16680,PA,Smithmill,40.767808,-78.399442
+16683,PA,Spruce Creek,40.621767,-78.136083
+16685,PA,Todd,40.25775,-78.100354
+16686,PA,Tyrone,40.661905,-78.241905
+16689,PA,Waterfall,40.073871,-78.047708
+16691,PA,Wells Tannery,40.100996,-78.140269
+16692,PA,Westover,40.76152,-78.735481
+16693,PA,Ganister,40.437356,-78.22555
+16695,PA,Woodbury,40.21847,-78.366573
+16701,PA,Bradford,41.954678,-78.653967
+16720,PA,Austin,41.629649,-78.090812
+16724,PA,Crosby,41.713356,-78.374637
+16726,PA,Ormsby,41.826327,-78.566743
+16727,PA,Derrick City,41.972577,-78.562564
+16729,PA,Duke Center,41.954017,-78.492269
+16731,PA,Eldred,41.948925,-78.388439
+16732,PA,Gifford,41.860715,-78.584604
+16734,PA,James City,41.593116,-78.85052
+16735,PA,Kane,41.661861,-78.797778
+16738,PA,Lewis Run,41.821123,-78.680498
+16740,PA,Mount Jewett,41.724737,-78.644613
+16743,PA,Port Allegany,41.816919,-78.279909
+16744,PA,Rew,41.912222,-78.535406
+16745,PA,Rixford,41.934606,-78.458647
+16746,PA,Roulette,41.773795,-78.153843
+16748,PA,Shinglehouse,41.957176,-78.19062
+16749,PA,Smethport,41.802063,-78.470229
+16750,PA,Turtlepoint,41.884665,-78.330793
+16801,PA,State College,40.792522,-77.852279
+16803,PA,State College,40.808162,-77.892578
+16820,PA,Aaronsburg,40.876944,-77.387977
+16821,PA,Allport,40.975039,-78.21038
+16822,PA,Beech Creek,41.084507,-77.585118
+16823,PA,Pleasant Gap,40.909377,-77.7642
+16827,PA,Boalsburg,40.779344,-77.782236
+16828,PA,Centre Hall,40.825429,-77.674225
+16829,PA,Clarence,41.058482,-77.931213
+16830,PA,Clearfield,41.02103,-78.443488
+16832,PA,Coburn,40.867818,-77.492173
+16833,PA,Curwensville,40.965972,-78.527247
+16836,PA,Frenchville,41.103794,-78.234465
+16837,PA,Glen Richey,40.938209,-78.475215
+16838,PA,Grampian,40.981768,-78.594913
+16839,PA,Grassflat,40.995881,-78.128354
+16840,PA,Hawk Run,40.941215,-78.213787
+16841,PA,Howard,41.020315,-77.670178
+16844,PA,Julian,40.891709,-77.933243
+16845,PA,Karthaus,41.113635,-78.087509
+16852,PA,Madisonburg,40.933407,-77.494959
+16854,PA,Millheim,40.896314,-77.450531
+16858,PA,Morrisdale,41.000128,-78.235717
+16859,PA,Moshannon,41.03419,-78.009469
+16860,PA,Munson,40.966704,-78.18621
+16861,PA,New Millport,40.885302,-78.494543
+16863,PA,Olanta,40.905621,-78.500079
+16864,PA,Orviston,41.075386,-77.620306
+16865,PA,Pennsylvania Fur,40.728194,-77.954068
+16866,PA,Philipsburg,40.886252,-78.219008
+16870,PA,Port Matilda,40.801819,-78.078795
+16871,PA,Pottersdale,41.186798,-78.034056
+16872,PA,Rebersburg,40.954906,-77.405322
+16874,PA,Snow Shoe,41.037581,-77.95228
+16875,PA,Spring Mills,40.857753,-77.574031
+16877,PA,Warriors Mark,40.741414,-78.077478
+16878,PA,West Decatur,40.949305,-78.312936
+16879,PA,Winburne,40.967779,-78.156235
+16881,PA,Woodland,41.009833,-78.321445
+16882,PA,Woodward,40.911574,-77.348269
+16901,PA,Wellsboro,41.737343,-77.30802
+16912,PA,Blossburg,41.669771,-77.079711
+16914,PA,Columbia Cross R,41.846282,-76.793242
+16915,PA,Oswayo,41.781529,-78.003861
+16917,PA,Covington,41.739297,-77.108795
+16920,PA,Elkland,41.988165,-77.313392
+16921,PA,Gaines,41.747134,-77.568001
+16922,PA,Galeton,41.723006,-77.654756
+16923,PA,North Bingham,41.935312,-77.873585
+16925,PA,Gillett,41.956826,-76.771329
+16926,PA,Granville Summit,41.697299,-76.721829
+16927,PA,Harrison Valley,41.949824,-77.687665
+16928,PA,Knoxville,41.959557,-77.435678
+16929,PA,Lawrenceville,41.978266,-77.11355
+16930,PA,Liberty,41.565571,-77.119505
+16932,PA,Mainesburg,41.790029,-76.968156
+16933,PA,Mansfield,41.812288,-77.07163
+16935,PA,Middlebury Cente,41.891706,-77.314764
+16936,PA,Millerton,41.962467,-76.974766
+16937,PA,Mills,41.902482,-77.762051
+16938,PA,Morris,41.54752,-77.291975
+16939,PA,Morris Run,41.672943,-77.027769
+16940,PA,Nelson,41.978719,-77.241909
+16941,PA,Genesee,41.981963,-77.773995
+16942,PA,Osceola,41.984765,-77.353983
+16943,PA,Sabinsville,41.856414,-77.537825
+16946,PA,Tioga,41.912454,-77.139294
+16947,PA,Troy,41.77815,-76.771143
+16948,PA,Ulysses,41.845903,-77.712557
+16950,PA,Little Marsh,41.919063,-77.530975
+17002,PA,Allensville,40.524921,-77.829396
+17003,PA,Annville,40.345608,-76.544676
+17004,PA,Belleville,40.601571,-77.735823
+17005,PA,Berrysburg,40.60199,-76.811207
+17006,PA,Blain,40.329314,-77.511736
+17007,PA,Boiling Springs,40.144873,-77.119489
+17009,PA,Burnham,40.636119,-77.562459
+17011,PA,Shiremanstown,40.238071,-76.929111
+17013,PA,Carlisle Barrack,40.203877,-77.199526
+17014,PA,Cocolamus,40.656706,-77.106749
+17017,PA,Dalmatia,40.648315,-76.879713
+17018,PA,Dauphin,40.384581,-76.928304
+17019,PA,Dillsburg,40.096373,-77.03387
+17020,PA,Duncannon,40.408678,-77.047254
+17021,PA,East Waterford,40.354191,-77.652789
+17022,PA,Elizabethtown,40.155331,-76.602545
+17023,PA,Elizabethville,40.55497,-76.835484
+17024,PA,Elliottsburg,40.362428,-77.270348
+17025,PA,Enola,40.292178,-76.943208
+17026,PA,Fredericksburg,40.452392,-76.42674
+17028,PA,Grantville,40.360629,-76.671331
+17029,PA,Granville,40.547868,-77.613358
+17030,PA,Gratz,40.610424,-76.718851
+17031,PA,Green Park,40.375143,-77.320096
+17032,PA,Halifax,40.47603,-76.89404
+17033,PA,Hershey,40.263767,-76.654518
+17034,PA,Highspire,40.208348,-76.785303
+17035,PA,Honey Grove,40.430903,-77.57607
+17036,PA,Hummelstown,40.278199,-76.709375
+17037,PA,Ickesburg,40.434154,-77.34291
+17038,PA,Jonestown,40.43607,-76.503842
+17040,PA,Landisburg,40.332644,-77.319146
+17042,PA,Cleona,40.335912,-76.425895
+17043,PA,Wormleysburg,40.247158,-76.89757
+17044,PA,Lewistown,40.599439,-77.57558
+17045,PA,Liverpool,40.575272,-77.008327
+17047,PA,Loysville,40.36576,-77.413823
+17048,PA,Lykens,40.590919,-76.70736
+17049,PA,Mc Alisterville,40.646916,-77.2602
+17051,PA,Mc Veytown,40.504593,-77.718625
+17052,PA,Mapleton Depot,40.386414,-77.960444
+17053,PA,Marysville,40.335062,-76.972204
+17055,PA,Hampden,40.212669,-76.99493
+17057,PA,Middletown,40.204086,-76.733127
+17058,PA,Mifflin,40.570842,-77.41314
+17059,PA,Mifflintown,40.572666,-77.376119
+17060,PA,Mill Creek,40.447102,-77.917689
+17061,PA,Millersburg,40.558743,-76.930483
+17062,PA,Millerstown,40.550548,-77.129776
+17063,PA,Milroy,40.72033,-77.556739
+17065,PA,Mount Holly Spri,40.118356,-77.190807
+17066,PA,Mount Union,40.390106,-77.863704
+17067,PA,Myerstown,40.378949,-76.314328
+17068,PA,New Bloomfield,40.419325,-77.193836
+17070,PA,New Cumberland,40.215105,-76.868909
+17071,PA,New Germantown,40.305749,-77.579701
+17073,PA,Newmanstown,40.317938,-76.2426
+17074,PA,Newport,40.482662,-77.165866
+17076,PA,Oakland Mills,40.614748,-77.319244
+17078,PA,Palmyra,40.301055,-76.58861
+17082,PA,Port Royal,40.51068,-77.430958
+17084,PA,Reedsville,40.672189,-77.611589
+17086,PA,Richfield,40.688424,-77.122296
+17087,PA,Richland,40.380595,-76.265447
+17090,PA,Shermans Dale,40.329898,-77.180856
+17094,PA,Thompsontown,40.590782,-77.207551
+17097,PA,Wiconisco,40.567511,-76.709084
+17098,PA,Williamstown,40.580761,-76.622259
+17099,PA,Yeagertown,40.643558,-77.568823
+17101,PA,Harrisburg,40.261767,-76.883079
+17102,PA,Harrisburg,40.27278,-76.891044
+17103,PA,Penbrook,40.273852,-76.863812
+17104,PA,Harrisburg,40.259683,-76.859397
+17109,PA,Colonial Park,40.29122,-76.822612
+17110,PA,Harrisburg,40.302957,-76.886246
+17111,PA,Swatara,40.266058,-76.793918
+17112,PA,Harrisburg,40.335208,-76.791438
+17113,PA,Steelton,40.234007,-76.827568
+17201,PA,Chambersburg,39.931318,-77.657928
+17211,PA,Artemas,39.757465,-78.40314
+17212,PA,Big Cove Tannery,39.889704,-78.012366
+17213,PA,Blairs Mills,40.254804,-77.769473
+17214,PA,Blue Ridge Summi,39.726951,-77.469836
+17215,PA,Burnt Cabins,40.075278,-77.901718
+17217,PA,Concord,40.245842,-77.703133
+17219,PA,Doylesburg,40.217195,-77.686203
+17220,PA,Dry Run,40.174744,-77.76457
+17221,PA,Fannettsburg,40.071692,-77.82101
+17222,PA,Fayetteville,39.906543,-77.53096
+17223,PA,Fort Littleton,40.054372,-77.975678
+17224,PA,Fort Loudon,39.954692,-77.898365
+17225,PA,Greencastle,39.781827,-77.746956
+17228,PA,Harrisonville,39.976137,-78.084077
+17229,PA,Hustontown,40.044111,-78.014835
+17232,PA,Lurgan,40.127422,-77.635063
+17233,PA,Mc Connellsburg,39.944251,-77.990117
+17236,PA,Mercersburg,39.819519,-77.907259
+17237,PA,Mont Alto,39.841689,-77.553676
+17238,PA,Needmore,39.871279,-78.143935
+17239,PA,Neelyton,40.137051,-77.858015
+17240,PA,Newburg,40.13333,-77.566915
+17241,PA,Newville,40.185468,-77.411401
+17243,PA,Orbisonia,40.238872,-77.906924
+17244,PA,Orrstown,40.07305,-77.639762
+17246,PA,Pleasant Hall,40.04135,-77.703148
+17252,PA,Saint Thomas,39.924052,-77.7908
+17255,PA,Shade Gap,40.172976,-77.868045
+17257,PA,Shippensburg,40.051359,-77.519477
+17260,PA,Shirleysburg,40.316768,-77.870062
+17262,PA,Spring Run,40.14663,-77.740525
+17264,PA,Three Springs,40.183437,-77.99412
+17265,PA,Upperstrasburg,40.05799,-77.736791
+17266,PA,Walnut Bottom,40.086042,-77.408984
+17267,PA,Warfordsburg,39.769765,-78.198627
+17268,PA,Waynesboro,39.763504,-77.567363
+17271,PA,Willow Hill,40.113694,-77.796947
+17301,PA,Abbottstown,39.888099,-76.993077
+17302,PA,Airville,39.821012,-76.401179
+17304,PA,Aspers,39.976533,-77.228657
+17307,PA,Biglerville,39.928119,-77.288549
+17309,PA,Brogue,39.883044,-76.488236
+17313,PA,Yoe,39.900127,-76.644794
+17314,PA,Delta,39.751754,-76.344101
+17315,PA,Dover,40.006158,-76.855485
+17316,PA,East Berlin,39.964546,-77.007252
+17319,PA,Etters,40.154506,-76.801861
+17320,PA,Greenstone,39.762694,-77.376824
+17321,PA,Fawn Grove,39.751024,-76.439237
+17322,PA,Felton,39.836006,-76.593721
+17324,PA,Gardners,40.042759,-77.187725
+17325,PA,Gettysburg,39.832044,-77.222313
+17327,PA,Glen Rock,39.781326,-76.747713
+17329,PA,Brodbecks,39.759907,-76.862046
+17331,PA,Hanover,39.794286,-76.981196
+17339,PA,Lewisberry,40.146295,-76.870004
+17340,PA,Littlestown,39.749549,-77.100326
+17344,PA,Mc Sherrystown,39.804832,-77.01496
+17345,PA,Manchester,40.069461,-76.733245
+17347,PA,Mount Wolf,40.071126,-76.696576
+17349,PA,New Freedom,39.742266,-76.684064
+17350,PA,New Oxford,39.877459,-77.06433
+17352,PA,New Park,39.760027,-76.504167
+17353,PA,Orrtanna,39.881032,-77.380592
+17356,PA,Red Lion,39.902572,-76.608075
+17360,PA,Seven Valleys,39.855613,-76.738336
+17361,PA,Shrewsbury,39.760133,-76.674827
+17362,PA,Spring Grove,39.857208,-76.877356
+17363,PA,Stewartstown,39.771962,-76.597037
+17364,PA,Thomasville,39.934619,-76.882159
+17365,PA,Wellsville,40.055721,-76.944315
+17366,PA,Windsor,39.923271,-76.559126
+17368,PA,Wrightsville,39.996559,-76.526971
+17370,PA,York Haven,40.122154,-76.773725
+17372,PA,York Springs,40.00839,-77.106136
+17401,PA,York,39.963539,-76.726887
+17402,PA,East York,39.971508,-76.674578
+17403,PA,York,39.94943,-76.712998
+17404,PA,West York,39.961988,-76.768987
+17406,PA,Hellam,39.998249,-76.592646
+17407,PA,Jacobus,39.880203,-76.714634
+17501,PA,Akron,40.157086,-76.205295
+17502,PA,Bainbridge,40.1086,-76.672589
+17505,PA,Bird In Hand,40.056109,-76.183036
+17509,PA,Ninepoints,39.935632,-76.025983
+17512,PA,Columbia,40.039079,-76.48622
+17516,PA,Conestoga,39.940303,-76.357475
+17517,PA,Denver,40.229671,-76.115688
+17518,PA,Drumore,39.838399,-76.245684
+17519,PA,East Earl,40.139475,-76.027634
+17520,PA,East Petersburg,40.100781,-76.351169
+17522,PA,Ephrata,40.175641,-76.182093
+17527,PA,Gap,40.002018,-75.997801
+17529,PA,Gordonville,40.035304,-76.11063
+17532,PA,Holtwood,39.863146,-76.300822
+17535,PA,Kinzers,40.005326,-76.049326
+17536,PA,Kirkwood,39.82571,-76.093315
+17538,PA,Salunga,40.08825,-76.414975
+17540,PA,Leola,40.096448,-76.192109
+17543,PA,Brunnerville,40.162573,-76.29926
+17545,PA,Manheim,40.170229,-76.416794
+17547,PA,Marietta,40.066442,-76.564527
+17551,PA,Millersville,39.998213,-76.356568
+17552,PA,Florin,40.106828,-76.507551
+17554,PA,Mountville,40.042742,-76.427694
+17555,PA,Narvon,40.125165,-75.975584
+17557,PA,New Holland,40.100511,-76.080136
+17560,PA,New Providence,39.909776,-76.224319
+17562,PA,Paradise,39.985249,-76.108074
+17563,PA,Peach Bottom,39.770511,-76.179083
+17565,PA,Pequea,39.905765,-76.320866
+17566,PA,Quarryville,39.894932,-76.146462
+17569,PA,Reinholds,40.268758,-76.101332
+17572,PA,Ronks,40.020754,-76.166132
+17576,PA,Smoketown,40.040651,-76.22007
+17578,PA,Stevens,40.219397,-76.162604
+17579,PA,Strasburg,39.970075,-76.184824
+17581,PA,Terre Hill,40.158539,-76.051083
+17582,PA,Washington Boro,39.988118,-76.4402
+17584,PA,Willow Street,39.967003,-76.27524
+17601,PA,Neffsville,40.075381,-76.319888
+17602,PA,Lancaster,40.033514,-76.284364
+17603,PA,Rohrerstown,40.030475,-76.331583
+17701,PA,South Williamspo,41.247217,-77.020571
+17723,PA,Cammal,41.380901,-77.462021
+17724,PA,Canton,41.653784,-76.858188
+17727,PA,Cedar Run,41.498972,-77.48891
+17728,PA,Cogan Station,41.31517,-77.068996
+17729,PA,Cross Fork,41.473672,-77.80953
+17737,PA,Hughesville,41.255952,-76.71411
+17740,PA,Salladasburg,41.200733,-77.242704
+17742,PA,Lairdsville,41.233549,-76.58893
+17744,PA,Linden,41.247216,-77.152652
+17745,PA,Lock Haven,41.142497,-77.443588
+17747,PA,Loganton,41.028317,-77.320397
+17751,PA,Mill Hall,41.086688,-77.483609
+17752,PA,Montgomery,41.178778,-76.883933
+17754,PA,Montoursville,41.266252,-76.903035
+17756,PA,Muncy,41.213715,-76.763258
+17758,PA,Muncy Valley,41.381206,-76.541518
+17763,PA,Ralston,41.503817,-76.95835
+17764,PA,Renovo,41.333376,-77.74479
+17765,PA,Roaring Branch,41.569234,-76.942053
+17768,PA,Shunk,41.553574,-76.745521
+17771,PA,Trout Run,41.412481,-77.009776
+17772,PA,Turbotville,41.111867,-76.742493
+17774,PA,Unityville,41.243552,-76.518318
+17776,PA,Waterville,41.31136,-77.360368
+17777,PA,Watsontown,41.102006,-76.853192
+17778,PA,Westport,41.27445,-77.931496
+17779,PA,Woolrich,41.188734,-77.331307
+17801,PA,Sunbury,40.855122,-76.777611
+17810,PA,Allenwood,41.126424,-76.972362
+17812,PA,Beaver Springs,40.752766,-77.231801
+17813,PA,Beavertown,40.777378,-77.169112
+17814,PA,Benton,41.223142,-76.340632
+17815,PA,Bloomsburg,41.011528,-76.438379
+17820,PA,Catawissa,40.918031,-76.441586
+17821,PA,Danville,40.979895,-76.622897
+17823,PA,Dornsife,40.757092,-76.7626
+17824,PA,Elysburg,40.863871,-76.556924
+17827,PA,Freeburg,40.767498,-76.942963
+17828,PA,Gowen City,40.751141,-76.528149
+17830,PA,Herndon,40.691789,-76.800761
+17832,PA,Marion Heights,40.804576,-76.465137
+17834,PA,Kulpmont,40.793278,-76.474384
+17835,PA,Laurelton,40.91268,-77.205211
+17836,PA,Leck Kill,40.710135,-76.627108
+17837,PA,Lewisburg,40.970205,-76.909878
+17841,PA,Mc Clure,40.699084,-77.375791
+17842,PA,Middleburg,40.797656,-77.046798
+17843,PA,Beaver Springs,40.810917,-76.970366
+17844,PA,Mifflinburg,40.921826,-77.050515
+17845,PA,Millmont,40.880324,-77.194142
+17846,PA,Millville,41.126051,-76.520767
+17847,PA,Milton,41.01681,-76.839817
+17850,PA,Montandon,40.975936,-76.851024
+17851,PA,Mount Carmel,40.795535,-76.419466
+17853,PA,Mount Pleasant M,40.700185,-77.005241
+17855,PA,New Berlin,40.880212,-76.986124
+17856,PA,New Columbia,41.054108,-76.901851
+17857,PA,Northumberland,40.904355,-76.790794
+17859,PA,Orangeville,41.10156,-76.38097
+17860,PA,Paxinos,40.844809,-76.635041
+17864,PA,Port Trevorton,40.699593,-76.908215
+17866,PA,Ranshaw,40.803039,-76.498242
+17867,PA,Rebuck,40.712544,-76.740605
+17868,PA,Riverside,40.951269,-76.637458
+17870,PA,Selinsgrove,40.822372,-76.86825
+17872,PA,Excelsior,40.790336,-76.561118
+17877,PA,Snydertown,40.874097,-76.674945
+17878,PA,Stillwater,41.151517,-76.369624
+17881,PA,Trevorton,40.781867,-76.670234
+17888,PA,Wilburton,40.812087,-76.392922
+17889,PA,Winfield,40.890805,-76.871833
+17901,PA,Pottsville,40.683978,-76.212318
+17921,PA,Ashland,40.773231,-76.342972
+17922,PA,Auburn,40.596157,-76.13439
+17923,PA,Branchdale,40.664328,-76.332788
+17925,PA,Brockton,40.763162,-76.049874
+17927,PA,Centralia,40.81375,-76.357325
+17929,PA,Cressona,40.628361,-76.195028
+17931,PA,Frackville,40.782537,-76.231137
+17935,PA,Girardville,40.792162,-76.28581
+17938,PA,Hegins,40.666898,-76.473168
+17941,PA,Klingerstown,40.667571,-76.650709
+17948,PA,Mahanoy City,40.812302,-76.139601
+17954,PA,Minersville,40.690637,-76.261533
+17957,PA,Muir,40.613614,-76.468205
+17959,PA,Kaska,40.722728,-76.11348
+17960,PA,New Ringgold,40.714851,-75.948409
+17961,PA,Orwigsburg,40.643071,-76.083999
+17963,PA,Pine Grove,40.567093,-76.326913
+17964,PA,Pitman,40.704868,-76.523297
+17965,PA,Port Carbon,40.697731,-76.166046
+17967,PA,Ringtown,40.855854,-76.23493
+17968,PA,Sacramento,40.635238,-76.612833
+17970,PA,Saint Clair,40.719273,-76.192381
+17972,PA,Schuylkill Haven,40.630571,-76.169973
+17976,PA,Shenandoah,40.816744,-76.203502
+17978,PA,Spring Glen,40.633447,-76.635018
+17980,PA,Tower City,40.584475,-76.550022
+17981,PA,Donaldson,40.626842,-76.398796
+17983,PA,Valley View,40.644467,-76.544843
+17985,PA,Zion Grove,40.937152,-76.231032
+18011,PA,Alburtis,40.486201,-75.62113
+18013,PA,Roseto,40.854907,-75.195644
+18014,PA,Bath,40.755144,-75.40856
+18015,PA,Bethlehem,40.600167,-75.380507
+18017,PA,Butztown,40.65168,-75.35823
+18018,PA,Bethlehem,40.627849,-75.392827
+18031,PA,Breinigsville,40.552621,-75.655269
+18032,PA,Catasauqua,40.655696,-75.46927
+18034,PA,Center Valley,40.539594,-75.424208
+18035,PA,Cherryville,40.738476,-75.552133
+18036,PA,Coopersburg,40.507553,-75.388778
+18037,PA,Coplay,40.684865,-75.518825
+18038,PA,Danielsville,40.786636,-75.518604
+18041,PA,East Greenville,40.411876,-75.505618
+18042,PA,Forks Township,40.6867,-75.23582
+18049,PA,Emmaus,40.529295,-75.500991
+18051,PA,Fogelsville,40.59304,-75.656794
+18052,PA,Hokendauqua,40.647479,-75.495383
+18053,PA,Germansville,40.711826,-75.714687
+18054,PA,Green Lane,40.353377,-75.435148
+18055,PA,Hellertown,40.581715,-75.325513
+18056,PA,Hereford,40.448659,-75.579983
+18058,PA,Kunkletown,40.899891,-75.475974
+18062,PA,Macungie,40.528543,-75.566618
+18064,PA,Nazareth,40.744962,-75.319932
+18066,PA,New Tripoli,40.654544,-75.741739
+18067,PA,Northampton,40.699765,-75.48742
+18069,PA,Orefield,40.624826,-75.597395
+18070,PA,Palm,40.43167,-75.533124
+18071,PA,Palmerton,40.816976,-75.601119
+18072,PA,Pen Argyl,40.85182,-75.270115
+18073,PA,Pennsburg,40.391138,-75.486608
+18074,PA,Perkiomenville,40.31566,-75.50218
+18076,PA,Red Hill,40.375807,-75.484613
+18077,PA,Riegelsville,40.57824,-75.219064
+18078,PA,Schnecksville,40.681949,-75.623924
+18080,PA,Emerald,40.740695,-75.621612
+18087,PA,Trexlertown,40.554418,-75.602293
+18088,PA,Walnutport,40.76147,-75.565749
+18091,PA,Wind Gap,40.816922,-75.326378
+18092,PA,Zionsville,40.473425,-75.526146
+18101,PA,Allentown,40.602729,-75.470955
+18102,PA,Allentown,40.606818,-75.478139
+18103,PA,Allentown,40.589145,-75.464521
+18104,PA,Allentown,40.601849,-75.522499
+18106,PA,Wescosville,40.561451,-75.566424
+18201,PA,West Hazleton,40.962107,-75.978193
+18210,PA,Albrightsville,40.974786,-75.584206
+18211,PA,Andreas,40.746457,-75.834247
+18214,PA,Barnesville,40.813811,-76.06109
+18216,PA,Beaver Meadows,40.922672,-75.940648
+18218,PA,Coaldale,40.821942,-75.910385
+18220,PA,Delano,40.841048,-76.069462
+18222,PA,Drums,41.025525,-75.97676
+18224,PA,Freeland,41.019557,-75.888001
+18229,PA,Jim Thorpe,40.870002,-75.739665
+18232,PA,Lansford,40.831444,-75.882834
+18235,PA,Weissport,40.830024,-75.706088
+18237,PA,Mcadoo,40.89791,-75.997117
+18240,PA,Nesquehoning,40.862608,-75.82389
+18245,PA,Quakake,40.849337,-75.982477
+18246,PA,Rock Glen,40.964628,-76.163761
+18248,PA,Sheppton,40.888073,-76.137952
+18249,PA,Sugarloaf,40.997126,-76.071655
+18250,PA,Summit Hill,40.825524,-75.869275
+18252,PA,Tamaqua,40.798319,-75.97353
+18255,PA,Weatherly,40.941085,-75.830635
+18301,PA,East Stroudsburg,41.036714,-75.173463
+18321,PA,Bartonsville,41.008007,-75.296726
+18322,PA,Brodheadsville,40.930862,-75.410415
+18324,PA,Bushkill,41.128476,-75.013207
+18325,PA,Canadensis,41.233791,-75.257288
+18326,PA,Cresco,41.160605,-75.268228
+18327,PA,Delaware Water G,40.982863,-75.149987
+18328,PA,Dingmans Ferry,41.239966,-74.938018
+18330,PA,Effort,40.966946,-75.452286
+18331,PA,Gilbert,40.908866,-75.431373
+18332,PA,Henryville,41.088912,-75.279753
+18333,PA,Kresgeville,40.898156,-75.507437
+18334,PA,Long Pond,41.067732,-75.448245
+18336,PA,Matamoras,41.367437,-74.715358
+18337,PA,Milford,41.322816,-74.88236
+18340,PA,Millrift,41.358265,-74.773876
+18343,PA,Mount Bethel,40.900839,-75.111545
+18344,PA,Mount Pocono,41.121558,-75.352868
+18346,PA,Pocono Summit,41.103989,-75.413554
+18347,PA,Pocono Lake,41.118661,-75.555863
+18350,PA,Pocono Pines,41.105387,-75.476038
+18352,PA,Reeders,40.989533,-75.278113
+18353,PA,Saylorsburg,40.917179,-75.374761
+18354,PA,Sciota,40.928282,-75.293779
+18355,PA,Scotrun,41.075147,-75.32646
+18360,PA,Stroudsburg,40.987697,-75.24852
+18370,PA,Swiftwater,41.087936,-75.348278
+18371,PA,Tamiment,41.168112,-74.952614
+18372,PA,Tannersville,41.048202,-75.309984
+18401,PA,Aldenville,41.642679,-75.36749
+18403,PA,Eynon,41.495633,-75.555232
+18405,PA,Beach Lake,41.603403,-75.11649
+18407,PA,Simpson,41.583481,-75.507363
+18411,PA,Clarks Summit,41.487795,-75.705713
+18414,PA,Dalton,41.539496,-75.703737
+18415,PA,Damascus,41.736623,-75.131151
+18417,PA,Equinunk,41.811712,-75.189081
+18419,PA,Factoryville,41.576168,-75.765182
+18421,PA,Browndale,41.654587,-75.48725
+18424,PA,Gouldsboro,41.2448,-75.503653
+18425,PA,Greeley,41.437238,-75.012491
+18426,PA,Greentown,41.332145,-75.281911
+18427,PA,Hamlin,41.401477,-75.354232
+18428,PA,Hawley,41.478685,-75.197822
+18430,PA,Herrick Center,41.76434,-75.504387
+18431,PA,Honesdale,41.579227,-75.25279
+18433,PA,Mayfield,41.532723,-75.542948
+18434,PA,Jessup,41.472443,-75.568891
+18435,PA,Lackawaxen,41.504272,-75.074859
+18436,PA,Lake Ariel,41.439476,-75.431257
+18437,PA,Lake Como,41.866553,-75.32308
+18438,PA,Lakeville,41.422278,-75.260717
+18439,PA,Lakewood,41.817138,-75.383824
+18441,PA,Lenoxville,41.667713,-75.631934
+18443,PA,Milanville,41.649208,-75.08818
+18444,PA,Moscow,41.343194,-75.530137
+18445,PA,Newfoundland,41.304125,-75.338405
+18446,PA,Nicholson,41.641198,-75.764073
+18447,PA,Olyphant,41.467709,-75.601502
+18451,PA,Paupack,41.381197,-75.23032
+18452,PA,Peckville,41.482124,-75.589884
+18453,PA,Pleasant Mount,41.732204,-75.398944
+18455,PA,Preston Park,41.867264,-75.383147
+18456,PA,Prompton,41.582031,-75.320749
+18458,PA,Shohola,41.418193,-74.917962
+18460,PA,South Sterling,41.271222,-75.381443
+18461,PA,Starlight,41.925087,-75.321238
+18462,PA,Starrucca,41.890739,-75.449001
+18463,PA,Sterling,41.341912,-75.394467
+18464,PA,Tafton,41.369445,-75.101598
+18465,PA,Thompson,41.83395,-75.534215
+18466,PA,Tobyhanna,41.183638,-75.391781
+18469,PA,Tyler Hill,41.670873,-75.154246
+18470,PA,Union Dale,41.707941,-75.546476
+18472,PA,Waymart,41.570276,-75.406478
+18503,PA,Scranton,41.409517,-75.664205
+18504,PA,Scranton,41.412777,-75.686081
+18505,PA,Scranton,41.39145,-75.665738
+18507,PA,Moosic,41.361492,-75.717093
+18508,PA,Scranton,41.438917,-75.662529
+18509,PA,Scranton,41.427353,-75.646454
+18510,PA,Scranton,41.408039,-75.648397
+18512,PA,Dunmore,41.426184,-75.62294
+18517,PA,Taylor,41.390442,-75.715848
+18518,PA,Old Forge,41.370076,-75.739075
+18519,PA,Dickson City,41.462306,-75.624343
+18603,PA,Berwick,41.066477,-76.244269
+18610,PA,Blakeslee,41.048502,-75.534309
+18612,PA,College Miserico,41.363762,-75.958911
+18614,PA,Dushore,41.523213,-76.402145
+18615,PA,Falls,41.466677,-75.856004
+18616,PA,Forksville,41.526925,-76.60079
+18617,PA,Glen Lyon,41.174635,-76.074578
+18618,PA,Harveys Lake,41.359181,-76.04506
+18619,PA,Hillsgrove,41.448159,-76.697914
+18621,PA,Hunlock Creek,41.245923,-76.087915
+18622,PA,Huntington Mills,41.200905,-76.197342
+18623,PA,Laceyville,41.66621,-76.142566
+18624,PA,Lake Harmony,41.05424,-75.633129
+18628,PA,Lopez,41.418002,-76.300206
+18629,PA,Mehoopany,41.558695,-76.103462
+18630,PA,Meshoppen,41.639163,-76.015464
+18631,PA,Mifflinville,41.023473,-76.292396
+18632,PA,Mildred,41.479236,-76.38313
+18634,PA,Nanticoke,41.19634,-76.004419
+18635,PA,Nescopeck,41.046887,-76.19809
+18636,PA,Noxen,41.418131,-76.045952
+18640,PA,Pittston,41.317501,-75.788492
+18641,PA,Avoca,41.330857,-75.744655
+18642,PA,Duryea,41.348557,-75.761104
+18643,PA,West Pittston,41.337964,-75.816651
+18644,PA,Wyoming,41.319713,-75.854071
+18651,PA,Plymouth,41.245798,-75.948064
+18655,PA,Mocanaqua,41.176674,-76.167096
+18656,PA,Sweet Valley,41.30663,-76.133907
+18657,PA,Center Moreland,41.550687,-75.941043
+18660,PA,Wapwallopen,41.06797,-76.085729
+18661,PA,White Haven,41.079049,-75.771492
+18701,PA,Wilkes Barre,41.244892,-75.884063
+18702,PA,Hanover Township,41.236512,-75.882557
+18704,PA,Kingston,41.274223,-75.890338
+18705,PA,Wilkes Barre,41.268921,-75.845309
+18706,PA,Ashley,41.206709,-75.918157
+18707,PA,Mountain Top,41.134975,-75.937642
+18708,PA,Shavertown,41.299802,-75.97108
+18709,PA,Luzerne,41.284257,-75.893475
+18801,PA,Montrose,41.839584,-75.882055
+18810,PA,Athens,41.949002,-76.488855
+18812,PA,Brackney,41.966614,-75.937527
+18817,PA,East Smithfield,41.863115,-76.617207
+18818,PA,Friendsville,41.916445,-76.02569
+18821,PA,Great Bend,41.977513,-75.732742
+18822,PA,Hallstead,41.959798,-75.782595
+18823,PA,Harford,41.779891,-75.678632
+18824,PA,Hop Bottom,41.693196,-75.789656
+18825,PA,Jackson,41.864881,-75.609136
+18826,PA,Kingsley,41.765856,-75.783101
+18828,PA,Lawton,41.757294,-76.091214
+18829,PA,Le Raysville,41.843415,-76.179604
+18830,PA,Little Meadows,41.976593,-76.118472
+18831,PA,Milan,41.896555,-76.532777
+18832,PA,Monroeton,41.699387,-76.500995
+18833,PA,New Albany,41.59867,-76.43983
+18834,PA,New Milford,41.866409,-75.717113
+18837,PA,Rome,41.863403,-76.301498
+18839,PA,Rushville,41.776893,-76.050955
+18840,PA,Sayre,41.984222,-76.521757
+18842,PA,South Gibson,41.754373,-75.606723
+18844,PA,Springville,41.714684,-75.902472
+18845,PA,Stevensville,41.771782,-76.171696
+18846,PA,Sugar Run,41.604057,-76.259785
+18847,PA,Susquehanna,41.948669,-75.586249
+18848,PA,Towanda,41.763758,-76.464527
+18850,PA,Ulster,41.840809,-76.487574
+18851,PA,Warren Center,41.939389,-76.196445
+18853,PA,Wyalusing,41.701499,-76.275433
+18854,PA,Wysox,41.782621,-76.383397
+18901,PA,New Britain,40.320391,-75.129987
+18913,PA,Carversville,40.39079,-75.063127
+18914,PA,Chalfont,40.289175,-75.214938
+18915,PA,Colmar,40.271814,-75.266861
+18917,PA,Dublin,40.371996,-75.204453
+18920,PA,Erwinna,40.508689,-75.080372
+18923,PA,Fountainville,40.336815,-75.153627
+18925,PA,Furlong,40.294518,-75.064946
+18927,PA,Hilltown,40.34762,-75.27118
+18929,PA,Jamison,40.256599,-75.096093
+18930,PA,Kintnersville,40.531009,-75.211708
+18932,PA,Line Lexington,40.288781,-75.255535
+18933,PA,Lumberville,40.407103,-75.055166
+18934,PA,Mechanicsville,40.343821,-75.062962
+18936,PA,Montgomeryville,40.251353,-75.234643
+18938,PA,New Hope,40.355613,-74.983889
+18940,PA,George School,40.245817,-74.94313
+18942,PA,Ottsville,40.459239,-75.157009
+18944,PA,Perkasie,40.376526,-75.264803
+18947,PA,Pipersville,40.4262,-75.107398
+18951,PA,Quakertown,40.4411,-75.350667
+18954,PA,Richboro,40.216672,-75.002936
+18955,PA,Richlandtown,40.472166,-75.32193
+18960,PA,Sellersville,40.362024,-75.318953
+18964,PA,Bethton,40.312796,-75.321339
+18966,PA,Holland,40.190212,-75.005994
+18969,PA,Telford,40.320478,-75.352001
+18972,PA,Upper Black Eddy,40.541093,-75.125858
+18974,PA,Warminster,40.206676,-75.090513
+18976,PA,Warrington,40.246438,-75.135392
+18977,PA,Washington Cross,40.291906,-74.882859
+19001,PA,Ogontz Campus,40.128141,-75.128918
+19002,PA,Maple Glen,40.166318,-75.207234
+19003,PA,Ardmore,40.001971,-75.29665
+19004,PA,Bala Cynwyd,40.01179,-75.23421
+19006,PA,Huntingdon Valle,40.129686,-75.058979
+19007,PA,Tullytown,40.109174,-74.860718
+19008,PA,Broomall,39.974666,-75.360214
+19010,PA,Bryn Mawr,40.023618,-75.329487
+19012,PA,Cheltenham,40.060327,-75.104774
+19013,PA,Chester,39.849817,-75.374687
+19014,PA,Aston,39.864282,-75.43321
+19015,PA,Brookhaven,39.865355,-75.388483
+19018,PA,Primos Secane,39.923579,-75.299592
+19020,PA,Bensalem,40.110881,-74.937753
+19021,PA,Croydon,40.093322,-74.899077
+19022,PA,Crum Lynne,39.868457,-75.337397
+19023,PA,Collingdale,39.916732,-75.266226
+19025,PA,Dresher,40.143141,-75.162379
+19026,PA,Pilgrim Gardens,39.949197,-75.303479
+19029,PA,Lester,39.866864,-75.293521
+19030,PA,Fairless Hills,40.174822,-74.851923
+19031,PA,Flourtown,40.106774,-75.21148
+19032,PA,Folcroft,39.890508,-75.282117
+19033,PA,Folsom,39.890129,-75.329567
+19034,PA,Fort Washington,40.138592,-75.202175
+19035,PA,Gladwyne,40.045118,-75.282082
+19036,PA,Glenolden,39.904848,-75.294559
+19038,PA,Glenside,40.10959,-75.154964
+19040,PA,Hatboro,40.178547,-75.107182
+19041,PA,Haverford,40.009739,-75.312116
+19043,PA,Holmes,39.900284,-75.308674
+19044,PA,Horsham,40.182057,-75.147932
+19046,PA,Meadowbrook,40.100477,-75.117273
+19047,PA,Penndel,40.175055,-74.915101
+19050,PA,Yeadon,39.93779,-75.264872
+19053,PA,Feasterville Tre,40.151188,-74.983758
+19054,PA,Levittown,40.168142,-74.823138
+19055,PA,Levittown,40.148329,-74.83714
+19056,PA,Levittown,40.151861,-74.882632
+19057,PA,Levittown,40.143359,-74.861366
+19061,PA,Boothwyn,39.833934,-75.448309
+19063,PA,Glen Riddle Lima,39.915562,-75.407226
+19064,PA,Springfield,39.929599,-75.333786
+19066,PA,Merion Station,40.003043,-75.250302
+19067,PA,Yardley,40.212064,-74.822153
+19070,PA,Morton,39.906292,-75.323785
+19072,PA,Narberth,40.01768,-75.2594
+19073,PA,Newtown Square,39.986292,-75.406997
+19074,PA,Norwood,39.887026,-75.297247
+19075,PA,Oreland,40.113197,-75.18685
+19076,PA,Prospect Park,39.885737,-75.308165
+19078,PA,Ridley Park,39.878411,-75.321517
+19079,PA,Sharon Hill,39.903511,-75.269524
+19081,PA,Swarthmore,39.896724,-75.347428
+19082,PA,Upper Darby,39.95785,-75.268128
+19083,PA,Havertown,39.97736,-75.310613
+19085,PA,Villanova,40.039875,-75.345866
+19086,PA,Wallingford,39.887054,-75.372131
+19087,PA,Radnor,40.059554,-75.40416
+19090,PA,Willow Grove Nas,40.146725,-75.121297
+19094,PA,Woodlyn,39.875993,-75.346309
+19095,PA,Wyncote,40.086673,-75.152417
+19096,PA,Wynnewood,40,-75.275984
+19102,PA,Philadelphia,39.948908,-75.166109
+19103,PA,Philadelphia,39.951285,-75.174136
+19104,PA,Philadelphia,39.959732,-75.202445
+19106,PA,Philadelphia,39.94742,-75.147271
+19107,PA,Philadelphia,39.94867,-75.159339
+19111,PA,Philadelphia,40.059635,-75.081792
+19112,PA,Philadelphia,39.889252,-75.178207
+19113,PA,Philadelphia,39.864998,-75.275196
+19114,PA,Philadelphia,40.063356,-74.999032
+19115,PA,Philadelphia,40.090286,-75.041036
+19116,PA,Philadelphia,40.116599,-75.019803
+19117,PA,Elkins Park,40.075798,-75.127669
+19118,PA,Philadelphia,40.081247,-75.2006
+19119,PA,Philadelphia,40.054681,-75.186564
+19120,PA,Philadelphia,40.034254,-75.121256
+19121,PA,Philadelphia,39.981085,-75.174005
+19122,PA,Philadelphia,39.978014,-75.145882
+19123,PA,Philadelphia,39.965975,-75.150968
+19124,PA,Philadelphia,40.017798,-75.089526
+19125,PA,Philadelphia,39.978751,-75.126156
+19126,PA,Philadelphia,40.056839,-75.137854
+19127,PA,Philadelphia,40.027512,-75.224167
+19128,PA,Philadelphia,40.040247,-75.223084
+19129,PA,Philadelphia,40.011816,-75.186149
+19130,PA,Philadelphia,39.967677,-75.173467
+19131,PA,Philadelphia,39.98447,-75.228226
+19132,PA,Philadelphia,39.995393,-75.16982
+19133,PA,Philadelphia,39.992467,-75.141505
+19134,PA,Philadelphia,39.99252,-75.113284
+19135,PA,Philadelphia,40.024694,-75.051827
+19136,PA,Philadelphia,40.042159,-75.024388
+19137,PA,Philadelphia,40.000849,-75.072654
+19138,PA,Philadelphia,40.05683,-75.156898
+19139,PA,Philadelphia,39.961166,-75.230301
+19140,PA,Philadelphia,40.011771,-75.145626
+19141,PA,Philadelphia,40.036473,-75.145109
+19142,PA,Philadelphia,39.922332,-75.233796
+19143,PA,Philadelphia,39.944815,-75.228819
+19144,PA,Philadelphia,40.033773,-75.173099
+19145,PA,Philadelphia,39.922724,-75.181194
+19146,PA,Philadelphia,39.937949,-75.179364
+19147,PA,Philadelphia,39.936175,-75.156324
+19148,PA,Philadelphia,39.92068,-75.159538
+19149,PA,Philadelphia,40.036915,-75.066374
+19150,PA,Philadelphia,40.07262,-75.170621
+19151,PA,Philadelphia,39.977199,-75.254492
+19152,PA,Philadelphia,40.060571,-75.047079
+19153,PA,Philadelphia,39.905512,-75.244431
+19154,PA,Philadelphia,40.089738,-74.978052
+19301,PA,Paoli,40.04259,-75.482702
+19310,PA,Atglen,39.945782,-75.970343
+19311,PA,Avondale,39.821904,-75.768694
+19312,PA,Berwyn,40.041184,-75.447457
+19317,PA,Chadds Ford,39.864769,-75.588515
+19319,PA,Cheyney,39.917496,-75.548738
+19320,PA,Coatesville,39.984313,-75.825299
+19330,PA,Cochranville,39.875686,-75.921381
+19333,PA,Devon,40.045181,-75.422691
+19335,PA,Downingtown,40.016078,-75.718261
+19341,PA,Exton,40.046817,-75.643196
+19342,PA,Glen Mills,39.901515,-75.504872
+19343,PA,Glenmoore,40.084602,-75.771103
+19344,PA,Honey Brook,40.083227,-75.88432
+19346,PA,Kelton,39.795501,-75.875827
+19348,PA,Kennett Square,39.855033,-75.70002
+19350,PA,Landenberg,39.769558,-75.780707
+19352,PA,Lincoln Universi,39.780905,-75.881784
+19355,PA,Frazer,40.037123,-75.533021
+19362,PA,Nottingham,39.74411,-76.035551
+19363,PA,Oxford,39.782704,-75.981522
+19365,PA,Parkesburg,39.965388,-75.926041
+19372,PA,Thorndale,40.000127,-75.762859
+19373,PA,Thornton,39.904127,-75.531344
+19374,PA,Toughkenamon,39.825117,-75.782533
+19380,PA,West Chester,39.984458,-75.596231
+19382,PA,West Chester,39.944081,-75.588197
+19390,PA,West Grove,39.825314,-75.837374
+19401,PA,Norristown,40.124464,-75.330446
+19403,PA,Eagleville,40.14335,-75.384672
+19405,PA,Bridgeport,40.103042,-75.340234
+19406,PA,King Of Prussia,40.095581,-75.373706
+19422,PA,Penllyn,40.15939,-75.279656
+19425,PA,Chester Springs,40.097781,-75.639769
+19426,PA,Collegeville,40.189277,-75.448762
+19428,PA,West Conshohocke,40.079848,-75.301332
+19435,PA,Frederick,40.299924,-75.531975
+19436,PA,Gwynedd,40.202089,-75.250746
+19438,PA,Harleysville,40.265922,-75.388335
+19440,PA,Hatfield,40.277826,-75.297507
+19444,PA,Lafayette Hill,40.089597,-75.260052
+19446,PA,Lansdale,40.237776,-75.295512
+19453,PA,Mont Clare,40.13642,-75.499931
+19454,PA,North Wales,40.216593,-75.256483
+19460,PA,Phoenixville,40.126704,-75.527192
+19462,PA,Plymouth Meeting,40.107735,-75.279559
+19464,PA,Sanatoga,40.242989,-75.639256
+19468,PA,Limerick,40.19286,-75.530548
+19473,PA,Schwenksville,40.247087,-75.460155
+19475,PA,Spring City,40.176477,-75.56969
+19477,PA,Spring House,40.186954,-75.237501
+19492,PA,Zieglersville,40.281673,-75.485462
+19501,PA,Adamstown,40.242992,-76.056542
+19503,PA,Bally,40.400557,-75.587483
+19504,PA,Barto,40.381501,-75.574889
+19505,PA,Bechtelsville,40.379454,-75.625701
+19506,PA,Bernville,40.455061,-76.124732
+19507,PA,Bethel,40.480834,-76.274209
+19508,PA,Birdsboro,40.256304,-75.834373
+19510,PA,Blandon,40.443492,-75.883681
+19512,PA,Boyertown,40.333905,-75.660368
+19518,PA,Douglassville,40.270876,-75.739673
+19520,PA,Elverson,40.156781,-75.786563
+19522,PA,Evansville,40.446766,-75.8144
+19525,PA,Gilbertsville,40.305941,-75.595296
+19526,PA,Hamburg,40.548799,-75.987361
+19529,PA,Kempton,40.632794,-75.85127
+19530,PA,Kutztown,40.521354,-75.777395
+19533,PA,Leesport,40.415216,-75.994421
+19534,PA,Lenhartsville,40.575284,-75.850002
+19539,PA,Mertztown,40.499183,-75.687202
+19540,PA,Mohnton,40.258442,-75.98332
+19541,PA,Mohrsville,40.478307,-76.012491
+19543,PA,Morgantown,40.155248,-75.899802
+19547,PA,Oley,40.383312,-75.770575
+19549,PA,Port Clinton,40.581787,-76.026652
+19551,PA,Robesonia,40.355281,-76.13659
+19555,PA,Shoemakersville,40.495495,-75.960313
+19560,PA,Temple,40.402504,-75.904582
+19562,PA,Topton,40.502941,-75.701528
+19565,PA,Wernersville,40.329289,-76.09014
+19567,PA,Womelsdorf,40.374333,-76.198511
+19601,PA,Reading,40.346621,-75.935132
+19602,PA,Reading,40.330604,-75.919229
+19604,PA,Reading,40.350721,-75.914262
+19605,PA,Reading,40.38859,-75.932769
+19606,PA,Mount Penn,40.325109,-75.868178
+19607,PA,Shillington,40.299696,-75.953103
+19608,PA,Sinking Spring,40.31449,-76.024086
+19609,PA,West Lawn,40.325778,-75.995347
+19610,PA,Wyomissing,40.333478,-75.976382
+19611,PA,Reading,40.324989,-75.944188
+2804,RI,Ashaway,41.423054,-71.783745
+2806,RI,Barrington,41.744334,-71.317497
+2807,RI,Block Island,41.171546,-71.574825
+2808,RI,Bradford,41.411448,-71.746453
+2809,RI,Bristol,41.68247,-71.267558
+2812,RI,Richmond,41.46941,-71.650279
+2813,RI,Charlestown,41.400749,-71.661455
+2814,RI,Chepachet,41.91549,-71.679483
+2815,RI,Clayville,41.777762,-71.670589
+2816,RI,Coventry,41.69143,-71.576794
+2817,RI,West Greenwich,41.639977,-71.643549
+2818,RI,East Greenwich,41.649777,-71.474009
+2821,RI,2821,41.626721,-71.780767
+2822,RI,Exeter,41.574031,-71.607626
+2825,RI,Foster,41.781455,-71.718748
+2827,RI,Greene,41.706151,-71.735607
+2828,RI,Greenville,41.873409,-71.556923
+2830,RI,Harrisville,41.976379,-71.653405
+2831,RI,Hope,41.751603,-71.561225
+2832,RI,Richmond,41.506974,-71.734862
+2835,RI,Jamestown,41.516405,-71.376108
+2836,RI,Richmond,41.477694,-71.683992
+2837,RI,Little Compton,41.52204,-71.161215
+2838,RI,Manville,41.96888,-71.474113
+2840,RI,Middletown,41.504502,-71.30348
+2852,RI,North Kingstown,41.589426,-71.462494
+2857,RI,North Scituate,41.8439,-71.624187
+2858,RI,Oakland,41.963637,-71.642925
+2859,RI,Pascoag,41.962728,-71.709866
+2860,RI,Pawtucket,41.872873,-71.390713
+2861,RI,Pawtucket,41.881384,-71.356001
+2863,RI,Central Falls,41.888263,-71.394527
+2864,RI,Cumberland,41.948352,-71.415419
+2865,RI,Lincoln,41.908906,-71.434777
+2871,RI,Portsmouth,41.594397,-71.252018
+2872,RI,Prudence Island,41.613606,-71.311827
+2874,RI,Saunderstown,41.510528,-71.442693
+2876,RI,Slatersville,42.001478,-71.5682
+2877,RI,Slocum,41.521237,-71.537169
+2878,RI,Tiverton,41.633839,-71.180823
+2879,RI,Narragansett,41.430195,-71.525138
+2881,RI,Kingston,41.480295,-71.529239
+2882,RI,Narragansett,41.435313,-71.46164
+2883,RI,Peace Dale,41.45157,-71.500057
+2885,RI,Warren,41.725618,-71.270165
+2886,RI,Warwick,41.702601,-71.447591
+2888,RI,Warwick,41.74936,-71.40836
+2889,RI,Warwick,41.714069,-71.390146
+2891,RI,Westerly,41.369128,-71.812643
+2892,RI,Richmond,41.506716,-71.599076
+2893,RI,West Warwick,41.700433,-71.518349
+2894,RI,Wood River Junct,41.453771,-71.709512
+2895,RI,North Smithfield,41.99948,-71.513683
+2898,RI,Richmond,41.523362,-71.683973
+2903,RI,Providence,41.820002,-71.415801
+2904,RI,Centredale,41.860461,-71.438102
+2905,RI,Cranston,41.786568,-71.403146
+2906,RI,Providence,41.835104,-71.397065
+2907,RI,Cranston,41.800842,-71.424039
+2908,RI,Providence,41.838294,-71.437684
+2909,RI,Cranston,41.816777,-71.448165
+2910,RI,Cranston,41.776572,-71.438331
+2911,RI,Centredale,41.853412,-71.474058
+2914,RI,East Providence,41.813777,-71.368785
+2915,RI,Riverside,41.772313,-71.354244
+2916,RI,Rumford,41.842472,-71.355938
+2917,RI,Smithfield,41.896382,-71.520666
+2919,RI,Cranston,41.826431,-71.497646
+2920,RI,Cranston,41.77157,-71.465889
+2921,RI,Cranston,41.761357,-71.506102
+29001,SC,Alcolu,33.768402,-80.178782
+29003,SC,Bamberg,33.277915,-81.017744
+29006,SC,Batesburg,33.938595,-81.548988
+29009,SC,Bethune,34.42012,-80.366206
+29010,SC,Bishopville,34.224101,-80.274988
+29014,SC,Blackstock,34.577876,-81.124857
+29015,SC,Blair,34.496668,-81.345945
+29016,SC,Blythewood,34.191112,-80.975756
+29018,SC,Bowman,33.347466,-80.670868
+29020,SC,Camden,34.269636,-80.590997
+29030,SC,Cameron,33.557789,-80.646605
+29031,SC,Carlisle,34.614332,-81.509105
+29032,SC,Cassatt,34.342414,-80.499993
+29033,SC,Cayce,33.962567,-81.067084
+29036,SC,Chapin,34.131158,-81.33182
+29037,SC,Chappells,34.235834,-81.835253
+29038,SC,Cope,33.372555,-80.963111
+29039,SC,Cordova,33.42753,-80.885719
+29040,SC,Dalzell,34.014412,-80.466533
+29042,SC,Denmark,33.320925,-81.14072
+29044,SC,Eastover,33.915274,-80.699647
+29045,SC,Elgin,34.161963,-80.811292
+29046,SC,Elliott,34.117149,-80.175441
+29047,SC,Elloree,33.490608,-80.56784
+29048,SC,Eutawville,33.392189,-80.319983
+29051,SC,Gable,33.840989,-80.081377
+29052,SC,Gadsden,33.845461,-80.753199
+29053,SC,Gaston,33.833712,-81.117395
+29054,SC,Gilbert,33.95805,-81.39136
+29055,SC,Great Falls,34.57053,-80.913263
+29056,SC,Greeleyville,33.59664,-79.98022
+29058,SC,Heath Springs,34.602422,-80.71031
+29059,SC,Holly Hill,33.327586,-80.402393
+29061,SC,Hopkins,33.934868,-80.844906
+29063,SC,Irmo,34.110254,-81.196553
+29065,SC,Jenkinsville,34.271693,-81.271153
+29067,SC,Kershaw,34.557809,-80.554633
+29069,SC,Lamar,34.189044,-80.030134
+29070,SC,Leesville,33.913169,-81.459753
+29072,SC,Lexington,33.972383,-81.23586
+29073,SC,Lexington,33.863206,-81.235102
+29075,SC,Little Mountain,34.167569,-81.418375
+29077,SC,Lone Star,33.673574,-80.645025
+29078,SC,Lugoff,34.22961,-80.714712
+29080,SC,Lynchburg,34.052603,-80.098821
+29081,SC,Ehrhardt,33.104436,-81.022137
+29082,SC,Lodge,32.982263,-80.934641
+29101,SC,Mc Bee,34.46056,-80.254434
+29102,SC,Paxville,33.667716,-80.222078
+29104,SC,Saint Charles,34.046463,-80.234927
+29105,SC,Monetta,33.774729,-81.536299
+29107,SC,Neeses,33.534282,-81.083433
+29108,SC,Newberry,34.284661,-81.615741
+29111,SC,New Zion,33.795736,-80.014753
+29112,SC,North,33.621121,-81.060096
+29113,SC,Norway,33.453402,-81.109744
+29114,SC,Olanta,33.928545,-79.915349
+29115,SC,Orangeburg,33.502545,-80.859282
+29123,SC,Pelion,33.776628,-81.250161
+29125,SC,Pinewood,33.764216,-80.497761
+29126,SC,Pomaria,34.306281,-81.449973
+29127,SC,Prosperity,34.183243,-81.532353
+29128,SC,Rembert,34.108467,-80.494544
+29129,SC,Ridge Spring,33.871403,-81.655949
+29130,SC,Ridgeway,34.316651,-80.928813
+29131,SC,Rimini,33.672155,-80.472671
+29133,SC,Rowesville,33.370257,-80.833115
+29135,SC,Fort Motte,33.694212,-80.856286
+29137,SC,Salley,33.597233,-81.318418
+29138,SC,Saluda,34.017451,-81.775398
+29142,SC,Santee,33.483533,-80.480498
+29145,SC,Silverstreet,34.235553,-81.703684
+29146,SC,Springfield,33.534265,-81.249858
+29148,SC,Summerton,33.594578,-80.360566
+29150,SC,Oswego,33.928199,-80.321008
+29152,SC,Shaw A F B,33.980262,-80.481093
+29154,SC,Sumter,33.882067,-80.402761
+29160,SC,Swansea,33.733917,-81.093309
+29161,SC,Timmonsville,34.101241,-79.937845
+29162,SC,Turbeville,33.87857,-79.985174
+29163,SC,Vance,33.413882,-80.461716
+29164,SC,Wagener,33.649417,-81.39952
+29166,SC,Ward,33.884856,-81.728341
+29168,SC,Wedgefield,33.943002,-80.498719
+29169,SC,West Columbia,33.995024,-81.088836
+29170,SC,West Columbia,33.956751,-81.140474
+29172,SC,West Columbia,33.900022,-81.091008
+29175,SC,Westville,34.449177,-80.579554
+29178,SC,Whitmire,34.495485,-81.605981
+29180,SC,Winnsboro,34.381008,-81.10899
+29201,SC,Columbia,34.0004,-81.033418
+29203,SC,Columbia,34.063452,-81.026462
+29204,SC,Columbia,34.026037,-81.004647
+29205,SC,Columbia,33.990309,-80.999731
+29206,SC,Columbia,34.024655,-80.953152
+29209,SC,Columbia,33.965863,-80.935525
+29210,SC,Columbia,34.047863,-81.11006
+29212,SC,Columbia,34.072613,-81.179617
+29223,SC,Columbia,34.085267,-80.91667
+29301,SC,Spartanburg,34.935211,-81.965377
+29302,SC,Spartanburg,34.956283,-81.873625
+29303,SC,Valley Falls,34.993728,-81.957566
+29321,SC,Buffalo,34.724703,-81.682576
+29322,SC,Campobello,35.108003,-82.140343
+29323,SC,Chesnee,35.115398,-81.867827
+29325,SC,Clinton,34.470692,-81.87717
+29330,SC,Cowpens,35.038979,-81.822019
+29332,SC,Cross Hill,34.269274,-81.984278
+29334,SC,Duncan,34.917645,-82.125821
+29335,SC,Enoree,34.670952,-81.92373
+29340,SC,Gaffney,35.061508,-81.649061
+29349,SC,Inman,35.052795,-82.054013
+29351,SC,Joanna,34.406795,-81.81907
+29353,SC,Kelton,34.837368,-81.684218
+29355,SC,Kinards,34.355219,-81.71975
+29356,SC,Landrum,35.156486,-82.211473
+29360,SC,Ora,34.500714,-82.026774
+29365,SC,Lyman,34.968443,-82.143479
+29369,SC,Moore,34.883453,-82.017893
+29370,SC,Mountville,34.340791,-81.958429
+29372,SC,Pacolet,34.901708,-81.758703
+29374,SC,Glenn Springs,34.774808,-81.857853
+29376,SC,Roebuck,34.8688,-81.95255
+29379,SC,Union,34.726855,-81.620235
+29384,SC,Waterloo,34.33673,-82.087968
+29385,SC,Wellford,34.951394,-82.092706
+29388,SC,Woodruff,34.757864,-82.044658
+29401,SC,Charleston,32.779506,-79.937069
+29403,SC,Charleston,32.797575,-79.949283
+29404,SC,Charleston,32.895816,-80.067687
+29405,SC,Charleston,32.851206,-79.976442
+29406,SC,North Charleston,32.903035,-80.001053
+29407,SC,Charleston,32.799322,-80.005953
+29412,SC,Charleston,32.732319,-79.954727
+29414,SC,Charleston,32.821538,-80.056756
+29418,SC,Charleston,32.907135,-80.055126
+29420,SC,Charleston,32.933096,-80.086463
+29426,SC,Jericho,32.749318,-80.368197
+29429,SC,Awendaw,32.951475,-79.686075
+29431,SC,Bonneau,33.297332,-79.92164
+29432,SC,Branchville,33.262802,-80.805931
+29434,SC,Cordesville,33.162127,-79.920492
+29435,SC,Cottageville,32.961171,-80.479414
+29436,SC,Cross,33.336373,-80.185901
+29437,SC,Dorchester,33.124688,-80.403398
+29438,SC,Edisto Island,32.548572,-80.30701
+29440,SC,Georgetown,33.430776,-79.323459
+29445,SC,Mount Holly,32.988699,-80.019948
+29446,SC,Green Pond,32.662827,-80.528035
+29448,SC,Harleyville,33.220511,-80.450094
+29449,SC,Meggett,32.722306,-80.259566
+29450,SC,Huger,33.018436,-79.807254
+29451,SC,Isle Of Palms,32.794252,-79.772949
+29453,SC,Shulerville,33.228797,-79.715551
+29455,SC,Johns Island,32.709697,-80.094294
+29456,SC,Ladson,32.993019,-80.125701
+29458,SC,Mc Clellanville,33.10472,-79.479982
+29461,SC,Oakley,33.163071,-80.036576
+29464,SC,Mount Pleasant,32.816211,-79.852031
+29468,SC,Pineville,33.419926,-80.093181
+29469,SC,Pinopolis,33.224125,-80.039761
+29470,SC,Ravenel,32.788088,-80.222346
+29471,SC,Reevesville,33.187213,-80.66725
+29472,SC,Ridgeville,33.108017,-80.308611
+29474,SC,Round O,32.940516,-80.573882
+29475,SC,Ruffin,33.010319,-80.813653
+29477,SC,Saint George,33.184532,-80.573246
+29479,SC,Alvin,33.405953,-79.937635
+29481,SC,Smoaks,33.096319,-80.813021
+29482,SC,Sullivans Island,32.763652,-79.839905
+29483,SC,Summerville,33.028045,-80.173852
+29485,SC,Summerville,32.975556,-80.183082
+29487,SC,Wadmalaw Island,32.652854,-80.182867
+29488,SC,Ritter,32.897367,-80.679225
+29492,SC,Wando,32.962223,-79.86533
+29501,SC,Florence,34.18375,-79.772786
+29505,SC,Florence,34.256368,-79.775983
+29506,SC,Quinby,34.245178,-79.794547
+29510,SC,Andrews,33.452525,-79.560438
+29511,SC,Aynor,33.982271,-79.17773
+29512,SC,Bennettsville,34.625501,-79.689826
+29516,SC,Blenheim,34.502033,-79.659422
+29518,SC,Cades,33.812017,-79.817567
+29520,SC,Cheraw,34.686275,-79.917414
+29525,SC,Clio,34.58052,-79.545255
+29526,SC,Conway,33.873066,-79.055712
+29527,SC,Bucksport,33.77922,-79.050836
+29530,SC,Coward,33.990514,-79.751523
+29532,SC,Darlington,34.300294,-79.873221
+29536,SC,Dillon,34.414553,-79.377015
+29541,SC,Effingham,34.094571,-79.791822
+29543,SC,Fork,34.28733,-79.250063
+29544,SC,Galivants Ferry,34.123801,-79.105915
+29545,SC,Green Sea,34.205105,-79.051613
+29546,SC,Gresham,33.906941,-79.356426
+29547,SC,South Of The Bor,34.484556,-79.377871
+29550,SC,Hartsville,34.375616,-80.084237
+29554,SC,Hemingway,33.741887,-79.448895
+29555,SC,Johnsonville,33.829873,-79.478256
+29556,SC,Kingstree,33.687841,-79.783221
+29560,SC,Lake City,33.865473,-79.741794
+29563,SC,Lake View,34.34449,-79.192869
+29564,SC,Lane,33.50827,-79.871545
+29565,SC,Latta,34.339829,-79.441704
+29566,SC,Little River,33.876806,-78.650829
+29567,SC,Little Rock,34.404803,-79.326948
+29568,SC,Longs,33.906408,-78.793359
+29569,SC,Loris,34.055756,-78.916096
+29570,SC,Mc Coll,34.670406,-79.559741
+29571,SC,Marion,34.156195,-79.389822
+29572,SC,Myrtle Beach,33.758701,-78.804448
+29574,SC,Mullins,34.204441,-79.254155
+29575,SC,Surfside Beach,33.625245,-78.995228
+29576,SC,Murrells Inlet,33.550717,-79.05275
+29577,SC,Myrtle Beach,33.699363,-78.913697
+29580,SC,Nesmith,33.591652,-79.551301
+29581,SC,Nichols,34.242629,-79.162493
+29582,SC,Cherry Grove Bea,33.822801,-78.67792
+29583,SC,Pamplico,33.992166,-79.592917
+29584,SC,Patrick,34.559823,-80.064984
+29585,SC,Pawleys Island,33.450825,-79.134128
+29590,SC,Salters,33.561138,-79.830024
+29591,SC,Scranton,33.92813,-79.773101
+29592,SC,Sellers,34.269522,-79.436948
+29593,SC,Society Hill,34.451161,-79.886494
+29596,SC,Wallace,34.730704,-79.801142
+29601,SC,Greenville,34.847165,-82.406049
+29605,SC,Greenville,34.800117,-82.393218
+29607,SC,Greenville,34.828507,-82.35155
+29609,SC,Greenville,34.892101,-82.400195
+29611,SC,Greenville,34.85331,-82.449296
+29615,SC,Greenville,34.866095,-82.319815
+29620,SC,Abbeville,34.18186,-82.378452
+29621,SC,Anderson,34.526051,-82.630436
+29624,SC,Anderson,34.474807,-82.677052
+29625,SC,Anderson,34.527134,-82.70868
+29627,SC,Belton,34.508715,-82.510106
+29628,SC,Calhoun Falls,34.099912,-82.580544
+29630,SC,Central,34.74007,-82.794727
+29631,SC,Clemson,34.683061,-82.825003
+29635,SC,Cleveland,35.06537,-82.609256
+29638,SC,Shoals Junction,34.399772,-82.366616
+29639,SC,Due West,34.334425,-82.400164
+29640,SC,Easley,34.829031,-82.579552
+29642,SC,Easley,34.960694,-82.561716
+29643,SC,Fair Play,34.577548,-82.999874
+29644,SC,Fountain Inn,34.653334,-82.264593
+29645,SC,Ora,34.580984,-82.157035
+29646,SC,Greenwood,34.175802,-82.156211
+29649,SC,Greenwood,34.222988,-82.158189
+29650,SC,Greer,34.8968,-82.267442
+29651,SC,Greer,34.94532,-82.220857
+29653,SC,Hodges,34.288167,-82.214225
+29654,SC,Honea Path,34.441723,-82.425471
+29655,SC,Iva,34.319847,-82.657437
+29657,SC,Liberty,34.787189,-82.697429
+29658,SC,Long Creek,34.754954,-83.184728
+29659,SC,Lowndesville,34.26624,-82.571021
+29661,SC,Marietta,35.029644,-82.513622
+29662,SC,Mauldin,34.780675,-82.303507
+29664,SC,Mountain Rest,34.854119,-83.113402
+29666,SC,Ninety Six,34.165198,-82.029185
+29667,SC,Cateechee,34.765472,-82.755492
+29669,SC,Pelzer,34.646063,-82.467334
+29670,SC,Pendleton,34.63694,-82.740623
+29671,SC,Pickens,34.902403,-82.705784
+29673,SC,Piedmont,34.724433,-82.470216
+29676,SC,Salem,34.872836,-82.960687
+29678,SC,Seneca,34.682797,-82.936162
+29681,SC,Simpsonville,34.751228,-82.255009
+29682,SC,Six Mile,34.828287,-82.827795
+29684,SC,Starr,34.396196,-82.68971
+29685,SC,Sunset,34.970617,-82.807639
+29686,SC,Tamassee,34.898229,-82.986138
+29687,SC,Taylors,34.924517,-82.31968
+29688,SC,Tigerville,35.094443,-82.358236
+29689,SC,Townville,34.522638,-82.89633
+29690,SC,Travelers Rest,35.003929,-82.427179
+29691,SC,Walhalla,34.768902,-83.038778
+29692,SC,Ware Shoals,34.402491,-82.26779
+29693,SC,Madison,34.658857,-83.110782
+29696,SC,West Union,34.751572,-83.039887
+29697,SC,Williamston,34.620572,-82.511006
+29702,SC,Cherokee Falls,35.115047,-81.508004
+29704,SC,Catawba,34.850712,-80.934154
+29706,SC,Chester,34.714897,-81.21856
+29709,SC,Chesterfield,34.727834,-80.09577
+29710,SC,Lake Wylie,35.110728,-81.186358
+29712,SC,Edgemoor,34.797006,-80.989095
+29714,SC,Fort Lawn,34.70064,-80.909175
+29715,SC,Tega Cay,35.026001,-80.958559
+29717,SC,Hickory Grove,34.970833,-81.430599
+29718,SC,Jefferson,34.654581,-80.363934
+29720,SC,Lancaster,34.749006,-80.761576
+29726,SC,Mc Connells,34.867667,-81.236803
+29727,SC,Mount Croghan,34.743895,-80.242791
+29728,SC,Pageland,34.772193,-80.396615
+29729,SC,Richburg,34.682185,-80.989061
+29730,SC,Rock Hill,34.915068,-81.012904
+29732,SC,Rock Hill,34.968066,-81.048881
+29741,SC,Ruby,34.737928,-80.190966
+29742,SC,Sharon,34.908396,-81.372907
+29743,SC,Smyrna,35.030784,-81.389606
+29745,SC,York,34.994669,-81.224462
+29801,SC,Aiken,33.553024,-81.719429
+29803,SC,Aiken,33.531868,-81.594702
+29809,SC,New Ellenton,33.417242,-81.687376
+29810,SC,Allendale,33.007676,-81.320254
+29812,SC,Barnwell,33.233492,-81.35231
+29817,SC,Blackville,33.364476,-81.271844
+29819,SC,Bradley,34.032587,-82.202723
+29821,SC,Clarks Hill,33.65052,-82.14875
+29824,SC,Edgefield,33.805553,-81.96602
+29827,SC,Fairfax,32.951455,-81.25864
+29829,SC,Graniteville,33.563016,-81.814686
+29831,SC,Jackson,33.338886,-81.797628
+29832,SC,Johnston,33.823075,-81.797242
+29835,SC,Mc Cormick,33.914646,-82.271862
+29836,SC,Martin,33.109286,-81.500304
+29838,SC,Modoc,33.724894,-82.203469
+29840,SC,Mount Carmel,33.970323,-82.43607
+29841,SC,Beech Island,33.517766,-81.934794
+29843,SC,Olar,33.18364,-81.164042
+29845,SC,Plum Branch,33.832893,-82.248041
+29847,SC,Trenton,33.693757,-81.853392
+29848,SC,Troy,33.955654,-82.294077
+29849,SC,Ulmer,33.057597,-81.221292
+29851,SC,Warrenville,33.519917,-81.829397
+29853,SC,Williston,33.392608,-81.416146
+29856,SC,Windsor,33.467446,-81.513626
+29902,SC,Burton,32.418035,-80.709026
+29910,SC,Bluffton,32.251275,-80.872079
+29911,SC,Brunson,32.941297,-81.180719
+29916,SC,Early Branch,32.628893,-81.030011
+29918,SC,Estill,32.737514,-81.217768
+29920,SC,St Helena Island,32.380213,-80.533863
+29922,SC,Garnett,32.600666,-81.239629
+29924,SC,Hampton,32.87288,-81.097333
+29926,SC,Hilton Head Isla,32.229426,-80.728088
+29927,SC,Hardeeville,32.263512,-81.066865
+29928,SC,Hilton Head Isla,32.158718,-80.756577
+29929,SC,Islandton,32.950324,-80.891589
+29932,SC,Luray,32.86177,-81.223506
+29934,SC,Pineland,32.602065,-81.176116
+29935,SC,Port Royal,32.384205,-80.69278
+29936,SC,Coosawatchie,32.491938,-80.949435
+29940,SC,Seabrook,32.526884,-80.740793
+29943,SC,Tillman,32.492719,-81.077567
+29944,SC,Varnville,32.834893,-81.028839
+29945,SC,Yemassee,32.642983,-80.812932
+57001,SD,Alcester,43.004726,-96.633243
+57002,SD,Aurora,44.283786,-96.704268
+57003,SD,Baltic,43.730908,-96.756272
+57004,SD,Beresford,43.087409,-96.781256
+57005,SD,Corson,43.596413,-96.578201
+57006,SD,Brookings,44.305619,-96.791408
+57010,SD,Burbank,42.763798,-96.846569
+57012,SD,Canistota,43.585639,-97.288901
+57013,SD,Canton,43.303819,-96.593796
+57014,SD,Centerville,43.117635,-96.963637
+57015,SD,Chancellor,43.407962,-96.982695
+57016,SD,Chester,43.898077,-96.975883
+57017,SD,Colman,43.955761,-96.818882
+57018,SD,Colton,43.795102,-96.957202
+57020,SD,Crooks,43.64509,-96.818259
+57021,SD,Davis,43.286365,-96.979206
+57022,SD,Dell Rapids,43.822759,-96.722315
+57024,SD,Egan,43.986592,-96.649252
+57025,SD,Elk Point,42.738219,-96.686954
+57026,SD,Elkton,44.234984,-96.501095
+57027,SD,Fairview,43.208965,-96.574261
+57028,SD,Flandreau,44.06578,-96.622184
+57029,SD,Freeman,43.360501,-97.460073
+57030,SD,Garretson,43.71617,-96.519626
+57031,SD,Gayville,42.883516,-97.18295
+57032,SD,Harrisburg,43.446021,-96.686389
+57033,SD,Hartford,43.615472,-96.950052
+57034,SD,Hudson,43.128357,-96.53063
+57035,SD,Humboldt,43.612026,-97.06971
+57036,SD,Hurley,43.289256,-97.190364
+57037,SD,Irene,43.102683,-97.255797
+57038,SD,Jefferson,42.601341,-96.578392
+57039,SD,Lennox,43.345066,-96.882061
+57040,SD,Lesterville,43.054976,-97.548282
+57042,SD,Madison,44.005434,-97.11486
+57043,SD,Marion,43.41878,-97.277066
+57044,SD,Meckling,42.848994,-97.092249
+57045,SD,Menno,43.233968,-97.564986
+57046,SD,Mission Hill,42.983611,-97.334877
+57047,SD,Monroe,43.477883,-97.218167
+57048,SD,Montrose,43.706262,-97.188493
+57049,SD,Dakota Dunes,42.532706,-96.50761
+57050,SD,Nunda,44.152459,-96.994209
+57051,SD,Oldham,44.245722,-97.269575
+57052,SD,Olivet,43.292811,-97.718355
+57053,SD,Parker,43.40204,-97.133298
+57054,SD,Ramona,44.122887,-97.234889
+57055,SD,Renner,43.636625,-96.711925
+57057,SD,Rutland,44.068282,-96.951856
+57058,SD,Salem,43.735583,-97.379695
+57059,SD,Scotland,43.121208,-97.729596
+57060,SD,Sherman,43.798677,-96.544396
+57061,SD,Sinai,44.239745,-97.054332
+57062,SD,Springfield,42.868694,-97.928825
+57063,SD,Tabor,42.938262,-97.692282
+57064,SD,Tea,43.471114,-96.817734
+57065,SD,Trent,43.894159,-96.632574
+57066,SD,Tyndall,42.990043,-97.863285
+57067,SD,Utica,42.936629,-97.455095
+57068,SD,Valley Springs,43.577306,-96.495637
+57069,SD,Vermillion,42.795109,-96.925784
+57070,SD,Viborg,43.181497,-97.114048
+57071,SD,Volga,44.322354,-96.925148
+57072,SD,Volin,42.969617,-97.228231
+57073,SD,Wakonda,42.996001,-97.069374
+57074,SD,Ward,44.155883,-96.481325
+57075,SD,Wentworth,43.985242,-96.961456
+57076,SD,Winfred,43.959511,-97.309266
+57077,SD,Worthing,43.292531,-96.752935
+57078,SD,Yankton,42.882086,-97.398624
+57102,SD,Sioux Falls,43.546131,-96.726927
+57103,SD,Sioux Falls,43.537386,-96.686415
+57104,SD,Sioux Falls,43.551355,-96.737535
+57105,SD,Sioux Falls,43.523972,-96.734141
+57106,SD,Sioux Falls,43.517912,-96.792376
+57107,SD,Sioux Falls,43.556628,-96.802811
+57115,SD,Buffalo Ridge,43.516936,-96.834165
+57116,SD,Sioux Falls,43.508535,-96.766199
+57201,SD,Watertown,44.904295,-97.123977
+57202,SD,Waverly,45.003209,-96.946744
+57212,SD,Arlington,44.366769,-97.068734
+57213,SD,Astoria,44.573515,-96.541634
+57214,SD,Badger,44.491802,-97.218368
+57216,SD,Big Stone City,45.28504,-96.561434
+57217,SD,Bradley,45.075099,-97.638712
+57218,SD,Brandt,44.67383,-96.643545
+57219,SD,Butler,45.308982,-97.746573
+57220,SD,Bruce,44.467453,-96.910984
+57221,SD,Bryant,44.598671,-97.453659
+57223,SD,Castlewood,44.731339,-97.020432
+57224,SD,Claire City,45.875522,-97.107274
+57225,SD,Clark,44.878,-97.726536
+57226,SD,Altamont,44.763703,-96.700541
+57227,SD,Corona,45.359483,-96.664897
+57230,SD,57230,44.669557,-96.93657
+57231,SD,De Smet,44.385169,-97.563432
+57232,SD,Eden,45.621074,-97.374091
+57233,SD,Erwin,44.491484,-97.410291
+57234,SD,Dempster,44.576998,-96.923678
+57235,SD,Florence,45.055388,-97.286643
+57236,SD,Garden City,44.947413,-97.568025
+57237,SD,Gary,44.827022,-96.504362
+57238,SD,Bemis,44.886232,-96.811368
+57239,SD,Grenville,45.489673,-97.415457
+57241,SD,Hayti,44.664737,-97.230509
+57242,SD,Hazel,44.75717,-97.30829
+57243,SD,Henry,44.88576,-97.444216
+57244,SD,Hetland,44.367519,-97.141024
+57245,SD,Kranzburg,44.879264,-96.947013
+57246,SD,Labolt,45.041458,-96.689209
+57247,SD,Lake City,45.68991,-97.348131
+57248,SD,Lake Norden,44.584351,-97.200867
+57249,SD,Lake Preston,44.367298,-97.356283
+57251,SD,Marvin,45.272651,-96.90996
+57252,SD,Milbank,45.206127,-96.62548
+57255,SD,New Effington,45.865868,-96.914989
+57256,SD,Ortley,45.340633,-97.176985
+57257,SD,Peever,45.520647,-97.001205
+57258,SD,Raymond,44.863651,-97.916781
+57259,SD,Albee,45.022142,-96.562366
+57260,SD,Rosholt,45.875315,-96.71741
+57261,SD,Roslyn,45.500564,-97.540105
+57262,SD,Agency Village,45.664413,-97.02322
+57263,SD,South Shore,45.104919,-96.985885
+57264,SD,Stockholm,45.10309,-96.81059
+57265,SD,Strandburg,45.038872,-96.790129
+57266,SD,Summit,45.352128,-97.042654
+57268,SD,Toronto,44.578622,-96.70774
+57269,SD,Twin Brooks,45.211519,-96.995601
+57270,SD,Veblen,45.853508,-97.312193
+57271,SD,Vienna,44.690019,-97.545559
+57272,SD,Wallace,45.081542,-97.445751
+57273,SD,Waubay,45.37837,-97.294987
+57274,SD,Lily,45.322573,-97.515316
+57276,SD,White,44.413237,-96.614963
+57278,SD,Willow Lake,44.627225,-97.674747
+57279,SD,Wilmot,45.412487,-96.856006
+57301,SD,Loomis,43.710921,-98.027026
+57311,SD,Farmer,43.623847,-97.782087
+57312,SD,Alpena,44.170907,-98.396191
+57313,SD,Armour,43.316045,-98.341372
+57314,SD,Forestburg,44.035362,-97.953958
+57315,SD,Avon,43.039725,-98.028261
+57316,SD,Bancroft,44.494419,-97.776733
+57317,SD,Bonesteel,43.069536,-98.987959
+57319,SD,Dolton,43.554306,-97.49591
+57321,SD,Canova,43.885517,-97.534163
+57322,SD,Carpenter,44.664768,-97.916825
+57323,SD,Carthage,44.1496,-97.711632
+57324,SD,Cavour,44.364951,-98.020797
+57325,SD,Chamberlain,43.795295,-99.311819
+57328,SD,Corsica,43.421319,-98.356358
+57329,SD,Dante,42.996661,-98.174637
+57330,SD,Delmont,43.257261,-98.159612
+57331,SD,Dimock,43.470476,-97.9988
+57332,SD,Emery,43.565647,-97.647489
+57334,SD,Ethan,43.542653,-98.059074
+57335,SD,Fairfax,43.035103,-98.830757
+57336,SD,57336,43.715415,-97.71435
+57337,SD,Fedora,43.984125,-97.789003
+57339,SD,Fort Thompson,44.051695,-99.397305
+57340,SD,Fulton,43.758767,-97.871218
+57341,SD,Gann Valley,44.069303,-99.054334
+57342,SD,Geddes,43.259677,-98.69256
+57344,SD,Harrison,43.454923,-98.523338
+57345,SD,Highmore,44.532604,-99.454349
+57348,SD,Hitchcock,44.583444,-98.450914
+57349,SD,Roswell,44.029296,-97.516012
+57350,SD,Huron,44.359022,-98.216293
+57353,SD,Iroquois,44.345517,-97.854172
+57354,SD,Kaylor,43.202393,-97.820094
+57355,SD,Kimball,43.712881,-98.934305
+57356,SD,Lake Andes,43.130288,-98.496355
+57357,SD,Ravinia,43.136123,-98.426413
+57358,SD,Lane,44.067383,-98.406496
+57359,SD,Letcher,43.892324,-98.174279
+57361,SD,Marty,42.97639,-98.422429
+57362,SD,Miller,44.496644,-98.989395
+57363,SD,Mount Vernon,43.7204,-98.263288
+57364,SD,New Holland,43.431042,-98.628697
+57366,SD,Parkston,43.397796,-97.967824
+57368,SD,Plankinton,43.737287,-98.469395
+57369,SD,Academy,43.40242,-98.889656
+57370,SD,Pukwana,43.778326,-99.177884
+57371,SD,Ree Heights,44.560275,-99.22864
+57373,SD,Saint Lawrence,44.521523,-98.875427
+57374,SD,Spencer,43.755684,-97.59361
+57375,SD,Stickney,43.58422,-98.508843
+57376,SD,Tripp,43.240377,-97.971285
+57379,SD,Virgil,44.325582,-98.392146
+57380,SD,Wagner,43.081931,-98.281876
+57381,SD,Wessington,44.41285,-98.691982
+57382,SD,Wessington Sprin,44.069935,-98.611625
+57383,SD,White Lake,43.756441,-98.707613
+57384,SD,Wolsey,44.399072,-98.474251
+57385,SD,Woonsocket,44.057186,-98.243017
+57386,SD,Yale,44.495591,-97.993249
+57401,SD,Aberdeen,45.466109,-98.485642
+57420,SD,Akaska,45.332447,-100.118614
+57421,SD,Amherst,45.707426,-97.930078
+57422,SD,Andover,45.422171,-97.917497
+57424,SD,Athol,45.012833,-98.442549
+57425,SD,57425,45.022779,-98.630074
+57426,SD,Barnard,45.720469,-98.553379
+57427,SD,Bath,45.456352,-98.355209
+57428,SD,Bowdle,45.432881,-99.635978
+57429,SD,Brentford,45.153063,-98.319281
+57430,SD,Britton,45.802304,-97.741835
+57432,SD,Claremont,45.666149,-98.040367
+57433,SD,Columbia,45.671721,-98.295152
+57434,SD,Verdon,45.155125,-98.034323
+57435,SD,Cresbard,45.169125,-98.941124
+57436,SD,Doland,44.81587,-98.094709
+57437,SD,Artas,45.769768,-99.615926
+57438,SD,Miranda,45.06845,-99.134054
+57440,SD,Frankfort,44.808416,-98.293496
+57441,SD,Frederick,45.849332,-98.517564
+57442,SD,Gettysburg,45.02588,-99.976626
+57445,SD,Groton,45.450345,-98.105814
+57446,SD,Hecla,45.872515,-98.191774
+57448,SD,Hosmer,45.568988,-99.485745
+57449,SD,Houghton,45.796746,-98.095186
+57450,SD,Hoven,45.227799,-99.776286
+57451,SD,Ipswich,45.448905,-99.014807
+57452,SD,Java,45.413541,-99.835153
+57454,SD,Langford,45.617381,-97.792547
+57455,SD,Lebanon,45.012318,-99.736579
+57456,SD,Leola,45.732265,-98.901544
+57457,SD,Longlake,45.796812,-99.250677
+57460,SD,Mansfield,45.226727,-98.606568
+57461,SD,Mellette,45.16312,-98.48237
+57462,SD,Mina,45.439116,-98.756581
+57465,SD,Northville,45.161112,-98.658853
+57466,SD,Onaka,45.196527,-99.455052
+57467,SD,Orient,44.834347,-99.105787
+57468,SD,Pierpont,45.495983,-97.812844
+57469,SD,Redfield,44.871853,-98.511234
+57470,SD,Rockham,44.971579,-98.768683
+57471,SD,Roscoe,45.427119,-99.332631
+57472,SD,Selby,45.478587,-100.054067
+57473,SD,Seneca,45.026191,-99.460986
+57474,SD,Stratford,45.286595,-98.279153
+57475,SD,Tolstoy,45.170199,-99.617553
+57476,SD,Tulare,44.730489,-98.553926
+57477,SD,Turton,45.037938,-98.099641
+57479,SD,Warner,45.348627,-98.475697
+57481,SD,Wetonka,45.625025,-98.585623
+57483,SD,Zell,44.854624,-98.831746
+57501,SD,Pierre,44.369514,-100.321057
+57520,SD,Agar,44.839345,-100.071238
+57521,SD,Belvidere,43.886031,-101.238691
+57522,SD,Blunt,44.502572,-99.946278
+57523,SD,Lucas,43.210602,-99.268963
+57526,SD,Carter,43.368487,-100.172958
+57527,SD,Cedarbutte,43.64731,-101.131585
+57528,SD,Colome,43.227334,-99.693273
+57529,SD,Dallas,43.235075,-99.513994
+57531,SD,Draper,43.926035,-100.508514
+57532,SD,Fort Pierre,44.342587,-100.404323
+57533,SD,Dixon,43.226908,-99.430214
+57534,SD,Hamill,43.643942,-99.691752
+57536,SD,Harrold,44.521476,-99.738166
+57537,SD,Hayes,44.421898,-100.735938
+57538,SD,Herrick,43.101186,-99.217267
+57540,SD,Holabird,44.517327,-99.594299
+57541,SD,Ideal,43.559612,-99.927949
+57542,SD,Iona,43.575756,-99.488073
+57543,SD,Kadoka,43.84457,-101.552272
+57544,SD,Kennebec,43.892139,-99.850191
+57545,SD,Keyapaha,43.073497,-100.163958
+57547,SD,Long Valley,43.569784,-101.382145
+57548,SD,Lower Brule,44.093692,-99.613896
+57551,SD,Vetal,43.178543,-101.740814
+57552,SD,Ottumwa,44.237443,-101.292442
+57553,SD,Milesville,44.428259,-101.752276
+57555,SD,Mission,43.285017,-100.595364
+57557,SD,Mission Ridge,44.623851,-100.894553
+57559,SD,Murdo,43.896115,-100.712107
+57560,SD,Norris,43.466176,-101.151664
+57562,SD,Okaton,43.934157,-100.935054
+57564,SD,Onida,44.712543,-100.095667
+57566,SD,Parmelee,43.311716,-101.008089
+57567,SD,Philip,44.055006,-101.687611
+57568,SD,Presho,43.899538,-100.074645
+57569,SD,Reliance,43.830241,-99.485668
+57571,SD,Saint Charles,43.108893,-99.090969
+57572,SD,Saint Francis,43.191017,-100.88502
+57574,SD,Tuthill,43.119623,-101.470116
+57576,SD,Vivian,43.95352,-100.285989
+57577,SD,Wanblee,43.55893,-101.721856
+57578,SD,Wewela,43.079352,-99.747317
+57579,SD,White River,43.56662,-100.74487
+57580,SD,Clearfield,43.355504,-99.861907
+57584,SD,Witten,43.44982,-100.078291
+57585,SD,Wood,43.536599,-100.437929
+57601,SD,Mobridge,45.540723,-100.431488
+57620,SD,Bison,45.516126,-102.482707
+57622,SD,Cherry Creek,44.621018,-101.65178
+57623,SD,Dupree,45.007851,-101.63368
+57626,SD,Faith,44.992609,-102.054142
+57628,SD,Firesteel,45.430736,-101.223461
+57629,SD,Glad Valley,45.43696,-101.795168
+57630,SD,Glencross,45.450549,-100.894417
+57631,SD,Glenham,45.53351,-100.27156
+57632,SD,Herreid,45.845164,-100.048983
+57633,SD,Isabel,45.064016,-101.273637
+57634,SD,Keldron,45.902221,-101.939465
+57638,SD,Lemmon,45.915892,-102.192772
+57640,SD,Lodgepole,45.823193,-102.759917
+57641,SD,Mc Intosh,45.81244,-101.500393
+57642,SD,Mc Laughlin,45.748884,-100.877596
+57643,SD,Mahto,45.767644,-100.658897
+57644,SD,Meadow,45.353769,-102.284425
+57645,SD,Morristown,45.900642,-101.699838
+57646,SD,Mound City,45.678645,-100.047856
+57647,SD,Parade,45.108068,-100.743399
+57648,SD,Pollock,45.889043,-100.287518
+57649,SD,Prairie City,45.581342,-102.80847
+57650,SD,Ralph,45.855365,-103.035552
+57651,SD,Reva,45.527653,-103.069163
+57653,SD,Shadehill,45.669855,-102.189131
+57656,SD,Timber Lake,45.392737,-101.035077
+57657,SD,Trail City,45.440082,-100.682902
+57658,SD,Wakpala,45.700617,-100.533176
+57660,SD,Watauga,45.927593,-101.512936
+57701,SD,Rockerville,44.077041,-103.200259
+57702,SD,Silver City,44.069796,-103.283406
+57706,SD,Ellsworth Afb,44.144655,-103.07591
+57708,SD,Bethlehem,44.288967,-103.461246
+57714,SD,Allen,43.290818,-101.932858
+57716,SD,Denby,43.078962,-102.173776
+57717,SD,Belle Fourche,44.672281,-103.839601
+57718,SD,Black Hawk,44.151173,-103.348634
+57719,SD,Box Elder,44.119858,-103.068237
+57720,SD,Buffalo,45.574001,-103.582605
+57722,SD,Buffalo Gap,43.495762,-103.315749
+57724,SD,Sky Ranch,45.595289,-103.963232
+57725,SD,Caputa,43.980116,-103.023406
+57729,SD,Creighton,44.283087,-102.177043
+57730,SD,Crazy Horse,43.740886,-103.618465
+57732,SD,Deadwood,44.356628,-103.699939
+57735,SD,Edgemont,43.287361,-103.811018
+57736,SD,Elm Springs,44.239743,-102.631208
+57737,SD,Enning,44.538884,-102.6208
+57738,SD,Fairburn,43.66228,-103.213335
+57741,SD,Fort Meade,44.409097,-103.47233
+57742,SD,Fruitdale,44.660039,-103.689568
+57744,SD,Hermosa,43.818845,-103.20596
+57745,SD,Hill City,43.93768,-103.578158
+57747,SD,Hot Springs,43.422308,-103.476555
+57748,SD,Plainview,44.534952,-102.215763
+57750,SD,Interior,43.731892,-101.964238
+57751,SD,Keystone,43.969604,-103.335235
+57752,SD,Kyle,43.439437,-102.212419
+57754,SD,Spearfish Canyon,44.349012,-103.769841
+57755,SD,Ludlow,45.874655,-103.31115
+57756,SD,Manderson,43.309844,-102.374493
+57757,SD,Marcus,44.674678,-102.330697
+57758,SD,Mud Butte,45.031046,-102.803129
+57759,SD,Nemo,44.209718,-103.544863
+57760,SD,Newell,44.740979,-103.391359
+57761,SD,New Underwood,44.087354,-102.813635
+57762,SD,Nisland,44.666539,-103.540176
+57763,SD,Oelrichs,43.155063,-103.216181
+57765,SD,Opal,44.867111,-102.477752
+57766,SD,Oral,43.387587,-103.183215
+57767,SD,Owanka,44.063078,-102.562776
+57769,SD,Piedmont,44.228744,-103.368818
+57770,SD,Pine Ridge,43.112401,-102.598352
+57772,SD,Porcupine,43.293979,-102.223448
+57774,SD,Provo,43.173599,-103.866588
+57775,SD,Cottonwood,44.07721,-102.069706
+57777,SD,Redowl,44.720224,-102.65923
+57778,SD,Rochford,44.072318,-103.657621
+57779,SD,Saint Onge,44.552225,-103.734426
+57780,SD,Scenic,43.799368,-102.535309
+57782,SD,Smithwick,43.26837,-103.198826
+57783,SD,Spearfish,44.494625,-103.864962
+57785,SD,Hereford,44.413077,-103.477158
+57787,SD,Stoneville,44.638004,-102.79796
+57788,SD,Vale,44.622235,-103.379499
+57790,SD,Wall,43.981232,-102.224546
+57791,SD,Wasta,44.093707,-102.347077
+57792,SD,White Owl,44.618247,-102.445195
+57793,SD,Whitewood,44.458855,-103.637039
+57794,SD,Wounded Knee,43.185194,-102.402157
+57795,SD,Zeona,45.251481,-102.7793
+37010,TN,Adams,36.558174,-87.122626
+37012,TN,Alexandria,36.071147,-86.037171
+37013,TN,Antioch,36.059517,-86.659151
+37014,TN,Arrington,35.904876,-86.564515
+37015,TN,Ashland City,36.273132,-87.044719
+37016,TN,Auburntown,35.974392,-86.107532
+37018,TN,Beechgrove,35.644733,-86.204644
+37019,TN,Belfast,35.406905,-86.709482
+37020,TN,Bell Buckle,35.638105,-86.394908
+37022,TN,Bethpage,36.518575,-86.314572
+37023,TN,Big Rock,36.571606,-87.737838
+37025,TN,Bon Aqua,35.947073,-87.299564
+37026,TN,Bradyville,35.705278,-86.09119
+37027,TN,Brentwood,36.006272,-86.790947
+37028,TN,Bumpus Mills,36.622618,-87.861434
+37029,TN,Burns,36.047066,-87.306061
+37030,TN,Defeated,36.255617,-85.96969
+37031,TN,Castalian Spring,36.382108,-86.315545
+37032,TN,Cedar Hill,36.506163,-87.027523
+37033,TN,Centerville,35.779685,-87.477473
+37034,TN,Chapel Hill,35.63542,-86.683584
+37035,TN,Chapmansboro,36.378078,-87.111288
+37036,TN,Charlotte,36.232612,-87.281554
+37037,TN,Christiana,35.740877,-86.407932
+37040,TN,Clarksville,36.522014,-87.348997
+37042,TN,Clarksville,36.585315,-87.418621
+37043,TN,Clarksville,36.5107,-87.275653
+37046,TN,College Grove,35.783166,-86.749516
+37047,TN,Cornersville,35.34088,-86.82862
+37048,TN,Cottontown,36.491231,-86.603338
+37049,TN,Cross Plains,36.553068,-86.676088
+37050,TN,Cumberland City,36.366924,-87.63494
+37051,TN,Cumberland Furna,36.316146,-87.406585
+37052,TN,Cunningham,36.378926,-87.424546
+37055,TN,Dickson,36.076014,-87.399532
+37057,TN,Dixon Springs,36.445538,-86.05335
+37058,TN,Dover,36.507521,-87.838333
+37059,TN,Dowelltown,35.972485,-85.905533
+37060,TN,Eagleville,35.749243,-86.632652
+37061,TN,Erin,36.306684,-87.678964
+37062,TN,Fairview,35.975528,-87.132065
+37064,TN,Franklin,35.932782,-86.878833
+37066,TN,Gallatin,36.383438,-86.45116
+37072,TN,Goodlettsville,36.341677,-86.721215
+37073,TN,Greenbrier,36.422914,-86.791356
+37074,TN,Hartsville,36.394728,-86.170408
+37075,TN,Hendersonville,36.305425,-86.607157
+37076,TN,Hermitage,36.184814,-86.600162
+37078,TN,Hurricane Mills,35.974859,-87.767129
+37079,TN,Indian Mound,36.494593,-87.680368
+37080,TN,Joelton,36.328974,-86.916306
+37082,TN,Kingston Springs,36.095324,-87.115646
+37083,TN,Lafayette,36.538955,-86.024217
+37085,TN,Lascassas,35.949535,-86.311192
+37086,TN,La Vergne,36.012714,-86.559969
+37087,TN,Lebanon,36.209792,-86.302367
+37091,TN,Lewisburg,35.459615,-86.781204
+37095,TN,Gassaway,35.974593,-85.985448
+37096,TN,Flatwoods,35.599784,-87.865582
+37097,TN,Lobelville,35.746659,-87.825106
+37098,TN,Wrigley,35.892216,-87.317199
+37101,TN,Mc Ewen,36.118477,-87.64221
+37110,TN,Plaza,35.697358,-85.791609
+37115,TN,Madison,36.260386,-86.704557
+37118,TN,Milton,35.922085,-86.182377
+37122,TN,Mount Juliet,36.189684,-86.502344
+37129,TN,Murfreesboro,35.871019,-86.41809
+37130,TN,Murfreesboro,35.847792,-86.364675
+37134,TN,New Johnsonville,36.008775,-87.954693
+37135,TN,Nolensville,35.930723,-86.682868
+37137,TN,Nunnelly,35.87627,-87.506661
+37138,TN,Old Hickory,36.241564,-86.611704
+37140,TN,Only,35.867888,-87.665451
+37141,TN,Orlinda,36.611045,-86.699002
+37142,TN,Palmyra,36.417568,-87.491359
+37143,TN,Pegram,36.11291,-87.031613
+37144,TN,Petersburg,35.292416,-86.644728
+37145,TN,Pleasant Shade,36.348924,-85.908057
+37146,TN,Pleasant View,36.378281,-87.03948
+37147,TN,Pleasantville,35.668373,-87.653664
+37148,TN,Portland,36.567306,-86.505923
+37149,TN,Readyville,35.798878,-86.241483
+37150,TN,Red Boiling Spri,36.531283,-85.846333
+37151,TN,Riddleton,36.350581,-86.033482
+37153,TN,Rockvale,35.74503,-86.535196
+37160,TN,Royal,35.488313,-86.463425
+37166,TN,Smithville,35.929907,-85.804562
+37167,TN,Smyrna,35.965611,-86.504818
+37171,TN,Southside,36.362588,-87.306087
+37172,TN,Springfield,36.50182,-86.876901
+37174,TN,Spring Hill,35.717294,-86.904807
+37175,TN,Stewart,36.324055,-87.872495
+37178,TN,Tennessee Ridge,36.329712,-87.780761
+37179,TN,Thompsons Statio,35.831006,-87.004875
+37180,TN,Unionville,35.622416,-86.563852
+37181,TN,Vanleer,36.223738,-87.45653
+37183,TN,Wartrace,35.512299,-86.327736
+37184,TN,Watertown,36.095268,-86.143411
+37185,TN,Waverly,36.099664,-87.799108
+37186,TN,Westmoreland,36.575554,-86.235296
+37187,TN,White Bluff,36.12531,-87.21901
+37188,TN,White House,36.460048,-86.670524
+37189,TN,Whites Creek,36.274377,-86.82922
+37190,TN,Woodbury,35.814254,-86.050044
+37191,TN,Woodlawn,36.514695,-87.539331
+37201,TN,Nashville,36.167028,-86.778441
+37203,TN,Nashville,36.146802,-86.793922
+37204,TN,Melrose,36.114628,-86.781808
+37205,TN,Nashville,36.111432,-86.868954
+37206,TN,Nashville,36.179813,-86.741106
+37207,TN,Nashville,36.2195,-86.774008
+37208,TN,Nashville,36.176196,-86.807563
+37209,TN,Nashville,36.154592,-86.860212
+37210,TN,Nashville,36.137904,-86.741042
+37211,TN,Nashville,36.072486,-86.724038
+37212,TN,Nashville,36.133681,-86.800555
+37213,TN,Nashville,36.165512,-86.760556
+37214,TN,Nashville,36.163339,-86.660854
+37215,TN,Nashville,36.098584,-86.821917
+37216,TN,Nashville,36.212491,-86.725687
+37217,TN,Nashville,36.10585,-86.666585
+37218,TN,Nashville,36.207062,-86.845583
+37219,TN,Nashville,36.167768,-86.783676
+37220,TN,Nashville,36.064139,-86.769654
+37221,TN,Bellevue,36.071512,-86.943674
+37228,TN,Nashville,36.190145,-86.805264
+37301,TN,Altamont,35.425776,-85.763508
+37302,TN,Apison,35.014926,-85.016404
+37303,TN,Athens,35.457389,-84.604261
+37305,TN,Beersheba Spring,35.470371,-85.682128
+37306,TN,Belvidere,35.141499,-86.172827
+37307,TN,Benton,35.172953,-84.654433
+37308,TN,Birchwood,35.351968,-84.961835
+37309,TN,Calhoun,35.374614,-84.738105
+37310,TN,Charleston,35.255644,-84.766639
+37311,TN,Cleveland,35.131257,-84.875006
+37312,TN,Cleveland,35.202309,-84.847557
+37313,TN,Coalmont,35.386197,-85.655097
+37317,TN,Postelle,35.024987,-84.383964
+37318,TN,Cowan,35.170121,-86.019007
+37321,TN,Dayton,35.500186,-85.013455
+37322,TN,Decatur,35.507166,-84.808051
+37324,TN,Decherd,35.232598,-86.058859
+37325,TN,Delano,35.261234,-84.602366
+37327,TN,Dunlap,35.384175,-85.392513
+37328,TN,Elora,35.029496,-86.34811
+37329,TN,Englewood,35.427245,-84.483265
+37330,TN,Estill Springs,35.270508,-86.139561
+37331,TN,Etowah,35.331443,-84.528305
+37332,TN,Evensville,35.615346,-85.022773
+37333,TN,Farner,35.144894,-84.320904
+37334,TN,Fayetteville,35.152678,-86.566448
+37335,TN,Flintville,35.042782,-86.497974
+37336,TN,Georgetown,35.293241,-84.912684
+37337,TN,Grandview,35.760843,-84.861464
+37338,TN,Graysville,35.44842,-85.17904
+37339,TN,Gruetli Laager,35.363464,-85.669773
+37340,TN,Guild,35.017834,-85.511568
+37341,TN,Harrison,35.167898,-85.094532
+37342,TN,Hillsboro,35.369933,-85.972422
+37343,TN,Hixson,35.159112,-85.218215
+37345,TN,Huntland,35.051198,-86.269435
+37347,TN,Kimball,35.066603,-85.614737
+37348,TN,Kelso,35.102356,-86.468343
+37350,TN,Lookout Mountain,34.994825,-85.350564
+37352,TN,Lynchburg,35.270642,-86.372019
+37353,TN,Mc Donald,35.086902,-84.989198
+37354,TN,Hiwassee College,35.500917,-84.351899
+37355,TN,Manchester,35.495846,-86.081568
+37356,TN,Monteagle,35.240172,-85.822795
+37357,TN,Morrison,35.60002,-85.889895
+37359,TN,Mulberry,35.19413,-86.421685
+37360,TN,Normandy,35.429628,-86.255712
+37361,TN,Ocoee,35.102473,-84.713565
+37362,TN,Oldfort,35.03654,-84.721877
+37363,TN,Ooltewah,35.078104,-85.063495
+37365,TN,Palmer,35.374062,-85.564272
+37366,TN,Pelham,35.314045,-85.84408
+37367,TN,Pikeville,35.640769,-85.207653
+37369,TN,Reliance,35.180664,-84.54103
+37370,TN,Riceville,35.344615,-84.646247
+37373,TN,Sale Creek,35.385806,-85.102323
+37374,TN,Sequatchie,35.163396,-85.637084
+37375,TN,Sewanee,35.201101,-85.91259
+37376,TN,Sherwood,35.099164,-85.923841
+37377,TN,Signal Mountain,35.149424,-85.336243
+37379,TN,Soddy Daisy,35.252686,-85.163009
+37380,TN,South Pittsburg,35.028046,-85.722498
+37381,TN,Spring City,35.682072,-84.841968
+37385,TN,Tellico Plains,35.356237,-84.306785
+37387,TN,Tracy City,35.272081,-85.736187
+37388,TN,Dickel,35.35841,-86.22069
+37391,TN,Turtletown,35.108089,-84.354381
+37396,TN,Whiteside,35.066289,-85.398499
+37397,TN,Whitwell,35.197228,-85.501112
+37398,TN,Winchester,35.186398,-86.113038
+37402,TN,Chattanooga,35.046288,-85.316126
+37403,TN,Chattanooga,35.045045,-85.296516
+37404,TN,Chattanooga,35.030634,-85.272229
+37405,TN,Chattanooga,35.076801,-85.308224
+37406,TN,Chattanooga,35.061446,-85.247839
+37407,TN,Chattanooga,35.002361,-85.284913
+37408,TN,Chattanooga,35.029236,-85.306809
+37409,TN,Chattanooga,34.99809,-85.331016
+37410,TN,Chattanooga,35.001787,-85.313762
+37411,TN,Chattanooga,35.02706,-85.235583
+37412,TN,East Ridge,34.996726,-85.237957
+37415,TN,Red Bank,35.117668,-85.28633
+37416,TN,Chattanooga,35.094246,-85.175656
+37419,TN,Chattanooga,35.033092,-85.368698
+37421,TN,Chattanooga,35.024986,-85.14594
+37601,TN,Johnson City,36.333872,-82.340775
+37604,TN,Johnson City,36.310744,-82.381042
+37615,TN,Gray,36.41006,-82.447128
+37616,TN,Afton,36.204166,-82.746667
+37617,TN,Blountville,36.53562,-82.365558
+37618,TN,Bluff City,36.477391,-82.236181
+37620,TN,Bristol,36.568643,-82.181864
+37640,TN,Butler,36.328158,-81.985614
+37641,TN,Chuckey,36.221142,-82.667448
+37642,TN,Church Hill,36.539926,-82.725184
+37643,TN,Elizabethton,36.344548,-82.201481
+37645,TN,Mount Carmel,36.562913,-82.653217
+37650,TN,Erwin,36.134193,-82.41631
+37656,TN,Fall Branch,36.415839,-82.625605
+37657,TN,Flag Pond,36.008507,-82.562301
+37658,TN,Hampton,36.257743,-82.189144
+37659,TN,Jonesborough,36.295426,-82.490225
+37660,TN,Bloomingdale,36.552766,-82.554034
+37663,TN,Colonial Heights,36.4693,-82.4948
+37664,TN,Kingsport,36.520834,-82.516835
+37665,TN,Lynn Garden,36.578305,-82.569906
+37680,TN,Laurel Bloomery,36.574946,-81.725537
+37681,TN,Washington Colle,36.236968,-82.61709
+37683,TN,Mountain City,36.465724,-81.813999
+37686,TN,Piney Flats,36.446122,-82.333957
+37687,TN,Roan Mountain,36.177333,-82.081041
+37688,TN,Shady Valley,36.527218,-81.906797
+37690,TN,Telford,36.245053,-82.536935
+37691,TN,Trade,36.368328,-81.757234
+37692,TN,Unicoi,36.206585,-82.321957
+37694,TN,Watauga,36.370157,-82.268262
+37701,TN,Alcoa,35.78522,-83.980895
+37705,TN,Andersonville,36.191514,-84.054399
+37708,TN,Bean Station,36.32493,-83.314248
+37709,TN,Blaine,36.15832,-83.678272
+37710,TN,Devonia,36.185426,-84.215968
+37711,TN,Bulls Gap,36.325707,-83.03149
+37713,TN,Bybee,36.073957,-83.163071
+37714,TN,Caryville,36.285422,-84.189794
+37715,TN,Clairfield,36.565026,-83.939693
+37716,TN,Clinton,36.08688,-84.189735
+37721,TN,Corryton,36.120011,-83.813
+37722,TN,Cosby,35.834693,-83.218743
+37723,TN,Crab Orchard,35.889763,-84.858577
+37724,TN,Cumberland Gap,36.550381,-83.681049
+37725,TN,Dandridge,36.001798,-83.404435
+37726,TN,Deer Lodge,36.217584,-84.819074
+37727,TN,Del Rio,35.882967,-83.015008
+37729,TN,Duff,36.411035,-84.01247
+37731,TN,Eidson,36.499522,-83.08272
+37737,TN,Friendsville,35.752302,-84.106069
+37738,TN,Gatlinburg,35.728976,-83.487406
+37742,TN,Greenback,35.656738,-84.170959
+37743,TN,Baileyton,36.160807,-82.833136
+37748,TN,Harriman,35.934785,-84.515526
+37752,TN,Harrogate,36.576718,-83.607262
+37753,TN,Hartford,35.825597,-83.099642
+37754,TN,Heiskell,36.115027,-84.043826
+37755,TN,Helenwood,36.43294,-84.538088
+37756,TN,Huntsville,36.398329,-84.428832
+37757,TN,Jacksboro,36.326615,-84.192835
+37760,TN,Jefferson City,36.11633,-83.480982
+37762,TN,Jellico,36.554407,-84.118067
+37763,TN,Kingston,35.852807,-84.497054
+37764,TN,Kodak,35.972215,-83.617111
+37765,TN,Kyles Ford,36.572072,-83.050712
+37766,TN,Morley,36.368967,-84.111568
+37769,TN,Lake City,36.203223,-84.138567
+37770,TN,Lancing,36.145644,-84.713519
+37771,TN,Lenoir City,35.810391,-84.266501
+37774,TN,Loudon,35.729211,-84.34362
+37777,TN,Louisville,35.837465,-84.008895
+37778,TN,Lowland,36.164016,-83.244592
+37779,TN,Luttrell,36.200136,-83.759976
+37801,TN,Maryville,35.782449,-83.914541
+37804,TN,Maryville,35.715659,-84.004491
+37806,TN,Mascot,36.084421,-83.741101
+37807,TN,Maynardville,36.234274,-83.840261
+37809,TN,Midway,36.150995,-83.028141
+37810,TN,Mohawk,36.186919,-83.090185
+37811,TN,Mooresburg,36.362082,-83.209499
+37813,TN,Morristown,36.195672,-83.275519
+37814,TN,Morristown,36.224782,-83.31185
+37818,TN,Mosheim,36.183883,-82.967399
+37819,TN,Newcomb,36.542768,-84.179848
+37820,TN,New Market,36.081037,-83.567253
+37821,TN,Newport,35.954431,-83.202749
+37825,TN,New Tazewell,36.424475,-83.646949
+37826,TN,Niota,35.581924,-84.57215
+37829,TN,Oakdale,36.009962,-84.575295
+37830,TN,Oak Ridge,36.01588,-84.262297
+37840,TN,Oliver Springs,36.036616,-84.348632
+37841,TN,Oneida,36.505259,-84.529319
+37843,TN,Parrottsville,35.998297,-83.073627
+37845,TN,Petros,36.055903,-84.439914
+37846,TN,Philadelphia,35.664214,-84.450221
+37847,TN,Pioneer,36.469465,-84.290672
+37848,TN,Powder Springs,36.254899,-83.672921
+37849,TN,Powell,36.043454,-84.039987
+37852,TN,Robbins,36.352693,-84.590417
+37853,TN,Rockford,35.830519,-83.941202
+37854,TN,Rockwood,35.858677,-84.684188
+37857,TN,Rogersville,36.416196,-83.010786
+37860,TN,Russellville,36.256684,-83.19138
+37861,TN,Rutledge,36.250078,-83.512468
+37862,TN,Sevierville,35.845192,-83.538621
+37863,TN,Pigeon Forge,35.792222,-83.563821
+37865,TN,Seymour,35.869984,-83.749511
+37866,TN,Sharps Chapel,36.368498,-83.81268
+37869,TN,Sneedville,36.527515,-83.252892
+37870,TN,Speedwell,36.479723,-83.813495
+37871,TN,Strawberry Plain,36.041462,-83.677724
+37872,TN,Sunbright,36.262234,-84.69842
+37873,TN,Surgoinsville,36.474066,-82.830597
+37874,TN,Sweetwater,35.595703,-84.430424
+37877,TN,Talbott,36.159958,-83.412864
+37878,TN,Tallassee,35.583663,-84.003338
+37879,TN,Tazewell,36.471012,-83.555219
+37880,TN,Ten Mile,35.686175,-84.654848
+37881,TN,Thorn Hill,36.391687,-83.365973
+37882,TN,Townsend,35.678385,-83.757157
+37883,TN,Treadway,36.428202,-83.219138
+37885,TN,Vonore,35.535364,-84.177829
+37886,TN,Walland,35.753311,-83.824307
+37887,TN,Wartburg,36.101609,-84.565188
+37888,TN,Washburn,36.310649,-83.593685
+37890,TN,Baneberry,36.090299,-83.287921
+37891,TN,Whitesburg,36.262125,-83.145844
+37892,TN,Winfield,36.559825,-84.434026
+37902,TN,Knoxville,35.962516,-83.920915
+37909,TN,Knoxville,35.945978,-84.023501
+37912,TN,Knoxville,36.005492,-83.977317
+37914,TN,Knoxville,35.991755,-83.849624
+37915,TN,Knoxville,35.972074,-83.901005
+37916,TN,Knoxville,35.955584,-83.933576
+37917,TN,Knoxville,35.99803,-83.915216
+37918,TN,Knoxville,36.050054,-83.922558
+37919,TN,Knoxville,35.924385,-84.001468
+37920,TN,Kimberlin Height,35.922976,-83.879793
+37921,TN,Karns,35.976297,-83.982894
+37922,TN,Concord,35.877697,-84.127332
+37923,TN,Knoxville,35.933127,-84.076116
+37924,TN,Knoxville,36.032044,-83.80207
+37931,TN,Knoxville,35.992363,-84.120072
+37932,TN,Concord Farragut,35.923619,-84.169591
+37938,TN,Knoxville,36.105473,-83.945968
+38001,TN,Alamo,35.801697,-89.176465
+38002,TN,Arlington,35.275171,-89.729502
+38004,TN,Atoka,35.421337,-89.8216
+38006,TN,Bells,35.71976,-89.072857
+38008,TN,Bolivar,35.246082,-89.000723
+38011,TN,Brighton,35.470328,-89.752477
+38012,TN,Brownsville,35.609957,-89.262352
+38015,TN,Burlison,35.53995,-89.817729
+38017,TN,Collierville,35.055077,-89.676724
+38018,TN,Cordova,35.156349,-89.778934
+38019,TN,Covington,35.559838,-89.650144
+38023,TN,Drummonds,35.445203,-89.923649
+38024,TN,Dyersburg,36.044447,-89.383644
+38028,TN,Eads,35.15512,-89.676004
+38030,TN,Finley,36.016938,-89.513403
+38034,TN,Friendship,35.897642,-89.204136
+38037,TN,Gates,35.843942,-89.459182
+38039,TN,Grand Junction,35.065885,-89.153415
+38040,TN,Halls,35.886232,-89.414671
+38041,TN,Fort Pillow,35.682868,-89.637542
+38042,TN,Hickory Valley,35.157959,-89.130905
+38044,TN,Hornsby,35.219706,-88.826315
+38049,TN,Mason,35.438012,-89.551805
+38052,TN,Middleton,35.0818,-88.904625
+38053,TN,Millington,35.318463,-89.905422
+38057,TN,Moscow,35.058796,-89.359508
+38059,TN,Newbern,36.100875,-89.251364
+38060,TN,Oakland,35.222929,-89.551764
+38061,TN,Pocahontas,35.031476,-88.811559
+38063,TN,Ripley,35.752651,-89.534975
+38066,TN,Rossville,35.076758,-89.567848
+38067,TN,Saulsbury,35.049786,-89.076868
+38068,TN,Somerville,35.277218,-89.391813
+38069,TN,Stanton,35.448171,-89.33263
+38075,TN,Whiteville,35.319104,-89.133692
+38076,TN,Williston,35.166595,-89.390584
+38079,TN,Tiptonville,36.384583,-89.464922
+38080,TN,Ridgely,36.263849,-89.485765
+38103,TN,Memphis,35.144001,-90.047995
+38104,TN,Memphis,35.133393,-90.004625
+38105,TN,Memphis,35.149748,-90.033042
+38106,TN,Memphis,35.102124,-90.032997
+38107,TN,Memphis,35.183136,-90.020077
+38108,TN,Memphis,35.178655,-89.968238
+38109,TN,Memphis,35.042538,-90.073238
+38111,TN,Memphis,35.107573,-89.945745
+38112,TN,Memphis,35.148277,-89.972895
+38113,TN,Memphis,35.111201,-90.079426
+38114,TN,Memphis,35.098094,-89.98254
+38115,TN,Hickory Hill,35.054405,-89.86082
+38116,TN,Memphis,35.030298,-90.012314
+38117,TN,Memphis,35.112357,-89.903367
+38118,TN,Memphis,35.051421,-89.926538
+38119,TN,Memphis,35.082101,-89.850142
+38120,TN,Memphis,35.120654,-89.865119
+38122,TN,Memphis,35.157166,-89.926844
+38125,TN,Memphis,35.031249,-89.812357
+38126,TN,Memphis,35.125518,-90.042444
+38127,TN,Memphis,35.250982,-90.029623
+38128,TN,Memphis,35.221273,-89.941314
+38131,TN,Memphis,35.0655,-90.003699
+38132,TN,Memphis,35.071967,-89.988627
+38133,TN,Memphis,35.205362,-89.803564
+38134,TN,Bartlett,35.188639,-89.86409
+38135,TN,Memphis,35.232301,-89.850878
+38138,TN,Germantown,35.088344,-89.80526
+38139,TN,Germantown,35.087414,-89.770281
+38141,TN,Memphis,35.023091,-89.84916
+38201,TN,Mc Kenzie,36.127195,-88.513416
+38220,TN,Atwood,35.966345,-88.624656
+38221,TN,Big Sandy,36.228515,-88.062732
+38222,TN,Buchanan,36.414624,-88.151464
+38224,TN,Cottage Grove,36.34789,-88.461421
+38225,TN,Dresden,36.295042,-88.696291
+38226,TN,Dukedom,36.479645,-88.692553
+38229,TN,Gleason,36.211737,-88.618441
+38230,TN,Greenfield,36.148502,-88.74532
+38231,TN,Henry,36.201343,-88.453609
+38232,TN,Hornbeak,36.359594,-89.305617
+38233,TN,Kenton,36.190583,-89.022879
+38236,TN,Mansfield,36.184744,-88.285934
+38237,TN,Martin,36.342467,-88.855395
+38240,TN,Obion,36.265679,-89.28052
+38241,TN,Palmersville,36.394772,-88.614178
+38242,TN,Paris,36.300519,-88.309328
+38251,TN,Puryear,36.445632,-88.347193
+38253,TN,Rives,36.263665,-89.037632
+38255,TN,Sharon,36.239454,-88.847661
+38256,TN,Springville,36.265033,-88.145941
+38257,TN,South Fulton,36.481386,-88.880781
+38258,TN,Trezevant,36.017213,-88.610036
+38259,TN,Trimble,36.201113,-89.186265
+38260,TN,Troy,36.341644,-89.161058
+38261,TN,Union City,36.426311,-89.066662
+38301,TN,Jackson,35.610222,-88.814011
+38305,TN,Jackson,35.682875,-88.828127
+38310,TN,Adamsville,35.25561,-88.413367
+38311,TN,Bath Springs,35.452111,-88.12863
+38313,TN,Beech Bluff,35.592156,-88.639634
+38315,TN,Bethel Springs,35.228893,-88.643972
+38316,TN,Bradford,36.064474,-88.804593
+38317,TN,Bruceton,36.026792,-88.251804
+38318,TN,Buena Vista,35.943119,-88.292576
+38320,TN,Camden,36.055578,-88.111853
+38321,TN,Cedar Grove,35.861261,-88.551702
+38326,TN,Counce,35.039415,-88.293567
+38327,TN,Crump,35.221641,-88.335641
+38328,TN,Darden,35.662962,-88.217688
+38329,TN,Decaturville,35.558455,-88.133413
+38330,TN,Dyer,36.071578,-89.019226
+38332,TN,Enville,35.439321,-88.420613
+38333,TN,Eva,36.078814,-88.028036
+38334,TN,Finger,35.325208,-88.606709
+38337,TN,Gadsden,35.779867,-88.992947
+38339,TN,Guys,35.014211,-88.520761
+38340,TN,Henderson,35.426929,-88.639774
+38341,TN,Holladay,35.895143,-88.091183
+38342,TN,Hollow Rock,36.056524,-88.290135
+38343,TN,Humboldt,35.836993,-88.905652
+38344,TN,Huntingdon,36.006228,-88.420211
+38345,TN,Huron,35.614377,-88.519549
+38347,TN,Jacks Creek,35.478206,-88.501865
+38348,TN,Lavinia,35.85834,-88.632442
+38351,TN,Lexington,35.651195,-88.392743
+38352,TN,Luray,35.598846,-88.578422
+38355,TN,Medina,35.808088,-88.762655
+38356,TN,Medon,35.471804,-88.871656
+38357,TN,Michie,35.060306,-88.440463
+38358,TN,Milan,35.925089,-88.768844
+38359,TN,Milledgeville,35.345175,-88.399125
+38361,TN,Morris Chapel,35.302562,-88.317599
+38362,TN,Oakfield,35.754756,-88.802145
+38363,TN,Parsons,35.66635,-88.119532
+38366,TN,Pinson,35.478059,-88.730396
+38367,TN,Ramer,35.064181,-88.601733
+38368,TN,Reagan,35.50957,-88.350778
+38369,TN,Rutherford,36.130027,-88.984863
+38370,TN,Saltillo,35.381467,-88.247225
+38371,TN,Sardis,35.438598,-88.3058
+38372,TN,Savannah,35.202272,-88.200541
+38374,TN,Scotts Hill,35.504992,-88.240476
+38375,TN,Selmer,35.169124,-88.595832
+38376,TN,Shiloh,35.119545,-88.350717
+38379,TN,Stantonville,35.180946,-88.436432
+38380,TN,Sugar Tree,35.791993,-88.032249
+38381,TN,Toone,35.357421,-88.935286
+38382,TN,Trenton,35.971246,-88.950655
+38387,TN,Westport,35.916918,-88.336364
+38388,TN,Wildersville,35.769772,-88.438794
+38390,TN,Yuma,35.867964,-88.381878
+38391,TN,Denmark,35.557059,-88.975892
+38392,TN,Mercer,35.481828,-89.03728
+38401,TN,Columbia,35.615577,-87.038032
+38425,TN,Clifton,35.381948,-87.94997
+38449,TN,Ardmore,35.057445,-86.879555
+38450,TN,Collinwood,35.163525,-87.718488
+38451,TN,Culleoka,35.474914,-87.000503
+38452,TN,Cypress Inn,35.057945,-87.78833
+38453,TN,Ardmore,35.003654,-86.910024
+38454,TN,Duck River,35.738599,-87.342336
+38456,TN,Ethridge,35.332648,-87.303912
+38457,TN,Five Points,35.031046,-87.296128
+38459,TN,Frankewing,35.177854,-86.781818
+38460,TN,Goodspring,35.116709,-87.127788
+38461,TN,Hampshire,35.591482,-87.325135
+38462,TN,Kimmins,35.540837,-87.55461
+38463,TN,Iron City,35.056283,-87.647321
+38464,TN,Lawrenceburg,35.250668,-87.352582
+38468,TN,Leoma,35.138177,-87.316773
+38469,TN,Loretto,35.072797,-87.426978
+38471,TN,Lutts,35.113842,-87.892291
+38472,TN,Lynnville,35.379235,-87.062877
+38473,TN,Minor Hill,35.050034,-87.152194
+38474,TN,Mount Pleasant,35.530084,-87.203678
+38475,TN,Olivehill,35.266711,-88.039038
+38476,TN,Primm Springs,35.810364,-87.253043
+38477,TN,Prospect,35.066626,-87.017384
+38478,TN,Pulaski,35.209274,-87.039263
+38481,TN,Saint Joseph,35.037556,-87.501807
+38482,TN,Santa Fe,35.75877,-87.151543
+38483,TN,Summertown,35.430673,-87.31983
+38485,TN,Waynesboro,35.322019,-87.739498
+38486,TN,Westpoint,35.139302,-87.538025
+38487,TN,Williamsport,35.64937,-87.225692
+38488,TN,Taft,35.051731,-86.644672
+38501,TN,Algood,36.174261,-85.49531
+38504,TN,Allardt,36.374889,-84.850784
+38541,TN,Allons,36.497002,-85.319744
+38542,TN,Allred,36.366838,-85.176084
+38543,TN,Alpine,36.380324,-85.152153
+38544,TN,Baxter,36.124917,-85.637766
+38545,TN,Bloomington Spri,36.219454,-85.64786
+38547,TN,Brush Creek,36.110673,-86.020344
+38548,TN,Buffalo Valley,36.183311,-85.758879
+38549,TN,Byrdstown,36.570869,-85.145647
+38551,TN,Celina,36.547491,-85.496551
+38552,TN,Chestnut Mound,36.192877,-85.837402
+38553,TN,Clarkrange,36.211188,-84.977737
+38554,TN,Crawford,36.23611,-85.168765
+38555,TN,Fairfield Glade,35.944041,-85.017171
+38556,TN,Jamestown,36.424471,-84.935721
+38559,TN,Doyle,35.872206,-85.498997
+38560,TN,Elmwood,36.235468,-85.880843
+38562,TN,Gainesboro,36.343767,-85.635509
+38563,TN,Gordonsville,36.184317,-86.000818
+38564,TN,Granville,36.276847,-85.747533
+38565,TN,Grimsley,36.243353,-85.01549
+38567,TN,Hickman,36.119653,-85.902297
+38568,TN,Hilham,36.391492,-85.436918
+38569,TN,Lancaster,36.09542,-85.855095
+38570,TN,Livingston,36.389012,-85.320523
+38573,TN,Monroe,36.464201,-85.216385
+38574,TN,Monterey,36.150862,-85.254198
+38575,TN,Moss,36.596623,-85.677235
+38577,TN,Pall Mall,36.578066,-85.038385
+38578,TN,Pleasant Hill,36.01121,-85.16694
+38579,TN,Quebeck,35.825379,-85.538189
+38580,TN,Rickman,36.301933,-85.380572
+38581,TN,Bone Cave,35.743813,-85.635156
+38582,TN,Silver Point,36.100562,-85.733801
+38583,TN,Ravenscroft,35.954664,-85.478582
+38585,TN,Spencer,35.727871,-85.428661
+38587,TN,Walling,35.869543,-85.618509
+38588,TN,Whitleyville,36.515839,-85.689873
+38589,TN,Wilder,36.230526,-85.074717
+42223,TN,Fort Campbell,36.599497,-87.558507
+75002,TX,Allen,33.093383,-96.645433
+75006,TX,Carrollton,32.965736,-96.882464
+75007,TX,Carrollton,33.003294,-96.881988
+75008,TX,Carrollton,33.03524,-96.923197
+75009,TX,Celina,33.310316,-96.767325
+75010,TX,Carrollton,33.030414,-96.877746
+75019,TX,Coppell,32.96727,-96.980516
+75020,TX,Denison,33.745009,-96.549574
+75023,TX,Plano,33.054972,-96.736454
+75024,TX,Plano,33.075211,-96.784307
+75025,TX,Plano,33.078377,-96.729142
+75028,TX,Flower Mound,33.038268,-97.074501
+75034,TX,Frisco,33.149901,-96.824105
+75038,TX,Irving,32.865309,-96.990503
+75039,TX,Irving,32.869669,-96.938876
+75040,TX,Garland,32.922744,-96.624804
+75041,TX,Garland,32.87937,-96.641115
+75042,TX,Garland,32.918486,-96.677545
+75043,TX,Garland,32.856502,-96.599882
+75044,TX,Garland,32.952228,-96.665383
+75048,TX,Sachse,32.973576,-96.591472
+75050,TX,Grand Prairie,32.76488,-97.01121
+75051,TX,Grand Prairie,32.711471,-97.006916
+75052,TX,Grand Prairie,32.660475,-97.031142
+75056,TX,The Colony,33.094023,-96.883574
+75057,TX,Lewisville,33.053162,-96.999882
+75058,TX,Gunter,33.449513,-96.734103
+75060,TX,Irving,32.80231,-96.959665
+75061,TX,Irving,32.826658,-96.963256
+75062,TX,Irving,32.847854,-96.974027
+75063,TX,Irving,32.924686,-96.959817
+75065,TX,Lake Dallas,33.121903,-97.023709
+75067,TX,Highland Village,33.04503,-97.026815
+75068,TX,Lakewood Village,33.178319,-96.967811
+75069,TX,Mc Kinney,33.196558,-96.608488
+75070,TX,Mc Kinney,33.195148,-96.664223
+75074,TX,Plano,33.027722,-96.67771
+75075,TX,Plano,33.024985,-96.739743
+75076,TX,Pottsboro,33.809526,-96.690562
+75078,TX,Prosper,33.236169,-96.795401
+75080,TX,Richardson,32.965986,-96.745249
+75081,TX,Richardson,32.946217,-96.705841
+75082,TX,Richardson,32.986461,-96.685957
+75087,TX,Heath,32.90456,-96.454497
+75088,TX,Rowlett,32.90315,-96.547161
+75090,TX,Sherman,33.643525,-96.607521
+75093,TX,Plano,33.029866,-96.788903
+75094,TX,Murphy,33.004873,-96.609101
+75098,TX,Wylie,33.004102,-96.539383
+75102,TX,Barry,32.101356,-96.625141
+75103,TX,Canton,32.514301,-95.904657
+75104,TX,Cedar Hill,32.58847,-96.943802
+75105,TX,Chatfield,32.295416,-96.388668
+75110,TX,Corsicana,32.086776,-96.476151
+75114,TX,Crandall,32.597465,-96.46369
+75115,TX,De Soto,32.593167,-96.854721
+75116,TX,Duncanville,32.65873,-96.911392
+75117,TX,Edgewood,32.700326,-95.878011
+75119,TX,Ennis,32.332102,-96.622363
+75124,TX,Eustace,32.296485,-96.013693
+75125,TX,Ferris,32.52232,-96.664321
+75126,TX,Forney,32.749055,-96.459759
+75127,TX,Fruitvale,32.676981,-95.789903
+75134,TX,Lancaster,32.616056,-96.782997
+75135,TX,Caddo Mills,33.068267,-96.239093
+75137,TX,Duncanville,32.634665,-96.911325
+75140,TX,Grand Saline,32.663528,-95.706411
+75141,TX,Hutchins,32.639586,-96.707021
+75142,TX,Kaufman,32.54599,-96.285239
+75143,TX,Seven Points,32.369146,-96.257768
+75144,TX,Kerens,32.127463,-96.229828
+75146,TX,Lancaster,32.591395,-96.772805
+75147,TX,Gun Barrel City,32.307513,-96.129524
+75148,TX,Malakoff,32.170511,-96.005952
+75149,TX,Mesquite,32.767821,-96.608219
+75150,TX,Mesquite,32.815416,-96.630681
+75152,TX,Palmer,32.438714,-96.679429
+75153,TX,Powell,32.119557,-96.332713
+75154,TX,Ovilla,32.516096,-96.820337
+75155,TX,Rice,32.225788,-96.460613
+75158,TX,Scurry,32.48184,-96.392451
+75159,TX,Seagoville,32.652522,-96.557967
+75160,TX,Terrell,32.714292,-96.251342
+75163,TX,Trinidad,32.138341,-96.08307
+75165,TX,Waxahachie,32.380796,-96.837398
+75169,TX,Wills Point,32.72834,-96.00788
+75172,TX,Wilmer,32.598133,-96.68376
+75173,TX,Nevada,33.05934,-96.387657
+75180,TX,Balch Springs,32.720216,-96.615278
+75181,TX,Mesquite,32.727166,-96.566889
+75182,TX,Mesquite,32.801922,-96.567004
+75189,TX,Royse City,32.962778,-96.36484
+75201,TX,Dallas,32.790439,-96.80439
+75202,TX,Dallas,32.778056,-96.805352
+75203,TX,Dallas,32.745985,-96.806976
+75204,TX,Dallas,32.803814,-96.785144
+75205,TX,Village,32.836878,-96.793828
+75206,TX,Dallas,32.831029,-96.769219
+75207,TX,Dallas,32.793897,-96.831871
+75208,TX,Dallas,32.749208,-96.838898
+75209,TX,Dallas,32.84564,-96.825984
+75210,TX,Dallas,32.769919,-96.742974
+75211,TX,Cockrell Hill,32.736928,-96.881797
+75212,TX,Dallas,32.782884,-96.871396
+75214,TX,Dallas,32.824789,-96.749774
+75215,TX,Dallas,32.758206,-96.76226
+75216,TX,Dallas,32.708611,-96.795488
+75217,TX,Dallas,32.724429,-96.675481
+75218,TX,Dallas,32.846335,-96.697212
+75219,TX,Dallas,32.813245,-96.814166
+75220,TX,Dallas,32.868131,-96.862202
+75223,TX,Dallas,32.794173,-96.747475
+75224,TX,Dallas,32.711415,-96.838711
+75225,TX,Dallas,32.862808,-96.791753
+75226,TX,Dallas,32.78871,-96.767552
+75227,TX,Dallas,32.767226,-96.683586
+75228,TX,Dallas,32.824997,-96.678378
+75229,TX,Dallas,32.8958,-96.8588
+75230,TX,Dallas,32.89994,-96.789679
+75231,TX,Dallas,32.875621,-96.74953
+75232,TX,Dallas,32.664708,-96.838392
+75233,TX,Dallas,32.704638,-96.872547
+75234,TX,Farmers Branch,32.929803,-96.876848
+75235,TX,Dallas,32.825213,-96.838843
+75236,TX,Dallas,32.690002,-96.917737
+75237,TX,Dallas,32.658972,-96.876453
+75238,TX,Dallas,32.876976,-96.707982
+75239,TX,Dallas,32.659974,-96.732769
+75240,TX,Dallas,32.937431,-96.787214
+75241,TX,Dallas,32.672216,-96.777421
+75243,TX,Dallas,32.910347,-96.728472
+75244,TX,Farmers Branch,32.925817,-96.842533
+75246,TX,Dallas,32.79484,-96.769696
+75247,TX,Dallas,32.801323,-96.887123
+75248,TX,Dallas,32.968199,-96.794242
+75249,TX,Dallas,32.636024,-96.949266
+75251,TX,Dallas,32.912203,-96.771831
+75252,TX,Dallas,32.996848,-96.792113
+75253,TX,Dallas,32.683311,-96.59643
+75287,TX,Dallas,33.000458,-96.83143
+75401,TX,Greenville,33.117476,-96.102416
+75407,TX,Princeton,33.155542,-96.498073
+75409,TX,Anna,33.344516,-96.563862
+75410,TX,Alba,32.765235,-95.597102
+75411,TX,Arthur City,33.840031,-95.494037
+75412,TX,Bagwell,33.836089,-95.14869
+75414,TX,Bells,33.617817,-96.423668
+75415,TX,Ben Franklin,33.474146,-95.759107
+75416,TX,Blossom,33.694547,-95.382341
+75417,TX,Bogata,33.469862,-95.193725
+75418,TX,Bonham,33.580559,-96.183566
+75420,TX,Brashear,33.115521,-95.73451
+75421,TX,Brookston,33.624555,-95.688812
+75422,TX,Campbell,33.151049,-95.943919
+75423,TX,Celeste,33.264913,-96.207635
+75424,TX,Blue Ridge,33.306135,-96.390056
+75426,TX,Clarksville,33.623563,-95.046094
+75428,TX,Commerce,33.2493,-95.90968
+75431,TX,Como,33.064231,-95.362655
+75432,TX,Cooper,33.381166,-95.662311
+75433,TX,Cumby,33.111761,-95.794536
+75435,TX,Deport,33.522077,-95.365351
+75436,TX,Detroit,33.662691,-95.23848
+75437,TX,Dike,33.196485,-95.471125
+75438,TX,Dodd City,33.564704,-96.06194
+75439,TX,Ector,33.581913,-96.273533
+75440,TX,Emory,32.875041,-95.741786
+75442,TX,Farmersville,33.165862,-96.368619
+75446,TX,Honey Grove,33.598505,-95.9109
+75447,TX,Ivanhoe,33.67364,-96.169811
+75448,TX,Klondike,33.303375,-95.801762
+75449,TX,Ladonia,33.424527,-95.945489
+75450,TX,Lake Creek,33.467493,-95.622131
+75451,TX,Leesburg,32.976275,-95.107924
+75452,TX,Leonard,33.404363,-96.223772
+75453,TX,Lone Oak,32.991571,-95.943412
+75454,TX,Melissa,33.284114,-96.574009
+75455,TX,Mount Pleasant,33.173309,-94.969461
+75457,TX,Mount Vernon,33.170204,-95.218106
+75459,TX,Howe,33.534867,-96.640723
+75460,TX,Paris,33.658077,-95.537881
+75468,TX,Pattonville,33.570234,-95.3908
+75469,TX,Pecan Gap,33.419641,-95.826196
+75470,TX,Petty,33.609765,-95.789057
+75471,TX,Pickton,33.042401,-95.462979
+75472,TX,Point,32.900743,-95.890285
+75473,TX,Powderly,33.777877,-95.530692
+75474,TX,Quinlan,32.898347,-96.126083
+75476,TX,Ravenna,33.709757,-96.145157
+75477,TX,Roxton,33.542934,-95.741605
+75478,TX,Saltillo,33.176678,-95.343324
+75479,TX,Savoy,33.606571,-96.350156
+75480,TX,Scroggins,32.991177,-95.239683
+75481,TX,Sulphur Bluff,33.333379,-95.37396
+75482,TX,Sulphur Springs,33.134541,-95.592161
+75486,TX,Sumner,33.758941,-95.680671
+75487,TX,Talco,33.33436,-95.049718
+75488,TX,Telephone,33.797854,-96.044945
+75490,TX,Trenton,33.423491,-96.339754
+75491,TX,Whitewright,33.519041,-96.451025
+75492,TX,Windom,33.563295,-96.002002
+75493,TX,Winfield,33.161498,-95.078984
+75494,TX,Winnsboro,32.91462,-95.27265
+75495,TX,Van Alstyne,33.429169,-96.548632
+75496,TX,Wolfe City,33.360479,-96.06907
+75497,TX,Yantis,32.925694,-95.531113
+75501,TX,Wake Village,33.407371,-94.118245
+75503,TX,Texarkana,33.466906,-94.077374
+75550,TX,Annona,33.553519,-94.899226
+75551,TX,Atlanta,33.10898,-94.164617
+75554,TX,Avery,33.533935,-94.786708
+75555,TX,Bivins,32.96602,-94.140406
+75556,TX,Bloomburg,33.133859,-94.064688
+75558,TX,Cookville,33.181908,-94.873291
+75559,TX,De Kalb,33.472741,-94.621092
+75560,TX,Douglassville,33.175806,-94.346699
+75561,TX,Leary,33.477542,-94.269188
+75563,TX,Linden,33.004821,-94.360509
+75566,TX,Marietta,33.179618,-94.542098
+75567,TX,Maud,33.35504,-94.482267
+75568,TX,Naples,33.191186,-94.689061
+75569,TX,Nash,33.439786,-94.142237
+75570,TX,Boston,33.462119,-94.433882
+75571,TX,Omaha,33.180794,-94.763944
+75572,TX,Queen City,33.18736,-94.154825
+75574,TX,Simms,33.498727,-94.603862
+75601,TX,Longview,32.526854,-94.72328
+75602,TX,Longview,32.472373,-94.710078
+75603,TX,Longview,32.426368,-94.711691
+75604,TX,Longview,32.525139,-94.798957
+75605,TX,Longview,32.554711,-94.776748
+75630,TX,Avinger,32.848514,-94.579534
+75631,TX,Beckville,32.245165,-94.455451
+75633,TX,Carthage,32.154379,-94.352721
+75638,TX,Daingerfield,33.031263,-94.735899
+75639,TX,De Berry,32.254327,-94.13557
+75640,TX,New Diana,32.704585,-94.698122
+75643,TX,Gary,32.019848,-94.281501
+75644,TX,Gilmer,32.724565,-94.971434
+75647,TX,Gladewater,32.555858,-94.932001
+75650,TX,Hallsville,32.507283,-94.533308
+75651,TX,Harleton,32.657858,-94.465165
+75652,TX,Henderson,32.152375,-94.791962
+75656,TX,Hughes Springs,33.016763,-94.622758
+75657,TX,Smithland,32.779863,-94.371217
+75661,TX,Karnack,32.620508,-94.20005
+75662,TX,Kilgore,32.383557,-94.865271
+75667,TX,Laneville,31.950821,-94.866027
+75668,TX,Lone Star,32.946982,-94.718303
+75669,TX,Long Branch,32.050224,-94.472028
+75670,TX,Marshall,32.53378,-94.36191
+75681,TX,Mount Enterprise,31.9125,-94.623505
+75683,TX,Ore City,32.785588,-94.751401
+75684,TX,Overton,32.269041,-94.952914
+75686,TX,Pittsburg,32.96231,-94.960337
+75687,TX,Price,32.100842,-94.941494
+75689,TX,Turnertown,32.18734,-94.950805
+75691,TX,Tatum,32.326569,-94.596027
+75692,TX,Waskom,32.467183,-94.137884
+75693,TX,Clarksville City,32.537232,-94.862115
+75701,TX,Tyler,32.325366,-95.292179
+75702,TX,Tyler,32.361969,-95.311652
+75703,TX,Tyler,32.276827,-95.303147
+75704,TX,Tyler,32.373781,-95.406977
+75705,TX,Tyler,32.376599,-95.125225
+75706,TX,Tyler,32.444148,-95.330993
+75707,TX,Tyler,32.303782,-95.192692
+75708,TX,East Texas Cente,32.389193,-95.244354
+75709,TX,Tyler,32.307817,-95.395563
+75750,TX,Arp,32.241758,-95.063908
+75751,TX,Athens,32.193499,-95.84318
+75754,TX,Ben Wheeler,32.412588,-95.637085
+75755,TX,Big Sandy,32.61682,-95.088034
+75756,TX,Edom,32.290514,-95.62289
+75757,TX,Mount Selman,32.135745,-95.375045
+75758,TX,Chandler,32.270638,-95.502531
+75760,TX,Cushing,31.797767,-94.853887
+75762,TX,Flint,32.207927,-95.394848
+75763,TX,Frankston,32.053488,-95.516284
+75765,TX,Hawkins,32.643901,-95.222015
+75766,TX,Jacksonville,31.96177,-95.270328
+75770,TX,Larue,32.160758,-95.592661
+75771,TX,Mt Sylvan,32.517152,-95.429932
+75773,TX,Mineola,32.666059,-95.487032
+75778,TX,Murchison,32.325732,-95.77372
+75783,TX,Quitman,32.804862,-95.430161
+75784,TX,Reklaw,31.885858,-95.011834
+75785,TX,Dialville,31.80976,-95.173156
+75789,TX,Troup,32.104003,-95.122656
+75790,TX,Van,32.528265,-95.654538
+75791,TX,Whitehouse,32.221958,-95.226552
+75792,TX,Winona,32.466163,-95.124624
+75801,TX,Palestine,31.758752,-95.634158
+75831,TX,Freestone,31.457151,-96.058516
+75833,TX,Centerville,31.272025,-95.921287
+75835,TX,Austonio,31.315067,-95.46833
+75838,TX,Donie,31.487285,-96.238687
+75839,TX,Slocum,31.635087,-95.553232
+75840,TX,Fairfield,31.736136,-96.157176
+75844,TX,Grapeland,31.49721,-95.444713
+75845,TX,Groveton,31.065142,-95.096894
+75846,TX,Jewett,31.373925,-96.191841
+75847,TX,Kennard,31.338449,-95.154118
+75850,TX,Leona,31.14207,-95.928428
+75851,TX,Lovelady,31.0564,-95.550057
+75852,TX,Midway,30.980579,-95.70894
+75853,TX,Montalba,31.922165,-95.75926
+75855,TX,Oakwood,31.602312,-95.902151
+75856,TX,Pennington,31.161843,-95.158678
+75859,TX,Streetman,31.888532,-96.298763
+75860,TX,Teague,31.632772,-96.27778
+75861,TX,Tennessee Colony,31.792882,-95.899798
+75862,TX,Trinity,30.941951,-95.340295
+75901,TX,Keltys,31.336004,-94.734185
+75925,TX,Forest,31.647815,-95.079786
+75926,TX,Apple Springs,31.226923,-94.981152
+75928,TX,Bon Wier,30.687557,-93.766465
+75929,TX,Broaddus,31.295241,-94.215552
+75930,TX,Bronson,31.339056,-93.999256
+75931,TX,Brookeland,31.106273,-94.003566
+75932,TX,Burkeville,31.009934,-93.658517
+75933,TX,Call,30.574132,-93.833355
+75935,TX,Center,31.786468,-94.186947
+75936,TX,Chester,30.928532,-94.458099
+75937,TX,Chireno,31.511935,-94.430244
+75938,TX,Rockland,30.909226,-94.421811
+75939,TX,Barnum,31.000657,-94.7959
+75941,TX,Diboll,31.195028,-94.772911
+75943,TX,Douglass,31.657846,-94.869649
+75946,TX,Garrison,31.811111,-94.526604
+75948,TX,Hemphill,31.316123,-93.79045
+75949,TX,Huntington,31.283714,-94.566237
+75951,TX,Sam Rayburn,30.925348,-94.021481
+75954,TX,Joaquin,31.943989,-94.060833
+75956,TX,Bon Ami,30.688217,-93.927934
+75957,TX,Magnolia Springs,30.762882,-94.070896
+75959,TX,Milam,31.47001,-93.831816
+75960,TX,Moscow,30.917902,-94.85437
+75961,TX,Appleby,31.618534,-94.651093
+75966,TX,Newton,30.835074,-93.7497
+75968,TX,Pineland,31.241782,-93.97542
+75969,TX,Pollok,31.429107,-94.825403
+75972,TX,San Augustine,31.515173,-94.132581
+75973,TX,Shelbyville,31.713074,-93.969841
+75974,TX,Tenaha,31.940812,-94.248773
+75975,TX,Timpson,31.884089,-94.396733
+75976,TX,Wells,31.499755,-94.969351
+75977,TX,Wiergate,31.041417,-93.803854
+75979,TX,Dogwood,30.775133,-94.425494
+75980,TX,Zavalla,31.156863,-94.387115
+76006,TX,Arlington,32.778494,-97.083425
+76008,TX,Aledo,32.700351,-97.603885
+76009,TX,Alvarado,32.439499,-97.212971
+76010,TX,Arlington,32.720368,-97.082576
+76011,TX,Arlington,32.758236,-97.100302
+76012,TX,Arlington,32.753962,-97.134808
+76013,TX,Arlington,32.719905,-97.14416
+76014,TX,Arlington,32.695425,-97.087556
+76015,TX,Arlington,32.693125,-97.134685
+76016,TX,Arlington,32.688898,-97.190466
+76017,TX,Arlington,32.65545,-97.159899
+76018,TX,Arlington,32.654752,-97.091987
+76020,TX,Azle,32.903453,-97.541153
+76021,TX,Bedford,32.853579,-97.135797
+76022,TX,Bedford,32.829749,-97.145351
+76023,TX,Boyd,33.059367,-97.586797
+76028,TX,Burleson,32.531624,-97.308959
+76031,TX,Cleburne,32.342891,-97.397957
+76034,TX,Colleyville,32.88721,-97.146026
+76035,TX,Cresson,32.530714,-97.651931
+76036,TX,Crowley,32.581398,-97.370306
+76039,TX,Euless,32.858172,-97.083212
+76040,TX,Euless,32.826358,-97.097203
+76041,TX,Forreston,32.281131,-96.887522
+76043,TX,Glen Rose,32.229762,-97.762911
+76044,TX,Godley,32.428174,-97.534865
+76048,TX,Granbury,32.42505,-97.774173
+76049,TX,Granbury,32.448811,-97.728484
+76050,TX,Grandview,32.277856,-97.235069
+76051,TX,Grapevine,32.93143,-97.096203
+76052,TX,Haslet,32.955734,-97.337185
+76053,TX,Hurst,32.821107,-97.175613
+76054,TX,Hurst,32.855832,-97.175521
+76055,TX,Itasca,32.163589,-97.146034
+76058,TX,Joshua,32.466252,-97.401123
+76059,TX,Keene,32.393659,-97.32868
+76060,TX,Kennedale,32.64316,-97.213853
+76063,TX,Mansfield,32.577258,-97.141551
+76064,TX,Maypearl,32.327878,-96.98803
+76065,TX,Midlothian,32.475743,-96.993551
+76066,TX,Millsap,32.670019,-97.878386
+76067,TX,Mineral Wells,32.810283,-98.063051
+76070,TX,Nemo,32.271312,-97.656668
+76071,TX,Newark,33.007099,-97.510696
+76073,TX,Paradise,33.082607,-97.697423
+76077,TX,Rainbow,32.281216,-97.70652
+76078,TX,Rhome,33.054045,-97.481688
+76082,TX,Springtown,32.966021,-97.634951
+76084,TX,Venus,32.432975,-97.108734
+76086,TX,Weatherford,32.784074,-97.738591
+76087,TX,Weatherford,32.749473,-97.689439
+76092,TX,Grapevine,32.956456,-97.148066
+76093,TX,Rio Vista,32.253168,-97.367825
+76102,TX,Fort Worth,32.758897,-97.328023
+76103,TX,Fort Worth,32.747005,-97.260394
+76104,TX,Fort Worth,32.725551,-97.318409
+76105,TX,Fort Worth,32.723325,-97.26899
+76106,TX,Fort Worth,32.796849,-97.356008
+76107,TX,Fort Worth,32.739175,-97.385248
+76108,TX,White Settlement,32.759271,-97.474063
+76109,TX,Fort Worth,32.700246,-97.378876
+76110,TX,Fort Worth,32.706505,-97.337505
+76111,TX,Fort Worth,32.782382,-97.300327
+76112,TX,Fort Worth,32.749297,-97.218122
+76114,TX,River Oaks,32.775379,-97.401526
+76115,TX,Fort Worth,32.679618,-97.333634
+76116,TX,Fort Worth,32.723032,-97.448279
+76117,TX,Haltom City,32.808742,-97.270891
+76118,TX,North Richland H,32.808944,-97.222781
+76119,TX,Fort Worth,32.691379,-97.267492
+76120,TX,Fort Worth,32.763912,-97.178112
+76123,TX,Fort Worth,32.625361,-97.365838
+76126,TX,Benbrook,32.670023,-97.464141
+76127,TX,Carswell Afb,32.771846,-97.435453
+76131,TX,Fort Worth,32.863156,-97.337656
+76132,TX,Fort Worth,32.671092,-97.405626
+76133,TX,Fort Worth,32.652561,-97.375849
+76134,TX,Fort Worth,32.646886,-97.332467
+76135,TX,Fort Worth,32.824844,-97.45191
+76137,TX,Fort Worth,32.866421,-97.289114
+76140,TX,Everman,32.631332,-97.270406
+76148,TX,Watauga,32.8681,-97.249029
+76155,TX,Fort Worth,32.824742,-97.050285
+76177,TX,Fort Worth,32.901017,-97.332671
+76179,TX,Saginaw,32.872961,-97.403149
+76180,TX,North Richland H,32.853966,-97.220714
+76201,TX,Denton,33.22893,-97.131436
+76205,TX,Denton,33.180106,-97.101833
+76225,TX,Alvord,33.36982,-97.688488
+76226,TX,Argyle,33.106244,-97.159977
+76227,TX,Aubrey,33.291997,-96.987866
+76228,TX,Bellevue,33.58789,-98.157373
+76230,TX,Bowie,33.556796,-97.837337
+76233,TX,Collinsville,33.558012,-96.901365
+76234,TX,Decatur,33.235077,-97.573995
+76238,TX,Era,33.50101,-97.292358
+76239,TX,Forestburg,33.539778,-97.584774
+76240,TX,Lake Kiowa,33.625943,-97.103208
+76245,TX,Gordonville,33.834283,-96.84027
+76247,TX,Justin,33.073375,-97.309254
+76248,TX,Keller,32.927556,-97.248883
+76249,TX,Krum,33.27337,-97.267452
+76250,TX,Lindsay,33.63601,-97.221436
+76251,TX,Montague,33.663899,-97.728226
+76252,TX,Muenster,33.659549,-97.362409
+76255,TX,Nocona,33.798163,-97.726982
+76258,TX,Pilot Point,33.370983,-96.944554
+76259,TX,Ponder,33.177383,-97.284815
+76261,TX,Ringgold,33.816392,-97.943982
+76262,TX,Trophy Club,32.98639,-97.205346
+76263,TX,Rosston,33.483795,-97.454172
+76264,TX,Sadler,33.730989,-96.840017
+76265,TX,Saint Jo,33.744024,-97.556756
+76266,TX,Sanger,33.356266,-97.181432
+76270,TX,Sunset,33.453909,-97.770891
+76271,TX,Tioga,33.467493,-96.909712
+76272,TX,Valley View,33.502166,-97.231053
+76273,TX,Whitesboro,33.659021,-96.878984
+76301,TX,Wichita Falls,33.905284,-98.497645
+76302,TX,Wichita Falls,33.864278,-98.493987
+76303,TX,Wichita Falls,33.899837,-98.460812
+76304,TX,Wichita Falls,33.930806,-98.500491
+76305,TX,Wichita Falls,33.937345,-98.540679
+76306,TX,Wichita Falls,33.974595,-98.524835
+76308,TX,Wichita Falls,33.863258,-98.533965
+76309,TX,Wichita Falls,33.893084,-98.534288
+76310,TX,Wichita Falls,33.858122,-98.575548
+76311,TX,Sheppard Afb,33.982353,-98.508771
+76350,TX,76350,33.431472,-98.371578
+76354,TX,Burkburnett,34.085989,-98.570842
+76357,TX,Byers,34.072812,-98.183929
+76359,TX,Elbert,33.015687,-99.055214
+76360,TX,Electra,34.036234,-98.91545
+76363,TX,Goree,33.474832,-99.525806
+76364,TX,Harrold,34.097097,-99.035052
+76365,TX,Henrietta,33.819609,-98.259976
+76366,TX,Holliday,33.675141,-98.657634
+76367,TX,Iowa Park,33.94235,-98.674497
+76371,TX,Munday,33.456088,-99.632624
+76372,TX,Newcastle,33.190103,-98.744644
+76373,TX,Oklaunion,34.120372,-99.160234
+76374,TX,Olney,33.360135,-98.742695
+76377,TX,Petrolia,34.027331,-98.269223
+76378,TX,76378,33.611763,-99.40547
+76379,TX,Scotland,33.653486,-98.464983
+76380,TX,Seymour,33.591445,-99.258727
+76383,TX,Vera,33.615469,-99.759098
+76384,TX,Vernon,34.149135,-99.30301
+76388,TX,Weinert,33.324872,-99.666431
+76389,TX,Windthorst,33.57957,-98.437589
+76401,TX,Stephenville,32.221372,-98.222407
+76424,TX,Breckenridge,32.753166,-98.909882
+76426,TX,Bridgeport,33.187027,-97.78098
+76427,TX,Bryson,33.15947,-98.370256
+76429,TX,Caddo,32.688617,-98.658983
+76430,TX,Albany,32.719005,-99.319581
+76431,TX,Chico,33.319315,-97.803133
+76432,TX,Blanket,31.78819,-98.831089
+76433,TX,Bluff Dale,32.401791,-98.163775
+76435,TX,Carbon,32.270125,-98.83479
+76436,TX,Carlton,31.911438,-98.152519
+76437,TX,Cisco,32.380043,-98.986507
+76442,TX,Comanche,31.911637,-98.608227
+76443,TX,Cross Plains,32.148159,-99.18718
+76444,TX,De Leon,32.108742,-98.54894
+76445,TX,Desdemona,32.281877,-98.567327
+76446,TX,Dublin,32.090873,-98.345469
+76447,TX,76447,32.081163,-98.067535
+76448,TX,Eastland,32.399418,-98.807101
+76449,TX,Graford,32.924192,-98.337002
+76450,TX,Graham,33.099283,-98.583212
+76453,TX,Gordon,32.547828,-98.363211
+76454,TX,Gorman,32.223441,-98.683408
+76455,TX,Gustine,31.872448,-98.383488
+76457,TX,Hico,31.959718,-98.024933
+76458,TX,Jacksboro,33.234655,-98.168138
+76459,TX,Jermyn,33.263554,-98.393149
+76460,TX,Loving,33.26886,-98.50237
+76462,TX,Lipan,32.507218,-97.953614
+76463,TX,Mingus,32.562665,-98.426262
+76464,TX,Moran,32.554909,-99.165567
+76470,TX,Ranger,32.46809,-98.674659
+76471,TX,Rising Star,32.127986,-98.985852
+76472,TX,Santo,32.597935,-98.179675
+76474,TX,Sidney,31.932031,-98.767995
+76475,TX,Strawn,32.5945,-98.499467
+76476,TX,Tolar,32.377246,-97.880208
+76483,TX,Throckmorton,33.179446,-99.183812
+76484,TX,Palo Pinto,32.725315,-98.270262
+76486,TX,Perrin,33.058453,-98.044006
+76487,TX,Poolville,32.968023,-97.847229
+76490,TX,Whitt,32.955459,-98.021008
+76491,TX,Woodson,33.301972,-99.015953
+76501,TX,Temple,31.089518,-97.334264
+76502,TX,Temple,31.071004,-97.389781
+76504,TX,Temple,31.091742,-97.364764
+76511,TX,Bartlett,30.799056,-97.426302
+76513,TX,Belton,31.072298,-97.472025
+76518,TX,Buckholts,30.885756,-97.124135
+76519,TX,Burlington,30.945691,-96.885308
+76520,TX,Cameron,30.852713,-96.976562
+76522,TX,Izoro,31.125799,-97.912132
+76523,TX,Davilla,30.767471,-97.200865
+76524,TX,Eddy,31.326724,-97.270926
+76525,TX,Bee House,31.403967,-98.055175
+76526,TX,Flat,31.306475,-97.589777
+76527,TX,Florence,30.78137,-97.834423
+76528,TX,Turnersville,31.447646,-97.724286
+76530,TX,Granger,30.739813,-97.445065
+76531,TX,Hamilton,31.678116,-98.113051
+76534,TX,Holland,30.879977,-97.385695
+76537,TX,Jarrell,30.748406,-97.600833
+76538,TX,Jonesboro,31.599601,-97.775155
+76539,TX,Kempner,31.073051,-97.972068
+76541,TX,Killeen,31.116426,-97.727808
+76542,TX,Harker Heights,31.075056,-97.746736
+76543,TX,Harker Heights,31.100505,-97.676864
+76544,TX,Fort Hood,31.137953,-97.776404
+76550,TX,Lampasas,31.067957,-98.183361
+76556,TX,Milano,30.736612,-96.803477
+76557,TX,Moody,31.253321,-97.409957
+76559,TX,Nolanville,31.083271,-97.594109
+76561,TX,Oglesby,31.443767,-97.550093
+76565,TX,Pottsville,31.68374,-98.356077
+76566,TX,Purmela,31.472647,-97.888945
+76567,TX,Rockdale,30.658282,-97.0079
+76569,TX,Rogers,30.955013,-97.222793
+76570,TX,Rosebud,31.092208,-96.975455
+76571,TX,Salado,30.949388,-97.532999
+76574,TX,Taylor,30.58071,-97.440103
+76577,TX,Thorndale,30.608237,-97.176446
+76578,TX,Thrall,30.591981,-97.289261
+76579,TX,Troy,31.175855,-97.285205
+76621,TX,Abbott,31.891642,-97.067146
+76622,TX,Aquilla,31.858882,-97.22577
+76624,TX,Axtell,31.660966,-96.988178
+76626,TX,Blooming Grove,32.075839,-96.700991
+76627,TX,Blum,32.105183,-97.365183
+76629,TX,Bremond,31.156007,-96.669744
+76630,TX,Bruceville,31.326708,-97.234244
+76631,TX,Bynum,31.990668,-96.983702
+76632,TX,Chilton,31.310018,-97.09002
+76633,TX,China Spring,31.667266,-97.300221
+76634,TX,Laguna Park,31.799689,-97.515282
+76635,TX,Coolidge,31.743804,-96.657744
+76636,TX,Covington,32.159538,-97.259091
+76637,TX,Cranfills Gap,31.781071,-97.78537
+76638,TX,Crawford,31.559765,-97.389992
+76639,TX,Dawson,31.897429,-96.708483
+76640,TX,Elm Mott,31.672547,-97.113838
+76641,TX,Frost,32.027545,-96.768437
+76642,TX,Groesbeck,31.535667,-96.523381
+76643,TX,Hewitt,31.458166,-97.196556
+76645,TX,Hillsboro,32.014942,-97.119791
+76648,TX,Hubbard,31.843559,-96.80001
+76649,TX,Iredell,31.972197,-97.879283
+76651,TX,Italy,32.178508,-96.88229
+76652,TX,Kopperl,32.103491,-97.542085
+76653,TX,Kosse,31.314704,-96.619475
+76655,TX,Lorena,31.409271,-97.230161
+76656,TX,Lott,31.192462,-97.058143
+76657,TX,Mc Gregor,31.443099,-97.394318
+76660,TX,Malone,31.923979,-96.890682
+76661,TX,Marlin,31.303592,-96.888942
+76664,TX,Mart,31.545798,-96.838133
+76665,TX,Meridian,31.929022,-97.64433
+76666,TX,Mertens,32.02753,-96.898128
+76667,TX,Mexia,31.678386,-96.495186
+76670,TX,Milford,32.148198,-96.96115
+76671,TX,Morgan,32.01946,-97.560829
+76673,TX,Mount Calm,31.757504,-96.894393
+76675,TX,Otto,31.432733,-96.875904
+76676,TX,Penelope,31.855148,-96.937164
+76678,TX,Prairie Hill,31.659097,-96.809381
+76679,TX,Purdon,31.948285,-96.585619
+76680,TX,Reagan,31.229713,-96.741943
+76681,TX,Richland,31.901785,-96.437262
+76682,TX,Riesel,31.500247,-96.94764
+76687,TX,Thornton,31.408326,-96.502378
+76689,TX,Valley Mills,31.659876,-97.493461
+76690,TX,Walnut Springs,32.059268,-97.751423
+76691,TX,West,31.775385,-97.125843
+76692,TX,Bonanza,31.959201,-97.33495
+76693,TX,Wortham,31.786542,-96.420208
+76701,TX,Waco,31.552452,-97.139608
+76704,TX,Bellmead,31.575701,-97.126742
+76705,TX,Bellmead,31.610787,-97.094575
+76706,TX,Waco,31.517086,-97.119752
+76707,TX,Waco,31.552709,-97.158824
+76708,TX,Waco,31.576544,-97.178635
+76710,TX,Waco,31.534981,-97.189891
+76711,TX,Beverly Hills,31.519863,-97.150254
+76712,TX,Woodway,31.505074,-97.231062
+76801,TX,Early,31.704658,-98.975164
+76820,TX,Art,30.775419,-99.093732
+76821,TX,Ballinger,31.746836,-99.958927
+76823,TX,Bangs,31.768388,-99.107657
+76824,TX,Bend,31.11231,-98.482102
+76825,TX,Fife,31.128304,-99.3372
+76827,TX,Brookesmith,31.517602,-99.127729
+76828,TX,Burkett,31.998623,-99.255258
+76831,TX,Castell,30.697429,-98.931859
+76832,TX,Cherokee,30.980598,-98.66332
+76834,TX,Coleman,31.828651,-99.427007
+76836,TX,Doole,31.415743,-99.550605
+76837,TX,Eden,31.219219,-99.840658
+76841,TX,Fort Mc Kavett,30.82903,-100.080928
+76842,TX,Fredonia,30.921386,-99.12156
+76844,TX,Goldthwaite,31.445769,-98.574405
+76845,TX,Gouldbusk,31.551075,-99.51363
+76848,TX,Hext,30.881632,-99.554008
+76849,TX,Junction,30.47544,-99.74731
+76850,TX,76850,30.879689,-99.299552
+76852,TX,Lohn,31.317297,-99.38334
+76853,TX,Lometa,31.216712,-98.400553
+76854,TX,London,30.617101,-99.625527
+76856,TX,Mason,30.743392,-99.226117
+76857,TX,May,31.957082,-98.965646
+76858,TX,Melvin,31.185145,-99.5439
+76859,TX,Menard,30.911898,-99.784721
+76861,TX,Miles,31.612052,-100.182292
+76862,TX,Millersview,31.416745,-99.717137
+76864,TX,Mullin,31.574829,-98.663542
+76865,TX,Norton,31.879498,-100.131515
+76866,TX,Paint Rock,31.504808,-99.913936
+76867,TX,Pear Valley,31.297211,-99.494742
+76869,TX,Pontotoc,30.890617,-99.021224
+76870,TX,Priddy,31.687418,-98.501464
+76871,TX,Richland Springs,31.275317,-98.850731
+76872,TX,Rochelle,31.300011,-99.157229
+76873,TX,Rockwood,31.503677,-99.374579
+76874,TX,Roosevelt,30.532203,-99.916501
+76875,TX,Rowena,31.64355,-100.019094
+76877,TX,San Saba,31.162678,-98.730929
+76878,TX,Santa Anna,31.721477,-99.321197
+76880,TX,Star,31.479039,-98.415752
+76882,TX,Talpa,31.803424,-99.674679
+76883,TX,Telegraph,30.367365,-99.928369
+76884,TX,Valera,31.77314,-99.563962
+76885,TX,Valley Spring,30.836862,-98.832541
+76887,TX,Voca,30.995874,-99.168203
+76888,TX,Leaday,31.639194,-99.538536
+76890,TX,Zephyr,31.669429,-98.818199
+76901,TX,San Angelo,31.478165,-100.481752
+76903,TX,San Angelo,31.470735,-100.438586
+76904,TX,San Angelo,31.419411,-100.480036
+76905,TX,San Angelo,31.464738,-100.390005
+76930,TX,Barnhart,31.159647,-101.191752
+76932,TX,Best,31.240592,-101.478776
+76933,TX,Bronte,31.878939,-100.298765
+76934,TX,Carlsbad,31.597995,-100.627501
+76935,TX,Christoval,31.23461,-100.52031
+76936,TX,Eldorado,30.86667,-100.58894
+76937,TX,Eola,31.429812,-100.072892
+76940,TX,Mereta,31.48632,-100.183391
+76941,TX,Mertzon,31.282884,-100.822101
+76943,TX,Ozona,30.716369,-101.238802
+76945,TX,Robert Lee,31.895091,-100.510366
+76949,TX,Silver,32.048371,-100.692229
+76950,TX,Sonora,30.555752,-100.630667
+76951,TX,Sterling City,31.835063,-101.001729
+76955,TX,Vancourt,31.340417,-100.180367
+76957,TX,Wall,31.369445,-100.322132
+77002,TX,Houston,29.759366,-95.359361
+77003,TX,Houston,29.748903,-95.339108
+77004,TX,Houston,29.724687,-95.362546
+77005,TX,Houston,29.717856,-95.426261
+77006,TX,Houston,29.740899,-95.392255
+77007,TX,Houston,29.773603,-95.403421
+77008,TX,Houston,29.799096,-95.411797
+77009,TX,Houston,29.793558,-95.367481
+77010,TX,Houston,29.75125,-95.356549
+77011,TX,Houston,29.741992,-95.307262
+77012,TX,Houston,29.71491,-95.281925
+77013,TX,Houston,29.784169,-95.230134
+77014,TX,Houston,29.979637,-95.462497
+77015,TX,Houston,29.785287,-95.185189
+77016,TX,Houston,29.857855,-95.303199
+77017,TX,Houston,29.686301,-95.255485
+77018,TX,Houston,29.827166,-95.426631
+77019,TX,Houston,29.751651,-95.40539
+77020,TX,Houston,29.775759,-95.312101
+77021,TX,Houston,29.69538,-95.356151
+77022,TX,Houston,29.829862,-95.376862
+77023,TX,Houston,29.724179,-95.317777
+77024,TX,Houston,29.76958,-95.520063
+77025,TX,Houston,29.688897,-95.434107
+77026,TX,Houston,29.797168,-95.328775
+77027,TX,Houston,29.739571,-95.446032
+77028,TX,Houston,29.829657,-95.287886
+77029,TX,Jacinto City,29.760326,-95.254861
+77030,TX,V A Hospital,29.70372,-95.40619
+77031,TX,Houston,29.658144,-95.541281
+77032,TX,Houston,29.93676,-95.329883
+77033,TX,Houston,29.668566,-95.338157
+77034,TX,Houston,29.636395,-95.221615
+77035,TX,Houston,29.651833,-95.485368
+77036,TX,Houston,29.698447,-95.540464
+77037,TX,Houston,29.889161,-95.393515
+77038,TX,Houston,29.91956,-95.438601
+77039,TX,Houston,29.906731,-95.33338
+77040,TX,Jersey Village,29.879613,-95.529969
+77041,TX,Houston,29.860187,-95.581663
+77042,TX,Houston,29.740446,-95.558895
+77043,TX,Houston,29.805181,-95.560734
+77044,TX,Houston,29.863485,-95.19757
+77045,TX,Houston,29.629717,-95.438166
+77046,TX,Houston,29.73279,-95.431845
+77047,TX,Houston,29.625443,-95.374993
+77048,TX,Houston,29.632097,-95.341606
+77049,TX,Houston,29.823471,-95.184815
+77050,TX,Houston,29.901456,-95.284837
+77051,TX,Houston,29.65792,-95.368763
+77053,TX,Houston,29.596156,-95.458709
+77054,TX,Houston,29.685209,-95.401677
+77055,TX,Houston,29.797064,-95.495787
+77056,TX,Houston,29.744584,-95.468282
+77057,TX,Houston,29.74217,-95.490253
+77058,TX,Houston,29.574787,-95.057413
+77059,TX,Houston,29.597493,-95.113354
+77060,TX,Houston,29.933462,-95.398061
+77061,TX,Houston,29.665221,-95.278987
+77062,TX,Houston,29.572084,-95.130292
+77063,TX,Houston,29.734843,-95.522039
+77064,TX,Houston,29.918981,-95.556894
+77065,TX,Houston,29.931933,-95.61063
+77066,TX,Houston,29.961027,-95.494717
+77067,TX,Houston,29.954717,-95.452158
+77068,TX,Houston,30.006867,-95.489661
+77069,TX,Houston,29.986292,-95.520827
+77070,TX,Houston,29.978099,-95.58027
+77071,TX,Houston,29.651838,-95.517554
+77072,TX,Houston,29.699026,-95.586155
+77073,TX,Houston,30.019767,-95.408671
+77074,TX,Houston,29.689601,-95.510588
+77075,TX,Houston,29.622276,-95.259983
+77076,TX,Houston,29.85801,-95.383442
+77077,TX,Houston,29.747656,-95.602991
+77078,TX,Houston,29.849724,-95.258208
+77079,TX,Houston,29.773759,-95.597993
+77080,TX,Houston,29.815854,-95.522986
+77081,TX,Houston,29.711926,-95.484531
+77082,TX,Houston,29.722283,-95.628533
+77083,TX,Houston,29.694709,-95.651098
+77084,TX,Houston,29.844022,-95.662329
+77085,TX,Houston,29.621787,-95.481945
+77086,TX,Houston,29.922667,-95.493868
+77087,TX,Houston,29.687579,-95.301062
+77088,TX,Houston,29.881694,-95.453877
+77089,TX,Houston,29.593978,-95.221786
+77090,TX,Houston,30.016673,-95.447002
+77091,TX,Houston,29.853448,-95.443521
+77092,TX,Houston,29.832391,-95.472031
+77093,TX,Houston,29.861661,-95.340286
+77094,TX,Houston,29.770536,-95.710742
+77095,TX,Houston,29.894115,-95.648082
+77096,TX,Houston,29.672205,-95.486066
+77098,TX,Houston,29.734987,-95.411778
+77099,TX,Houston,29.670869,-95.586613
+77301,TX,Conroe,30.312535,-95.452667
+77302,TX,Grangerland,30.250357,-95.416087
+77303,TX,Cut And Shoot,30.344456,-95.369725
+77304,TX,Panorama Village,30.327351,-95.495244
+77327,TX,Cleveland,30.329977,-95.020152
+77331,TX,Coldspring,30.602661,-95.10858
+77335,TX,Goodrich,30.607909,-94.95922
+77336,TX,Huffman,30.056491,-95.105069
+77338,TX,Humble,30.004091,-95.282476
+77339,TX,Humble,30.056333,-95.210716
+77340,TX,Huntsville,30.73435,-95.534186
+77345,TX,Humble,30.056641,-95.170654
+77346,TX,Humble,30.004195,-95.172815
+77351,TX,Segno,30.718018,-94.935278
+77355,TX,Magnolia,30.1678,-95.688989
+77356,TX,Montgomery,30.363932,-95.650342
+77357,TX,New Caney,30.157933,-95.197968
+77358,TX,New Waverly,30.535357,-95.453194
+77359,TX,Oakhurst,30.71262,-95.309478
+77362,TX,Pinehurst,30.158052,-95.681406
+77363,TX,Plantersville,30.296931,-95.849812
+77364,TX,Pointblank,30.75926,-95.229494
+77365,TX,Porter,30.123731,-95.268613
+77371,TX,Shepherd,30.483396,-95.092913
+77372,TX,Splendora,30.232609,-95.199308
+77373,TX,Spring,30.053241,-95.377329
+77375,TX,Tomball,30.073923,-95.62006
+77378,TX,Willis,30.432025,-95.497583
+77379,TX,Klein,30.023377,-95.528481
+77380,TX,The Woodlands,30.13739,-95.468944
+77381,TX,The Woodlands,30.168887,-95.500743
+77384,TX,Conroe,30.225725,-95.492392
+77385,TX,Conroe,30.187695,-95.428789
+77386,TX,Spring,30.128805,-95.423943
+77388,TX,Spring,30.050546,-95.469456
+77389,TX,Spring,30.104398,-95.506624
+77396,TX,Humble,29.950697,-95.262186
+77401,TX,Bellaire,29.702313,-95.461106
+77414,TX,Sargent,28.96183,-95.92817
+77417,TX,Beasley,29.479045,-95.968145
+77418,TX,Bellville,29.96583,-96.253083
+77419,TX,Blessing,28.864947,-96.217956
+77420,TX,Boling,29.252874,-95.974045
+77422,TX,Brazoria,29.023642,-95.586683
+77423,TX,Brookshire,29.807168,-95.975537
+77426,TX,Chappell Hill,30.183271,-96.234739
+77429,TX,Cypress,29.976608,-95.635778
+77430,TX,Damon,29.301381,-95.703577
+77432,TX,Danevang,29.066969,-96.19765
+77433,TX,Cypress,29.883633,-95.702456
+77434,TX,Eagle Lake,29.584236,-96.335367
+77435,TX,East Bernard,29.470458,-96.121115
+77437,TX,El Campo,29.200776,-96.274266
+77440,TX,Elmaton,28.83209,-96.13351
+77441,TX,Fulshear,29.721698,-95.897682
+77442,TX,Garwood,29.476001,-96.491925
+77444,TX,Guy,29.332676,-95.770227
+77445,TX,Hempstead,30.091973,-96.071648
+77447,TX,Hockley,30.072888,-95.810447
+77449,TX,Park Row,29.819922,-95.729267
+77450,TX,Park Row,29.767632,-95.744506
+77455,TX,Louise,29.14908,-96.392374
+77456,TX,Markham,28.954701,-96.092768
+77457,TX,Matagorda,28.764926,-95.951891
+77458,TX,Midfield,28.936166,-96.226527
+77459,TX,Missouri City,29.570434,-95.542284
+77461,TX,Needville,29.41165,-95.827288
+77465,TX,Palacios,28.71504,-96.215439
+77468,TX,Pledger,29.179208,-95.898591
+77469,TX,Clodine,29.593226,-95.752122
+77471,TX,Rosenberg,29.549727,-95.798213
+77474,TX,Sealy,29.782632,-96.159189
+77477,TX,Stafford,29.622816,-95.567764
+77478,TX,Sugar Land,29.634153,-95.621856
+77479,TX,Sugar Land,29.578537,-95.606591
+77480,TX,Sweeny,29.041508,-95.700363
+77482,TX,Van Vleck,29.013879,-95.938903
+77483,TX,Wadsworth,28.614288,-95.971307
+77484,TX,Waller,30.086008,-95.961275
+77485,TX,Wallis,29.63968,-96.045574
+77486,TX,West Columbia,29.140823,-95.669388
+77488,TX,Wharton,29.320488,-96.085828
+77489,TX,Missouri City,29.596206,-95.511512
+77493,TX,Park Row,29.804876,-95.815988
+77494,TX,Park Row,29.750893,-95.811675
+77502,TX,Pasadena,29.678945,-95.198193
+77503,TX,Pasadena,29.687696,-95.15721
+77504,TX,Pasadena,29.650133,-95.188478
+77505,TX,Pasadena,29.651753,-95.146388
+77506,TX,Pasadena,29.70087,-95.19895
+77507,TX,Pasadena,29.6055,-95.079365
+77510,TX,Alta Loma,29.371854,-95.089429
+77511,TX,Alvin,29.41195,-95.251535
+77514,TX,Monroe City,29.780987,-94.554819
+77515,TX,Angleton,29.181049,-95.446661
+77517,TX,Arcadia,29.380259,-95.129003
+77518,TX,Bacliff,29.505506,-94.989293
+77519,TX,Batson,30.22502,-94.60959
+77520,TX,Baytown,29.746063,-94.965265
+77521,TX,Baytown,29.770482,-94.969549
+77530,TX,Channelview,29.791438,-95.131655
+77531,TX,Clute,29.032502,-95.402595
+77532,TX,Barrett,29.937812,-95.07522
+77534,TX,Danbury,29.229082,-95.343465
+77535,TX,Dayton,30.010208,-94.878747
+77536,TX,Deer Park,29.682571,-95.122192
+77538,TX,Devers,29.997835,-94.574615
+77539,TX,San Leon,29.466033,-95.034496
+77541,TX,Quintana,28.96968,-95.371389
+77545,TX,Fresno,29.52931,-95.462608
+77546,TX,Friendswood,29.522399,-95.187888
+77547,TX,Galena Park,29.739204,-95.240001
+77550,TX,Galveston,29.298272,-94.79297
+77551,TX,Galveston,29.276584,-94.830334
+77554,TX,Galveston,29.229638,-94.913716
+77560,TX,Hankamer,29.87524,-94.593846
+77562,TX,Highlands,29.829599,-95.039286
+77563,TX,Hitchcock,29.339835,-94.992591
+77564,TX,Hull,30.13337,-94.660382
+77565,TX,Clear Lake Shore,29.543823,-95.039209
+77566,TX,Lake Jackson,29.039275,-95.440119
+77568,TX,La Marque,29.3676,-94.974159
+77571,TX,Shoreacres,29.660098,-95.05721
+77573,TX,League City,29.517281,-95.096274
+77575,TX,Ames,30.072794,-94.763819
+77577,TX,Liverpool,29.311457,-95.240754
+77578,TX,Manvel,29.469381,-95.35033
+77581,TX,Pearland,29.561656,-95.272069
+77583,TX,Rosharon,29.420329,-95.453732
+77584,TX,Pearland,29.540479,-95.320778
+77585,TX,Saratoga,30.339817,-94.571718
+77586,TX,El Lago,29.572895,-95.028739
+77587,TX,South Houston,29.660097,-95.22582
+77590,TX,Texas City,29.396984,-94.920298
+77591,TX,Texas City,29.389097,-94.994204
+77597,TX,Wallisville,29.859096,-94.675896
+77598,TX,Webster,29.55641,-95.143985
+77611,TX,Bridge City,30.04054,-93.847293
+77612,TX,Buna,30.413209,-93.991263
+77614,TX,Deweyville,30.289295,-93.77305
+77616,TX,Fred,30.598657,-94.185948
+77619,TX,Groves,29.944779,-93.915187
+77622,TX,Hamshire,29.866769,-94.318739
+77624,TX,Hillister,30.689911,-94.407588
+77625,TX,Kountze,30.370316,-94.325905
+77627,TX,Nederland,29.971609,-94.001192
+77630,TX,West Orange,30.125167,-93.771883
+77640,TX,Port Acres,29.882557,-93.962562
+77642,TX,Port Arthur,29.92119,-93.926962
+77650,TX,Crystal Beach,29.459788,-94.611678
+77651,TX,Port Neches,29.976983,-93.962624
+77656,TX,Silsbee,30.324387,-94.190726
+77659,TX,Sour Lake,30.149134,-94.373341
+77660,TX,Spurger,30.778057,-94.212745
+77662,TX,Vidor,30.15018,-94.000779
+77664,TX,Warren,30.597776,-94.411974
+77665,TX,Winnie,29.815676,-94.339499
+77701,TX,Beaumont,30.068805,-94.103896
+77702,TX,Beaumont,30.087057,-94.125412
+77703,TX,Beaumont,30.113201,-94.119698
+77705,TX,Beaumont,30.021128,-94.115673
+77706,TX,Beaumont,30.094834,-94.164816
+77707,TX,Beaumont,30.068567,-94.175541
+77708,TX,Beaumont,30.139957,-94.160357
+77713,TX,Beaumont,30.084996,-94.260719
+77801,TX,Bryan,30.632698,-96.36616
+77802,TX,Bryan,30.658171,-96.335143
+77803,TX,Bryan,30.691293,-96.371398
+77830,TX,Anderson,30.544291,-96.001822
+77831,TX,Singleton,30.764059,-95.933569
+77833,TX,Brenham,30.17736,-96.402769
+77835,TX,Burton,30.176744,-96.592475
+77836,TX,Caldwell,30.529819,-96.714292
+77837,TX,Calvert,30.978211,-96.67107
+77840,TX,College Station,30.604476,-96.31227
+77843,TX,College Station,30.614738,-96.340001
+77845,TX,College Station,30.511811,-96.317113
+77850,TX,Concord,31.263144,-96.102643
+77853,TX,Dime Box,30.35786,-96.824781
+77856,TX,Franklin,31.035013,-96.442643
+77859,TX,Hearne,30.86686,-96.584256
+77861,TX,Iola,30.732637,-96.091075
+77864,TX,Madisonville,30.953335,-95.909094
+77865,TX,Marquez,31.230889,-96.237499
+77868,TX,Navasota,30.357645,-96.059357
+77871,TX,Hilltop Lakes,31.087473,-96.147274
+77872,TX,North Zulch,30.928531,-96.092486
+77873,TX,Richards,30.538166,-95.861053
+77879,TX,Somerville,30.407585,-96.535825
+77880,TX,Washington,30.31819,-96.224948
+77901,TX,Victoria,28.808953,-96.999347
+77904,TX,Victoria,28.867482,-96.998993
+77951,TX,Bloomington,28.68898,-96.884076
+77954,TX,Cuero,29.090969,-97.281247
+77957,TX,Edna,28.952714,-96.648766
+77962,TX,Ganado,29.03084,-96.503078
+77963,TX,Goliad,28.699257,-97.378321
+77964,TX,Hallettsville,29.442609,-96.923423
+77968,TX,Inez,28.899416,-96.800294
+77971,TX,Lolita,28.772449,-96.47933
+77974,TX,Meyersville,28.922921,-97.304161
+77975,TX,Moulton,29.569992,-97.103122
+77979,TX,Port Lavaca,28.601135,-96.625941
+77982,TX,Port O Connor,28.140032,-96.775131
+77983,TX,Seadrift,28.410113,-96.702279
+77984,TX,Shiner,29.428038,-97.163955
+77990,TX,Tivoli,28.440122,-96.887172
+77994,TX,Westhoff,29.054983,-97.351102
+77995,TX,Yoakum,29.283954,-97.13063
+78002,TX,Atascosa,29.270501,-98.74212
+78003,TX,Bandera,29.72755,-99.045279
+78004,TX,Bergheim,29.839873,-98.593258
+78005,TX,Bigfoot,29.053073,-98.85823
+78006,TX,Sisterdale,29.77774,-98.713406
+78007,TX,Calliham,28.417682,-98.407873
+78008,TX,Campbellton,28.76699,-98.256573
+78009,TX,Castroville,29.35532,-98.882391
+78010,TX,Camp Verde,29.939658,-99.00714
+78011,TX,Charlotte,28.864871,-98.707001
+78013,TX,Comfort,29.979072,-98.843772
+78014,TX,Cotulla,28.439837,-99.232818
+78016,TX,Devine,29.152078,-98.908994
+78017,TX,Dilley,28.678201,-99.174684
+78019,TX,Encinal,28.051329,-99.340902
+78021,TX,Fowlerton,28.488666,-98.851821
+78022,TX,George West,28.320388,-98.116159
+78023,TX,Grey Forest,29.592203,-98.703534
+78024,TX,Hunt,30.002694,-99.482329
+78025,TX,Ingram,30.073126,-99.269022
+78026,TX,Jourdanton,28.902985,-98.544037
+78027,TX,Kendalia,29.940619,-98.516556
+78028,TX,Kerrville,30.041647,-99.140817
+78039,TX,La Coste,29.308178,-98.812466
+78040,TX,Laredo,27.515538,-99.498579
+78041,TX,Laredo,27.556933,-99.490653
+78043,TX,Rio Bravo,27.481537,-99.465488
+78052,TX,Lytle,29.236568,-98.794489
+78053,TX,Mc Coy,28.792661,-98.371565
+78055,TX,Medina,29.790689,-99.306431
+78056,TX,Mico,29.59105,-98.882106
+78057,TX,Moore,29.035377,-98.987403
+78058,TX,Mountain Home,30.213249,-99.318607
+78059,TX,Natalia,29.211669,-98.855158
+78060,TX,Oakville,28.464402,-98.055392
+78061,TX,Pearsall,28.892317,-99.094361
+78063,TX,Lakehills,29.631513,-98.922118
+78064,TX,Pleasanton,28.992368,-98.483061
+78065,TX,Poteet,29.099405,-98.624071
+78066,TX,Riomedina,29.490395,-98.866865
+78067,TX,San Ygnacio,27.062523,-99.427148
+78069,TX,Somerset,29.211561,-98.621401
+78070,TX,Spring Branch,29.923815,-98.378786
+78071,TX,Three Rivers,28.475646,-98.178162
+78072,TX,Tilden,28.419755,-98.569322
+78073,TX,Von Ormy,29.274979,-98.667741
+78075,TX,Whitsett,28.637316,-98.256484
+78076,TX,Zapata,26.88966,-99.250625
+78101,TX,Adkins,29.380542,-98.26504
+78102,TX,Beeville,28.422246,-97.761571
+78108,TX,Cibolo,29.574971,-98.227983
+78109,TX,Converse,29.517331,-98.321673
+78111,TX,Ecleto,29.020128,-97.741185
+78112,TX,Elmendorf,29.230793,-98.371982
+78113,TX,Falls City,28.981413,-98.015632
+78114,TX,Floresville,29.169338,-98.193589
+78116,TX,Gillett,29.051353,-97.834325
+78117,TX,Hobson,28.944499,-97.970743
+78118,TX,Karnes City,28.882757,-97.90707
+78119,TX,Kenedy,28.804584,-97.845601
+78121,TX,La Vernia,29.350905,-98.112971
+78122,TX,Leesville,29.396142,-97.756622
+78123,TX,Mc Queeney,29.605655,-98.037591
+78124,TX,Marion,29.56835,-98.151709
+78130,TX,Canyon Lake,29.694733,-98.113041
+78132,TX,Canyon Lake,29.72939,-98.167212
+78133,TX,Canyon Lake,29.870984,-98.249412
+78140,TX,Nixon,29.301649,-97.752898
+78141,TX,Nordheim,28.914225,-97.594579
+78147,TX,Poth,29.06191,-98.08247
+78148,TX,Randolph A F B,29.551608,-98.306742
+78150,TX,Randolph A F B,29.53021,-98.279193
+78151,TX,Runge,28.887556,-97.713824
+78152,TX,Saint Hedwig,29.435284,-98.195223
+78154,TX,Selma,29.568159,-98.272214
+78155,TX,Seguin,29.561316,-97.962801
+78159,TX,Smiley,29.265529,-97.622712
+78160,TX,Stockdale,29.231907,-97.935082
+78161,TX,Sutherland Sprin,29.277831,-98.070794
+78163,TX,Wetmore,29.780175,-98.437846
+78164,TX,Yorktown,28.989191,-97.512056
+78201,TX,Balcones Heights,29.468525,-98.526352
+78202,TX,San Antonio,29.427462,-98.460112
+78203,TX,San Antonio,29.414799,-98.460127
+78204,TX,San Antonio,29.400217,-98.5063
+78205,TX,San Antonio,29.423711,-98.492509
+78207,TX,San Antonio,29.422855,-98.525967
+78208,TX,San Antonio,29.440039,-98.458983
+78209,TX,Alamo Heights,29.488623,-98.455774
+78210,TX,San Antonio,29.397718,-98.465796
+78211,TX,San Antonio,29.358366,-98.545219
+78212,TX,Olmos Park,29.461181,-98.495815
+78213,TX,Castle Hills,29.513406,-98.522679
+78214,TX,San Antonio,29.364115,-98.492436
+78215,TX,San Antonio,29.441338,-98.479338
+78216,TX,San Antonio,29.533387,-98.497511
+78217,TX,San Antonio,29.539525,-98.419444
+78218,TX,San Antonio,29.496852,-98.403184
+78219,TX,Kirby,29.448794,-98.397315
+78220,TX,San Antonio,29.410641,-98.412791
+78221,TX,San Antonio,29.330913,-98.505417
+78222,TX,San Antonio,29.383113,-98.396005
+78223,TX,San Antonio,29.357869,-98.435628
+78224,TX,San Antonio,29.337432,-98.539335
+78225,TX,San Antonio,29.387497,-98.524494
+78226,TX,San Antonio,29.393001,-98.551095
+78227,TX,San Antonio,29.402687,-98.643311
+78228,TX,San Antonio,29.458937,-98.569871
+78229,TX,San Antonio,29.504228,-98.569726
+78230,TX,San Antonio,29.540738,-98.552117
+78231,TX,Shavano Park,29.571434,-98.536817
+78232,TX,Hollywood Park,29.582833,-98.4673
+78233,TX,Live Oak,29.554741,-98.369128
+78234,TX,Fort Sam Houston,29.461961,-98.435404
+78235,TX,Brooks A F B,29.341733,-98.439444
+78236,TX,Wilford Hall U S,29.394267,-98.613367
+78237,TX,San Antonio,29.420758,-98.564546
+78238,TX,Leon Valley,29.476833,-98.615451
+78239,TX,Windcrest,29.515686,-98.361604
+78240,TX,San Antonio,29.518896,-98.600566
+78241,TX,Kelly A F B,29.392432,-98.578063
+78242,TX,San Antonio,29.350905,-98.610927
+78244,TX,San Antonio,29.479264,-98.347585
+78245,TX,San Antonio,29.418927,-98.689494
+78247,TX,Wetmore,29.577604,-98.409783
+78248,TX,San Antonio,29.58936,-98.520105
+78249,TX,San Antonio,29.561245,-98.611666
+78250,TX,San Antonio,29.505394,-98.668765
+78251,TX,San Antonio,29.459743,-98.655472
+78252,TX,San Antonio,29.346015,-98.646395
+78253,TX,San Antonio,29.459923,-98.747931
+78254,TX,San Antonio,29.54091,-98.724841
+78255,TX,San Antonio,29.636875,-98.655572
+78256,TX,San Antonio,29.616946,-98.625215
+78257,TX,San Antonio,29.64953,-98.613701
+78258,TX,San Antonio,29.65624,-98.496699
+78259,TX,San Antonio,29.628331,-98.444495
+78260,TX,San Antonio,29.702578,-98.475908
+78261,TX,San Antonio,29.705463,-98.419092
+78263,TX,San Antonio,29.36143,-98.317386
+78264,TX,San Antonio,29.173345,-98.472272
+78266,TX,Garden Ridge,29.644226,-98.312774
+78332,TX,Alice,27.743171,-98.083622
+78336,TX,Aransas Pass,27.909498,-97.159091
+78338,TX,Armstrong,26.738706,-97.709291
+78340,TX,Bayside,28.096758,-97.210643
+78343,TX,Bishop,27.588564,-97.783031
+78344,TX,Bruni,27.435329,-98.850108
+78349,TX,Concepcion,27.544266,-98.381489
+78353,TX,Encino,26.924862,-98.192168
+78355,TX,Falfurrias,27.22416,-98.140844
+78357,TX,Freer,27.879984,-98.606129
+78358,TX,Fulton,28.223448,-96.808377
+78360,TX,Guerra,26.912753,-98.918886
+78361,TX,Hebbronville,27.2997,-98.682888
+78362,TX,Ingleside,27.868238,-97.206906
+78363,TX,Kingsville Naval,27.507418,-97.859598
+78368,TX,Mathis,28.080208,-97.809659
+78369,TX,Mirando City,27.445038,-99.001117
+78370,TX,Odem,27.940306,-97.583752
+78372,TX,Orange Grove,27.948659,-97.983835
+78374,TX,Portland,27.893547,-97.316931
+78375,TX,Premont,27.354444,-98.133018
+78376,TX,Realitos,27.416283,-98.535493
+78377,TX,Refugio,28.316944,-97.276665
+78379,TX,Riviera,27.321735,-97.778707
+78380,TX,Robstown,27.798395,-97.699523
+78382,TX,Rockport,28.030778,-97.068773
+78383,TX,Sandia,28.070879,-97.897849
+78384,TX,San Diego,27.76535,-98.250297
+78385,TX,Sarita,27.149622,-97.857627
+78387,TX,Sinton,28.033895,-97.519582
+78389,TX,Skidmore,28.230577,-97.666071
+78390,TX,Taft,27.976517,-97.396623
+78391,TX,Tynan,28.169341,-97.754881
+78393,TX,Woodsboro,28.223222,-97.31921
+78401,TX,Corpus Christi,27.794086,-97.402994
+78402,TX,Corpus Christi,27.82621,-97.385659
+78404,TX,Corpus Christi,27.768329,-97.401255
+78405,TX,Corpus Christi,27.776234,-97.427132
+78406,TX,Corpus Christi,27.768412,-97.51445
+78407,TX,Corpus Christi,27.804195,-97.435597
+78408,TX,Corpus Christi,27.794477,-97.43815
+78409,TX,Corpus Christi,27.814555,-97.527034
+78410,TX,Corpus Christi,27.84585,-97.596002
+78411,TX,Corpus Christi,27.731139,-97.387732
+78412,TX,Corpus Christi,27.70608,-97.353694
+78413,TX,Corpus Christi,27.691041,-97.39832
+78414,TX,Corpus Christi,27.677016,-97.365016
+78415,TX,Corpus Christi,27.726204,-97.40778
+78416,TX,Corpus Christi,27.753593,-97.43468
+78417,TX,Corpus Christi,27.728964,-97.449429
+78418,TX,Corpus Christi,27.668531,-97.266558
+78419,TX,Corpus Christi,27.692502,-97.27636
+78473,TX,Corpus Christi,27.79515,-97.396624
+78501,TX,Mcallen,26.21544,-98.235871
+78503,TX,Mcallen,26.177115,-98.251974
+78504,TX,Mcallen,26.255645,-98.230253
+78516,TX,Alamo,26.190578,-98.116445
+78520,TX,Brownsville,25.933743,-97.517413
+78521,TX,Brownsville,25.922103,-97.461236
+78536,TX,Delmita,26.656571,-98.396553
+78537,TX,Donna,26.167138,-98.052925
+78538,TX,Monte Alto,26.304208,-97.975473
+78539,TX,Edinburg,26.304221,-98.156922
+78547,TX,Garciasville,26.312894,-98.669112
+78548,TX,Grulla,26.293714,-98.596041
+78549,TX,Hargill,26.433812,-97.99933
+78550,TX,Harlingen,26.195142,-97.688981
+78552,TX,Harlingen,26.183069,-97.746771
+78557,TX,Hidalgo,26.102832,-98.253641
+78559,TX,La Feria,26.166556,-97.826115
+78563,TX,Linn,26.542054,-98.17987
+78566,TX,Bayview,26.091068,-97.490402
+78569,TX,Lyford,26.408926,-97.781653
+78570,TX,Mercedes,26.15133,-97.918503
+78572,TX,Alton,26.24153,-98.342647
+78577,TX,Pharr,26.177053,-98.187022
+78578,TX,Port Isabel,26.08764,-97.254389
+78580,TX,Raymondville,26.479243,-97.79666
+78582,TX,Rio Grande City,26.394194,-98.810444
+78583,TX,Rio Hondo,26.233855,-97.551311
+78584,TX,Roma,26.421545,-99.002479
+78586,TX,San Benito,26.133659,-97.644748
+78588,TX,San Isidro,26.721404,-98.416147
+78589,TX,San Juan,26.204375,-98.153729
+78590,TX,San Perlita,26.483156,-97.615699
+78591,TX,Santa Elena,26.73364,-98.519412
+78593,TX,Santa Rosa,26.255508,-97.825663
+78594,TX,Sebastian,26.34524,-97.774728
+78595,TX,Sullivan City,26.27197,-98.562713
+78596,TX,Weslaco,26.169444,-97.988714
+78597,TX,South Padre Isla,26.111105,-97.167294
+78598,TX,Port Mansfield,26.555237,-97.427982
+78602,TX,Bastrop,30.13883,-97.292101
+78603,TX,Bebe,29.422211,-97.626594
+78605,TX,Bertram,30.741082,-98.052932
+78606,TX,Blanco,30.087359,-98.410663
+78607,TX,Bluffton,30.825633,-98.51503
+78608,TX,Briggs,30.932546,-97.970228
+78609,TX,Buchanan Dam,30.759765,-98.453226
+78610,TX,Buda,30.091758,-97.853422
+78611,TX,Burnet,30.776597,-98.26424
+78612,TX,Cedar Creek,30.096636,-97.497602
+78613,TX,Cedar Park,30.477165,-97.817571
+78614,TX,Cost,29.432098,-97.553124
+78615,TX,Coupland,30.532357,-97.330364
+78616,TX,Dale,29.952785,-97.580968
+78617,TX,Del Valle,30.174492,-97.613443
+78618,TX,Doss,30.461319,-99.17072
+78619,TX,Driftwood,30.159351,-98.052372
+78620,TX,Dripping Springs,30.226768,-98.102947
+78621,TX,Elgin,30.323136,-97.373748
+78623,TX,Fischer,29.969588,-98.258283
+78624,TX,Fredericksburg,30.281658,-98.879928
+78626,TX,Georgetown,30.633038,-97.670704
+78628,TX,Andice,30.659364,-97.700939
+78629,TX,Gonzales,29.50857,-97.449456
+78631,TX,Harper,30.281637,-99.241048
+78632,TX,Harwood,29.666108,-97.490622
+78634,TX,Hutto,30.525725,-97.567203
+78635,TX,Hye,30.226866,-98.539607
+78636,TX,Johnson City,30.294806,-98.369082
+78638,TX,Kingsbury,29.672566,-97.830634
+78639,TX,Kingsland,30.666212,-98.447492
+78640,TX,Uhland,30.0043,-97.837106
+78641,TX,Leander,30.552888,-97.875166
+78642,TX,Liberty Hill,30.662953,-97.931598
+78643,TX,Sunrise Beach,30.722533,-98.652727
+78644,TX,Lockhart,29.886759,-97.676922
+78645,TX,Jonestown,30.459796,-97.97023
+78648,TX,Luling,29.682621,-97.649947
+78650,TX,Mc Dade,30.296816,-97.238556
+78652,TX,Manchaca,30.127267,-97.853793
+78653,TX,Manor,30.338817,-97.532295
+78654,TX,Cypress Mill,30.57228,-98.306992
+78655,TX,Martindale,29.793328,-97.79332
+78656,TX,Maxwell,29.878628,-97.852852
+78659,TX,Paige,30.185799,-97.119771
+78660,TX,Pflugerville,30.442133,-97.629895
+78662,TX,Red Rock,29.990616,-97.408058
+78663,TX,Round Mountain,30.442879,-98.436514
+78664,TX,Round Rock,30.51452,-97.668028
+78665,TX,Sandy,30.339127,-98.509846
+78666,TX,San Marcos,29.875359,-97.940418
+78669,TX,Spicewood,30.389945,-98.05392
+78671,TX,Albert,30.224921,-98.655468
+78672,TX,Tow,30.860867,-98.459647
+78675,TX,Willow City,30.454889,-98.664589
+78676,TX,Wimberley,30.026471,-98.11231
+78677,TX,Wrightsboro,29.357772,-97.503531
+78681,TX,Round Rock,30.508431,-97.706171
+78701,TX,Austin,30.271289,-97.742559
+78702,TX,Austin,30.263817,-97.716589
+78703,TX,Austin,30.290671,-97.764809
+78704,TX,Austin,30.242831,-97.765788
+78705,TX,Austin,30.289619,-97.739627
+78717,TX,Austin,30.505972,-97.747187
+78719,TX,Austin,30.180243,-97.666701
+78721,TX,Austin,30.272144,-97.686798
+78722,TX,Austin,30.289305,-97.71495
+78723,TX,Austin,30.308515,-97.684941
+78724,TX,Austin,30.295982,-97.639587
+78725,TX,Austin,30.256186,-97.624301
+78726,TX,Austin,30.43,-97.832649
+78727,TX,Austin,30.425422,-97.719488
+78728,TX,Austin,30.441679,-97.681123
+78729,TX,Austin,30.45206,-97.768787
+78730,TX,Austin,30.360745,-97.824062
+78731,TX,Austin,30.347129,-97.760887
+78732,TX,Austin,30.375233,-97.900685
+78733,TX,Austin,30.331355,-97.866633
+78734,TX,Lakeway,30.377404,-97.957558
+78735,TX,Austin,30.248978,-97.841423
+78736,TX,Austin,30.244433,-97.915968
+78737,TX,Austin,30.210692,-97.942749
+78738,TX,Austin,30.333708,-97.982367
+78739,TX,Austin,30.172026,-97.878433
+78741,TX,Austin,30.231513,-97.722317
+78742,TX,Austin,30.231296,-97.670349
+78744,TX,Austin,30.18764,-97.74723
+78745,TX,Austin,30.206298,-97.795599
+78746,TX,West Lake Hills,30.285009,-97.808129
+78747,TX,Creedmoor,30.130235,-97.762127
+78748,TX,Austin,30.174311,-97.822474
+78749,TX,Austin,30.216641,-97.850755
+78750,TX,Austin,30.422401,-97.796676
+78751,TX,Austin,30.309288,-97.724163
+78752,TX,Austin,30.331562,-97.700394
+78753,TX,Austin,30.36485,-97.682658
+78754,TX,Austin,30.342331,-97.667267
+78756,TX,Austin,30.322312,-97.739032
+78757,TX,Austin,30.343732,-97.731617
+78758,TX,Austin,30.376431,-97.707758
+78759,TX,Austin,30.403614,-97.752602
+78801,TX,Uvalde,29.217238,-99.793074
+78827,TX,Asherton,28.436421,-99.748611
+78828,TX,Barksdale,29.708488,-100.070983
+78829,TX,Batesville,28.928648,-99.611457
+78830,TX,Big Wells,28.569344,-99.578083
+78832,TX,Brackettville,29.30963,-100.415495
+78833,TX,Camp Wood,29.679491,-100.00838
+78834,TX,Carrizo Springs,28.52779,-99.863513
+78837,TX,Comstock,29.74842,-101.262755
+78838,TX,Concan,29.524057,-99.684244
+78839,TX,Crystal City,28.686953,-99.826412
+78840,TX,Laughlin A F B,29.373881,-100.891555
+78850,TX,D Hanis,29.3398,-99.283488
+78851,TX,Dryden,30.165108,-102.33207
+78852,TX,Eagle Pass,28.702786,-100.48176
+78861,TX,Dunlay,29.356065,-99.127637
+78870,TX,Knippa,29.291119,-99.637171
+78872,TX,La Pryor,28.948848,-99.85074
+78873,TX,Leakey,29.768951,-99.747913
+78877,TX,Spofford,28.942688,-100.574181
+78879,TX,Rio Frio,29.658295,-99.772337
+78880,TX,Rocksprings,30.018756,-100.231029
+78881,TX,Sabinal,29.326668,-99.478109
+78883,TX,Tarpley,29.645494,-99.246874
+78884,TX,Utopia,29.597197,-99.558454
+78885,TX,Vanderpool,29.741779,-99.555542
+78886,TX,Yancey,29.140398,-99.14277
+78931,TX,Bleiblerville,29.967572,-96.418719
+78932,TX,Carmine,30.140351,-96.686077
+78933,TX,Cat Spring,29.751204,-96.390029
+78934,TX,Columbus,29.703247,-96.5527
+78935,TX,Alleyton,29.745286,-96.46312
+78938,TX,Ellinger,29.845915,-96.69663
+78940,TX,Fayetteville,29.886789,-96.646317
+78941,TX,Flatonia,29.709493,-97.098685
+78942,TX,Giddings,30.177725,-96.93322
+78944,TX,Industry,29.971789,-96.518849
+78945,TX,La Grange,29.903978,-96.885988
+78946,TX,Ledbetter,30.238307,-96.761276
+78947,TX,Lexington,30.419144,-97.052387
+78948,TX,Lincoln,30.317693,-96.970159
+78949,TX,Muldoon,29.799305,-97.100562
+78950,TX,New Ulm,29.814248,-96.537963
+78953,TX,Rosanky,29.924122,-97.311875
+78954,TX,Round Top,30.041131,-96.734058
+78956,TX,Schulenburg,29.688247,-96.910564
+78957,TX,Smithville,30.017813,-97.149396
+78959,TX,Waelder,29.6868,-97.295798
+78962,TX,Weimar,29.678707,-96.755045
+78963,TX,West Point,29.95235,-97.036129
+79001,TX,Adrian,35.275807,-102.69699
+79005,TX,Booker,36.442948,-100.523791
+79007,TX,Phillips,35.664299,-101.403245
+79009,TX,Bovina,34.481504,-102.806115
+79011,TX,Briscoe,35.58547,-100.167923
+79014,TX,Glazier,35.885906,-100.353875
+79015,TX,Canyon,34.977222,-101.924705
+79018,TX,Channing,35.782572,-102.334269
+79019,TX,Claude,35.096715,-101.381271
+79022,TX,Dalhart,36.073183,-102.517658
+79027,TX,Dimmitt,34.534089,-102.304634
+79029,TX,Dumas,35.882315,-101.967984
+79031,TX,Earth,34.241521,-102.421284
+79034,TX,Follett,36.430923,-100.206776
+79035,TX,Black,34.640298,-102.719139
+79036,TX,Fritch,35.644121,-101.584482
+79039,TX,Groom,35.216761,-101.12846
+79040,TX,Gruver,36.286805,-101.408906
+79041,TX,Hale Center,34.066943,-101.873623
+79042,TX,Happy,34.721899,-101.825632
+79043,TX,Hart,34.387838,-102.115534
+79044,TX,Hartley,35.931122,-102.52213
+79045,TX,Hereford,34.837037,-102.40503
+79046,TX,Higgins,36.136504,-100.095191
+79052,TX,Kress,34.373703,-101.73705
+79056,TX,Lipscomb,36.223031,-100.270164
+79057,TX,Kellerville,35.234051,-100.611303
+79059,TX,Miami,35.719301,-100.702715
+79061,TX,Mobeetie,35.529717,-100.424158
+79062,TX,Morse,36.059579,-101.47288
+79063,TX,Nazareth,34.544356,-102.106914
+79064,TX,Olton,34.184418,-102.141415
+79065,TX,Pampa,35.538043,-100.957885
+79068,TX,Panhandle,35.380841,-101.43037
+79070,TX,Perryton,36.374825,-100.815558
+79072,TX,Plainview,34.196194,-101.725896
+79079,TX,Twitty,35.220596,-100.262152
+79080,TX,Skellytown,35.568489,-101.172134
+79081,TX,Spearman,36.192689,-101.195234
+79082,TX,Springlake,34.23932,-102.308999
+79083,TX,Stinnett,35.837661,-101.450011
+79084,TX,Stratford,36.33349,-101.988568
+79085,TX,Summerfield,34.727244,-102.49919
+79086,TX,Sunray,36.009707,-101.812334
+79087,TX,Texline,36.374034,-102.984516
+79088,TX,Vigo Park,34.540258,-101.762864
+79092,TX,Vega,35.373212,-102.356572
+79094,TX,Wayside,34.803353,-101.545434
+79095,TX,Wellington,34.871726,-100.220721
+79096,TX,Wheeler,35.431852,-100.256824
+79097,TX,White Deer,35.42781,-101.173993
+79098,TX,Wildorado,35.19156,-102.211754
+79101,TX,Amarillo,35.203238,-101.842052
+79102,TX,Amarillo,35.199854,-101.84963
+79103,TX,Amarillo,35.175134,-101.797587
+79104,TX,Amarillo,35.193918,-101.797503
+79106,TX,Amarillo,35.197741,-101.894918
+79107,TX,Amarillo,35.230866,-101.805962
+79108,TX,Amarillo,35.277866,-101.830025
+79109,TX,Amarillo,35.166332,-101.886764
+79110,TX,Amarillo,35.154468,-101.864063
+79111,TX,Amarillo,35.228619,-101.670342
+79118,TX,Amarillo,35.07629,-101.834936
+79119,TX,Amarillo,35.064214,-101.97432
+79121,TX,Amarillo,35.169689,-101.926594
+79124,TX,Amarillo,35.270269,-101.942952
+79201,TX,Kirkland,34.428124,-100.21017
+79220,TX,Afton,33.771837,-100.802131
+79225,TX,Chillicothe,34.243946,-99.515669
+79226,TX,Clarendon,34.952878,-100.895157
+79227,TX,Crowell,33.991208,-99.698345
+79229,TX,Dickens,33.627996,-100.819695
+79230,TX,Dodson,34.764354,-100.028593
+79232,TX,Dumont,33.656735,-100.319829
+79234,TX,Flomot,34.232076,-101.003824
+79235,TX,Floydada,33.974296,-101.334564
+79237,TX,Hedley,34.869787,-100.680632
+79239,TX,Lakeview,34.672437,-100.725921
+79241,TX,Lockney,34.145827,-101.425934
+79243,TX,Mcadoo,33.741265,-100.983293
+79244,TX,Matador,34.052507,-100.836138
+79245,TX,Memphis,34.712237,-100.534653
+79248,TX,Chalk,34.019154,-100.305917
+79250,TX,Petersburg,33.876806,-101.604591
+79251,TX,Quail,34.917969,-100.425243
+79252,TX,Quanah,34.29555,-99.749438
+79255,TX,Quitaque,34.379605,-101.046458
+79256,TX,Roaring Springs,33.897669,-100.852818
+79257,TX,Silverton,34.464089,-101.316899
+79259,TX,Tell,34.378164,-100.396482
+79260,TX,Truscott,33.75323,-99.662455
+79261,TX,Turkey,34.403644,-100.844875
+79311,TX,Abernathy,33.849961,-101.861111
+79312,TX,Amherst,33.997608,-102.441614
+79313,TX,Anton,33.804278,-102.165165
+79316,TX,Brownfield,33.169801,-102.276157
+79320,TX,Bula,33.89696,-102.656426
+79322,TX,Crosbyton,33.656159,-101.228733
+79323,TX,Denver City,32.971114,-102.831251
+79324,TX,Enochs,33.850225,-102.764107
+79325,TX,Farwell,34.386025,-102.990064
+79326,TX,Fieldton,34.091878,-102.269692
+79329,TX,Idalou,33.650376,-101.678579
+79331,TX,Lamesa,32.736677,-101.956914
+79336,TX,Levelland,33.578778,-102.367591
+79339,TX,Littlefield,33.921195,-102.320697
+79342,TX,Loop,32.916169,-102.422084
+79343,TX,Lorenzo,33.666626,-101.527736
+79344,TX,Maple,33.8622,-102.926588
+79345,TX,Meadow,33.332098,-102.249196
+79346,TX,Morton,33.715718,-102.779619
+79347,TX,Muleshoe,34.219308,-102.749631
+79351,TX,Odonnell,32.977331,-101.827099
+79353,TX,Pep,33.810434,-102.56558
+79355,TX,Plains,33.189354,-102.829367
+79356,TX,Post,33.201695,-101.39216
+79357,TX,Cone,33.678977,-101.382738
+79358,TX,Ropesville,33.457499,-102.15841
+79359,TX,Seagraves,32.93172,-102.578075
+79360,TX,Seminole,32.721045,-102.682761
+79363,TX,Shallowater,33.691859,-101.983626
+79364,TX,Ransom Canyon,33.436795,-101.65192
+79366,TX,Ransom Canyon,33.533019,-101.690805
+79370,TX,Spur,33.479016,-100.857116
+79371,TX,Sudan,34.069661,-102.525525
+79373,TX,Tahoka,33.198803,-101.821976
+79376,TX,Tokio,33.18259,-102.576753
+79377,TX,Welch,32.893827,-102.106792
+79379,TX,Whiteface,33.586575,-102.638941
+79381,TX,Wilson,33.329862,-101.712231
+79382,TX,Wolfforth,33.530381,-102.026101
+79401,TX,Lubbock,33.586527,-101.860634
+79403,TX,Lubbock,33.619573,-101.80982
+79404,TX,Lubbock,33.525979,-101.833263
+79405,TX,Lubbock,33.570972,-101.850655
+79406,TX,Lubbock,33.581934,-101.877828
+79407,TX,Lubbock,33.568369,-101.942333
+79410,TX,Lubbock,33.56931,-101.890377
+79411,TX,Lubbock,33.570393,-101.862593
+79412,TX,Lubbock,33.546313,-101.857737
+79413,TX,Lubbock,33.546597,-101.887142
+79414,TX,Lubbock,33.549728,-101.918666
+79415,TX,Lubbock,33.602117,-101.876015
+79416,TX,Lubbock,33.592397,-101.936705
+79423,TX,Lubbock,33.514604,-101.87946
+79424,TX,Lubbock,33.515866,-101.93439
+79489,TX,Reese Air Force,33.594344,-102.028792
+79501,TX,Anson,32.748894,-99.895301
+79502,TX,Aspermont,33.130059,-100.234372
+79503,TX,Avoca,32.883225,-99.69642
+79504,TX,Baird,32.391557,-99.37766
+79506,TX,Blackwell,32.082044,-100.311078
+79510,TX,Clyde,32.380289,-99.518445
+79511,TX,Coahoma,32.294215,-101.319681
+79512,TX,Colorado City,32.398736,-100.860948
+79517,TX,Fluvanna,32.781022,-101.041966
+79518,TX,Girard,33.363202,-100.693688
+79519,TX,Goldsboro,32.048213,-99.677457
+79520,TX,Hamlin,32.879893,-100.128014
+79521,TX,Haskell,33.157993,-99.730923
+79525,TX,Hawley,32.594965,-99.795994
+79526,TX,Hermleigh,32.629441,-100.754714
+79527,TX,Ira,32.621274,-101.025419
+79528,TX,Jayton,33.251774,-100.582482
+79529,TX,Knox City,33.418294,-99.8137
+79530,TX,Lawn,32.136012,-99.735081
+79532,TX,Loraine,32.385047,-100.72851
+79533,TX,Lueders,32.762339,-99.672792
+79534,TX,Mc Caulley,32.778654,-100.216784
+79535,TX,Maryneal,32.202639,-100.497178
+79536,TX,Merkel,32.444371,-99.992443
+79537,TX,Nolan,32.279333,-100.267053
+79538,TX,Novice,32.000927,-99.59353
+79539,TX,O Brien,33.374869,-99.847303
+79540,TX,Old Glory,33.184162,-100.153155
+79541,TX,Ovalo,32.155257,-99.822873
+79542,TX,79542,33.204065,-100.394624
+79543,TX,Roby,32.722016,-100.400766
+79544,TX,Rochester,33.310457,-99.859366
+79545,TX,Roscoe,32.427558,-100.539088
+79546,TX,Rotan,32.855521,-100.470489
+79547,TX,Rule,33.184163,-99.889354
+79548,TX,Sagerton,33.051321,-99.892329
+79549,TX,Dermott,32.715105,-100.907485
+79553,TX,Stamford,32.945323,-99.78593
+79556,TX,Sweetwater,32.472589,-100.397908
+79560,TX,Sylvester,32.717909,-100.242497
+79561,TX,Trent,32.489752,-100.119488
+79562,TX,Tuscola,32.234955,-99.82439
+79563,TX,Tye,32.447728,-99.868434
+79565,TX,Westbrook,32.353195,-100.990719
+79566,TX,Wingate,32.031777,-100.118311
+79567,TX,Winters,31.962028,-99.955114
+79601,TX,Abilene,32.468155,-99.718208
+79602,TX,Abilene,32.41783,-99.721448
+79603,TX,Abilene,32.467852,-99.761916
+79605,TX,Abilene,32.431987,-99.772374
+79606,TX,Abilene,32.392038,-99.774578
+79607,TX,Dyess Afb,32.418956,-99.82214
+79701,TX,Midland,31.989636,-102.06261
+79703,TX,Midland,31.972106,-102.136854
+79705,TX,Midland,32.029473,-102.091483
+79707,TX,Midland,32.019911,-102.147599
+79713,TX,Ackerly,32.609085,-101.795132
+79714,TX,Andrews,32.320125,-102.540926
+79718,TX,Balmorhea,31.012361,-103.693316
+79719,TX,Barstow,31.463908,-103.397086
+79720,TX,Vealmoor,32.241767,-101.467517
+79730,TX,Coyanosa,31.229547,-103.053815
+79731,TX,Crane,31.396949,-102.354382
+79734,TX,Fort Davis,30.613144,-103.936434
+79735,TX,Fort Stockton,30.890785,-102.879942
+79738,TX,Gail,32.752334,-101.450032
+79739,TX,Garden City,31.849078,-101.526912
+79741,TX,Goldsmith,31.95412,-102.625047
+79742,TX,Grandfalls,31.345856,-102.856778
+79743,TX,Imperial,31.237264,-102.710918
+79744,TX,Iraan,30.915564,-101.915175
+79745,TX,Kermit,31.85496,-103.091269
+79748,TX,Knott,32.412489,-101.651731
+79749,TX,Lenorah,32.439157,-101.761137
+79752,TX,Mc Camey,31.131894,-102.215325
+79754,TX,Mentone,31.738374,-103.550316
+79755,TX,Midkiff,31.306761,-101.926913
+79756,TX,Monahans,31.581294,-102.900273
+79758,TX,Gardendale,32.024476,-102.357237
+79761,TX,Odessa,31.857945,-102.352252
+79762,TX,Odessa,31.889029,-102.354806
+79763,TX,Odessa,31.834085,-102.416179
+79764,TX,Odessa,31.876683,-102.437465
+79765,TX,Odessa,31.937548,-102.394403
+79766,TX,Odessa,31.782683,-102.344863
+79772,TX,Verhalen,31.414384,-103.508129
+79777,TX,Pyote,31.539491,-103.139676
+79781,TX,Sheffield,30.693549,-101.859963
+79782,TX,Stanton,32.139992,-101.809887
+79783,TX,Tarzan,32.357523,-101.960723
+79789,TX,Wink,31.752673,-103.156084
+79821,TX,Anthony,31.990718,-106.597625
+79830,TX,Alpine,30.263111,-103.654089
+79834,TX,Big Bend Nationa,29.147657,-103.330626
+79835,TX,Canutillo,31.934379,-106.592888
+79836,TX,Clint,31.549418,-106.20383
+79837,TX,Dell City,31.923975,-105.209902
+79839,TX,Fort Hancock,31.296887,-105.823448
+79842,TX,Marathon,30.18858,-103.221397
+79843,TX,Marfa,30.292982,-104.084835
+79845,TX,Presidio,29.557302,-104.35511
+79847,TX,Salt Flat,31.359027,-104.611467
+79851,TX,Sierra Blanca,31.193821,-105.321874
+79852,TX,Terlingua,29.31648,-103.559671
+79854,TX,Valentine,30.620043,-104.481096
+79855,TX,Kent,31.042879,-104.832249
+79901,TX,El Paso,31.758411,-106.478311
+79902,TX,El Paso,31.776317,-106.493165
+79903,TX,El Paso,31.786213,-106.440569
+79904,TX,El Paso,31.853334,-106.438135
+79905,TX,El Paso,31.767447,-106.430445
+79906,TX,Fort Bliss,31.807631,-106.421611
+79907,TX,El Paso,31.708908,-106.329281
+79908,TX,Fort Bliss,31.82753,-106.386711
+79912,TX,El Paso,31.838309,-106.536433
+79915,TX,El Paso,31.743234,-106.368605
+79916,TX,Fort Bliss,31.794873,-106.159157
+79922,TX,El Paso,31.821767,-106.573176
+79924,TX,El Paso,31.902098,-106.414857
+79925,TX,El Paso,31.781402,-106.361317
+79927,TX,Horizon City,31.653014,-106.273064
+79930,TX,El Paso,31.804795,-106.456754
+79932,TX,El Paso,31.862334,-106.593186
+79934,TX,El Paso,31.938585,-106.407328
+79935,TX,El Paso,31.771847,-106.330258
+79936,TX,El Paso,31.767655,-106.30159
+84001,UT,Altamont,40.370225,-110.446356
+84002,UT,Altonah,40.441894,-110.438499
+84003,UT,American Fork,40.392784,-111.794107
+84004,UT,Alpine,40.461591,-111.768861
+84006,UT,Bingham Canyon,40.564614,-112.097718
+84007,UT,Bluebell,40.351728,-110.294122
+84010,UT,Bountiful,40.877513,-111.872658
+84012,UT,Bridgeland,40.230411,-110.160264
+84013,UT,Cedar Valley,40.142516,-111.968985
+84014,UT,Centerville,40.926772,-111.87701
+84015,UT,Clearfield,41.129388,-112.048224
+84017,UT,Coalville,40.924385,-111.407108
+84018,UT,Croydon,41.068915,-111.523092
+84020,UT,Draper,40.504599,-111.88096
+84021,UT,Duchesne,39.95398,-110.618094
+84022,UT,Dugway,40.526892,-112.872905
+84023,UT,Dutch John,40.932244,-109.354255
+84025,UT,Farmington,40.988913,-111.893785
+84026,UT,Fort Duchesne,40.301411,-109.863726
+84028,UT,Garden City,41.93764,-111.407033
+84029,UT,Grantsville,40.60054,-112.461766
+84031,UT,Hanna,40.450135,-110.809748
+84032,UT,Heber City,40.494703,-111.405088
+84035,UT,Jensen,40.378715,-109.350982
+84036,UT,Kamas,40.641432,-111.261877
+84037,UT,Kaysville,41.037527,-111.932607
+84038,UT,Laketown,41.81068,-111.268853
+84039,UT,Lapoint,40.400285,-109.804102
+84040,UT,Layton,41.084576,-111.927365
+84041,UT,Layton,41.087905,-111.970354
+84042,UT,Lindon,40.34119,-111.714358
+84043,UT,Lehi,40.395845,-111.850606
+84044,UT,Magna,40.700879,-112.080867
+84046,UT,Manila,40.968494,-109.723503
+84047,UT,Midvale,40.615178,-111.885066
+84049,UT,Midway,40.50934,-111.477575
+84050,UT,Morgan,41.067832,-111.716339
+84051,UT,Mountain Home,40.191999,-110.767018
+84052,UT,Myton,40.194049,-110.048056
+84053,UT,Neola,40.449149,-110.037221
+84054,UT,North Salt Lake,40.844064,-111.904116
+84056,UT,Hill Air Force B,41.116962,-111.995565
+84057,UT,Orem,40.313407,-111.695293
+84058,UT,Vineyard,40.280761,-111.694301
+84060,UT,Park City,40.695724,-111.528021
+84061,UT,Peoa,40.720937,-111.302467
+84062,UT,Pleasant Grove,40.371986,-111.733284
+84063,UT,Randlett,40.21865,-109.730102
+84064,UT,Randolph,41.656328,-111.185578
+84065,UT,Lark,40.53789,-111.954661
+84066,UT,Roosevelt,40.310229,-110.010782
+84067,UT,Roy,41.172365,-112.038177
+84069,UT,Rush Valley,40.233625,-112.744033
+84070,UT,Sandy,40.579379,-111.881625
+84071,UT,Stockton,40.350451,-112.425214
+84072,UT,Tabiona,40.382691,-110.702108
+84073,UT,Talmage,40.174569,-110.396529
+84074,UT,Tooele,40.545445,-112.300214
+84075,UT,Syracuse,41.086423,-112.0451
+84076,UT,Tridell,40.443593,-109.835906
+84078,UT,Vernal,40.440613,-109.546883
+84080,UT,Vernon,40.082609,-112.425961
+84082,UT,Wallsburg,40.365697,-111.464934
+84083,UT,Trout Creek,40.597396,-113.993573
+84084,UT,West Jordan,40.625429,-111.967662
+84085,UT,Whiterocks,40.452771,-109.917244
+84086,UT,Woodruff,41.488783,-111.186848
+84087,UT,Woods Cross,40.887447,-111.902712
+84088,UT,West Jordan,40.595913,-111.964385
+84092,UT,Alta,40.560245,-111.82736
+84093,UT,Sandy,40.592651,-111.830989
+84094,UT,Sandy,40.568757,-111.861716
+84101,UT,Salt Lake City,40.755851,-111.896657
+84102,UT,Salt Lake City,40.760034,-111.862721
+84103,UT,Salt Lake City,40.777584,-111.874891
+84104,UT,Salt Lake City,40.74985,-111.925979
+84105,UT,Salt Lake City,40.737236,-111.858087
+84106,UT,Salt Lake City,40.705597,-111.854841
+84107,UT,Murray,40.659014,-111.878383
+84108,UT,Salt Lake City,40.737136,-111.825822
+84109,UT,Salt Lake City,40.704251,-111.814218
+84111,UT,Salt Lake City,40.754834,-111.881
+84112,UT,Salt Lake City,40.752372,-111.827827
+84113,UT,Salt Lake City,40.763057,-111.841825
+84115,UT,South Salt Lake,40.715797,-111.883828
+84116,UT,Salt Lake City,40.785697,-111.929054
+84117,UT,Holladay,40.666302,-111.832943
+84118,UT,Kearns,40.652759,-111.98521
+84119,UT,West Valley City,40.690977,-111.952964
+84120,UT,West Valley City,40.68708,-112.009783
+84121,UT,Cottonwood,40.623247,-111.82468
+84123,UT,Murray,40.660479,-111.919483
+84124,UT,Holladay,40.67966,-111.820833
+84302,UT,Brigham City,41.507921,-112.015177
+84305,UT,Clarkston,41.91877,-112.04859
+84306,UT,Collinston,41.78777,-112.124219
+84307,UT,Corinne,41.544986,-112.151388
+84308,UT,Cornish,41.970178,-111.954241
+84309,UT,Deweyville,41.697226,-112.094717
+84310,UT,Eden,41.330279,-111.855765
+84311,UT,Fielding,41.811817,-112.118978
+84312,UT,Garland,41.741319,-112.151635
+84313,UT,Grouse Creek,41.629727,-113.854043
+84314,UT,Honeyville,41.623754,-112.097425
+84315,UT,Hooper,41.18267,-112.090371
+84317,UT,Huntsville,41.272139,-111.761821
+84319,UT,Hyrum,41.631096,-111.849
+84320,UT,Lewiston,41.970087,-111.876814
+84321,UT,Logan,41.747025,-111.822613
+84324,UT,Mantua,41.497496,-111.941646
+84325,UT,Mendon,41.709989,-111.981692
+84328,UT,Paradise,41.560009,-111.829665
+84329,UT,Park Valley,41.855125,-113.34776
+84332,UT,Providence,41.69522,-111.824389
+84333,UT,Richmond,41.928223,-111.806922
+84335,UT,Smithfield,41.840328,-111.852813
+84336,UT,Snowville,41.840321,-112.353391
+84337,UT,Tremonton,41.701564,-112.181293
+84338,UT,Trenton,41.910453,-111.934033
+84339,UT,Wellsville,41.634302,-111.931676
+84340,UT,Willard,41.398944,-112.031653
+84401,UT,Ogden,41.22148,-111.962121
+84403,UT,Ogden,41.189412,-111.948927
+84404,UT,Ogden,41.262727,-111.983686
+84405,UT,Ogden,41.173928,-111.980945
+84414,UT,Ogden,41.311201,-111.968924
+84501,UT,Price,39.602013,-110.808117
+84510,UT,Aneth,37.214671,-109.298281
+84511,UT,Blanding,37.586342,-109.486599
+84520,UT,East Carbon,39.546088,-110.411308
+84523,UT,Ferron,39.069196,-111.146698
+84525,UT,Green River,39.000243,-110.159817
+84526,UT,Helper,39.673684,-110.856
+84528,UT,Huntington,39.29202,-110.974094
+84531,UT,Mexican Hat,37.118429,-109.991865
+84532,UT,Moab,38.567674,-109.527087
+84533,UT,Bullfrog,37.459898,-110.506917
+84535,UT,Monticello,37.921709,-109.315289
+84536,UT,Monument Valley,37.061425,-110.427335
+84540,UT,Thompson,38.988065,-109.794482
+84542,UT,Wellington,39.537257,-110.736954
+84601,UT,Provo,40.231949,-111.675504
+84604,UT,Provo,40.260681,-111.654906
+84606,UT,Provo,40.234675,-111.644724
+84621,UT,Axtell,39.053248,-111.824303
+84622,UT,Centerfield,39.125083,-111.818516
+84624,UT,Delta,39.375534,-112.531892
+84627,UT,Ephraim,39.359983,-111.582301
+84628,UT,Eureka,39.954094,-112.117448
+84629,UT,Fairview,39.645318,-111.495287
+84630,UT,Fayette,39.231533,-111.849712
+84631,UT,Fillmore,38.980539,-112.331321
+84634,UT,Gunnison,39.154464,-111.816701
+84635,UT,Hinckley,39.330842,-112.671577
+84642,UT,Manti,39.235389,-111.651372
+84645,UT,Mona,39.838165,-111.848001
+84647,UT,Mount Pleasant,39.523227,-111.503854
+84648,UT,Nephi,39.692275,-111.8359
+84650,UT,Oasis,39.27067,-112.648079
+84651,UT,Payson,40.044866,-111.732138
+84653,UT,Woodland Hills,40.042702,-111.65906
+84654,UT,Salina,38.956028,-111.881072
+84655,UT,Genola,39.980356,-111.793819
+84660,UT,Spanish Fork,40.10991,-111.646246
+84663,UT,Springville,40.162528,-111.598664
+84664,UT,Mapleton,40.133711,-111.580122
+84701,UT,Venice,38.757075,-112.062253
+84710,UT,Alton,37.469905,-112.548389
+84712,UT,Antimony,38.1015,-111.993029
+84713,UT,Beaver,38.28071,-112.629916
+84714,UT,Beryl,37.96005,-113.619586
+84716,UT,Boulder,37.916606,-111.426646
+84717,UT,Bryce Canyon,37.608427,-112.074311
+84719,UT,Brian Head,37.698465,-112.843698
+84720,UT,Pintura,37.689544,-113.074513
+84722,UT,Central,37.567734,-113.717199
+84726,UT,Escalante,37.769839,-111.603695
+84728,UT,Garrison,39.074382,-113.894858
+84729,UT,Glendale,37.321897,-112.603491
+84731,UT,Greenville,38.263582,-112.708404
+84734,UT,Hanksville,38.252051,-110.813744
+84737,UT,Hurricane,37.169098,-113.224706
+84739,UT,Joseph,38.622092,-112.225119
+84741,UT,Big Water,37.072085,-112.345374
+84743,UT,Kingston,38.215772,-112.204864
+84747,UT,Fremont,38.417266,-111.629233
+84750,UT,Marysvale,38.444924,-112.251848
+84751,UT,Milford,38.331071,-112.993377
+84753,UT,Modena,37.799452,-113.919282
+84754,UT,Austin,38.645305,-112.132434
+84755,UT,Mount Carmel,37.237821,-112.670034
+84756,UT,Newcastle,37.736049,-113.661479
+84758,UT,Orderville,37.274419,-112.642045
+84759,UT,Panguitch,37.80777,-112.436886
+84760,UT,Paragonah,37.89172,-112.773972
+84761,UT,Parowan,37.844861,-112.832251
+84766,UT,Sevier,38.590709,-112.392126
+84770,UT,St George,37.106651,-113.595261
+84772,UT,Summit,37.803397,-112.913407
+84773,UT,Teasdale,38.285334,-111.43346
+84775,UT,Torrey,38.334993,-111.547439
+84780,UT,Washington,37.136379,-113.505043
+84781,UT,Pine Valley,37.389772,-113.517708
+84782,UT,Veyo,37.35896,-113.666758
+84783,UT,Dammeron Valley,37.284899,-113.658553
+5001,VT,White River Junc,43.663431,-72.350351
+5032,VT,Bethel,43.819464,-72.652807
+5033,VT,Bradford,44.0006,-72.140638
+5034,VT,Bridgewater,43.580428,-72.646704
+5035,VT,Bridgewater Corn,43.602147,-72.682212
+5036,VT,Brookfield,44.032083,-72.595259
+5037,VT,Brownsville,43.464584,-72.494405
+5038,VT,Chelsea,44.003931,-72.479303
+5039,VT,Corinth,44.032533,-72.282241
+5040,VT,East Corinth,44.061851,-72.215144
+5041,VT,East Randolph,43.955297,-72.548746
+5042,VT,Ryegate,44.193453,-72.072669
+5043,VT,East Thetford,43.825757,-72.19668
+5045,VT,Fairlee,43.90105,-72.190214
+5046,VT,Groton,44.220435,-72.217548
+5048,VT,Hartland,43.570764,-72.413103
+5051,VT,Newbury,44.096555,-72.107231
+5052,VT,North Hartland,43.596721,-72.352591
+5053,VT,North Pomfret,43.720401,-72.494287
+5055,VT,Norwich,43.740373,-72.30162
+5056,VT,Plymouth,43.498653,-72.710655
+5058,VT,Post Mills,43.893288,-72.262031
+5060,VT,Randolph,43.944399,-72.67258
+5061,VT,Randolph Center,43.9379,-72.596975
+5062,VT,Reading,43.47935,-72.570446
+5065,VT,Sharon,43.774843,-72.424283
+5067,VT,South Pomfret,43.679665,-72.534907
+5068,VT,South Royalton,43.808931,-72.523228
+5069,VT,South Ryegate,44.211075,-72.129558
+5070,VT,South Strafford,43.828238,-72.369959
+5071,VT,South Woodstock,43.560137,-72.538383
+5072,VT,Strafford,43.872306,-72.36363
+5073,VT,Taftsville,43.629819,-72.467331
+5075,VT,Thetford Center,43.814883,-72.266204
+5077,VT,Tunbridge,43.9169,-72.478578
+5079,VT,Vershire,43.961811,-72.319015
+5081,VT,Wells River,44.152438,-72.052958
+5083,VT,West Fairlee,43.92232,-72.26163
+5084,VT,West Hartford,43.716068,-72.444618
+5086,VT,West Topsham,44.119925,-72.270051
+5089,VT,Windsor,43.476032,-72.410998
+5091,VT,Woodstock,43.62482,-72.538455
+5101,VT,Bellows Falls,43.148198,-72.466373
+5141,VT,Cambridgeport,43.153363,-72.565511
+5142,VT,Cavendish,43.376621,-72.609247
+5143,VT,Chester,43.283124,-72.603125
+5146,VT,Grafton,43.160095,-72.597229
+5148,VT,Bromley Mtn,43.223961,-72.801756
+5149,VT,Ludlow,43.392909,-72.700184
+5150,VT,North Springfiel,43.335452,-72.529096
+5151,VT,Perkinsville,43.387885,-72.503813
+5152,VT,Peru,43.256532,-72.886797
+5153,VT,Proctorsville,43.4005,-72.61962
+5154,VT,Saxtons River,43.137861,-72.508107
+5155,VT,South Londonderr,43.183082,-72.811787
+5156,VT,Springfield,43.303433,-72.477769
+5161,VT,Weston,43.29409,-72.793523
+5201,VT,Bennington,42.882658,-73.192321
+5250,VT,Arlington,43.085681,-73.159364
+5251,VT,Dorset,43.263561,-73.076603
+5252,VT,East Arlington,43.063801,-73.138904
+5253,VT,East Dorset,43.236982,-73.008146
+5255,VT,Manchester Cente,43.175223,-73.052313
+5257,VT,North Bennington,42.92385,-73.237531
+5260,VT,North Pownal,42.809775,-73.25343
+5261,VT,Pownal,42.787955,-73.21624
+5262,VT,Shaftsbury,42.96144,-73.216591
+5301,VT,Brattleboro,42.857353,-72.593322
+5340,VT,Bondville,43.161831,-72.912768
+5341,VT,East Dover,42.950508,-72.783032
+5342,VT,Jacksonville,42.777752,-72.807121
+5343,VT,Jamaica,43.104235,-72.794409
+5345,VT,Newfane,42.97043,-72.678078
+5346,VT,Putney,43.035561,-72.512272
+5350,VT,Readsboro,42.78367,-72.960886
+5352,VT,Stamford,42.76962,-73.069068
+5353,VT,Townshend,43.062174,-72.668676
+5354,VT,Vernon,42.756468,-72.511547
+5355,VT,Wardsboro,43.032649,-72.807687
+5356,VT,Mount Snow,42.956029,-72.854235
+5358,VT,West Halifax,42.776103,-72.750142
+5359,VT,West Townshend,43.130044,-72.720985
+5360,VT,West Wardsboro,43.047221,-72.880537
+5361,VT,Whitingham,42.790071,-72.856001
+5362,VT,Williamsville,42.948151,-72.658406
+5363,VT,Wilmington,42.881216,-72.861316
+5401,VT,Burlington,44.484023,-73.219875
+5403,VT,South Burlington,44.451324,-73.179617
+5404,VT,Winooski,44.494898,-73.187413
+5405,VT,Univ Of Vermont,44.477733,-73.2002
+5440,VT,Alburg,44.968454,-73.280963
+5441,VT,Bakersfield,44.790518,-72.796834
+5443,VT,Bristol,44.146031,-73.071742
+5444,VT,Cambridge,44.651013,-72.865728
+5445,VT,Charlotte,44.311277,-73.227969
+5446,VT,Colchester,44.535956,-73.202216
+5447,VT,East Berkshire,44.929798,-72.706564
+5448,VT,East Fairfield,44.801805,-72.910995
+5450,VT,Enosburg Falls,44.898491,-72.791037
+5452,VT,Essex Junction,44.503466,-73.090644
+5454,VT,Fairfax,44.692387,-73.024078
+5455,VT,Fairfield,44.784087,-73.022187
+5456,VT,Ferrisburg,44.212822,-73.258575
+5457,VT,Franklin,44.961408,-72.903694
+5458,VT,Grand Isle,44.719711,-73.30561
+5459,VT,Highgate Center,44.940395,-73.015468
+5461,VT,Hinesburg,44.334621,-73.097955
+5462,VT,Huntington,44.322655,-72.996432
+5463,VT,Isle La Motte,44.874829,-73.339095
+5464,VT,Smugglers Notch,44.662499,-72.780577
+5465,VT,Jericho Center,44.484318,-72.979398
+5468,VT,Milton,44.648275,-73.131692
+5471,VT,Montgomery Cente,44.874606,-72.599352
+5472,VT,New Haven,44.112575,-73.17347
+5473,VT,North Ferrisburg,44.251461,-73.203254
+5474,VT,North Hero,44.829392,-73.284169
+5476,VT,Richford,44.971453,-72.690472
+5477,VT,Bolton Valley,44.399846,-72.993256
+5478,VT,Saint Albans,44.811138,-73.089025
+5482,VT,Shelburne,44.389967,-73.217124
+5483,VT,Sheldon,44.887167,-72.952989
+5486,VT,South Hero,44.640044,-73.311344
+5487,VT,Starksboro,44.2261,-73.0157
+5488,VT,Swanton,44.916754,-73.121124
+5489,VT,Underhill,44.539069,-72.925845
+5491,VT,Vergennes,44.132569,-73.279293
+5492,VT,Waterville,44.712375,-72.759557
+5494,VT,Westford,44.618191,-73.006021
+5495,VT,Williston,44.436745,-73.095704
+5602,VT,Montpelier,44.264082,-72.576992
+5640,VT,Adamant,44.35747,-72.504649
+5641,VT,Barre,44.194522,-72.493619
+5647,VT,Cabot,44.404215,-72.306443
+5648,VT,Calais,44.393438,-72.474113
+5649,VT,East Barre,44.158277,-72.446003
+5650,VT,East Calais,44.355599,-72.439829
+5651,VT,East Montpelier,44.282844,-72.492636
+5652,VT,Eden,44.734267,-72.5863
+5653,VT,Eden Mills,44.693123,-72.513447
+5654,VT,Graniteville,44.157326,-72.484529
+5655,VT,Hyde Park,44.622453,-72.594971
+5656,VT,Johnson,44.64204,-72.671154
+5658,VT,Marshfield,44.321841,-72.374994
+5660,VT,Moretown,44.259602,-72.749395
+5661,VT,Morrisville,44.554335,-72.602625
+5663,VT,Riverton,44.149961,-72.659795
+5666,VT,North Montpelier,44.256612,-72.482119
+5667,VT,Plainfield,44.262164,-72.42243
+5669,VT,Roxbury,44.084571,-72.720151
+5672,VT,Stowe,44.469512,-72.692282
+5673,VT,Waitsfield,44.188917,-72.828321
+5674,VT,Sugarbush Valley,44.114222,-72.848179
+5675,VT,Washgtin,44.086448,-72.430002
+5676,VT,Waterbury,44.345103,-72.779768
+5677,VT,Waterbury Center,44.382797,-72.708006
+5679,VT,Williamstown,44.118191,-72.53811
+5680,VT,Wolcott,44.555753,-72.484416
+5681,VT,Woodbury,44.432507,-72.417766
+5682,VT,Worcester,44.394389,-72.560925
+5701,VT,Rutland,43.614131,-72.970773
+5730,VT,Belmont,43.428441,-72.825701
+5732,VT,Hubbardton,43.622413,-73.206424
+5733,VT,Brandon,43.806467,-73.088182
+5734,VT,Bridport,43.95383,-73.347557
+5735,VT,Castleton,43.622312,-73.170797
+5736,VT,Center Rutland,43.602345,-73.016986
+5737,VT,Chittenden,43.703382,-72.936001
+5738,VT,Cuttingsville,43.522084,-72.869089
+5739,VT,Danby,43.358341,-73.01285
+5742,VT,East Wallingford,43.446063,-72.884375
+5743,VT,Fair Haven,43.62345,-73.270068
+5744,VT,Florence,43.709294,-73.078988
+5746,VT,Gaysville,43.752912,-72.731149
+5747,VT,Granville,43.984912,-72.8245
+5748,VT,Hancock,43.912525,-72.913285
+5751,VT,Killington,43.663364,-72.79631
+5753,VT,Bread Loaf,44.007042,-73.16613
+5757,VT,Middletown Sprin,43.484864,-73.11452
+5758,VT,Mount Holly,43.44865,-72.795562
+5759,VT,North Clarendon,43.552208,-72.956096
+5760,VT,Orwell,43.783722,-73.294855
+5761,VT,Pawlet,43.358679,-73.144404
+5762,VT,Pittsfield,43.753823,-72.853376
+5763,VT,Pittsford,43.71524,-73.013492
+5764,VT,Poultney,43.53321,-73.225281
+5765,VT,Proctor,43.657951,-73.034816
+5766,VT,Ripton,43.992862,-73.01874
+5767,VT,Rochester,43.880382,-72.815917
+5769,VT,Salisbury,43.90172,-73.100793
+5770,VT,Shoreham,43.886214,-73.305385
+5772,VT,Stockbridge,43.773808,-72.781394
+5773,VT,Wallingford,43.4573,-72.987722
+5774,VT,Wells,43.430456,-73.202684
+5775,VT,West Pawlet,43.36673,-73.231327
+5776,VT,West Rupert,43.261792,-73.202847
+5777,VT,West Rutland,43.578072,-73.04242
+5778,VT,Leicester Juncti,43.874972,-73.213312
+5819,VT,Saint Johnsbury,44.427195,-72.005062
+5820,VT,Albany,44.734427,-72.34181
+5821,VT,Barnet,44.317923,-72.078326
+5822,VT,Barton,44.739465,-72.160005
+5824,VT,Concord,44.446055,-71.867554
+5825,VT,Coventry,44.880853,-72.254471
+5826,VT,Craftsbury,44.64341,-72.366007
+5827,VT,Craftsbury Commo,44.652917,-72.414578
+5828,VT,Danville,44.433241,-72.113319
+5829,VT,Derby,44.950182,-72.137555
+5830,VT,Derby Line,44.990183,-72.082367
+5832,VT,East Burke,44.607849,-71.935674
+5833,VT,East Charleston,44.829896,-71.97627
+5836,VT,East Hardwick,44.528833,-72.303351
+5837,VT,East Haven,44.651724,-71.867491
+5839,VT,Glover,44.719979,-72.203819
+5841,VT,Greensboro,44.595069,-72.285017
+5842,VT,Greensboro Bend,44.548488,-72.252478
+5843,VT,Hardwick,44.507026,-72.363818
+5845,VT,Irasburg,44.808056,-72.276269
+5846,VT,Island Pond,44.809452,-71.883964
+5847,VT,Lowell,44.796107,-72.450132
+5850,VT,Lyndon Center,44.54719,-72.031062
+5851,VT,Lyndonville,44.540766,-72.009168
+5853,VT,Morgan Ctr,44.90659,-71.994052
+5855,VT,Newport,44.939344,-72.206505
+5857,VT,Newport Center,44.944175,-72.297412
+5858,VT,North Concord,44.550099,-71.786662
+5859,VT,Jay Peak,44.961861,-72.457231
+5860,VT,Orleans,44.80544,-72.165328
+5862,VT,Peacham,44.335563,-72.177039
+5866,VT,Sheffield,44.61784,-72.123927
+5867,VT,Sutton,44.646543,-72.021133
+5868,VT,Troy,44.959381,-72.393808
+5871,VT,West Burke,44.663647,-71.95718
+5872,VT,West Charleston,44.872894,-72.05209
+5873,VT,West Danville,44.446509,-72.219771
+5874,VT,Westfield,44.882457,-72.439628
+5875,VT,West Glover,44.703145,-72.259936
+5901,VT,Averill,44.992304,-71.700268
+5902,VT,Beecher Falls,45.006103,-71.519901
+5903,VT,Canaan,44.976439,-71.560214
+5904,VT,Gilman,44.413985,-71.71786
+5905,VT,Guildhall,44.690218,-71.599057
+5906,VT,Lunenburg,44.466262,-71.69304
+5907,VT,Norton,44.988781,-71.78844
+22001,VA,Aldie,38.957878,-77.602281
+22002,VA,Amissville,38.710055,-78.038053
+22003,VA,Annandale,38.830699,-77.214245
+22010,VA,Arcola,38.973626,-77.538721
+22011,VA,Ashburn,39.039918,-77.480612
+22012,VA,Bluemont,39.097732,-77.831416
+22013,VA,Bristow,38.74644,-77.578843
+22014,VA,Broad Run,38.828653,-77.68611
+22015,VA,Burke,38.789408,-77.28175
+22018,VA,Catharpin,38.853007,-77.561155
+22019,VA,Catlett,38.635067,-77.653548
+22020,VA,Centreville,38.841805,-77.451175
+22021,VA,Chantilly,38.884131,-77.435436
+22024,VA,Clifton,38.800662,-77.406955
+22025,VA,Delaplane,38.911293,-77.930176
+22026,VA,Dumfries,38.602344,-77.338704
+22027,VA,Dunn Loring,38.895368,-77.221351
+22030,VA,Fairfax,38.845826,-77.324151
+22031,VA,Fairfax,38.860353,-77.264937
+22032,VA,Fairfax,38.817729,-77.292527
+22033,VA,Fairfax,38.877627,-77.388451
+22039,VA,Fairfax Station,38.760205,-77.306388
+22041,VA,Baileys Crossroa,38.848506,-77.136928
+22042,VA,Mosby,38.866272,-77.192271
+22043,VA,Pimmit,38.901226,-77.20005
+22044,VA,Seven Corners,38.863544,-77.150819
+22046,VA,Falls Church,38.88559,-77.180231
+22060,VA,Fort Belvoir,38.694699,-77.143315
+22065,VA,Gainesville,38.823192,-77.618673
+22066,VA,Great Falls,39.003893,-77.308287
+22068,VA,Hamilton,39.135741,-77.663538
+22069,VA,Haymarket,38.876234,-77.647485
+22070,VA,Herndon,38.977833,-77.386573
+22071,VA,Herndon,38.919537,-77.395155
+22075,VA,Leesburg,39.116517,-77.565918
+22079,VA,Mason Neck,38.704716,-77.218004
+22080,VA,Lovettsville,39.265367,-77.639144
+22090,VA,Lake Anne,38.964439,-77.337607
+22091,VA,Reston,38.935007,-77.35144
+22094,VA,Reston,38.975627,-77.350757
+22101,VA,Mc Lean,38.932624,-77.170628
+22102,VA,West Mclean,38.936318,-77.221934
+22110,VA,Manassas,38.768922,-77.489474
+22111,VA,Manassas Park,38.736143,-77.44568
+22115,VA,Marshall,38.831584,-77.887567
+22117,VA,Middleburg,38.996438,-77.735511
+22123,VA,Nokesville,38.685015,-77.534249
+22124,VA,Oakton,38.885187,-77.323345
+22129,VA,Paeonian Springs,39.159792,-77.619845
+22130,VA,Paris,38.989926,-77.893855
+22132,VA,Hillsboro,39.150484,-77.721305
+22134,VA,Quantico,38.531039,-77.335819
+22141,VA,Round Hill,39.113378,-77.783305
+22150,VA,Springfield,38.779718,-77.186582
+22151,VA,North Springfiel,38.803323,-77.213908
+22152,VA,West Springfield,38.776488,-77.233243
+22153,VA,Springfield,38.744859,-77.237026
+22170,VA,Sterling,39.02147,-77.398624
+22171,VA,The Plains,38.87393,-77.772092
+22172,VA,Triangle,38.550894,-77.322877
+22176,VA,Upperville,39.008747,-77.848438
+22180,VA,Vienna,38.893527,-77.253219
+22181,VA,Vienna,38.897695,-77.288048
+22182,VA,Vienna,38.928005,-77.264876
+22186,VA,Airlie,38.72593,-77.764809
+22190,VA,Waterford,39.208102,-77.642134
+22191,VA,Woodbridge,38.635573,-77.268264
+22192,VA,Lakeridge,38.68328,-77.305221
+22193,VA,Dale City,38.647188,-77.343238
+22201,VA,Arlington,38.887103,-77.093197
+22202,VA,Arlington,38.856547,-77.059228
+22203,VA,Arlington,38.873799,-77.114191
+22204,VA,Arlington,38.858962,-77.099688
+22205,VA,Arlington,38.883557,-77.139488
+22206,VA,Arlington,38.841508,-77.09046
+22207,VA,Arlington,38.903321,-77.126287
+22209,VA,Arlington,38.8926,-77.07531
+22211,VA,Arlington,38.8795,-77.080258
+22213,VA,Arlington,38.895375,-77.163295
+22301,VA,Alexandria,38.820042,-77.058901
+22302,VA,Alexandria,38.83354,-77.092412
+22303,VA,Jefferson Manor,38.791143,-77.076608
+22304,VA,Alexandria,38.814871,-77.120989
+22305,VA,Alexandria,38.837184,-77.064039
+22306,VA,Community,38.755769,-77.085389
+22307,VA,Belle View,38.77056,-77.062511
+22308,VA,Wellington,38.729122,-77.060639
+22309,VA,Engleside,38.727855,-77.108139
+22310,VA,Franconia,38.769132,-77.131707
+22311,VA,Alexandria,38.832039,-77.119962
+22312,VA,Alexandria,38.819099,-77.148438
+22314,VA,Alexandria,38.806018,-77.052867
+22401,VA,Fredericksburg,38.299538,-77.477152
+22405,VA,Falmouth,38.314557,-77.404537
+22406,VA,Fredericksburg,38.379627,-77.534892
+22407,VA,Fredericksburg,38.268803,-77.547584
+22408,VA,Fredericksburg,38.248141,-77.468068
+22427,VA,Bowling Green,38.013651,-77.180242
+22432,VA,Burgess,37.868682,-76.354164
+22433,VA,Burr Hill,38.365841,-77.876166
+22435,VA,Callao,37.977268,-76.573245
+22436,VA,Caret,37.971255,-76.915254
+22437,VA,Center Cross,37.792875,-76.754837
+22438,VA,Champlain,38.021422,-76.971942
+22439,VA,Chance,38.084061,-77.021051
+22443,VA,Oak Grove,38.229076,-76.981158
+22448,VA,Dahlgren,38.337485,-77.042905
+22454,VA,Howertons,37.840429,-76.837022
+22460,VA,Farnham,37.873972,-76.605011
+22469,VA,Hague,38.057289,-76.661574
+22473,VA,Heathsville,37.907187,-76.41783
+22476,VA,Hustle,38.022219,-77.036426
+22480,VA,Irvington,37.664516,-76.416016
+22482,VA,Kilmarnock,37.716222,-76.381986
+22485,VA,King George,38.281142,-77.126023
+22488,VA,Kinsale,38.050472,-76.585525
+22503,VA,Lancaster,37.750091,-76.5102
+22504,VA,Laneview,37.768138,-76.711732
+22508,VA,Locust Grove,38.335202,-77.770874
+22509,VA,Loretto,38.062055,-76.966888
+22511,VA,Lottsburg,37.979228,-76.501763
+22514,VA,Milford,38.005834,-77.318498
+22520,VA,Montross,38.110483,-76.782806
+22534,VA,Partlow,38.064146,-77.658574
+22535,VA,Port Royal,38.162088,-77.183657
+22538,VA,Rappahannock Aca,38.201817,-77.287437
+22539,VA,Reedville,37.856964,-76.282864
+22542,VA,Rhoadesville,38.286324,-77.923044
+22546,VA,Ruther Glen,37.945059,-77.47135
+22553,VA,Snell,38.19953,-77.648688
+22554,VA,Stafford,38.458629,-77.430618
+22559,VA,Supply,38.082544,-77.109689
+22560,VA,Tappahannock,37.914551,-76.912455
+22567,VA,Unionville,38.238302,-77.919299
+22568,VA,Mine Run,38.266106,-77.819493
+22572,VA,Nomini Grove,37.949992,-76.736517
+22576,VA,Weems,37.684678,-76.431323
+22578,VA,Windmill Point,37.647458,-76.368626
+22579,VA,Wicomico Church,37.779027,-76.356522
+22580,VA,Woodford,38.084664,-77.439879
+22601,VA,Winchester,39.185803,-78.182697
+22610,VA,Browntown,38.827272,-78.279111
+22611,VA,Berryville,39.153178,-77.968759
+22620,VA,Boyce,39.069797,-78.020302
+22624,VA,Clear Brook,39.265461,-78.098788
+22625,VA,Whitacre,39.3762,-78.299724
+22627,VA,Flint Hill,38.733653,-78.075558
+22630,VA,Front Royal,38.926783,-78.179617
+22637,VA,Gore,39.288685,-78.341687
+22639,VA,Hume,38.827318,-77.994892
+22640,VA,Huntly,38.813333,-78.130104
+22641,VA,Lebanon Church,39.056242,-78.359511
+22642,VA,Linden,38.881181,-78.047847
+22643,VA,Markham,38.930001,-77.994252
+22644,VA,Maurertown,38.944052,-78.465815
+22645,VA,Middletown,39.036676,-78.281455
+22649,VA,Reliance,39.000946,-78.249152
+22650,VA,Rileyville,38.756374,-78.387326
+22652,VA,Saint Davids Chu,38.827683,-78.439989
+22654,VA,Star Tannery,39.090803,-78.434306
+22655,VA,Stephens City,39.083415,-78.190677
+22656,VA,Stephenson,39.197285,-78.094105
+22657,VA,Strasburg,38.988417,-78.33862
+22660,VA,Toms Brook,38.97016,-78.403757
+22663,VA,White Post,39.057956,-78.11046
+22664,VA,Woodstock,38.887024,-78.521704
+22701,VA,Raccoon Ford,38.48115,-78.00406
+22709,VA,Aroda,38.325626,-78.236615
+22712,VA,Morrisville,38.569667,-77.800436
+22713,VA,Boston,38.538241,-78.142285
+22714,VA,Brandy Station,38.511003,-77.903745
+22715,VA,Brightwood,38.411365,-78.169801
+22716,VA,Castleton,38.603235,-78.120801
+22718,VA,Elkwood,38.465229,-77.817031
+22719,VA,Etlan,38.509458,-78.263793
+22720,VA,Goldvein,38.488641,-77.639488
+22722,VA,Haywood,38.46861,-78.179759
+22724,VA,Jeffersonton,38.625578,-77.906943
+22725,VA,Leon,38.45724,-78.154579
+22726,VA,Lignum,38.395625,-77.829957
+22727,VA,Aylor,38.384495,-78.296458
+22728,VA,Midland,38.567061,-77.712709
+22729,VA,Mitchells,38.374429,-78.010546
+22731,VA,Pratts,38.349207,-78.272212
+22732,VA,Radiant,38.322706,-78.179799
+22733,VA,Rapidan,38.339217,-78.047607
+22734,VA,Remington,38.535091,-77.761365
+22735,VA,Reva,38.460446,-78.157195
+22736,VA,Richardsville,38.392388,-77.719519
+22737,VA,Rixeyville,38.585168,-78.028229
+22738,VA,Uno,38.274342,-78.265358
+22740,VA,Sperryville,38.620252,-78.246571
+22741,VA,Stevensburg,38.444135,-77.88423
+22742,VA,Sumerduck,38.467355,-77.70436
+22743,VA,Syria,38.497229,-78.322939
+22746,VA,Viewtown,38.645704,-78.025769
+22747,VA,Washington,38.707838,-78.1566
+22749,VA,Woodville,38.648176,-78.173855
+22801,VA,Harrisonburg,38.448864,-78.871438
+22810,VA,Basye,38.795806,-78.767363
+22811,VA,Bergton,38.792509,-78.966752
+22812,VA,Bridgewater,38.385866,-78.993684
+22815,VA,Broadway,38.608336,-78.787494
+22820,VA,Criders,38.749656,-78.997357
+22821,VA,Montezuma,38.433864,-78.993731
+22824,VA,Edinburg,38.843206,-78.60033
+22827,VA,Elkton,38.40252,-78.632143
+22830,VA,Fulks Run,38.633871,-78.935799
+22831,VA,Hinton,38.483378,-79.010084
+22832,VA,Keezletown,38.439588,-78.776998
+22834,VA,Linville,38.555733,-78.896102
+22835,VA,Luray,38.654839,-78.459559
+22840,VA,Mc Gaheysville,38.371228,-78.741128
+22841,VA,Mount Crawford,38.345656,-78.895679
+22842,VA,Conicville,38.768819,-78.676655
+22843,VA,Mount Solon,38.332755,-79.102832
+22844,VA,New Market,38.660555,-78.671433
+22845,VA,Orkney Springs,38.793708,-78.811106
+22846,VA,Montevideo,38.369729,-78.797903
+22847,VA,Shenandoah Caver,38.714443,-78.698866
+22849,VA,Shenandoah,38.501034,-78.608975
+22851,VA,Stanley,38.566036,-78.509263
+22853,VA,Timberville,38.647606,-78.771702
+22901,VA,Charlottesville,38.054752,-78.490869
+22903,VA,University,38.032728,-78.505758
+22920,VA,Afton,37.962624,-78.841046
+22922,VA,Tye River,37.687713,-78.918473
+22923,VA,Burnleys,38.199648,-78.312716
+22929,VA,Cobham,38.037835,-78.37849
+22931,VA,Covesville,37.907974,-78.712741
+22932,VA,Yancey Mills,38.081288,-78.704405
+22935,VA,Boonesville,38.253276,-78.554612
+22936,VA,Earlysville,38.157761,-78.491945
+22937,VA,Esmont,37.812543,-78.610646
+22938,VA,Faber,37.847545,-78.756495
+22939,VA,Woodrow Wilson,38.097361,-78.969579
+22940,VA,Mission Home,38.206217,-78.595906
+22942,VA,Cashs Corner,38.107261,-78.195195
+22943,VA,Greenwood,38.041545,-78.783282
+22946,VA,Keene,37.931273,-78.561386
+22947,VA,Boyd Tavern,38.001265,-78.340429
+22948,VA,Locust Dale,38.334043,-78.101576
+22949,VA,Lovingston,37.792405,-78.868433
+22951,VA,Lowesville,37.749797,-79.083346
+22952,VA,Sherando,37.997903,-78.951506
+22958,VA,Wintergreen,37.860398,-78.893972
+22959,VA,Alberene,37.961992,-78.695414
+22960,VA,Montford,38.233937,-78.091224
+22963,VA,Bybee,37.881807,-78.297983
+22964,VA,Piney River,37.715785,-79.020571
+22967,VA,Roseland,37.807697,-78.971173
+22968,VA,Advance Mills,38.233871,-78.391033
+22969,VA,Schuyler,37.797584,-78.692475
+22971,VA,Rockfish,37.747974,-78.824608
+22972,VA,Somerset,38.204657,-78.25042
+22973,VA,Geer,38.302556,-78.470755
+22974,VA,Troy,37.9636,-78.253494
+22980,VA,Waynesboro,38.077412,-78.903461
+23002,VA,Amelia Court Hou,37.35017,-77.955177
+23004,VA,Arvonia,37.671355,-78.38888
+23005,VA,Ashland,37.73948,-77.478373
+23009,VA,Aylett,37.822113,-77.188473
+23011,VA,Barhamsville,37.461662,-76.832097
+23013,VA,23013,37.331428,-76.279433
+23015,VA,Beaverdam,37.903767,-77.630829
+23016,VA,Beaverlett,37.41587,-76.322425
+23020,VA,23020,37.502082,-76.363655
+23021,VA,Bohannon,37.390457,-76.36136
+23022,VA,Bremo Bluff,37.745256,-78.267158
+23023,VA,Bruington,37.780112,-76.940199
+23024,VA,Bumpass,37.898381,-77.796614
+23025,VA,Miles,37.427339,-76.393959
+23027,VA,Tamworth,37.641314,-78.128699
+23029,VA,Cauthornville,37.858957,-77.039625
+23030,VA,Charles City,37.366271,-77.108183
+23032,VA,Church View,37.674956,-76.66287
+23037,VA,Cologne,37.555866,-76.683356
+23038,VA,Columbia,37.714707,-78.179403
+23039,VA,Crozier,37.671764,-77.793958
+23040,VA,Cumberland,37.501861,-78.258149
+23042,VA,23042,37.751953,-77.812016
+23043,VA,Deltaville,37.554852,-76.346781
+23045,VA,Diggs,37.436273,-76.287172
+23047,VA,Doswell,37.841682,-77.512521
+23050,VA,Dutton,37.486897,-76.435782
+23055,VA,Fork Union,37.771526,-78.235498
+23060,VA,Glen Allen,37.662848,-77.534016
+23061,VA,Pinero,37.41922,-76.553312
+23062,VA,Gloucester Point,37.258534,-76.49586
+23063,VA,Goochland,37.768789,-78.011216
+23065,VA,Gum Spring,37.818374,-77.907049
+23066,VA,Gwynn,37.500594,-76.29042
+23069,VA,Hanover,37.770116,-77.321572
+23070,VA,Hardyville,37.547821,-76.418937
+23071,VA,Hartfield,37.559437,-76.476949
+23072,VA,Hayes,37.291577,-76.490457
+23075,VA,Highland Springs,37.543723,-77.32261
+23079,VA,Jamaica,37.729997,-76.688962
+23080,VA,James Store,37.480594,-76.464972
+23083,VA,Jetersville,37.31757,-78.104011
+23084,VA,Kents Store,37.89425,-78.120776
+23085,VA,King And Queen C,37.717644,-76.863059
+23086,VA,King William,37.720194,-77.099837
+23089,VA,Lanexa,37.419391,-76.902684
+23091,VA,Little Plymouth,37.664218,-76.825456
+23092,VA,Locust Hill,37.598328,-76.501857
+23093,VA,Louisa,38.01317,-78.034666
+23102,VA,Dabneys,37.703193,-77.871032
+23103,VA,Manakin Sabot,37.638036,-77.707699
+23106,VA,Manquin,37.718441,-77.186016
+23108,VA,Mascot,37.60683,-76.738324
+23109,VA,Mathews,37.438349,-76.354416
+23110,VA,Shanghai,37.641698,-76.78398
+23111,VA,Mechanicsville,37.628146,-77.339464
+23112,VA,Midlothian,37.431027,-77.654458
+23113,VA,Midlothian,37.510893,-77.642864
+23114,VA,23114,37.411851,-76.367526
+23117,VA,Mineral,37.998609,-77.878069
+23118,VA,Mobjack,37.377579,-76.355244
+23119,VA,Moon,37.449276,-76.306472
+23120,VA,Moseley,37.426026,-77.758458
+23123,VA,New Canton,37.664499,-78.311231
+23124,VA,New Kent,37.553013,-77.074242
+23125,VA,New Point,37.349291,-76.283465
+23126,VA,Newtown,37.878236,-77.113825
+23128,VA,North,37.477066,-76.370661
+23129,VA,Oilville,37.708879,-77.769955
+23130,VA,Onemo,37.398517,-76.294056
+23137,VA,23137,37.518018,-76.724658
+23138,VA,Bavon,37.374252,-76.304463
+23139,VA,Powhatan,37.556442,-77.879761
+23140,VA,Providence Forge,37.425907,-77.071117
+23141,VA,Quinton,37.518466,-77.148607
+23146,VA,Rockville,37.733729,-77.699994
+23148,VA,Indian Neck,37.905052,-77.084206
+23149,VA,Saluda,37.594944,-76.592082
+23150,VA,Sandston,37.515658,-77.27578
+23153,VA,Sandy Hook,37.751892,-77.904553
+23156,VA,Plain View,37.569811,-76.726901
+23157,VA,23157,37.340897,-76.297135
+23161,VA,Stevensville,37.714577,-76.935228
+23163,VA,Shadow,37.361945,-76.318617
+23168,VA,Toano,37.39013,-76.825263
+23169,VA,Syringa,37.597824,-76.454876
+23175,VA,Remlik,37.655003,-76.612611
+23176,VA,Wake,37.568077,-76.432327
+23177,VA,Walkerton,37.755437,-77.018475
+23179,VA,Warner,37.651127,-76.646167
+23180,VA,Water View,37.710486,-76.62268
+23181,VA,West Point,37.555604,-76.82373
+23185,VA,Merrimac,37.262698,-76.701686
+23188,VA,Williamsburg,37.317768,-76.763424
+23192,VA,Montpelier,37.817729,-77.692441
+23219,VA,Richmond,37.546265,-77.437798
+23220,VA,Richmond,37.549808,-77.458798
+23221,VA,Richmond,37.558301,-77.4845
+23222,VA,Richmond,37.574802,-77.426725
+23223,VA,Richmond,37.547721,-77.394772
+23224,VA,Richmond,37.495512,-77.471014
+23225,VA,Richmond,37.515842,-77.504709
+23226,VA,Richmond,37.582473,-77.519657
+23227,VA,Bellevue,37.604181,-77.446309
+23228,VA,Lakeside,37.623503,-77.493308
+23229,VA,Regency,37.596351,-77.566202
+23230,VA,West End,37.588376,-77.496828
+23231,VA,Richmond,37.491529,-77.368002
+23233,VA,Ridge,37.619354,-77.614933
+23234,VA,Ampthill,37.453158,-77.469798
+23235,VA,Bon Air,37.512034,-77.565103
+23236,VA,Richmond,37.478165,-77.585413
+23237,VA,Richmond,37.401145,-77.461471
+23294,VA,Richmond,37.632923,-77.545125
+23301,VA,Accomac,37.71588,-75.680272
+23302,VA,Assawoman,37.86629,-75.52966
+23306,VA,Belle Haven,37.56448,-75.869443
+23307,VA,Birdsnest,37.432077,-75.904347
+23308,VA,Bloxom,37.827264,-75.615568
+23310,VA,Cape Charles,37.279874,-75.972129
+23314,VA,Carrollton,36.954994,-76.542963
+23315,VA,Carrsville,36.74544,-76.83648
+23320,VA,Chesapeake,36.735246,-76.23843
+23321,VA,Bowers Hill,36.827964,-76.411012
+23322,VA,Fentress,36.634008,-76.213064
+23323,VA,Chesapeake,36.763424,-76.339743
+23324,VA,Chesapeake,36.805568,-76.266557
+23325,VA,Chesapeake,36.813963,-76.240555
+23336,VA,Chincoteague,37.927682,-75.371369
+23337,VA,Wallops Island,37.827338,-75.506503
+23350,VA,Exmore,37.511689,-75.852624
+23354,VA,Franktown,37.462009,-75.888971
+23356,VA,Greenbackville,38.006404,-75.402899
+23357,VA,Greenbush,37.768121,-75.6664
+23359,VA,Hallwood,37.853644,-75.561334
+23395,VA,Horntown,37.969916,-75.471608
+23396,VA,Horsey,37.933232,-75.56236
+23399,VA,Jenkins Bridge,37.919219,-75.631943
+23404,VA,Locustville,37.6534,-75.673508
+23405,VA,Machipongo,37.401429,-75.908241
+23407,VA,Mappsville,37.835419,-75.569886
+23409,VA,Mears,37.869189,-75.635443
+23410,VA,Melfa,37.6407,-75.745355
+23415,VA,New Church,37.952527,-75.511188
+23416,VA,Oak Hall,37.953686,-75.606483
+23417,VA,Onancock,37.710237,-75.752798
+23418,VA,Onley,37.670422,-75.6992
+23420,VA,Painter,37.582821,-75.806612
+23421,VA,Parksley,37.774404,-75.638634
+23426,VA,Sanford,37.92433,-75.695704
+23430,VA,Smithfield,36.981057,-76.63682
+23432,VA,Suffolk,36.866823,-76.559811
+23433,VA,Suffolk,36.909027,-76.49286
+23434,VA,Suffolk,36.730433,-76.593147
+23435,VA,Suffolk,36.854427,-76.466397
+23436,VA,Suffolk,36.892625,-76.514157
+23437,VA,Suffolk,36.652611,-76.792043
+23438,VA,Suffolk,36.591311,-76.687097
+23440,VA,Tangier,37.824485,-75.993003
+23442,VA,Temperanceville,37.895421,-75.55283
+23451,VA,Virginia Beach,36.858451,-76.001928
+23452,VA,Virginia Beach,36.83481,-76.096142
+23454,VA,Virginia Beach,36.828187,-76.023723
+23455,VA,Virginia Beach,36.888121,-76.144552
+23456,VA,Virginia Beach,36.779851,-76.089162
+23457,VA,Blackwater Bridg,36.624793,-76.037816
+23459,VA,Virginia Beach,36.9216,-76.017122
+23462,VA,Virginia Beach,36.839193,-76.152184
+23464,VA,Virginia Beach,36.797772,-76.175909
+23481,VA,Walters,36.708974,-76.870156
+23487,VA,Windsor,36.836881,-76.732372
+23502,VA,Norfolk,36.854648,-76.214253
+23503,VA,Norfolk,36.944196,-76.252008
+23504,VA,Norfolk,36.858554,-76.268628
+23505,VA,Norfolk,36.91675,-76.28748
+23507,VA,Norfolk,36.864506,-76.300385
+23508,VA,Norfolk,36.885922,-76.300356
+23509,VA,Norfolk,36.878743,-76.260361
+23510,VA,Norfolk,36.852929,-76.287784
+23511,VA,Fleet,36.951164,-76.309206
+23513,VA,Norfolk,36.891395,-76.239578
+23517,VA,Norfolk,36.869547,-76.294519
+23518,VA,Norfolk,36.920246,-76.216027
+23521,VA,Naval Amphibious,36.916923,-76.163715
+23523,VA,Norfolk,36.82942,-76.270125
+23601,VA,Newport News,37.057951,-76.460722
+23602,VA,Newport News,37.131684,-76.532125
+23603,VA,Newport News,37.198887,-76.582059
+23604,VA,Newport News,37.122112,-76.589727
+23605,VA,Newport News,37.015583,-76.433158
+23606,VA,Newport News,37.076777,-76.496724
+23607,VA,Newport News,36.986352,-76.416469
+23651,VA,Hampton,37.029671,-76.296896
+23661,VA,Hampton,37.007432,-76.380085
+23662,VA,Poquoson,37.131252,-76.380702
+23663,VA,Hampton,37.03181,-76.319875
+23664,VA,Hampton,37.056611,-76.296639
+23665,VA,Hampton,37.100565,-76.409939
+23666,VA,Hampton,37.046241,-76.409617
+23669,VA,Hampton,37.043559,-76.342573
+23690,VA,Yorktown,37.228657,-76.542346
+23692,VA,Grafton,37.170859,-76.459648
+23693,VA,Tabb,37.122586,-76.450743
+23696,VA,Seaford,37.188468,-76.428992
+23701,VA,Portsmouth,36.808902,-76.36714
+23702,VA,Portsmouth,36.803534,-76.326979
+23703,VA,Portsmouth,36.869501,-76.386872
+23704,VA,Portsmouth,36.829821,-76.314604
+23707,VA,Portsmouth,36.836234,-76.344011
+23709,VA,Portsmouth,36.813883,-76.305188
+23801,VA,Fort Lee,37.244738,-77.33405
+23803,VA,Ettrick,37.220001,-77.432594
+23805,VA,Petersburg,37.181937,-77.385385
+23821,VA,Alberta,36.880609,-77.905518
+23824,VA,Blackstone,37.091578,-77.985063
+23827,VA,Boykins,36.595061,-77.197519
+23828,VA,Branchville,36.578701,-77.270441
+23829,VA,Capron,36.724332,-77.239363
+23830,VA,Carson,37.039311,-77.435093
+23831,VA,Chester,37.342934,-77.41557
+23832,VA,Chesterfield,37.392327,-77.566799
+23833,VA,Church Road,37.194964,-77.664588
+23834,VA,Colonial Heights,37.269968,-77.403829
+23837,VA,Courtland,36.722516,-77.078272
+23839,VA,Dendron,37.098076,-76.896642
+23840,VA,Dewitt,37.053522,-77.642558
+23841,VA,Dinwiddie,37.083283,-77.558539
+23842,VA,Disputanta,37.148268,-77.273172
+23843,VA,Dolphin,36.831774,-77.788719
+23844,VA,Drewryville,36.685433,-77.359098
+23845,VA,Ebony,36.584993,-77.999431
+23846,VA,Elberon,37.070133,-76.833723
+23847,VA,Emporia,36.685689,-77.562953
+23850,VA,Ammon,37.139672,-77.737189
+23851,VA,Franklin,36.678625,-76.939108
+23856,VA,Freeman,36.789342,-77.720772
+23857,VA,Gasburg,36.576552,-77.902927
+23859,VA,Handsom,36.609854,-77.023797
+23860,VA,Hopewell,37.287576,-77.295013
+23866,VA,Ivor,36.907099,-76.886146
+23867,VA,Jarratt,36.819129,-77.483162
+23868,VA,Triplet,36.744874,-77.838437
+23872,VA,Mc Kenney,36.998609,-77.739556
+23874,VA,Newsoms,36.614814,-77.106949
+23875,VA,Prince George,37.233339,-77.274706
+23876,VA,Rawlings,36.953043,-77.82372
+23878,VA,Sedley,36.790752,-77.012531
+23879,VA,Skippers,36.579685,-77.543663
+23881,VA,Spring Grove,37.190098,-76.992337
+23882,VA,Stony Creek,36.936132,-77.444276
+23883,VA,Surry,37.126024,-76.76514
+23885,VA,Sutherland,37.190149,-77.565463
+23887,VA,Valentines,36.565024,-77.838405
+23888,VA,Wakefield,36.975734,-76.97898
+23889,VA,Warfield,36.901122,-77.767317
+23890,VA,Waverly,37.025032,-77.105453
+23893,VA,White Plains,36.633549,-77.959245
+23894,VA,Wilsons,37.115678,-77.835193
+23897,VA,Yale,36.837279,-77.286986
+23898,VA,Zuni,36.843666,-76.810967
+23901,VA,Farmville,37.302692,-78.407592
+23915,VA,Baskerville,36.723595,-78.279047
+23917,VA,Boydton,36.654422,-78.375174
+23919,VA,Bracey,36.576295,-78.105862
+23920,VA,Brodnax,36.731879,-77.989843
+23921,VA,Buckingham,37.583335,-78.598537
+23922,VA,Burkeville,37.195203,-78.196084
+23923,VA,Charlotte Court,37.086379,-78.660622
+23924,VA,Chase City,36.805305,-78.455268
+23927,VA,Clarksville,36.631437,-78.535294
+23930,VA,Crewe,37.165676,-78.105866
+23934,VA,Cullen,37.155211,-78.645912
+23936,VA,Sprouses Corner,37.545804,-78.460929
+23937,VA,Drakes Branch,36.968767,-78.561542
+23938,VA,Dundas,36.90532,-78.010016
+23942,VA,Green Bay,37.123417,-78.307195
+23944,VA,Kenbridge,36.932965,-78.124238
+23947,VA,Keysville,37.041086,-78.469912
+23950,VA,Blackridge,36.68609,-78.095251
+23952,VA,Lunenburg,36.922624,-78.290644
+23954,VA,Meherrin,37.101283,-78.387357
+23958,VA,Pamplin,37.265333,-78.65166
+23959,VA,Phenix,37.092506,-78.791195
+23960,VA,Prospect,37.305838,-78.546162
+23962,VA,Randolph,36.963079,-78.699249
+23963,VA,Red House,37.191431,-78.814467
+23964,VA,Red Oak,36.772403,-78.632057
+23966,VA,Rice,37.272132,-78.279262
+23967,VA,Saxe,36.90569,-78.605699
+23968,VA,Skipwith,36.731704,-78.530552
+23970,VA,South Hill,36.712388,-78.153388
+23973,VA,23973,36.766267,-78.219555
+23974,VA,Victoria,36.983543,-78.237243
+23976,VA,Wylliesburg,36.838968,-78.612655
+24011,VA,Roanoke,37.268997,-79.942019
+24012,VA,Roanoke,37.302912,-79.932179
+24013,VA,Roanoke,37.267685,-79.924747
+24014,VA,Roanoke,37.23268,-79.946332
+24015,VA,Roanoke,37.258363,-79.980694
+24016,VA,Roanoke,37.270407,-79.953495
+24017,VA,Roanoke,37.293655,-79.990248
+24018,VA,Cave Spring,37.231554,-80.021749
+24019,VA,Hollins,37.33585,-79.956328
+24053,VA,Ararat,36.613946,-80.50934
+24054,VA,Axton,36.654839,-79.73964
+24055,VA,Bassett,36.753425,-80.005506
+24059,VA,Bent Mountain,37.206793,-80.145501
+24060,VA,Whitethorne,37.228804,-80.427313
+24064,VA,Blue Ridge,37.388542,-79.817178
+24065,VA,Boones Mill,37.13313,-79.955554
+24066,VA,Lithia,37.52844,-79.705287
+24067,VA,Callaway,37.028495,-80.049592
+24069,VA,Cascade,36.592697,-79.657438
+24070,VA,Catawba,37.369649,-80.128384
+24072,VA,Simpsons,37.032642,-80.236747
+24073,VA,Christiansburg,37.135286,-80.418774
+24076,VA,Claudville,36.583899,-80.444179
+24077,VA,Cloverdale,37.366293,-79.912765
+24078,VA,Collinsville,36.72379,-79.914192
+24079,VA,Copper Hill,37.055568,-80.152469
+24082,VA,Critz,36.621059,-80.129765
+24083,VA,Daleville,37.41253,-79.921095
+24084,VA,Dublin,37.098879,-80.669696
+24085,VA,Eagle Rock,37.666727,-79.817215
+24086,VA,Eggleston,37.290576,-80.652758
+24087,VA,Ironto,37.212651,-80.249658
+24088,VA,Ferrum,36.916834,-80.034923
+24089,VA,Fieldale,36.706414,-79.965245
+24090,VA,Fincastle,37.491099,-79.851116
+24091,VA,Alum Ridge,36.919523,-80.319054
+24092,VA,Gladehill,37.016866,-79.776271
+24093,VA,Glen Lyn,37.366853,-80.863358
+24094,VA,Goldbond,37.387221,-80.66315
+24095,VA,Goodview,37.347167,-79.726284
+24101,VA,Hardy,37.214473,-79.812661
+24102,VA,Henry,36.839322,-79.99036
+24104,VA,Huddleston,37.144155,-79.491017
+24105,VA,Indian Valley,36.898993,-80.57571
+24112,VA,Martinsville,36.687067,-79.869136
+24120,VA,Meadows Of Dan,36.72504,-80.402227
+24121,VA,Moneta,37.178383,-79.652111
+24122,VA,Montvale,37.40696,-79.717462
+24124,VA,Narrows,37.319846,-80.85485
+24127,VA,New Castle,37.487132,-80.17042
+24128,VA,Newport,37.306852,-80.50992
+24131,VA,Paint Bank,37.574482,-80.254436
+24133,VA,Patrick Springs,36.674435,-80.138769
+24134,VA,Pearisburg,37.304121,-80.726703
+24136,VA,Mountain Lake,37.33027,-80.615507
+24137,VA,Penhook,36.920125,-79.664493
+24138,VA,Pilot,37.056476,-80.322901
+24139,VA,Pittsville,36.971578,-79.479413
+24141,VA,Fairlawn,37.135816,-80.571721
+24147,VA,Rich Creek,37.385048,-80.822718
+24148,VA,Ridgeway,36.5874,-79.86859
+24149,VA,Riner,37.032209,-80.435309
+24150,VA,Ripplemead,37.366455,-80.671728
+24151,VA,Rocky Mount,36.989101,-79.883959
+24153,VA,Salem,37.2853,-80.069185
+24161,VA,Sandy Level,36.991042,-79.561404
+24162,VA,Shawsville,37.146619,-80.27153
+24165,VA,Spencer,36.59676,-80.037345
+24167,VA,Staffordsville,37.245378,-80.740334
+24168,VA,Stanleytown,36.734759,-79.935482
+24171,VA,Stuart,36.651744,-80.23923
+24174,VA,Thaxton,37.360008,-79.652187
+24175,VA,Troutville,37.401855,-79.878636
+24176,VA,Union Hall,37.013111,-79.686447
+24179,VA,Stewartsville,37.271139,-79.835466
+24184,VA,Wirtz,37.081794,-79.757254
+24185,VA,Woolwine,36.792076,-80.277426
+24201,VA,Bristol,36.618093,-82.182297
+24210,VA,Abingdon,36.691644,-82.019989
+24216,VA,Exeter,36.906001,-82.791394
+24217,VA,Bee,37.101358,-82.185632
+24219,VA,Big Stone Gap,36.858073,-82.762727
+24220,VA,Birchleaf,37.169481,-82.248346
+24221,VA,Blackwater,36.639011,-82.98658
+24224,VA,Castlewood,36.876409,-82.287574
+24225,VA,Cleveland,36.950215,-82.131758
+24226,VA,Clinchco,37.140581,-82.342476
+24228,VA,Clintwood,37.159206,-82.445339
+24230,VA,Coeburn,36.960489,-82.473497
+24236,VA,Damascus,36.640264,-81.777633
+24237,VA,Dante,37.005419,-82.281519
+24239,VA,Davenport,37.068044,-82.122946
+24243,VA,Dryden,36.781825,-82.930478
+24244,VA,Clinchport,36.704402,-82.80651
+24245,VA,Dungannon,36.82416,-82.496025
+24248,VA,Ewing,36.623694,-83.504737
+24250,VA,Fort Blackmore,36.743828,-82.610178
+24251,VA,Gate City,36.646026,-82.611179
+24256,VA,Haysi,37.220552,-82.285306
+24258,VA,Hiltons,36.649778,-82.429929
+24260,VA,Council,37.027292,-81.996883
+24263,VA,Jonesville,36.689647,-83.13615
+24265,VA,Keokee,36.823931,-82.977161
+24266,VA,Lebanon,36.880895,-82.09563
+24269,VA,Mc Clure,37.081412,-82.380553
+24270,VA,Mendota,36.722302,-82.264888
+24271,VA,Nickelsville,36.750221,-82.420172
+24272,VA,Nora,37.018229,-82.350023
+24273,VA,Norton,36.937797,-82.624923
+24277,VA,Pennington Gap,36.750752,-83.022299
+24279,VA,Pound,37.092734,-82.601555
+24280,VA,Rosedale,36.973981,-81.888793
+24281,VA,Rose Hill,36.658257,-83.348565
+24282,VA,Saint Charles,36.831515,-83.051838
+24283,VA,Saint Paul,36.932295,-82.341844
+24285,VA,Stonega,36.950176,-82.819194
+24289,VA,Trammel,37.022959,-82.217563
+24290,VA,Weber City,36.620213,-82.545227
+24292,VA,Whitetop,36.610559,-81.583938
+24293,VA,Wise,36.975,-82.594679
+24301,VA,Pulaski,37.056708,-80.770961
+24311,VA,Atkins,36.866532,-81.404791
+24312,VA,Austinville,36.819461,-80.858322
+24313,VA,Barren Springs,36.907787,-80.809006
+24314,VA,Bastian,37.15742,-81.198855
+24315,VA,Bland,37.137644,-81.020064
+24316,VA,Broadford,36.93299,-81.659388
+24317,VA,Cana,36.59574,-80.670452
+24318,VA,Ceres,37.00456,-81.364272
+24319,VA,Chilhowie,36.771912,-81.665103
+24322,VA,Cripple Creek,36.808612,-81.103928
+24323,VA,Crockett,36.876755,-81.208883
+24324,VA,Draper,36.969743,-80.818752
+24325,VA,Dugspur,36.814546,-80.612348
+24326,VA,Elk Creek,36.730579,-81.191488
+24328,VA,Fancy Gap,36.663972,-80.69075
+24329,VA,24329,36.889764,-80.827174
+24330,VA,Fries,36.724683,-81.004157
+24333,VA,Galax,36.656503,-80.911744
+24340,VA,Glade Spring,36.7779,-81.767639
+24343,VA,Hillsville,36.744225,-80.71973
+24347,VA,Allisonia,36.997815,-80.638173
+24348,VA,Independence,36.629444,-81.158202
+24350,VA,Ivanhoe,36.827225,-80.977911
+24351,VA,Lambsburg,36.577483,-80.760133
+24352,VA,Laurel Fork,36.707347,-80.514776
+24354,VA,Marion,36.827316,-81.534914
+24360,VA,Foster Falls,36.91708,-80.921391
+24361,VA,Meadowview,36.761175,-81.851205
+24363,VA,Mouth Of Wilson,36.610379,-81.395452
+24366,VA,Rocky Gap,37.244242,-81.155236
+24368,VA,Rural Retreat,36.883616,-81.287872
+24370,VA,Saltville,36.892699,-81.740201
+24373,VA,Seven Mile Ford,36.815329,-81.645672
+24374,VA,Speedwell,36.799843,-81.183404
+24375,VA,Sugar Grove,36.773633,-81.408443
+24377,VA,Tannersville,36.976331,-81.628017
+24378,VA,Trout Dale,36.68546,-81.435004
+24380,VA,Willis,36.874927,-80.490861
+24381,VA,Woodlawn,36.787948,-80.882437
+24382,VA,Wytheville,36.940669,-81.094082
+24401,VA,Woodrum,38.145104,-79.07519
+24413,VA,Blue Grass,38.515231,-79.561272
+24416,VA,Buena Vista,37.739585,-79.352311
+24421,VA,Churchville,38.234605,-79.179126
+24422,VA,Clifton Forge,37.820342,-79.805423
+24426,VA,Alleghany,37.784203,-80.003176
+24430,VA,Craigsville,38.076826,-79.361883
+24431,VA,Crimora,38.168422,-78.841275
+24432,VA,Deerfield,38.184231,-79.415186
+24433,VA,Doe Hill,38.390248,-79.482176
+24435,VA,Fairfield,37.877825,-79.297922
+24437,VA,Fort Defiance,38.210928,-78.932583
+24439,VA,Goshen,37.987813,-79.477325
+24440,VA,Greenville,38.001804,-79.135876
+24441,VA,Grottoes,38.248371,-78.825528
+24442,VA,Head Waters,38.294611,-79.435272
+24444,VA,Hightown,38.464597,-79.592927
+24445,VA,Hot Springs,37.963784,-79.871662
+24450,VA,Lexington,37.788463,-79.458111
+24458,VA,Mc Dowell,38.326588,-79.498798
+24459,VA,Middlebrook,38.024158,-79.281165
+24460,VA,Millboro Spring,38.005795,-79.640649
+24464,VA,Montebello,37.839931,-79.061079
+24465,VA,Monterey,38.405821,-79.59407
+24467,VA,Mount Sidney,38.261185,-78.97296
+24468,VA,Mustoe,38.286216,-79.659137
+24471,VA,Port Republic,38.317167,-78.810388
+24472,VA,Raphine,37.937353,-79.221903
+24473,VA,Rockbridge Baths,37.896458,-79.387421
+24475,VA,Spottswood,37.968418,-79.221141
+24477,VA,Stuarts Draft,38.014423,-79.029821
+24479,VA,Swoope,38.159117,-79.187281
+24482,VA,Verona,38.203726,-79.005872
+24483,VA,Vesuvius,37.83777,-79.213485
+24484,VA,Bolar,38.085119,-79.807792
+24485,VA,West Augusta,38.274397,-79.320139
+24486,VA,Weyers Cave,38.293145,-78.923454
+24487,VA,Burnsville,38.177907,-79.650607
+24501,VA,Lynchburg,37.386228,-79.171464
+24502,VA,Timberlake,37.359635,-79.211783
+24503,VA,Lynchburg,37.437646,-79.204982
+24504,VA,Lynchburg,37.390422,-79.12142
+24517,VA,Altavista,37.122162,-79.291145
+24520,VA,Alton,36.589352,-79.020237
+24521,VA,Amherst,37.602677,-79.050572
+24522,VA,Appomattox,37.352951,-78.822445
+24523,VA,Bedford,37.315345,-79.53311
+24526,VA,Big Island,37.530556,-79.382706
+24527,VA,Blairs,36.667408,-79.378869
+24528,VA,Brookneal,37.082663,-78.922679
+24529,VA,Buffalo Junction,36.61676,-78.609266
+24530,VA,Callands,36.764748,-79.628779
+24531,VA,Chatham,36.83099,-79.429659
+24534,VA,Clover,36.863695,-78.78618
+24536,VA,Coleman Falls,37.488659,-79.315757
+24538,VA,Concord,37.336953,-78.980353
+24539,VA,Crystal Hill,36.873217,-78.970634
+24540,VA,Danville,36.621789,-79.412441
+24541,VA,Danville,36.577937,-79.441112
+24549,VA,Dry Fork,36.743008,-79.457966
+24550,VA,Evington,37.261049,-79.231723
+24551,VA,Forest,37.337878,-79.279116
+24553,VA,Gladstone,37.547252,-78.850838
+24554,VA,Gladys,37.138581,-79.104794
+24555,VA,Glasgow,37.643,-79.45898
+24556,VA,Goode,37.348098,-79.381277
+24557,VA,Gretna,36.969515,-79.338874
+24558,VA,Halifax,36.762571,-78.941494
+24562,VA,Howardsville,37.765891,-78.582355
+24563,VA,Hurt,37.079787,-79.299995
+24565,VA,Java,36.858582,-79.187034
+24566,VA,Keeling,36.715577,-79.278284
+24569,VA,Long Island,37.064374,-79.121933
+24570,VA,Lowry,37.33361,-79.455599
+24571,VA,Lynch Station,37.152826,-79.329716
+24572,VA,Madison Heights,37.453102,-79.114089
+24574,VA,Monroe,37.541366,-79.17034
+24577,VA,Lennig,36.944179,-78.989766
+24578,VA,Natural Bridge,37.660625,-79.533045
+24579,VA,Natural Bridge S,37.595667,-79.503905
+24580,VA,Nelson,36.558558,-78.670959
+24586,VA,Ringgold,36.603483,-79.298835
+24588,VA,Rustburg,37.25454,-79.121507
+24589,VA,Scottsburg,36.786194,-78.786601
+24590,VA,Scottsville,37.804937,-78.473981
+24592,VA,South Boston,36.696335,-78.918829
+24593,VA,Spout Spring,37.364345,-78.905887
+24594,VA,Sutherlin,36.625831,-79.19495
+24597,VA,Ingram,36.786684,-79.110874
+24598,VA,Virgilina,36.606231,-78.760516
+24599,VA,Wingina,37.641473,-78.755709
+24602,VA,Bandy,37.166112,-81.6508
+24603,VA,Conaway,37.318638,-82.224596
+24605,VA,Bluefield,37.249512,-81.325114
+24609,VA,Cedar Bluff,37.079076,-81.766788
+24613,VA,Falls Mills,37.271023,-81.318234
+24614,VA,Grundy,37.296678,-82.106077
+24620,VA,Hurley,37.401741,-82.026164
+24622,VA,Jewell Valley,37.222372,-81.810654
+24627,VA,Mavisdale,37.200817,-82.221599
+24630,VA,Tiptop,37.152447,-81.525256
+24631,VA,Patterson,37.184074,-81.991577
+24633,VA,24633,37.235477,-81.988789
+24634,VA,Pilgrims Knob,37.298944,-81.911896
+24637,VA,Pounding Mill,37.059584,-81.730052
+24639,VA,Raven,37.148056,-81.889557
+24641,VA,Richlands,37.094051,-81.812286
+24646,VA,Rowe,37.127593,-82.027381
+24649,VA,Swords Creek,37.073792,-81.908385
+24651,VA,Tazewell,37.107773,-81.509976
+24656,VA,Vansant,37.173811,-82.127715
+24657,VA,Whitewood,37.264409,-81.890361
+98001,WA,Algona,47.316339,-122.270057
+98002,WA,Auburn,47.30503,-122.206741
+98003,WA,Federal Way,47.3203,-122.311726
+98004,WA,Beaux Arts,47.619899,-122.207371
+98005,WA,Bellevue,47.614961,-122.166288
+98006,WA,Bellevue,47.561425,-122.155179
+98007,WA,Bellevue,47.617443,-122.142572
+98008,WA,Bellevue,47.611468,-122.116173
+98010,WA,Black Diamond,47.311372,-122.005265
+98011,WA,Bothell,47.749692,-122.2159
+98012,WA,Mill Creek,47.848941,-122.206981
+98014,WA,Carnation,47.638007,-121.911095
+98019,WA,Duvall,47.724987,-121.936906
+98020,WA,Woodway,47.800693,-122.366949
+98021,WA,Bothell,47.791806,-122.224339
+98022,WA,Enumclaw,47.266545,-122.031429
+98023,WA,Federal Way,47.310358,-122.36123
+98024,WA,Fall City,47.568233,-121.889646
+98026,WA,Edmonds,47.823324,-122.334463
+98027,WA,Issaquah,47.550911,-122.033517
+98031,WA,Kent,47.388004,-122.193184
+98032,WA,Kent,47.377633,-122.285362
+98033,WA,Kirkland,47.678597,-122.189442
+98034,WA,Kirkland,47.718777,-122.196571
+98036,WA,Brier,47.811825,-122.287789
+98037,WA,Lynnwood,47.850532,-122.282139
+98038,WA,Maple Valley,47.384526,-122.057413
+98040,WA,Mercer Island,47.563149,-122.226562
+98042,WA,Kent,47.368044,-122.120615
+98043,WA,Mountlake Terrac,47.793061,-122.304036
+98045,WA,North Bend,47.475546,-121.757142
+98047,WA,Pacific,47.266605,-122.243481
+98051,WA,Ravensdale,47.415476,-121.987897
+98052,WA,Redmond,47.671796,-122.123242
+98053,WA,Redmond,47.646238,-122.038578
+98055,WA,Renton,47.464759,-122.207484
+98056,WA,Renton,47.507336,-122.181942
+98058,WA,Renton,47.446507,-122.121586
+98059,WA,Renton,47.467383,-122.151178
+98065,WA,Snoqualmie,47.529286,-121.822533
+98070,WA,Vashon,47.425949,-122.464415
+98072,WA,Woodinville,47.768384,-122.127087
+98101,WA,Seattle,47.611435,-122.330456
+98102,WA,Seattle,47.63025,-122.320993
+98103,WA,Seattle,47.67335,-122.342621
+98104,WA,Seattle,47.603631,-122.325644
+98105,WA,Seattle,47.663266,-122.302236
+98106,WA,Seattle,47.534362,-122.354688
+98107,WA,Seattle,47.67012,-122.37626
+98108,WA,Tukwila,47.547448,-122.306823
+98109,WA,Seattle,47.633875,-122.347615
+98110,WA,Bainbridge Islan,47.645048,-122.531297
+98112,WA,Seattle,47.630115,-122.297157
+98115,WA,Seattle,47.684918,-122.296828
+98116,WA,Seattle,47.574591,-122.393445
+98117,WA,Seattle,47.687263,-122.377223
+98118,WA,Seattle,47.541234,-122.275021
+98119,WA,Seattle,47.637917,-122.364272
+98121,WA,Seattle,47.615135,-122.344696
+98122,WA,Seattle,47.611633,-122.305608
+98125,WA,Seattle,47.717002,-122.301546
+98126,WA,Seattle,47.544361,-122.373458
+98133,WA,Seattle,47.737717,-122.343132
+98134,WA,Seattle,47.590276,-122.326346
+98136,WA,Seattle,47.539769,-122.387768
+98144,WA,Seattle,47.584624,-122.300457
+98146,WA,Burien,47.501069,-122.353989
+98148,WA,Normandy Park,47.450209,-122.326112
+98155,WA,Lk Forest Park,47.758161,-122.296305
+98158,WA,Seatac,47.442739,-122.318454
+98166,WA,Normandy Park,47.455052,-122.347392
+98168,WA,Tukwila,47.48851,-122.302376
+98177,WA,Seattle,47.746678,-122.368585
+98178,WA,Tukwila,47.499489,-122.247366
+98188,WA,Tukwila,47.449808,-122.281159
+98198,WA,Des Moines,47.407286,-122.309559
+98199,WA,Seattle,47.648845,-122.396357
+98201,WA,Everett,47.988431,-122.200571
+98203,WA,Everett,47.941937,-122.221846
+98204,WA,Everett,47.901659,-122.247217
+98205,WA,Everett,47.990065,-122.115759
+98208,WA,Everett,47.894822,-122.198722
+98220,WA,Acme,48.675248,-122.191391
+98221,WA,Anacortes,48.500438,-122.630873
+98223,WA,Arlington,48.18293,-122.112126
+98224,WA,Baring,47.757787,-121.44757
+98225,WA,Bellingham,48.748957,-122.488676
+98226,WA,Bellingham,48.762763,-122.441457
+98230,WA,Blaine,48.963572,-122.732327
+98232,WA,Bow,48.562037,-122.413438
+98233,WA,Burlington,48.478577,-122.33449
+98236,WA,Clinton,47.950845,-122.391588
+98237,WA,Concrete,48.530962,-121.664294
+98239,WA,Coupeville,48.218911,-122.682346
+98240,WA,Custer,48.937412,-122.622571
+98241,WA,Darrington,48.249285,-121.591807
+98244,WA,Glacier,48.803366,-122.153957
+98245,WA,Eastsound,48.665554,-122.937045
+98247,WA,Everson,48.90447,-122.332474
+98248,WA,Ferndale,48.862531,-122.595293
+98249,WA,Freeland,48.03417,-122.564086
+98250,WA,Friday Harbor,48.545416,-123.094717
+98252,WA,Granite Falls,48.078977,-121.942752
+98253,WA,Greenbank,48.124432,-122.587086
+98257,WA,La Conner,48.409306,-122.53134
+98258,WA,Lake Stevens,48.017103,-122.067153
+98260,WA,Langley,48.018672,-122.452992
+98261,WA,Lopez,48.520804,-122.967434
+98262,WA,Lummi Island,48.712765,-122.682285
+98263,WA,Lyman,48.525744,-122.016183
+98264,WA,Lynden,48.937225,-122.459153
+98270,WA,Marysville,48.065639,-122.156168
+98271,WA,Marysville,48.096572,-122.197956
+98272,WA,Monroe,47.85853,-121.947376
+98273,WA,Mount Vernon,48.416427,-122.326548
+98275,WA,Mukilteo,47.919896,-122.301906
+98277,WA,Oak Harbor,48.315096,-122.637439
+98278,WA,Whidbey Island N,48.295271,-122.69005
+98279,WA,Olga,48.655526,-122.836224
+98281,WA,Point Roberts,48.987876,-123.055474
+98283,WA,Rockport,48.470388,-121.555352
+98284,WA,Sedro Woolley,48.527405,-122.232943
+98288,WA,Skykomish,47.692158,-121.371297
+98290,WA,Snohomish,47.895381,-122.071562
+98292,WA,Stanwood,48.201067,-122.377978
+98294,WA,Sultan,47.858942,-121.736869
+98295,WA,Sumas,48.970763,-122.207425
+98303,WA,Anderson Island,47.15872,-122.696025
+98304,WA,Ashford,46.753121,-121.989791
+98305,WA,Beaver,48.067263,-124.305424
+98310,WA,Bremerton,47.601916,-122.629913
+98312,WA,Bremerton,47.575424,-122.695786
+98314,WA,Puget Sound Nava,47.746255,-122.724354
+98315,WA,Silverdale,47.692017,-122.716106
+98320,WA,Brinnon,47.677596,-122.937509
+98321,WA,Buckley,47.152449,-122.062098
+98323,WA,Carbonado,47.080242,-122.051339
+98325,WA,Chimacum,47.98607,-122.788323
+98326,WA,Clallam Bay,48.225486,-124.201512
+98328,WA,Eatonville,46.870778,-122.269626
+98329,WA,Gig Harbor,47.378579,-122.7
+98330,WA,Elbe,46.766607,-122.150344
+98331,WA,Forks,47.928732,-124.398949
+98332,WA,Gig Harbor,47.3607,-122.600144
+98333,WA,Fox Island,47.25238,-122.628579
+98335,WA,Gig Harbor,47.300154,-122.608377
+98336,WA,Glenoma,46.528266,-122.099014
+98338,WA,Graham,47.024575,-122.293648
+98339,WA,Port Hadlock,48.034531,-122.768151
+98340,WA,Hansville,47.906143,-122.565509
+98346,WA,Kingston,47.810844,-122.525503
+98349,WA,Home,47.247366,-122.74273
+98351,WA,Longbranch,47.200737,-122.756126
+98354,WA,Milton,47.24827,-122.315514
+98355,WA,Mineral,46.709635,-122.186056
+98356,WA,Morton,46.558056,-122.249573
+98358,WA,Nordland,48.04321,-122.692553
+98359,WA,Olalla,47.424088,-122.574512
+98360,WA,Orting,47.082206,-122.185978
+98361,WA,Packwood,46.650038,-121.655254
+98362,WA,Port Angeles,48.106489,-123.438442
+98365,WA,Port Ludlow,47.922192,-122.689615
+98366,WA,South Park Villa,47.504838,-122.615276
+98368,WA,Port Townsend,48.104012,-122.794457
+98370,WA,Poulsbo,47.742278,-122.627721
+98371,WA,Puyallup,47.199123,-122.315097
+98372,WA,Puyallup,47.204202,-122.273415
+98373,WA,Puyallup,47.128363,-122.321868
+98374,WA,Puyallup,47.142427,-122.265248
+98376,WA,Quilcene,47.832429,-122.858304
+98377,WA,Randle,46.549195,-121.855533
+98380,WA,Seabeck,47.625497,-122.822685
+98381,WA,Sekiu,48.303166,-124.468467
+98382,WA,Sequim,48.088136,-123.119814
+98383,WA,Silverdale,47.662139,-122.698054
+98387,WA,Spanaway,47.073218,-122.394336
+98388,WA,Steilacoom,47.170369,-122.588837
+98390,WA,Bonney Lake,47.188801,-122.180275
+98392,WA,Suquamish,47.734303,-122.557295
+98394,WA,Vaughn,47.330921,-122.773598
+98402,WA,Tacoma,47.254508,-122.440536
+98403,WA,Tacoma,47.26428,-122.457538
+98404,WA,Tacoma,47.211312,-122.412625
+98405,WA,Tacoma,47.248351,-122.46435
+98406,WA,Tacoma,47.26325,-122.499349
+98407,WA,Tacoma,47.282479,-122.503881
+98408,WA,Tacoma,47.207267,-122.444381
+98409,WA,Tacoma,47.20381,-122.482503
+98421,WA,Tacoma,47.266373,-122.401457
+98422,WA,Tacoma,47.294805,-122.398349
+98424,WA,Fife,47.243632,-122.350962
+98433,WA,Fort Lewis,47.100864,-122.583486
+98439,WA,Lakewood Center,47.122905,-122.529326
+98443,WA,Tacoma,47.204369,-122.372815
+98444,WA,Parkland,47.156553,-122.448842
+98445,WA,Parkland,47.133967,-122.411614
+98446,WA,Parkland,47.14041,-122.37189
+98465,WA,Tacoma,47.249139,-122.527272
+98466,WA,Fircrest,47.22788,-122.53503
+98467,WA,Tacoma,47.205395,-122.533562
+98498,WA,Lakewood Center,47.164269,-122.555357
+98499,WA,Lakewood Center,47.160786,-122.509074
+98501,WA,Olympia,47.012906,-122.876311
+98502,WA,Olympia,47.029828,-122.95214
+98503,WA,Lacey,47.023967,-122.782665
+98506,WA,Lacey,47.076259,-122.832844
+98520,WA,Aberdeen,46.984293,-123.79629
+98524,WA,Allyn,47.385004,-122.853571
+98526,WA,Amanda Park,47.470579,-123.907375
+98528,WA,Bear Creek,47.454956,-122.822381
+98531,WA,Centralia,46.724635,-122.967068
+98532,WA,Chehalis,46.638193,-122.965764
+98533,WA,Cinebar,46.567131,-122.566005
+98535,WA,Copalis Beach,47.065044,-124.135881
+98536,WA,Copalis Crossing,47.12535,-124.13471
+98537,WA,Cosmopolis,46.953789,-123.77394
+98538,WA,Curtis,46.558372,-123.156974
+98541,WA,Elma,47.005813,-123.39969
+98542,WA,Ethel,46.53581,-122.776009
+98546,WA,Grapeview,47.305783,-122.949742
+98547,WA,Grayland,46.853201,-124.056194
+98548,WA,Hoodsport,47.423526,-123.173932
+98550,WA,Hoquiam,46.982269,-123.884169
+98552,WA,Humptulips,47.135632,-123.971695
+98555,WA,Lilliwaup,47.512773,-123.063119
+98557,WA,Mc Cleary,47.053987,-123.273301
+98560,WA,Matlock,47.177545,-123.337638
+98562,WA,Moclips,47.222619,-124.20438
+98563,WA,Montesano,47.09013,-123.500584
+98564,WA,Mossyrock,46.513136,-122.478935
+98568,WA,Oakville,46.843366,-123.249329
+98569,WA,Ocean City,46.982905,-124.15323
+98570,WA,Onalaska,46.573016,-122.707503
+98571,WA,Pacific Beach,47.198144,-124.158833
+98572,WA,Pe Ell,46.56558,-123.285244
+98575,WA,Quinault,47.448505,-123.803744
+98576,WA,Rainier,46.882942,-122.679468
+98577,WA,Raymond,46.671046,-123.692889
+98579,WA,Rochester,46.819295,-123.040634
+98580,WA,Roy,46.956048,-122.448271
+98581,WA,Ryderwood,46.375176,-123.043134
+98582,WA,Salkum,46.515059,-122.645364
+98584,WA,Shelton,47.20863,-123.072862
+98585,WA,Silver Creek,46.549077,-122.475716
+98586,WA,South Bend,46.6544,-123.820315
+98587,WA,Taholah,47.340711,-124.2827
+98588,WA,Tahuya,47.435618,-122.921126
+98589,WA,Tenino,46.864119,-122.849269
+98590,WA,Tokeland,46.746874,-124.046008
+98591,WA,Toledo,46.439552,-122.826559
+98592,WA,Union,47.351305,-123.034364
+98593,WA,Vader,46.398505,-122.958493
+98595,WA,Westport,46.883619,-124.106055
+98596,WA,Winlock,46.494014,-122.915806
+98597,WA,Yelm,46.920589,-122.588049
+98601,WA,Amboy,45.9195,-122.457418
+98602,WA,Appleton,45.909041,-121.148618
+98603,WA,Ariel,45.995154,-122.46769
+98604,WA,Battle Ground,45.790667,-122.531845
+98605,WA,Cook,45.6341,-121.175778
+98606,WA,Brush Prairie,45.730432,-122.484342
+98607,WA,Camas,45.605772,-122.414231
+98610,WA,Carson,45.749332,-121.835138
+98611,WA,Castle Rock,46.278291,-122.9139
+98612,WA,Cathlamet,46.195383,-123.362716
+98613,WA,Centerville,45.703183,-120.945973
+98616,WA,Cougar,46.069012,-122.294186
+98619,WA,Glenwood,46.007104,-121.28849
+98620,WA,Goldendale,45.832021,-120.812981
+98621,WA,Grays River,46.353481,-123.588845
+98624,WA,Ilwaco,46.314214,-124.02822
+98625,WA,Kalama,46.011229,-122.816588
+98626,WA,Kelso,46.148491,-122.886994
+98628,WA,Klickitat,45.751534,-121.229231
+98629,WA,La Center,45.880587,-122.623972
+98631,WA,Long Beach,46.377369,-124.047041
+98632,WA,Longview,46.151354,-122.963421
+98635,WA,Lyle,45.74495,-121.250112
+98638,WA,Naselle,46.352758,-123.804381
+98640,WA,Ocean Park,46.502867,-124.043582
+98642,WA,Ridgefield,45.784634,-122.693354
+98643,WA,Rosburg,46.307076,-123.657105
+98645,WA,Silverlake,46.316322,-122.764886
+98647,WA,Skamokawa,46.295186,-123.43316
+98648,WA,Stevenson,45.688173,-121.909346
+98649,WA,Toutle,46.295605,-122.647696
+98650,WA,Trout Lake,45.982789,-121.516272
+98651,WA,Underwood,45.740872,-121.597408
+98660,WA,Vancouver,45.64183,-122.68014
+98661,WA,Vancouver,45.641807,-122.625146
+98662,WA,Orchards,45.674519,-122.576182
+98663,WA,Vancouver,45.6514,-122.660385
+98664,WA,Vancouver,45.623086,-122.576741
+98665,WA,Hazel Dell,45.68217,-122.664223
+98670,WA,Wahkiacus,45.815567,-121.148586
+98671,WA,Washougal,45.595921,-122.310396
+98672,WA,White Salmon,45.755142,-121.479459
+98674,WA,Woodland,45.921859,-122.71256
+98675,WA,Yacolt,45.862247,-122.427545
+98682,WA,Vancouver,45.664399,-122.521224
+98684,WA,Cascade Park,45.617522,-122.524969
+98685,WA,Felida,45.707313,-122.682474
+98686,WA,Vancouver,45.712017,-122.632226
+98801,WA,Wenatchee,47.425269,-120.327345
+98802,WA,East Wenatchee,47.418596,-120.273136
+98812,WA,Brewster,48.120641,-119.771999
+98813,WA,Bridgeport,48.016083,-119.702772
+98814,WA,Carlton,48.252615,-120.10551
+98815,WA,Cashmere,47.517293,-120.503274
+98816,WA,Chelan,47.848263,-120.027306
+98822,WA,Entiat,47.705653,-120.276031
+98823,WA,Ephrata,47.277051,-119.533582
+98826,WA,Leavenworth,47.6438,-120.674792
+98827,WA,Loomis,48.869627,-119.642675
+98828,WA,Malaga,47.355306,-120.208562
+98830,WA,Mansfield,47.902136,-119.405315
+98831,WA,Manson,47.895764,-120.148963
+98832,WA,Marlin,47.320929,-119.090897
+98833,WA,Mazama,48.597728,-120.38796
+98834,WA,Methow,48.09001,-120.0059
+98837,WA,Moses Lake,47.137363,-119.289149
+98840,WA,Okanogan,48.351328,-119.604563
+98841,WA,Omak,48.414347,-119.527156
+98843,WA,Orondo,47.696928,-120.172143
+98844,WA,Oroville,48.939681,-119.403236
+98845,WA,Palisades,47.469367,-119.802264
+98846,WA,Pateros,48.059147,-119.913322
+98847,WA,Peshastin,47.581294,-120.613928
+98848,WA,Quincy,47.197574,-119.845922
+98849,WA,Riverside,48.487567,-119.580316
+98850,WA,Rock Island,47.370558,-120.137794
+98851,WA,Soap Lake,47.383034,-119.485962
+98852,WA,Stehekin,48.298034,-120.755185
+98855,WA,Tonasket,48.71944,-119.394252
+98856,WA,Twisp,48.363231,-120.135035
+98857,WA,Warden,46.97697,-119.053932
+98858,WA,Waterville,47.62951,-119.988743
+98859,WA,Wauconda,48.822449,-118.946947
+98862,WA,Winthrop,48.475607,-120.180468
+98901,WA,Terrace Heights,46.606991,-120.477336
+98902,WA,Yakima,46.593393,-120.531084
+98903,WA,Union Gap,46.5572,-120.556587
+98908,WA,Wide Hollow,46.605865,-120.605175
+98922,WA,Cle Elum,47.206319,-120.968505
+98923,WA,Cowiche,46.66611,-120.714893
+98926,WA,Ellensburg,46.999632,-120.516274
+98930,WA,Grandview,46.253846,-119.915734
+98932,WA,Granger,46.348045,-120.181848
+98933,WA,Harrah,46.410383,-120.573606
+98935,WA,Mabton,46.212082,-120.015141
+98936,WA,Moxee,46.554205,-120.368463
+98937,WA,White Pass,46.735335,-120.826699
+98938,WA,Outlook,46.352497,-120.097005
+98942,WA,Selah,46.67671,-120.540813
+98944,WA,Sunnyside,46.321273,-120.012631
+98946,WA,Thorp,47.017785,-120.678557
+98947,WA,Tieton,46.706331,-120.747275
+98948,WA,Toppenish,46.375123,-120.330534
+98951,WA,Wapato,46.45066,-120.426484
+98952,WA,White Swan,46.371558,-120.745317
+98953,WA,Zillah,46.415777,-120.266161
+99003,WA,Chattaroy,47.919178,-117.29209
+99004,WA,Cheney,47.494257,-117.583372
+99005,WA,Colbert,47.841093,-117.375895
+99006,WA,Deer Park,47.948615,-117.443559
+99008,WA,Edwall,47.537896,-117.907095
+99009,WA,Elk,48.020523,-117.296253
+99011,WA,Fairchild Air Fo,47.613068,-117.643746
+99012,WA,Fairfield,47.398726,-117.192054
+99013,WA,Ford,47.916873,-117.811858
+99016,WA,Greenacres,47.658357,-117.156801
+99017,WA,Lamont,47.17304,-117.830239
+99018,WA,Latah,47.303815,-117.16884
+99019,WA,Liberty Lake,47.651672,-117.083808
+99021,WA,Mead,47.793268,-117.311716
+99022,WA,Espanola,47.583696,-117.679351
+99023,WA,Mica,47.553814,-117.163711
+99025,WA,Newman Lake,47.727371,-117.064041
+99026,WA,Nine Mile Falls,47.801945,-117.589359
+99027,WA,Otis Orchards,47.70273,-117.11209
+99029,WA,Reardan,47.705407,-117.866264
+99030,WA,Rockford,47.452804,-117.131842
+99031,WA,Spangle,47.4338,-117.382696
+99032,WA,Sprague,47.324725,-117.989684
+99033,WA,Tekoa,47.227081,-117.081919
+99034,WA,Tumtum,47.898173,-117.698996
+99036,WA,Valleyford,47.529176,-117.268601
+99037,WA,Veradale,47.642103,-117.197706
+99039,WA,Waverly,47.335393,-117.233108
+99040,WA,Wellpinit,47.86974,-117.985646
+99101,WA,Addy,48.44769,-117.892383
+99103,WA,Almira,47.763175,-118.91225
+99105,WA,Benge,46.867636,-117.969895
+99107,WA,Boyds,48.691919,-118.19906
+99109,WA,Chewelah,48.287585,-117.77539
+99110,WA,Clayton,47.955206,-117.574021
+99111,WA,Colfax,46.879996,-117.366975
+99113,WA,Colton,46.590098,-117.169243
+99114,WA,Colville,48.57799,-117.864463
+99115,WA,Coulee City,47.596571,-119.27582
+99116,WA,Coulee Dam,48.173861,-119.180907
+99117,WA,Creston,47.797681,-118.530656
+99118,WA,Curlew,48.910775,-118.645182
+99119,WA,Cusick,48.391513,-117.329464
+99121,WA,Danville,48.972524,-118.488408
+99122,WA,Davenport,47.680855,-118.166657
+99123,WA,Electric City,47.926446,-119.036728
+99125,WA,Endicott,46.936407,-117.723005
+99126,WA,Evans,48.745787,-118.00012
+99128,WA,Farmington,47.084742,-117.076327
+99129,WA,Fruitland,47.979746,-118.215906
+99130,WA,Garfield,46.994639,-117.152293
+99131,WA,Gifford,48.22287,-118.12989
+99133,WA,Grand Coulee,47.938511,-118.997835
+99134,WA,Harrington,47.4555,-118.277793
+99135,WA,Hartline,47.725631,-119.104467
+99137,WA,Hunters,48.133261,-118.152491
+99138,WA,Inchelium,48.292411,-118.355166
+99139,WA,Ione,48.713023,-117.404859
+99140,WA,Keller,48.023594,-118.654731
+99141,WA,Kettle Falls,48.636375,-118.054801
+99143,WA,Lacrosse,46.771684,-117.770277
+99147,WA,Lincoln,47.78204,-118.481012
+99148,WA,Loon Lake,48.078393,-117.632496
+99150,WA,Malo,48.81862,-118.623712
+99153,WA,Metaline Falls,48.859747,-117.36332
+99156,WA,Newport,48.169465,-117.150784
+99157,WA,Northport,48.924663,-117.793052
+99158,WA,Oakesdale,47.080556,-117.280326
+99159,WA,Odessa,47.339491,-118.698316
+99161,WA,Palouse,46.907555,-117.085475
+99163,WA,Pullman,46.735247,-117.172936
+99166,WA,Republic,48.670366,-118.699942
+99167,WA,Rice,48.406169,-118.124865
+99169,WA,Ritzville,47.131528,-118.395812
+99170,WA,Rosalia,47.221777,-117.41468
+99171,WA,Saint John,47.075539,-117.573002
+99173,WA,Springdale,47.992737,-117.873273
+99176,WA,Thornton,47.12525,-117.386416
+99179,WA,Uniontown,46.525818,-117.090756
+99180,WA,Usk,48.295969,-117.318947
+99181,WA,Valley,48.135114,-117.760967
+99185,WA,Wilbur,47.741012,-118.706271
+99201,WA,Spokane,47.666485,-117.436527
+99202,WA,Spokane,47.654741,-117.380972
+99203,WA,Spokane,47.629443,-117.404121
+99204,WA,Spokane,47.640682,-117.471896
+99205,WA,Spokane,47.69641,-117.439912
+99206,WA,Spokane,47.649588,-117.258126
+99207,WA,Spokane,47.697712,-117.374565
+99208,WA,Spokane,47.737434,-117.435207
+99212,WA,Spokane,47.668598,-117.304853
+99216,WA,Spokane,47.663389,-117.219307
+99218,WA,Spokane,47.755648,-117.4146
+99223,WA,Spokane,47.61558,-117.362215
+99301,WA,Pasco,46.249183,-119.104387
+99320,WA,Benton City,46.280624,-119.491349
+99321,WA,Beverly,46.848429,-119.912074
+99322,WA,Bickleton,45.959687,-120.104223
+99324,WA,College Place,46.045723,-118.385338
+99326,WA,Connell,46.66426,-118.85454
+99327,WA,Cunningham,46.757333,-119.107604
+99328,WA,Dayton,46.307459,-117.973791
+99330,WA,Eltopia,46.474996,-119.101333
+99336,WA,Kennewick,46.210913,-119.167951
+99337,WA,Kennewick,46.181387,-119.138289
+99341,WA,Lind,46.955954,-118.706057
+99343,WA,Mesa,46.578223,-119.137324
+99344,WA,Mattawa,46.792518,-119.316405
+99345,WA,Paterson,45.991139,-119.755873
+99346,WA,Plymouth,46.038184,-119.502998
+99347,WA,Pomeroy,46.469838,-117.599282
+99348,WA,Prescott,46.353879,-118.409663
+99350,WA,Prosser,46.223183,-119.771014
+99352,WA,Richland,46.283265,-119.289201
+99356,WA,Roosevelt,45.82962,-120.356611
+99357,WA,Royal City,46.91557,-119.581473
+99360,WA,Lowden,46.04851,-118.655411
+99361,WA,Waitsburg,46.269092,-118.144734
+99362,WA,Walla Walla,46.061373,-118.331544
+99371,WA,Washtucna,46.820912,-118.286203
+99401,WA,Anatone,46.128466,-117.088316
+99402,WA,Asotin,46.134318,-117.001548
+99403,WA,Clarkston,46.394622,-117.064457
+24701,WV,Bluewell,37.279788,-81.229023
+24712,WV,Athens,37.432298,-80.997362
+24714,WV,Beeson,37.490894,-81.206215
+24715,WV,Bramwell,37.332114,-81.32556
+24726,WV,Herndon,37.526431,-81.346777
+24731,WV,Kegley,37.408384,-81.140117
+24733,WV,Lashmeet,37.441997,-81.213845
+24736,WV,Dott,37.441778,-81.268017
+24740,WV,Elgood,37.366817,-81.086386
+24747,WV,Duhring,37.38889,-81.218766
+24801,WV,Welch,37.400032,-81.534412
+24810,WV,Mc Dowell,37.414348,-81.387601
+24818,WV,Brenton,37.584362,-81.649502
+24819,WV,Vallscreek,37.295548,-81.69552
+24822,WV,Clear Fork,37.646301,-81.689268
+24823,WV,Coal Mountain,37.688486,-81.707862
+24827,WV,Cyclone,37.74466,-81.650458
+24828,WV,Asco,37.468339,-81.667889
+24834,WV,Fanrock,37.562721,-81.623631
+24839,WV,Hanover,37.563029,-81.813617
+24844,WV,Iaeger,37.449878,-81.811992
+24849,WV,Jesse,37.660844,-81.562831
+24850,WV,Jolo,37.332431,-81.831602
+24859,WV,Marianna,37.611425,-81.576052
+24860,WV,Matheny,37.661956,-81.595711
+24862,WV,Mohawk,37.487926,-81.914174
+24868,WV,Algoma,37.395262,-81.415839
+24869,WV,North Spring,37.517954,-81.797276
+24870,WV,Oceana,37.703874,-81.621564
+24873,WV,Paynesville,37.365273,-81.68449
+24874,WV,Pineville,37.584022,-81.533642
+24882,WV,Simon,37.619708,-81.758566
+24884,WV,Squire,37.237019,-81.580478
+24901,WV,Lewisburg,37.808253,-80.440669
+24910,WV,Dawson,37.730148,-80.671306
+24915,WV,Arbovale,38.454575,-79.793403
+24916,WV,Asbury,37.848766,-80.565319
+24917,WV,Auto,37.981697,-80.117105
+24918,WV,Ballard,37.49803,-80.76139
+24919,WV,Ballengee,37.616931,-80.740339
+24920,WV,Bartow,38.551266,-79.795242
+24923,WV,Bozoo,37.457015,-80.814954
+24924,WV,Buckeye,38.181506,-80.139342
+24925,WV,Caldwell,37.773488,-80.377298
+24927,WV,Stony Bottom,38.433659,-79.885278
+24928,WV,Clintonville,37.906141,-80.626192
+24931,WV,Crawley,37.939676,-80.6309
+24934,WV,Dunmore,38.363605,-79.855557
+24935,WV,Indian Mills,37.56005,-80.814923
+24936,WV,Fort Spring,37.745661,-80.566723
+24938,WV,Anthony,37.90361,-80.364692
+24939,WV,24939,38.027868,-80.458919
+24941,WV,Gap Mills,37.527978,-80.390497
+24942,WV,Glace,37.609381,-80.374716
+24943,WV,Grassy Meadows,37.842757,-80.73024
+24944,WV,Green Bank,38.409664,-79.801535
+24945,WV,Greenville,37.521184,-80.676128
+24946,WV,Droop,38.125942,-80.244578
+24950,WV,Kieffer,37.942998,-80.59022
+24951,WV,Lindside,37.481651,-80.62028
+24954,WV,Minnehaha Spring,38.229303,-80.060884
+24957,WV,Maxwelton,37.900465,-80.427492
+24958,WV,Meadow Bluff,37.89587,-80.728162
+24962,WV,Pence Springs,37.676694,-80.709234
+24963,WV,Peterstown,37.414709,-80.768605
+24966,WV,Renick,37.992168,-80.365294
+24970,WV,Ronceverte,37.741758,-80.462583
+24974,WV,Secondcreek,37.660246,-80.418079
+24976,WV,Pickaway,37.662078,-80.516905
+24977,WV,Smoot,37.877166,-80.668038
+24980,WV,Sweet Springs,37.611159,-80.298959
+24981,WV,Talcott,37.649079,-80.746143
+24983,WV,Union,37.580175,-80.524767
+24984,WV,Waiteville,37.464514,-80.463447
+24985,WV,Wayside,37.593657,-80.745806
+24986,WV,Neola,37.814618,-80.27464
+24991,WV,Trout,37.94421,-80.517321
+24993,WV,Wolfcreek,37.618788,-80.611254
+25003,WV,Alum Creek,38.285814,-81.786258
+25004,WV,Ameagle,37.964068,-81.406507
+25005,WV,Amma,38.545518,-81.253182
+25007,WV,Arnett,37.850214,-81.435484
+25008,WV,Artie,37.918139,-81.378772
+25009,WV,Ashford,38.182291,-81.711324
+25010,WV,Bald Knob,37.844023,-81.622943
+25013,WV,Barrett,37.880201,-81.64831
+25015,WV,Diamond,38.225381,-81.505812
+25018,WV,Bentree,38.297088,-81.21565
+25019,WV,Fola,38.365947,-81.106838
+25021,WV,Bim,37.893437,-81.688047
+25024,WV,Bloomingrose,38.141189,-81.636737
+25025,WV,Blount,38.312116,-81.405194
+25028,WV,Bob White,37.958711,-81.720884
+25030,WV,Bomont,38.407295,-81.21999
+25033,WV,Buffalo,38.60924,-81.949971
+25034,WV,Burnwell,38.053014,-81.37647
+25035,WV,Cabin Creek,38.185795,-81.515258
+25039,WV,Cedar Grove,38.213286,-81.406711
+25043,WV,Clay,38.476354,-81.069588
+25044,WV,Clear Creek,37.89158,-81.320866
+25045,WV,Quick,38.477687,-81.356039
+25046,WV,Clio,38.572686,-81.307188
+25047,WV,Clothier,37.79333,-81.988142
+25048,WV,Colcord,37.949166,-81.443699
+25049,WV,Comfort,38.137191,-81.596177
+25051,WV,Costa,38.164693,-81.708015
+25053,WV,Danville,38.03356,-81.854227
+25059,WV,Dixie,38.26631,-81.186249
+25060,WV,Dorothy,37.96219,-81.496842
+25062,WV,Dry Creek,37.860686,-81.481398
+25063,WV,Duck,38.564652,-80.976416
+25064,WV,Dunbar,38.368271,-81.742467
+25071,WV,Frame,38.432317,-81.481739
+25079,WV,Falling Rock,38.475579,-81.380874
+25081,WV,Foster,38.090819,-81.765876
+25082,WV,Fraziers Bottom,38.551678,-82.011068
+25083,WV,Whittaker,38.189406,-81.386231
+25085,WV,Gauley Bridge,38.168899,-81.19596
+25088,WV,Glen,38.368989,-81.223401
+25093,WV,Gordon,37.978191,-81.67132
+25103,WV,Hansford,38.127158,-81.395026
+25105,WV,Harrison,38.498979,-80.916068
+25106,WV,Henderson,38.826512,-82.136381
+25107,WV,Hernshaw,38.194212,-81.612986
+25108,WV,Hewett,37.958097,-81.850919
+25111,WV,Indore,38.339672,-81.157495
+25113,WV,Big Otter,38.530476,-81.033506
+25114,WV,Ramage,37.957023,-81.800305
+25115,WV,Kanawha Falls,38.107932,-81.162753
+25118,WV,Kimberly,38.124928,-81.321721
+25119,WV,Kincaid,38.032065,-81.26897
+25121,WV,Lake,37.946191,-81.951152
+25122,WV,Carbon,38.098249,-81.451228
+25123,WV,Arbuckle,38.753046,-81.909244
+25124,WV,Liberty,38.619978,-81.767813
+25125,WV,Lizemores,38.336609,-81.163255
+25130,WV,Madison,38.044426,-81.793757
+25132,WV,Mammoth,38.258319,-81.350893
+25133,WV,Maysel,38.493924,-81.122653
+25136,WV,Montgomery,38.141232,-81.281354
+25139,WV,Mount Carbon,38.160097,-81.333373
+25140,WV,Naoma,37.915381,-81.521372
+25141,WV,Nebo,38.627069,-81.025657
+25142,WV,Nellis,38.152066,-81.739905
+25143,WV,Nitro,38.419323,-81.829311
+25148,WV,Orgas,38.073646,-81.57383
+25150,WV,Ovapa,38.523398,-81.14846
+25154,WV,Peytona,38.124952,-81.701836
+25158,WV,Pliny,38.614206,-82.015494
+25159,WV,Lanham,38.488297,-81.80511
+25160,WV,Pond Gap,38.290434,-81.28658
+25161,WV,Powellton,38.099172,-81.317923
+25163,WV,Williams Mountai,38.008351,-81.623901
+25164,WV,Pigeon,38.472167,-81.226286
+25165,WV,Racine,38.149524,-81.655742
+25168,WV,Red House,38.546298,-81.904474
+25169,WV,Ridgeview,38.148576,-81.772548
+25172,WV,Robertsburg,38.644143,-81.9109
+25173,WV,Robson,38.097263,-81.248758
+25174,WV,Rock Creek,37.836673,-81.483674
+25177,WV,Saint Albans,38.37743,-81.830463
+25180,WV,Saxon,37.786108,-81.432279
+25181,WV,Seth,38.097057,-81.639258
+25187,WV,Southside,38.711994,-81.996596
+25189,WV,Stickney,37.876844,-81.497001
+25193,WV,Sylvester,38.009075,-81.549151
+25202,WV,Tornado,38.335697,-81.847555
+25203,WV,Turtle Creek,38.042715,-81.853499
+25204,WV,Bandytown,37.921015,-81.635204
+25206,WV,Van,37.971152,-81.702175
+25209,WV,Garrison,37.978677,-81.534013
+25213,WV,Winfield,38.507178,-81.889965
+25214,WV,Winifrede,38.185245,-81.558747
+25231,WV,Advent,38.623595,-81.572063
+25234,WV,Arnoldsburg,38.822704,-81.155135
+25235,WV,Floe,38.671201,-81.090126
+25239,WV,Cottageville,38.863285,-81.818609
+25241,WV,Evans,38.811281,-81.790858
+25242,WV,25242,38.646191,-81.034134
+25243,WV,Gandeeville,38.703382,-81.424329
+25244,WV,Gay,38.797842,-81.570301
+25245,WV,Given,38.713046,-81.682542
+25246,WV,Harmony,38.692086,-81.507636
+25248,WV,Romance,38.623894,-81.651717
+25249,WV,Kentuck,38.663886,-81.596018
+25251,WV,Left Hand,38.606288,-81.246675
+25252,WV,Duncan,38.957552,-81.57245
+25253,WV,Letart,38.931079,-81.975129
+25255,WV,Letter Gap,38.897074,-80.883768
+25256,WV,Linden,38.698938,-81.229061
+25258,WV,Lockney,38.852919,-80.945075
+25259,WV,Looneyville,38.664113,-81.28219
+25260,WV,Mason,39.006442,-82.028215
+25261,WV,Millstone,38.86029,-81.086352
+25262,WV,Millwood,38.896206,-81.824832
+25264,WV,Mount Alto,38.863937,-81.878374
+25266,WV,Uler,38.605219,-81.167579
+25267,WV,Normantown,38.880173,-80.941936
+25268,WV,Minnora,38.735979,-81.09614
+25270,WV,Reedy,38.837119,-81.419785
+25271,WV,Ripley,38.809042,-81.701987
+25272,WV,Rock Castle,38.708357,-81.767414
+25274,WV,Sand Ridge,38.850721,-81.032372
+25275,WV,Sandyville,38.909282,-81.654315
+25276,WV,Spencer,38.789696,-81.33026
+25279,WV,Statts Mills,38.74076,-81.615579
+25280,WV,Stumptown,38.831619,-80.970026
+25281,WV,Tariff,38.652707,-81.212361
+25283,WV,Valley Fork,38.486906,-81.152177
+25285,WV,Wallback,38.57254,-81.093535
+25286,WV,Walton,38.602264,-81.395757
+25287,WV,West Columbia,38.926169,-82.090529
+25301,WV,Charleston,38.349,-81.630606
+25302,WV,Big Chimney,38.383178,-81.623876
+25303,WV,South Charleston,38.359226,-81.684079
+25304,WV,Charleston,38.317289,-81.590272
+25306,WV,Malden,38.30028,-81.536813
+25309,WV,South Charleston,38.344903,-81.734462
+25311,WV,Charleston,38.349032,-81.599282
+25312,WV,Charleston,38.409563,-81.674688
+25313,WV,Cross Lanes,38.424982,-81.764877
+25314,WV,Charleston,38.327442,-81.668988
+25315,WV,Marmet,38.233309,-81.554361
+25320,WV,Sissonville,38.509586,-81.629585
+25401,WV,Martinsburg,39.459959,-77.958915
+25411,WV,Hancock,39.58736,-78.219217
+25413,WV,Bunker Hill,39.327554,-78.048718
+25414,WV,Charles Town,39.277085,-77.856254
+25419,WV,Falling Waters,39.586473,-77.885152
+25420,WV,Gerrardstown,39.378039,-78.114119
+25422,WV,Great Cacapon,39.583557,-78.33312
+25425,WV,Harpers Ferry,39.315283,-77.769449
+25427,WV,Cherry Run,39.547034,-78.056016
+25428,WV,Inwood,39.370093,-78.024189
+25430,WV,Kearneysville,39.321994,-77.958762
+25431,WV,Levels,39.497637,-78.55078
+25434,WV,Paw Paw,39.492297,-78.458573
+25437,WV,Points,39.457208,-78.564148
+25438,WV,Ranson,39.299531,-77.860572
+25442,WV,Shenandoah Junct,39.371084,-77.88924
+25443,WV,Shepherdstown,39.431124,-77.815819
+25444,WV,Slanesville,39.402631,-78.505971
+25446,WV,Summit Point,39.233753,-77.958552
+25501,WV,Alkol,38.160884,-81.983972
+25502,WV,Apple Grove,38.713066,-82.172556
+25503,WV,Ashton,38.657102,-82.108907
+25504,WV,Barboursville,38.389272,-82.295973
+25505,WV,Big Creek,38.004555,-82.016056
+25506,WV,Branchland,38.269444,-82.268367
+25508,WV,Chapmanville,37.938535,-82.051241
+25510,WV,Culloden,38.419831,-82.068963
+25511,WV,Dunlow,38.02829,-82.38266
+25512,WV,East Lynn,38.199474,-82.327931
+25514,WV,Fort Gay,38.133496,-82.554124
+25515,WV,Gallipolis Ferry,38.765028,-82.153496
+25517,WV,Radnor,38.088908,-82.46692
+25520,WV,Glenwood,38.544936,-82.143431
+25521,WV,Griffithsville,38.246985,-81.982028
+25523,WV,Hamlin,38.289556,-82.104695
+25524,WV,Ferrellsburg,38.008878,-82.155358
+25526,WV,Hurricane,38.425741,-81.994329
+25529,WV,Julian,38.126437,-81.864185
+25530,WV,Kenova,38.386031,-82.573649
+25534,WV,Cove Gap,38.077744,-82.256206
+25535,WV,Lavalette,38.33046,-82.428707
+25536,WV,25536,38.087553,-82.076761
+25537,WV,Lesage,38.477028,-82.295667
+25540,WV,Midkiff,38.143908,-82.154227
+25541,WV,Milton,38.413981,-82.145784
+25544,WV,Myra,38.21978,-82.135097
+25545,WV,Ona,38.452851,-82.218093
+25546,WV,Palermo,38.12817,-82.046018
+25547,WV,Pecks Mill,37.929784,-81.965382
+25550,WV,Point Pleasant,38.863249,-82.113247
+25555,WV,Prichard,38.230009,-82.575297
+25557,WV,Ranger,38.155608,-82.19078
+25559,WV,Salt Rock,38.326542,-82.247041
+25560,WV,Scott Depot,38.450063,-81.900481
+25563,WV,Sias,38.189434,-82.085779
+25564,WV,Sod,38.262967,-81.86814
+25565,WV,Morrisvale,38.077015,-81.991778
+25567,WV,Sumerco,38.205292,-81.894317
+25568,WV,Sweetland,38.262874,-82.034464
+25570,WV,Wayne,38.225814,-82.433926
+25571,WV,West Hamlin,38.288571,-82.184348
+25572,WV,Woodville,38.157027,-81.911281
+25573,WV,Yawkey,38.219252,-81.956828
+25601,WV,West Logan,37.847488,-82.002092
+25607,WV,Robinette,37.795586,-81.758912
+25608,WV,Baisden,37.571492,-81.932758
+25617,WV,Davin,37.726499,-81.805706
+25621,WV,Gilbert,37.594153,-81.866468
+25623,WV,Hampden,37.639691,-81.947014
+25632,WV,Earling,37.774266,-81.929291
+25635,WV,Hunt,37.729525,-81.865228
+25638,WV,Barnabus,37.722368,-82.004931
+25650,WV,Verner,37.64554,-81.864801
+25651,WV,Wharncliffe,37.545161,-81.956604
+25654,WV,Dehue,37.866513,-81.872699
+25661,WV,Williamson,37.690248,-82.264163
+25666,WV,Breeden,37.919751,-82.254748
+25669,WV,Crum,37.938879,-82.462359
+25670,WV,Myrtle,37.703833,-82.131922
+25671,WV,Dingess,37.870336,-82.195108
+25674,WV,Kermit,37.864246,-82.374065
+25676,WV,Lenore,37.799436,-82.269336
+25678,WV,Lobata,37.649539,-82.145694
+25682,WV,Meador,37.592373,-82.065904
+25694,WV,Thacker,37.608293,-82.127333
+25699,WV,Wilsondale,37.951598,-82.381358
+25701,WV,Huntington,38.409726,-82.442348
+25702,WV,Huntington,38.42862,-82.391083
+25703,WV,Huntington,38.421116,-82.422666
+25704,WV,Huntington,38.384943,-82.503646
+25705,WV,Huntington,38.409588,-82.36901
+25801,WV,Beckley,37.793214,-81.206084
+25811,WV,Amigo,37.59211,-81.349145
+25812,WV,Ansted,38.13686,-81.095487
+25813,WV,Beaver,37.751581,-81.073104
+25817,WV,Bolt,37.767303,-81.415612
+25820,WV,Camp Creek,37.484053,-81.111073
+25825,WV,Cool Ridge,37.65735,-81.10528
+25827,WV,Crab Orchard,37.720515,-81.249098
+25831,WV,Clifftop,37.903615,-80.947114
+25832,WV,Daniels,37.732247,-81.139108
+25837,WV,Edmond,38.054441,-81.032634
+25839,WV,Fairdale,37.786578,-81.401758
+25840,WV,Cunard,38.062774,-81.080969
+25841,WV,Flat Top,37.550028,-81.127976
+25843,WV,Ghent,37.62079,-81.101921
+25844,WV,Glen Daniel,37.754698,-81.403294
+25845,WV,Glen Fork,37.644691,-81.540209
+25847,WV,Sullivan,37.790384,-81.13048
+25848,WV,Glen Rogers,37.721685,-81.428989
+25854,WV,Hico,38.109373,-80.963763
+25857,WV,Josephine,37.622135,-81.217584
+25862,WV,Lansing,38.110793,-81.02772
+25864,WV,Lawton,37.865779,-80.992449
+25865,WV,Lester,37.726522,-81.309542
+25868,WV,Lookout,38.052822,-80.92006
+25870,WV,Maben,37.654294,-81.391371
+25876,WV,Saulsville,37.655573,-81.457706
+25880,WV,Mount Hope,37.911048,-81.170419
+25882,WV,Mullens,37.584172,-81.389015
+25901,WV,Harvey,37.984874,-81.134425
+25902,WV,Odd,37.592997,-81.187183
+25908,WV,Winding Gulf,37.643456,-81.231022
+25912,WV,Ramsey,38.178142,-81.015047
+25913,WV,Ravencliff,37.697961,-81.496736
+25915,WV,East Gulf,37.628587,-81.294753
+25917,WV,Scarbro,37.947073,-81.245731
+25918,WV,Abraham,37.697802,-81.1023
+25920,WV,Slab Fork,37.679605,-81.227928
+25922,WV,Spanishburg,37.46314,-81.106941
+25928,WV,Stephenson,37.579847,-81.333914
+25932,WV,Surveyor,37.748,-81.33919
+25936,WV,Thurmond,37.955437,-81.071428
+25938,WV,Victor,38.140194,-81.032223
+25951,WV,Hinton,37.663983,-80.867779
+25958,WV,Charmco,37.98948,-80.707745
+25962,WV,Rainelle,37.966112,-80.782064
+25965,WV,Elton,37.846825,-80.825207
+25966,WV,Green Sulphur Sp,37.808553,-80.839922
+25969,WV,Streeter,37.639732,-80.995717
+25971,WV,Lerona,37.492498,-80.979574
+25976,WV,Meadow Bridge,37.878048,-80.852144
+25977,WV,Meadow Creek,37.804824,-80.91742
+25978,WV,Nimitz,37.628584,-80.94462
+25979,WV,Pipestem,37.530345,-80.946345
+25981,WV,Marfrance,38.051937,-80.717286
+25984,WV,Kessler,37.963882,-80.689971
+25985,WV,Sandstone,37.759879,-80.871564
+25986,WV,Spring Dale,37.86947,-80.814996
+25988,WV,True,37.580031,-80.930837
+25989,WV,White Oak,37.68008,-81.058875
+26003,WV,Elm Grove,40.072736,-80.685126
+26031,WV,Benwood,40.013299,-80.71603
+26032,WV,Bethany,40.202,-80.55463
+26033,WV,Cameron,39.82272,-80.566876
+26034,WV,Chester,40.598109,-80.558439
+26035,WV,Colliers,40.348391,-80.549341
+26036,WV,Dallas,39.978343,-80.550804
+26037,WV,Follansbee,40.329552,-80.584954
+26038,WV,Glen Dale,39.959732,-80.732263
+26039,WV,Glen Easton,39.853121,-80.666069
+26040,WV,Mc Mechen,39.987793,-80.73082
+26041,WV,Moundsville,39.914819,-80.730971
+26047,WV,New Cumberland,40.522777,-80.590108
+26050,WV,Newell,40.613971,-80.601126
+26055,WV,Proctor,39.720683,-80.761779
+26059,WV,Triadelphia,40.069945,-80.59529
+26060,WV,Valley Grove,40.094649,-80.555059
+26062,WV,Weirton,40.413673,-80.568307
+26070,WV,Wellsburg,40.254792,-80.596061
+26101,WV,Parkersburg,39.264433,-81.535412
+26104,WV,North Parkersbur,39.285316,-81.526109
+26105,WV,Vienna,39.325089,-81.541143
+26133,WV,Belleville,39.131417,-81.692316
+26134,WV,Willow Island,39.367927,-81.27881
+26135,WV,Bens Run,39.44641,-81.066534
+26136,WV,Big Bend,38.971941,-81.13603
+26137,WV,Nobe,38.996306,-81.069813
+26138,WV,Brohard,39.033756,-81.177528
+26141,WV,Creston,38.937805,-81.236905
+26142,WV,Davisville,39.212635,-81.479863
+26143,WV,Elizabeth,39.056618,-81.398889
+26145,WV,Five Forks,38.975331,-81.086623
+26146,WV,Friendly,39.502444,-81.034544
+26147,WV,Grantsville,38.932436,-81.076294
+26148,WV,Macfarlan,39.08058,-81.177627
+26149,WV,Middlebourne,39.50537,-80.886067
+26150,WV,Mineralwells,39.179846,-81.519096
+26151,WV,Mount Zion,38.877455,-81.119473
+26152,WV,Munday,39.021423,-81.204048
+26153,WV,Murraysville,39.059143,-81.771368
+26155,WV,New Martinsville,39.658798,-80.856541
+26159,WV,Paden City,39.604408,-80.926482
+26160,WV,Palestine,38.974141,-81.42803
+26161,WV,Petroleum,39.174139,-81.240607
+26164,WV,Ravenswood,38.94675,-81.752377
+26167,WV,Reader,39.583595,-80.751583
+26169,WV,Rockport,39.079774,-81.571333
+26170,WV,Saint Marys,39.38597,-81.172499
+26173,WV,Sherman,39.013094,-81.700916
+26175,WV,Sistersville,39.558365,-80.981828
+26178,WV,Smithville,39.067078,-81.061953
+26179,WV,Tanner,38.966435,-80.959719
+26180,WV,Walker,39.182082,-81.386577
+26181,WV,New England,39.233911,-81.640719
+26184,WV,Waverly,39.315681,-81.381938
+26185,WV,Wick,39.421653,-80.968044
+26186,WV,Wileyville,39.662593,-80.647251
+26187,WV,Williamstown,39.38243,-81.456608
+26201,WV,Tennerton,38.98407,-80.217824
+26202,WV,Fenwick,38.244657,-80.634972
+26203,WV,Erbacon,38.541864,-80.574232
+26205,WV,Craigsville,38.325389,-80.64438
+26206,WV,Cowen,38.413273,-80.535807
+26208,WV,Gauley Mills,38.379246,-80.591408
+26210,WV,Adrian,38.913422,-80.288663
+26214,WV,Century,39.093287,-80.175688
+26215,WV,Cleveland,38.839225,-80.342849
+26217,WV,Diana,38.575471,-80.431962
+26218,WV,Alexander,38.851145,-80.274339
+26222,WV,Replete,38.679583,-80.402345
+26224,WV,Helvetia,38.771258,-80.138167
+26228,WV,Kanawha Head,38.76183,-80.372734
+26230,WV,Pickens,38.684242,-80.209784
+26234,WV,Rock Cave,38.781128,-80.316276
+26236,WV,Selbyville,38.719393,-80.312955
+26237,WV,Tallmansville,38.856405,-80.15799
+26238,WV,Volga,39.068445,-80.143209
+26241,WV,Elkins,38.925304,-79.847115
+26250,WV,Belington,39.024439,-79.949508
+26253,WV,Beverly,38.828021,-79.865121
+26254,WV,Wymer,38.934863,-79.619347
+26257,WV,Coalton,38.91438,-79.976724
+26260,WV,Davis,39.088227,-79.456278
+26261,WV,Richwood,38.222988,-80.544481
+26263,WV,Dryfork,38.957616,-79.453403
+26264,WV,Durbin,38.616313,-79.793464
+26266,WV,Upperglade,38.418528,-80.496464
+26267,WV,Ellamore,38.933966,-80.092611
+26268,WV,Glady,38.866925,-79.734202
+26269,WV,Hambleton,39.116836,-79.641565
+26270,WV,Harman,38.923369,-79.524599
+26271,WV,Hendricks,39.074814,-79.630302
+26273,WV,Huttonsville,38.678433,-79.977544
+26276,WV,Kerens,39.029854,-79.775427
+26278,WV,Mabie,38.822158,-80.013061
+26280,WV,Mill Creek,38.732493,-79.978569
+26282,WV,Monterville,38.551707,-80.122391
+26283,WV,Montrose,39.096357,-79.789577
+26287,WV,Parsons,39.105857,-79.673448
+26288,WV,Bolair,38.476362,-80.399798
+26289,WV,Red Creek,39.019628,-79.53009
+26291,WV,Slatyfork,38.381207,-80.040353
+26292,WV,Thomas,39.150517,-79.503
+26293,WV,Valley Bend,38.784903,-79.916037
+26294,WV,Mingo,38.536637,-80.044911
+26296,WV,Job,38.808289,-79.557752
+26299,WV,Boggs,38.482119,-80.607389
+26301,WV,Nutter Fort Ston,39.278422,-80.348683
+26320,WV,Wilbur,39.429757,-80.817157
+26321,WV,Alum Bridge,39.042474,-80.688196
+26322,WV,Alvy,39.451106,-80.668921
+26325,WV,Auburn,39.086382,-80.883656
+26327,WV,Berea,39.130452,-80.922322
+26328,WV,Blandville,39.265169,-80.735856
+26330,WV,Bridgeport,39.29537,-80.242692
+26332,WV,Bristol,39.290425,-80.510541
+26335,WV,Gem,38.850391,-80.658989
+26337,WV,Cairo,39.23249,-81.155427
+26338,WV,Camden,39.089268,-80.591531
+26339,WV,Center Point,39.412472,-80.635227
+26342,WV,Coxs Mills,39.002102,-80.874592
+26343,WV,Crawford,38.840065,-80.400749
+26346,WV,Highland,39.282364,-81.060382
+26347,WV,Wendel,39.271069,-80.128179
+26348,WV,Folsom,39.469345,-80.525806
+26351,WV,Baldwin,38.933619,-80.82783
+26354,WV,Grafton,39.341386,-80.028509
+26360,WV,Greenwood,39.290761,-80.878899
+26362,WV,Mahone,39.199608,-81.045967
+26367,WV,Hazelgreen,39.063075,-80.980578
+26372,WV,Horner,38.972628,-80.365576
+26374,WV,Independence,39.446372,-79.882161
+26376,WV,Wildcat,38.767689,-80.477002
+26377,WV,Jacksonburg,39.541553,-80.643697
+26378,WV,Jane Lew,39.109989,-80.431059
+26383,WV,Lima,39.438973,-80.724703
+26384,WV,Linn,38.957294,-80.730046
+26385,WV,Lost Creek,39.172528,-80.377674
+26386,WV,Lumberport,39.378108,-80.367635
+26404,WV,Meadowbrook,39.335367,-80.325668
+26405,WV,Kasson,39.212271,-79.921574
+26408,WV,Mount Clare,39.210708,-80.289948
+26409,WV,Newberne,39.040743,-80.902838
+26410,WV,Newburg,39.402722,-79.828036
+26411,WV,New Milton,39.189917,-80.707617
+26412,WV,Orlando,38.885349,-80.560122
+26415,WV,Toll Gate,39.292064,-80.958482
+26416,WV,Broaddus,39.150789,-80.038531
+26419,WV,Hastings,39.565069,-80.677213
+26421,WV,Pullman,39.190013,-80.934685
+26423,WV,Roanoke,38.930494,-80.498537
+26425,WV,Manheim,39.221575,-79.642977
+26426,WV,Salem,39.294761,-80.589792
+26431,WV,Shinnston,39.388809,-80.283399
+26437,WV,Smithfield,39.5134,-80.558245
+26439,WV,Stouts Mills,38.893335,-80.741131
+26440,WV,Thornton,39.332879,-79.909645
+26443,WV,Troy,39.083881,-80.754921
+26444,WV,Tunnelton,39.362502,-79.747818
+26447,WV,Walkersville,38.850738,-80.480221
+26448,WV,Wallace,39.411667,-80.486468
+26451,WV,West Milford,39.203906,-80.363049
+26452,WV,Weston,39.041104,-80.473656
+26456,WV,West Union,39.276185,-80.791057
+26462,WV,Wolf Summit,39.232985,-80.438704
+26505,WV,Star City,39.633858,-79.954225
+26519,WV,Albright,39.570116,-79.635811
+26521,WV,Blacksville,39.695821,-80.232646
+26525,WV,Bruceton Mills,39.645394,-79.615941
+26529,WV,Core,39.654037,-80.23068
+26537,WV,Kingwood,39.481912,-79.70629
+26541,WV,Maidsville,39.709308,-80.083193
+26542,WV,Cascade,39.576413,-79.800993
+26546,WV,Pursglove,39.699543,-80.061798
+26547,WV,Reedsville,39.51823,-79.810061
+26554,WV,Monongah,39.472677,-80.146041
+26560,WV,Baxter,39.536056,-80.141691
+26561,WV,Big Run,39.59414,-80.583717
+26562,WV,Coburn,39.667984,-80.405931
+26568,WV,Enterprise,39.425998,-80.316704
+26570,WV,Fairview,39.610335,-80.252918
+26571,WV,Farmington,39.50287,-80.256643
+26575,WV,Hundred,39.691744,-80.474552
+26581,WV,Littleton,39.659205,-80.569478
+26582,WV,Mannington,39.522031,-80.355243
+26585,WV,Metz,39.607762,-80.416815
+26587,WV,Rachel,39.52254,-80.295694
+26588,WV,Rivesville,39.556839,-80.141744
+26589,WV,Wadestown,39.636926,-80.327462
+26590,WV,Wana,39.702072,-80.305106
+26591,WV,Worthington,39.452213,-80.290468
+26601,WV,Herold,38.673855,-80.681072
+26610,WV,Birch River,38.491424,-80.745873
+26611,WV,Flower,38.839711,-80.840342
+26615,WV,Copen,38.830556,-80.728481
+26617,WV,Dille,38.474704,-80.853784
+26618,WV,Elmira,38.658907,-80.984972
+26619,WV,Riffle,38.806866,-80.768123
+26620,WV,Falls Mill,38.77566,-80.550618
+26621,WV,Corley,38.724475,-80.638478
+26623,WV,Clem,38.636828,-80.877416
+26624,WV,Gassaway,38.686193,-80.786339
+26626,WV,Glendon,38.610857,-80.939459
+26627,WV,Heaters,38.755807,-80.642884
+26629,WV,Tesla,38.581046,-80.706293
+26631,WV,Napier,38.77462,-80.584104
+26633,WV,Nicut,38.715133,-81.011
+26634,WV,Perkins,38.809049,-80.919336
+26636,WV,Rosedale,38.770103,-80.906127
+26638,WV,Shock,38.757527,-80.968663
+26639,WV,Strange Creek,38.573823,-80.903077
+26641,WV,Wilsie,38.672723,-80.868051
+26651,WV,Summersville,38.30089,-80.835278
+26656,WV,Belva,38.249105,-81.156572
+26660,WV,Calvin,38.327679,-80.70163
+26662,WV,Canvas,38.262445,-80.744637
+26667,WV,Drennen,38.258729,-81.008868
+26671,WV,Gilboa,38.298304,-80.952232
+26674,WV,Jodie,38.208319,-81.134657
+26675,WV,Keslers Cross La,38.225762,-80.933365
+26676,WV,Leivasy,38.135019,-80.717213
+26678,WV,Mount Lookout,38.182109,-80.91077
+26679,WV,Runa,38.197064,-80.820204
+26680,WV,Russelville,38.10829,-80.885777
+26681,WV,Nettie,38.209042,-80.695271
+26683,WV,Poe,38.256458,-80.952167
+26684,WV,Pool,38.146004,-80.885907
+26690,WV,Swiss,38.279058,-81.080703
+26691,WV,Tioga,38.375989,-80.661663
+26704,WV,Augusta,39.299821,-78.593089
+26705,WV,Amboy,39.304719,-79.571088
+26710,WV,Burlington,39.388709,-78.912278
+26711,WV,Capon Bridge,39.280198,-78.464413
+26713,WV,Corinth,39.43183,-79.503965
+26714,WV,Delray,39.179564,-78.639427
+26716,WV,Eglon,39.292514,-79.510919
+26717,WV,Elk Garden,39.363088,-79.153871
+26719,WV,Fort Ashby,39.497045,-78.774296
+26720,WV,Gormania,39.271499,-79.340136
+26722,WV,Green Spring,39.502931,-78.627191
+26726,WV,Scherr,39.430406,-78.988667
+26729,WV,Kirby,39.195588,-78.731468
+26731,WV,Lahmansville,39.164225,-79.043319
+26734,WV,Medley,39.236079,-79.0984
+26739,WV,Mount Storm,39.265224,-79.225454
+26743,WV,New Creek,39.361155,-79.045212
+26750,WV,Piedmont,39.479901,-79.048862
+26753,WV,Patterson Creek,39.581796,-78.792006
+26755,WV,Rio,39.180663,-78.693548
+26757,WV,Romney,39.342369,-78.748075
+26761,WV,Shanks,39.284859,-78.699531
+26763,WV,Springfield,39.462996,-78.695019
+26764,WV,Hopemont,39.441575,-79.557234
+26765,WV,Three Churches,39.351578,-78.661061
+26767,WV,Wiley Ford,39.613308,-78.774992
+26769,WV,Horse Shoe Run,39.252842,-79.512312
+26801,WV,Baker,39.065588,-78.774826
+26802,WV,Brandywine,38.635701,-79.209629
+26804,WV,Circleville,38.623039,-79.53672
+26806,WV,Fort Seybert,38.739489,-79.140781
+26807,WV,Franklin,38.639985,-79.353776
+26808,WV,High View,39.222497,-78.442548
+26810,WV,Lost City,38.895361,-78.822684
+26811,WV,Lost River,38.93448,-78.79317
+26812,WV,Mathias,38.874443,-78.881413
+26813,WV,Moyers,38.500561,-79.383011
+26814,WV,Riverton,38.697871,-79.465531
+26815,WV,Sugar Grove,38.52011,-79.290329
+26816,WV,Arthur,39.101237,-79.099576
+26817,WV,Bloomery,39.328606,-78.381561
+26818,WV,Fisher,39.04796,-78.988756
+26824,WV,Junction,39.330441,-78.832785
+26833,WV,Maysville,39.071174,-79.1937
+26836,WV,Rig,39.056812,-78.97793
+26838,WV,Milam,38.812526,-79.072936
+26845,WV,Old Fields,39.150245,-78.950944
+26847,WV,Dorcas,38.976602,-79.130701
+26851,WV,Wardensville,39.056238,-78.617457
+26852,WV,Purgitsville,39.268065,-78.905951
+26855,WV,Cabins,38.951199,-79.278332
+26865,WV,Lehew,39.183038,-78.494998
+26866,WV,Upper Tract,38.794952,-79.258589
+26884,WV,Seneca Rocks,38.829615,-79.386577
+26886,WV,Onego,38.801718,-79.450702
+53001,WI,Adell,43.615071,-88.025394
+53002,WI,Allenton,43.468065,-88.353901
+53004,WI,Belgium,43.499465,-87.850908
+53005,WI,Brookfield,43.062173,-88.098
+53006,WI,South Byron,43.610934,-88.509729
+53007,WI,Butler,43.105405,-88.071043
+53010,WI,Campbellsport,43.604183,-88.272855
+53011,WI,Cascade,43.659106,-88.094658
+53012,WI,Cedarburg,43.303413,-88.002867
+53013,WI,Cedar Grove,43.575076,-87.840108
+53014,WI,Chilton,44.024242,-88.182689
+53015,WI,Cleveland,43.921732,-87.767314
+53017,WI,Colgate,43.199767,-88.240614
+53018,WI,Delafield,43.050019,-88.397248
+53019,WI,Eden,43.695878,-88.326607
+53020,WI,Elkhart Lake,43.843553,-87.97667
+53021,WI,Waubeka,43.484319,-87.982243
+53022,WI,Germantown,43.218871,-88.116508
+53023,WI,Glenbeulah,43.766611,-88.104886
+53024,WI,Grafton,43.323146,-87.952087
+53027,WI,Hartford,43.315749,-88.370727
+53029,WI,Hartland,43.117153,-88.344572
+53032,WI,Horicon,43.446859,-88.631049
+53033,WI,Hubertus,43.234269,-88.231147
+53035,WI,Iron Ridge,43.393415,-88.544072
+53036,WI,Ixonia,43.170667,-88.580567
+53037,WI,Jackson,43.325243,-88.162592
+53038,WI,Johnson Creek,43.075051,-88.783602
+53039,WI,Juneau,43.379199,-88.684517
+53040,WI,Kewaskum,43.521446,-88.19253
+53042,WI,Kiel,43.934105,-87.995644
+53044,WI,Kohler,43.738096,-87.78673
+53045,WI,Brookfield,43.066791,-88.146946
+53046,WI,Lannon,43.149651,-88.163863
+53048,WI,Knowles,43.588489,-88.441309
+53049,WI,Malone,43.869002,-88.307289
+53050,WI,Mayville,43.504496,-88.545084
+53051,WI,Menomonee Falls,43.160174,-88.112774
+53057,WI,Mount Calvary,43.814211,-88.239922
+53058,WI,Nashotah,43.111791,-88.408913
+53059,WI,Neosho,43.297841,-88.520482
+53061,WI,New Holstein,43.944639,-88.091083
+53063,WI,Newton,43.983621,-87.784764
+53065,WI,Oakfield,43.686371,-88.556919
+53066,WI,Oconomowoc,43.109497,-88.486229
+53069,WI,Okauchee,43.113011,-88.432287
+53070,WI,Oostburg,43.622939,-87.796955
+53072,WI,Pewaukee,43.078777,-88.272922
+53073,WI,Plymouth,43.75258,-87.977906
+53074,WI,Port Washington,43.395463,-87.879659
+53075,WI,Random Lake,43.567206,-87.981553
+53076,WI,Richfield,43.273925,-88.215467
+53078,WI,Rubicon,43.312144,-88.452793
+53079,WI,Saint Cloud,43.807431,-88.184482
+53080,WI,Saukville,43.391265,-87.956765
+53081,WI,Sheboygan,43.740981,-87.724667
+53083,WI,Howards Grove,43.788609,-87.748552
+53085,WI,Sheboygan Falls,43.726598,-87.824228
+53086,WI,Slinger,43.332211,-88.282377
+53089,WI,Sussex,43.144059,-88.227064
+53091,WI,Theresa,43.504477,-88.447766
+53092,WI,Mequon,43.225145,-87.959357
+53093,WI,Waldo,43.657087,-87.97217
+53094,WI,Watertown,43.192971,-88.71851
+53095,WI,West Bend,43.422444,-88.184549
+53103,WI,Big Bend,42.888463,-88.212182
+53104,WI,Bristol,42.532525,-88.047779
+53105,WI,Burlington,42.666034,-88.274886
+53108,WI,Caledonia,42.829473,-87.92278
+53110,WI,Cudahy,42.948976,-87.861983
+53114,WI,Darien,42.6435,-88.714217
+53115,WI,Delavan,42.622715,-88.627717
+53118,WI,Dousman,42.98506,-88.456754
+53119,WI,Eagle,42.880942,-88.46742
+53120,WI,East Troy,42.803531,-88.409215
+53121,WI,Elkhorn,42.700928,-88.546209
+53122,WI,Elm Grove,43.047943,-88.085374
+53125,WI,Fontana,42.542928,-88.568424
+53126,WI,Franksville,42.785892,-87.987273
+53128,WI,Genoa City,42.532276,-88.348456
+53129,WI,Greendale,42.937293,-87.994277
+53130,WI,Hales Corners,42.941034,-88.0503
+53132,WI,Franklin,42.901728,-88.008582
+53137,WI,Helenville,43.01007,-88.726887
+53139,WI,Kansasville,42.701246,-88.118037
+53140,WI,Kenosha,42.605228,-87.829945
+53142,WI,Kenosha,42.556038,-87.870526
+53143,WI,Kenosha,42.561726,-87.830053
+53144,WI,Kenosha,42.605788,-87.876171
+53146,WI,New Berlin,42.97397,-88.155274
+53147,WI,Lake Geneva,42.588111,-88.455379
+53149,WI,Mukwonago,42.882054,-88.345116
+53150,WI,Muskego,42.904651,-88.121411
+53151,WI,New Berlin,42.982151,-88.094642
+53153,WI,North Prairie,42.938501,-88.394988
+53154,WI,Oak Creek,42.88916,-87.902661
+53156,WI,Palmyra,42.879263,-88.590255
+53168,WI,Salem,42.570922,-88.128731
+53172,WI,South Milwaukee,42.910468,-87.864626
+53177,WI,Sturtevant,42.69673,-87.903082
+53178,WI,Sullivan,42.99825,-88.602569
+53179,WI,Trevor,42.520112,-88.13869
+53181,WI,Twin Lakes,42.523173,-88.257318
+53182,WI,Union Grove,42.689643,-88.039004
+53183,WI,Wales,43.008787,-88.378742
+53184,WI,Walworth,42.535005,-88.602738
+53185,WI,Wind Lake,42.796882,-88.19335
+53186,WI,Waukesha,42.999304,-88.219559
+53188,WI,Waukesha,43.012848,-88.27048
+53190,WI,Whitewater,42.827174,-88.742864
+53191,WI,Williams Bay,42.576678,-88.543089
+53202,WI,Milwaukee,43.050601,-87.896792
+53203,WI,Milwaukee,43.040299,-87.915375
+53204,WI,Milwaukee,43.015778,-87.931685
+53205,WI,Milwaukee,43.052841,-87.935332
+53206,WI,Milwaukee,43.075324,-87.934714
+53207,WI,Bay View,42.981405,-87.894598
+53208,WI,Milwaukee,43.048775,-87.962454
+53209,WI,Milwaukee,43.118765,-87.947834
+53210,WI,Milwaukee,43.068545,-87.971466
+53211,WI,Shorewood,43.080517,-87.885078
+53212,WI,Milwaukee,43.071195,-87.908415
+53213,WI,Wauwatosa,43.051316,-88.000757
+53214,WI,West Allis,43.019113,-88.010757
+53215,WI,West Milwaukee,43.000411,-87.94174
+53216,WI,Milwaukee,43.085868,-87.974218
+53217,WI,Milwaukee,43.14086,-87.907261
+53218,WI,Milwaukee,43.11218,-87.993161
+53219,WI,Milwaukee,42.995909,-87.994368
+53220,WI,Greenfield,42.968186,-87.992209
+53221,WI,Milwaukee,42.954864,-87.944734
+53222,WI,Milwaukee,43.08283,-88.02687
+53223,WI,Milwaukee,43.162374,-87.989818
+53224,WI,Milwaukee,43.159415,-88.032744
+53225,WI,Milwaukee,43.115416,-88.03464
+53226,WI,Wauwatosa,43.050006,-88.041386
+53227,WI,Milwaukee,42.994919,-88.036384
+53228,WI,Greenfield,42.970251,-88.034638
+53233,WI,Milwaukee,43.040738,-87.93566
+53402,WI,Racine,42.772596,-87.795985
+53403,WI,Racine,42.706015,-87.801375
+53404,WI,Racine,42.743348,-87.8053
+53405,WI,Racine,42.716112,-87.823329
+53406,WI,Racine,42.724162,-87.855104
+53502,WI,Albany,42.715535,-89.435695
+53503,WI,Arena,43.152111,-89.938614
+53504,WI,Argyle,42.695532,-89.859834
+53505,WI,Avalon,42.65979,-88.837142
+53506,WI,Avoca,43.157137,-90.288859
+53507,WI,Barneveld,43.015797,-89.904229
+53508,WI,Belleville,42.866906,-89.53773
+53510,WI,Belmont,42.730784,-90.335881
+53511,WI,Shopiere,42.522871,-89.039897
+53515,WI,Black Earth,43.132213,-89.738974
+53516,WI,Blanchardville,42.806186,-89.855511
+53517,WI,Blue Mounds,43.004964,-89.834455
+53518,WI,Blue River,43.236567,-90.587312
+53520,WI,Brodhead,42.611074,-89.371409
+53521,WI,Brooklyn,42.842327,-89.381814
+53522,WI,Browntown,42.557872,-89.78158
+53523,WI,Cambridge,42.99176,-89.020901
+53525,WI,Clinton,42.553481,-88.870477
+53526,WI,Cobb,42.966009,-90.332408
+53527,WI,Cottage Grove,43.078405,-89.201692
+53528,WI,Cross Plains,43.113214,-89.639665
+53529,WI,Dane,43.242414,-89.51174
+53530,WI,Darlington,42.687816,-90.110648
+53531,WI,Deerfield,43.057106,-89.086199
+53532,WI,De Forest,43.235748,-89.329652
+53533,WI,Dodgeville,42.969779,-90.140433
+53534,WI,Edgerton,42.838605,-89.064157
+53536,WI,Evansville,42.773216,-89.287712
+53538,WI,Fort Atkinson,42.922902,-88.846689
+53541,WI,Gratiot,42.575852,-90.024344
+53543,WI,Highland,43.052368,-90.36501
+53544,WI,Hollandale,42.877321,-89.912973
+53545,WI,Janesville,42.691542,-89.033124
+53546,WI,Janesville,42.668254,-89.002534
+53549,WI,Jefferson,43.000557,-88.807765
+53550,WI,Juda,42.567874,-89.502608
+53551,WI,Lake Mills,43.081576,-88.913335
+53553,WI,Linden,42.918419,-90.279726
+53554,WI,Livingston,42.904432,-90.441986
+53555,WI,Lodi,43.326964,-89.555421
+53556,WI,Lone Rock,43.220773,-90.235229
+53557,WI,Lowell,43.342018,-88.787263
+53558,WI,Mc Farland,43.010651,-89.294773
+53559,WI,Marshall,43.163639,-89.075331
+53560,WI,Mazomanie,43.184746,-89.763616
+53561,WI,Merrimac,43.385527,-89.632254
+53562,WI,Middleton,43.105196,-89.507258
+53563,WI,Milton,42.779087,-88.953087
+53565,WI,Mineral Point,42.854696,-90.164556
+53566,WI,Monroe,42.599076,-89.6403
+53569,WI,Montfort,42.975745,-90.44473
+53570,WI,Monticello,42.741482,-89.608069
+53572,WI,Mount Horeb,43.002022,-89.741448
+53573,WI,Muscoda,43.207375,-90.456998
+53574,WI,New Glarus,42.814344,-89.643666
+53575,WI,Oregon,42.929485,-89.387002
+53576,WI,Orfordville,42.627766,-89.253292
+53577,WI,Plain,43.292693,-90.055825
+53578,WI,Prairie Du Sac,43.295631,-89.745233
+53579,WI,Reeseville,43.301278,-88.857117
+53580,WI,Rewey,42.859393,-90.380361
+53581,WI,Gillingham,43.362714,-90.391378
+53582,WI,Ridgeway,43.007654,-89.988946
+53583,WI,Sauk City,43.268558,-89.741777
+53585,WI,Sharon,42.519367,-88.726522
+53586,WI,Shullsburg,42.57856,-90.226619
+53587,WI,South Wayne,42.582199,-89.888844
+53588,WI,Spring Green,43.18835,-90.067608
+53589,WI,Stoughton,42.929007,-89.223989
+53590,WI,Sun Prairie,43.186901,-89.222662
+53593,WI,Verona,42.999913,-89.552247
+53594,WI,Waterloo,43.183171,-88.983835
+53597,WI,Waunakee,43.181828,-89.45317
+53598,WI,Windsor,43.214121,-89.341469
+53703,WI,Madison,43.077535,-89.383068
+53704,WI,Madison,43.120526,-89.352295
+53705,WI,Madison,43.072999,-89.452823
+53706,WI,Madison,43.076929,-89.409362
+53711,WI,Madison,43.035644,-89.452558
+53713,WI,Fitchburg,43.037381,-89.390008
+53714,WI,Madison,43.097735,-89.311758
+53715,WI,Madison,43.065287,-89.400045
+53716,WI,Monona,43.067413,-89.315921
+53717,WI,Madison,43.073587,-89.507984
+53718,WI,Madison,43.152143,-89.407339
+53719,WI,Madison,43.03207,-89.499324
+53801,WI,Bagley,42.920734,-91.068502
+53803,WI,Benton,42.534901,-90.338045
+53804,WI,Bloomington,42.872598,-90.909905
+53805,WI,Boscobel,43.139327,-90.706101
+53806,WI,Cassville,42.728791,-90.960751
+53807,WI,Cuba City,42.599073,-90.474907
+53809,WI,Fennimore,42.988558,-90.655009
+53810,WI,Glen Haven,42.820372,-91.000451
+53811,WI,Hazel Green,42.535913,-90.511782
+53813,WI,Lancaster,42.844469,-90.710906
+53816,WI,Mount Hope,42.968862,-90.86648
+53818,WI,Platteville,42.73932,-90.485406
+53820,WI,Potosi,42.6884,-90.700153
+53821,WI,Prairie Du Chien,43.042649,-91.119305
+53825,WI,Stitzer,42.92142,-90.607924
+53826,WI,Wauzeka,43.114264,-90.923885
+53827,WI,Woodman,43.057697,-90.824539
+53901,WI,Portage,43.550145,-89.47139
+53910,WI,Adams,43.896688,-89.821869
+53911,WI,Arlington,43.326868,-89.363082
+53913,WI,Baraboo,43.482531,-89.746168
+53916,WI,Beaver Dam,43.461574,-88.840681
+53919,WI,Brandon,43.72579,-88.784099
+53920,WI,Briggsville,43.675865,-89.580259
+53922,WI,Burnett,43.511609,-88.717606
+53923,WI,Cambria,43.57239,-89.115614
+53924,WI,Cazenovia,43.498715,-90.279572
+53925,WI,Columbus,43.331494,-89.027089
+53926,WI,Dalton,43.67178,-89.191768
+53929,WI,Elroy,43.751616,-90.288857
+53930,WI,Endeavor,43.696305,-89.461699
+53932,WI,Fall River,43.400838,-89.062513
+53933,WI,Fox Lake,43.581507,-88.904081
+53934,WI,Friendship,43.989629,-89.814875
+53936,WI,Grand Marsh,43.856789,-89.655663
+53937,WI,Hillpoint,43.395129,-90.158792
+53939,WI,Kingston,43.69236,-89.131997
+53941,WI,La Valle,43.569874,-90.127966
+53943,WI,Loganville,43.405046,-90.033688
+53944,WI,Lyndon Station,43.689875,-89.891543
+53946,WI,Markesan,43.714015,-89.006971
+53947,WI,Marquette,43.745886,-89.139654
+53948,WI,Mauston,43.793383,-90.064085
+53949,WI,Montello,43.768984,-89.358641
+53950,WI,New Lisbon,43.88775,-90.152407
+53951,WI,North Freedom,43.410562,-89.849019
+53952,WI,Oxford,43.779914,-89.563175
+53954,WI,Pardeeville,43.533975,-89.326514
+53955,WI,Poynette,43.401342,-89.418857
+53956,WI,Randolph,43.539696,-89.002992
+53959,WI,Reedsburg,43.531581,-89.995948
+53960,WI,Rio,43.423053,-89.235362
+53961,WI,Rock Springs,43.468098,-89.921834
+53963,WI,Waupun,43.632441,-88.737253
+53964,WI,Westfield,43.896788,-89.502015
+53965,WI,Wisconsin Dells,43.650789,-89.76652
+53968,WI,Wonewoc,43.62848,-90.239357
+54001,WI,Deronda,45.325238,-92.361527
+54002,WI,Baldwin,44.9657,-92.365498
+54003,WI,Beldenville,44.7721,-92.437202
+54004,WI,Clayton,45.306297,-92.139462
+54005,WI,Clear Lake,45.236481,-92.27488
+54006,WI,Cushing,45.560359,-92.624136
+54007,WI,Deer Park,45.169046,-92.358464
+54009,WI,Dresser,45.354585,-92.5623
+54011,WI,Ellsworth,44.730191,-92.489038
+54012,WI,Emerald,45.078578,-92.312786
+54013,WI,Glenwood City,45.062339,-92.181588
+54014,WI,Hager City,44.626969,-92.550146
+54015,WI,Hammond,44.967004,-92.447215
+54016,WI,Hudson,44.984187,-92.727062
+54017,WI,New Richmond,45.159819,-92.551333
+54020,WI,Osceola,45.321757,-92.697108
+54021,WI,Prescott,44.747648,-92.753528
+54022,WI,River Falls,44.85501,-92.631275
+54023,WI,Roberts,44.987356,-92.559773
+54024,WI,Saint Croix Fall,45.413215,-92.638371
+54025,WI,Somerset,45.133064,-92.686466
+54026,WI,Star Prairie,45.2013,-92.551353
+54027,WI,Wilson,44.94658,-92.196538
+54028,WI,Woodville,44.940806,-92.284803
+54082,WI,Saint Joseph,45.070123,-92.760803
+54101,WI,Abrams,44.78693,-88.057101
+54102,WI,Amberg,45.498878,-87.964256
+54103,WI,Armstrong Creek,45.67261,-88.490847
+54104,WI,Athelstane,45.422819,-88.175282
+54106,WI,Center Valley,44.485595,-88.444776
+54107,WI,Navarino,44.73794,-88.439026
+54110,WI,Brillion,44.17792,-88.083337
+54111,WI,Cecil,44.811027,-88.418253
+54112,WI,Coleman,45.072157,-88.058667
+54113,WI,Combined Locks,44.266581,-88.313271
+54114,WI,Beaver,45.254053,-88.061265
+54115,WI,De Pere,44.438779,-88.080613
+54119,WI,Dunbar,45.600944,-88.106669
+54120,WI,Fence,45.759652,-88.364873
+54121,WI,Florence,45.902724,-88.228921
+54123,WI,Forest Junction,44.20613,-88.151716
+54124,WI,Gillett,44.901753,-88.324221
+54125,WI,Goodman,45.646895,-88.362901
+54126,WI,Greenleaf,44.29373,-88.027519
+54128,WI,Gresham,44.852963,-88.78873
+54129,WI,Hilbert,44.127129,-88.206961
+54130,WI,Kaukauna,44.29561,-88.271692
+54135,WI,Keshena,44.914635,-88.635686
+54136,WI,Kimberly,44.27008,-88.338374
+54137,WI,Krakow,44.763457,-88.25933
+54138,WI,Lakewood,45.316285,-88.503189
+54139,WI,Stiles,44.940494,-88.054308
+54140,WI,Little Chute,44.284248,-88.311989
+54141,WI,Little Suamico,44.67751,-88.027245
+54143,WI,Marinette,45.087403,-87.669684
+54149,WI,Mountain,45.199127,-88.45828
+54150,WI,Neopit,44.987323,-88.861116
+54151,WI,Niagara,45.765343,-88.030927
+54153,WI,Oconto,44.891359,-87.891728
+54154,WI,Oconto Falls,44.875499,-88.155528
+54155,WI,Oneida,44.516641,-88.185851
+54156,WI,Pembine,45.607398,-87.970363
+54157,WI,Peshtigo,45.045778,-87.729795
+54159,WI,Porterfield,45.193399,-87.806243
+54161,WI,Pound,45.127317,-88.139621
+54162,WI,Pulaski,44.66112,-88.263447
+54165,WI,Seymour,44.509096,-88.317243
+54166,WI,Shawano,44.785133,-88.603599
+54170,WI,Shiocton,44.497202,-88.556236
+54171,WI,Sobieski,44.710495,-88.107605
+54174,WI,Suring,45.018551,-88.362767
+54175,WI,Townsend,45.314819,-88.610743
+54176,WI,Underhill,44.731836,-88.168898
+54177,WI,Wausaukee,45.349507,-87.909877
+54180,WI,Wrightstown,44.338377,-88.121769
+54201,WI,Algoma,44.610051,-87.457792
+54202,WI,Baileys Harbor,45.056549,-87.167626
+54204,WI,Brussels,44.747558,-87.62252
+54205,WI,Casco,44.58328,-87.623122
+54206,WI,Cato,44.148521,-87.864688
+54208,WI,Denmark,44.359392,-87.827036
+54209,WI,Egg Harbor,45.010039,-87.280521
+54210,WI,Ellison Bay,45.257206,-87.051209
+54212,WI,Fish Creek,45.11554,-87.206432
+54213,WI,Forestville,44.696863,-87.492832
+54214,WI,Francis Creek,44.199964,-87.720007
+54215,WI,Kellnersville,44.22493,-87.803596
+54216,WI,Kewaunee,44.440143,-87.559442
+54217,WI,Luxemburg,44.550612,-87.715606
+54220,WI,Manitowoc,44.097122,-87.682303
+54227,WI,Maribel,44.285151,-87.805482
+54228,WI,Mishicot,44.260942,-87.644703
+54229,WI,New Franken,44.559193,-87.823482
+54230,WI,Reedsville,44.157566,-87.966028
+54232,WI,Saint Nazianz,44.006425,-87.922906
+54234,WI,Sister Bay,45.187544,-87.113865
+54235,WI,Sturgeon Bay,44.84384,-87.375311
+54241,WI,Two Rivers,44.166008,-87.585504
+54245,WI,Valders,44.041977,-87.881183
+54246,WI,Washington Islan,45.374042,-86.913664
+54247,WI,Whitelaw,44.157269,-87.826698
+54301,WI,Allouez,44.485313,-88.016868
+54302,WI,Green Bay,44.502508,-87.977136
+54303,WI,Howard,44.530146,-88.045262
+54304,WI,Ashwaubenon,44.505525,-88.066799
+54311,WI,Green Bay,44.491405,-87.926685
+54313,WI,Green Bay,44.546289,-88.102054
+54401,WI,Wausau,44.963433,-89.633955
+54405,WI,Abbotsford,44.964057,-90.299438
+54406,WI,Amherst,44.423052,-89.303482
+54407,WI,Amherst Junction,44.506458,-89.303754
+54408,WI,Aniwa,45.01039,-89.268254
+54409,WI,Antigo,45.131362,-89.141871
+54410,WI,Arpin,44.54194,-90.037049
+54411,WI,Hamburg,45.032037,-90.062612
+54412,WI,Auburndale,44.637836,-90.013577
+54413,WI,Babcock,44.303064,-90.098574
+54414,WI,Birnamwood,44.926896,-89.212433
+54416,WI,Bowler,44.933667,-88.976071
+54418,WI,Bryant,45.202962,-88.998325
+54419,WI,Chelsea,45.288166,-90.303685
+54420,WI,Chili,44.630135,-90.359952
+54421,WI,Colby,44.911651,-90.314432
+54422,WI,Curtiss,44.960186,-90.459223
+54423,WI,Custer,44.56622,-89.415275
+54424,WI,Deerbrook,45.236791,-89.187257
+54425,WI,Dorchester,45.004192,-90.359648
+54426,WI,Fenwood,44.903831,-89.998029
+54427,WI,Eland,44.830888,-89.246117
+54428,WI,Elcho,45.440906,-89.15157
+54430,WI,Elton,45.156216,-88.883743
+54433,WI,Gilman,45.18906,-90.825672
+54435,WI,Gleason,45.338428,-89.475264
+54436,WI,Granton,44.560558,-90.448383
+54437,WI,Greenwood,44.740373,-90.622913
+54440,WI,Hatley,44.825638,-89.377728
+54441,WI,Hewitt,44.643651,-90.103054
+54442,WI,Irma,45.348483,-89.661138
+54443,WI,Junction City,44.59634,-89.743758
+54445,WI,Lily,45.318723,-88.838451
+54446,WI,Loyal,44.727243,-90.492238
+54447,WI,Lublin,45.073933,-90.733678
+54448,WI,Marathon,44.965664,-89.829948
+54449,WI,Marshfield,44.661453,-90.17845
+54451,WI,Medford,45.151185,-90.350306
+54452,WI,Merrill,45.180924,-89.690696
+54454,WI,Milladore,44.604416,-89.887532
+54455,WI,Mosinee,44.799736,-89.684491
+54456,WI,Neillsville,44.549429,-90.611197
+54457,WI,Nekoosa,44.281979,-89.881394
+54459,WI,Ogema,45.439187,-90.256513
+54460,WI,Owen,44.957817,-90.5469
+54462,WI,Pearson,45.388119,-89.075824
+54463,WI,Pelican Lake,45.504886,-89.181707
+54465,WI,Pickerel,45.356658,-88.91365
+54466,WI,Pittsville,44.43747,-90.189174
+54467,WI,Plover,44.450673,-89.542805
+54469,WI,Port Edwards,44.349705,-89.865246
+54470,WI,Rib Lake,45.298376,-90.176322
+54471,WI,Ringle,44.92383,-89.432845
+54473,WI,Rosholt,44.662224,-89.335637
+54474,WI,Rothschild,44.88429,-89.619262
+54475,WI,Rudolph,44.474061,-89.800252
+54476,WI,Schofield,44.906407,-89.581789
+54479,WI,Spencer,44.739148,-90.311406
+54480,WI,Stetsonville,45.07923,-90.282931
+54481,WI,Stevens Point,44.521221,-89.558764
+54484,WI,Stratford,44.789878,-90.058317
+54485,WI,Summit Lake,45.320414,-89.180743
+54486,WI,Tigerton,44.729938,-89.056893
+54487,WI,Tomahawk,45.496308,-89.727269
+54488,WI,Unity,44.822676,-90.322074
+54489,WI,Vesper,44.467656,-89.982553
+54490,WI,Westboro,45.344539,-90.307194
+54491,WI,White Lake,45.171465,-88.755489
+54493,WI,Willard,44.727378,-90.749897
+54494,WI,Wisconsin Rapids,44.375803,-89.806229
+54498,WI,Withee,44.975726,-90.604862
+54499,WI,Wittenberg,44.823247,-89.166479
+54501,WI,Monico,45.646718,-89.409285
+54511,WI,Cavour,45.658309,-88.888566
+54512,WI,Boulder Junction,46.111183,-89.632454
+54513,WI,Brantwood,45.551413,-90.115952
+54514,WI,Butternut,46.018358,-90.482114
+54515,WI,Catawba,45.508123,-90.514564
+54517,WI,Clam Lake,46.245675,-90.884107
+54519,WI,Conover,46.043968,-89.238919
+54520,WI,Crandon,45.541553,-88.911619
+54521,WI,Eagle River,45.916084,-89.253058
+54524,WI,Fifield,45.862148,-90.4246
+54526,WI,Ingram,45.488807,-90.855183
+54527,WI,Glidden,46.133668,-90.588856
+54529,WI,Harshaw,45.676244,-89.650346
+54530,WI,Hawkins,45.524129,-90.711373
+54531,WI,Hazelhurst,45.77446,-89.747836
+54534,WI,Hurley,46.44482,-90.1975
+54536,WI,Iron Belt,46.395545,-90.324528
+54537,WI,Kennan,45.53497,-90.590987
+54538,WI,Lac Du Flambeau,45.97175,-89.890078
+54539,WI,Lake Tomahawk,45.803455,-89.585609
+54540,WI,Land O Lakes,46.156305,-89.321787
+54541,WI,Laona,45.553416,-88.671525
+54542,WI,Alvin,45.921841,-88.695308
+54545,WI,Manitowish Water,46.123909,-89.830767
+54546,WI,Mellen,46.300659,-90.655233
+54547,WI,Mercer,46.169594,-90.067914
+54548,WI,Minocqua,45.871909,-89.757954
+54550,WI,Pence,46.425736,-90.244195
+54552,WI,Park Falls,45.936345,-90.424648
+54554,WI,Phelps,46.064481,-89.081547
+54555,WI,Phillips,45.697463,-90.404131
+54556,WI,Prentice,45.548201,-90.294217
+54557,WI,Winchester,46.221735,-89.772795
+54558,WI,Saint Germain,45.918315,-89.486556
+54559,WI,Saxon,46.495855,-90.438273
+54560,WI,Sayner,45.986664,-89.519437
+54562,WI,Three Lakes,45.804633,-89.132792
+54563,WI,Tony,45.474082,-90.986938
+54564,WI,Tripoli,45.581387,-89.985218
+54565,WI,Upson,46.376124,-90.405135
+54566,WI,Wabeno,45.433172,-88.662456
+54568,WI,Woodruff,45.918583,-89.69545
+54601,WI,La Crosse,43.798938,-91.217494
+54603,WI,La Crosse,43.848675,-91.248439
+54610,WI,Alma,44.429437,-91.807931
+54611,WI,Alma Center,44.445218,-90.935602
+54612,WI,Arcadia,44.253937,-91.480453
+54613,WI,Arkdale,44.052886,-89.896215
+54614,WI,Bangor,43.868697,-90.980888
+54615,WI,Black River Fall,44.292101,-90.847952
+54616,WI,Blair,44.296843,-91.223501
+54617,WI,Bloom City,43.509034,-90.666458
+54618,WI,Cutler,43.936705,-90.268861
+54619,WI,Cashton,43.745649,-90.761197
+54621,WI,Chaseburg,43.679372,-91.079934
+54622,WI,Waumandee,44.251591,-91.858677
+54623,WI,Coon Valley,43.721783,-91.014338
+54624,WI,Victory,43.494707,-91.193015
+54625,WI,Dodge,44.12886,-91.524341
+54626,WI,Eastman,43.19592,-91.01927
+54627,WI,Ettrick,44.172428,-91.263546
+54628,WI,Ferryville,43.395857,-91.044578
+54629,WI,Fountain City,44.136436,-91.677861
+54630,WI,Galesville,44.088848,-91.358789
+54631,WI,Gays Mills,43.293639,-90.867636
+54632,WI,Genoa,43.605134,-91.134999
+54634,WI,Yuba,43.635009,-90.370595
+54635,WI,Northfield,44.397778,-91.039086
+54636,WI,Holmen,43.976125,-91.2497
+54638,WI,Kendall,43.81614,-90.410691
+54639,WI,West Lima,43.616955,-90.648257
+54641,WI,Mather,44.147706,-90.295264
+54642,WI,Melrose,44.138156,-91.044463
+54644,WI,Mindoro,44.02873,-91.064181
+54646,WI,Necedah,44.034481,-90.059976
+54648,WI,Norwalk,43.812823,-90.680134
+54650,WI,Onalaska,43.897392,-91.231419
+54651,WI,Ontario,43.717197,-90.620534
+54652,WI,Readstown,43.450791,-90.757872
+54653,WI,Rockland,43.938159,-90.948846
+54655,WI,Soldiers Grove,43.391857,-90.766293
+54656,WI,Sparta,43.954045,-90.814566
+54657,WI,Steuben,43.195464,-90.860878
+54658,WI,Stoddard,43.691227,-91.19188
+54659,WI,Taylor,44.289855,-91.112752
+54660,WI,Wyeville,43.994833,-90.491704
+54661,WI,Trempealeau,44.021843,-91.4282
+54664,WI,Viola,43.504758,-90.655416
+54665,WI,Viroqua,43.54419,-90.893865
+54666,WI,Warrens,44.15697,-90.496692
+54667,WI,Westby,43.663123,-90.87403
+54669,WI,West Salem,43.906253,-91.089311
+54670,WI,Wilton,43.832209,-90.516185
+54701,WI,Eau Claire,44.783972,-91.487686
+54703,WI,Eau Claire,44.827122,-91.499701
+54720,WI,Altoona,44.802142,-91.43825
+54721,WI,Arkansaw,44.626659,-92.056646
+54722,WI,Augusta,44.694737,-91.123154
+54723,WI,Bay City,44.6166,-92.446889
+54724,WI,Bloomer,45.102477,-91.489974
+54725,WI,Boyceville,45.064238,-92.024803
+54726,WI,Boyd,44.943737,-91.029355
+54727,WI,Cadott,44.963014,-91.169884
+54728,WI,Chetek,45.317046,-91.654154
+54729,WI,Chippewa Falls,44.932202,-91.384376
+54730,WI,Colfax,44.999326,-91.735737
+54731,WI,Conrath,45.353281,-91.062132
+54732,WI,Cornell,45.16191,-91.173252
+54733,WI,Dallas,45.254883,-91.836844
+54734,WI,Downing,45.103032,-92.113384
+54736,WI,Durand,44.630042,-91.929476
+54737,WI,Eau Galle,44.721433,-92.040816
+54738,WI,Eleva,44.598493,-91.48037
+54739,WI,Elk Mound,44.866973,-91.675229
+54740,WI,Elmwood,44.756088,-92.202195
+54741,WI,Fairchild,44.596253,-90.990568
+54742,WI,Fall Creek,44.768385,-91.285631
+54744,WI,Hillsdale,45.32136,-91.859857
+54745,WI,Holcombe,45.251263,-91.132955
+54746,WI,Humbird,44.536676,-90.888257
+54747,WI,Independence,44.395926,-91.453511
+54748,WI,Jim Falls,45.064439,-91.264909
+54749,WI,Knapp,44.954495,-92.075201
+54750,WI,Maiden Rock,44.608599,-92.278212
+54751,WI,Menomonie,44.87182,-91.92651
+54754,WI,Merrillan,44.436938,-90.810496
+54755,WI,Modena,44.609853,-91.669576
+54756,WI,Nelson,44.42947,-92.000742
+54757,WI,New Auburn,45.23562,-91.519747
+54758,WI,Osseo,44.559923,-91.219148
+54759,WI,Pepin,44.458687,-92.139353
+54761,WI,Plum City,44.635979,-92.183725
+54762,WI,Prairie Farm,45.246183,-91.974205
+54763,WI,Ridgeland,45.186773,-91.879024
+54765,WI,Sand Creek,45.170513,-91.701446
+54766,WI,Sheldon,45.318171,-90.914148
+54767,WI,Spring Valley,44.835569,-92.290599
+54768,WI,Stanley,44.968872,-90.938935
+54769,WI,Stockholm,44.500441,-92.228429
+54770,WI,Strum,44.567356,-91.383271
+54771,WI,Thorp,44.957319,-90.802861
+54772,WI,Wheeler,45.071856,-91.887055
+54773,WI,Whitehall,44.382683,-91.302953
+54801,WI,Spooner,45.850468,-91.91555
+54805,WI,Almena,45.419507,-92.002691
+54806,WI,Moquah,46.577948,-90.876712
+54810,WI,Balsam Lake,45.458845,-92.414954
+54812,WI,Barron,45.400535,-91.84996
+54813,WI,Barronett,45.618995,-92.019595
+54814,WI,Bayfield,46.835359,-90.821681
+54817,WI,Birchwood,45.640296,-91.577564
+54819,WI,Bruce,45.447923,-91.290622
+54820,WI,Brule,46.576318,-91.553862
+54821,WI,Cable,46.217155,-91.224438
+54822,WI,Cameron,45.403836,-91.730992
+54824,WI,Centuria,45.448369,-92.547741
+54826,WI,Comstock,45.491114,-92.085961
+54827,WI,Cornucopia,46.837171,-91.097421
+54828,WI,New Post,45.809664,-91.327825
+54829,WI,Cumberland,45.5403,-92.029709
+54830,WI,Dairyland,46.029681,-92.265995
+54832,WI,Drummond,46.311896,-91.285569
+54835,WI,Exeland,45.675298,-91.223819
+54836,WI,Foxboro,46.487511,-92.149254
+54837,WI,Clam Falls,45.665314,-92.426482
+54838,WI,Gordon,46.233603,-91.803301
+54839,WI,Grand View,46.357682,-91.107465
+54840,WI,Evergreen,45.761312,-92.662685
+54843,WI,North Woods Beac,46.001404,-91.397659
+54844,WI,Herbster,46.82128,-91.233193
+54845,WI,Hertel,45.807561,-92.140419
+54846,WI,High Bridge,46.379613,-90.73826
+54847,WI,Iron River,46.578984,-91.421056
+54848,WI,Ladysmith,45.471941,-91.108804
+54849,WI,Lake Nebagamon,46.502347,-91.740243
+54850,WI,La Pointe,46.846675,-90.603622
+54853,WI,Luck,45.556799,-92.416391
+54854,WI,Maple,46.620591,-91.702015
+54855,WI,Marengo,46.407112,-90.839991
+54856,WI,Delta,46.457285,-91.057511
+54858,WI,Milltown,45.527082,-92.501739
+54859,WI,Minong,46.10445,-91.850628
+54862,WI,Ojibwa,45.785351,-91.110922
+54864,WI,Poplar,46.57708,-91.825345
+54865,WI,Port Wing,46.76204,-91.392016
+54867,WI,Radisson,45.773359,-91.22615
+54868,WI,Canton,45.510466,-91.733544
+54870,WI,Sarona,45.708532,-91.762103
+54871,WI,Shell Lake,45.753598,-91.960606
+54872,WI,Siren,45.78214,-92.389151
+54873,WI,Barnes,46.388821,-91.770154
+54874,WI,Wentworth,46.588659,-91.945805
+54875,WI,Earl,45.960384,-91.677734
+54876,WI,Stone Lake,45.833733,-91.509291
+54880,WI,Superior,46.701552,-92.091174
+54888,WI,Trego,45.951556,-91.858051
+54889,WI,Turtle Lake,45.421349,-92.178142
+54891,WI,Washburn,46.680595,-90.909516
+54893,WI,Webster,45.874001,-92.322722
+54895,WI,Weyerhaeuser,45.426347,-91.428944
+54896,WI,Loretta,45.841419,-90.949591
+54901,WI,Oshkosh,44.021962,-88.543635
+54904,WI,Oshkosh,44.030356,-88.607015
+54909,WI,Almond,44.289832,-89.358364
+54911,WI,Appleton,44.277325,-88.397649
+54914,WI,Appleton,44.270992,-88.432608
+54915,WI,Appleton,44.26351,-88.399902
+54921,WI,Bancroft,44.30648,-89.530438
+54922,WI,Bear Creek,44.5348,-88.740375
+54923,WI,Berlin,43.976936,-88.949009
+54928,WI,Caroline,44.727574,-88.888749
+54929,WI,Clintonville,44.636442,-88.742999
+54930,WI,Coloma,44.027462,-89.494332
+54932,WI,Eldorado,43.841471,-88.638827
+54935,WI,Taycheedah,43.770446,-88.429149
+54937,WI,North Fond Du La,43.792633,-88.481264
+54940,WI,Fremont,44.237884,-88.844852
+54941,WI,Green Lake,43.844383,-88.96847
+54942,WI,Greenville,44.299747,-88.569579
+54943,WI,Hancock,44.129743,-89.534448
+54944,WI,Hortonville,44.327306,-88.62813
+54945,WI,Iola,44.532183,-89.137311
+54946,WI,King,44.267332,-89.113739
+54947,WI,Larsen,44.198421,-88.696305
+54948,WI,Leopolis,44.781188,-88.872223
+54949,WI,Manawa,44.470148,-88.916444
+54950,WI,Marion,44.679414,-88.876706
+54952,WI,Menasha,44.211164,-88.417536
+54956,WI,Neenah,44.181094,-88.479201
+54960,WI,Neshkoro,43.898943,-89.233572
+54961,WI,New London,44.392847,-88.755428
+54962,WI,Ogdensburg,44.467803,-89.011851
+54963,WI,Omro,44.035678,-88.751933
+54964,WI,Pickett,43.900917,-88.713457
+54965,WI,Pine River,44.160393,-89.040415
+54966,WI,Plainfield,44.209079,-89.455896
+54967,WI,Poy Sippi,44.110069,-88.926835
+54968,WI,Princeton,43.843827,-89.124913
+54970,WI,Redgranite,44.04381,-89.098125
+54971,WI,Ripon,43.845402,-88.842433
+54974,WI,Rosendale,43.788903,-88.641704
+54977,WI,Scandinavia,44.460436,-89.165042
+54978,WI,Tilleda,44.811812,-88.907498
+54979,WI,Van Dyne,43.873399,-88.510008
+54981,WI,Waupaca,44.348101,-89.110143
+54982,WI,Wautoma,44.065576,-89.266551
+54983,WI,Weyauwega,44.320973,-88.941047
+54984,WI,Wild Rose,44.183433,-89.195252
+54986,WI,Winneconne,44.118704,-88.721384
+82001,WY,Cheyenne,41.143719,-104.796234
+82007,WY,Cheyenne,41.108433,-104.810745
+82009,WY,Cheyenne,41.183566,-104.802328
+82050,WY,Albin,41.434237,-104.150542
+82051,WY,Laramie,41.562721,-105.819708
+82052,WY,Buford,41.142115,-105.469697
+82053,WY,Burns,41.200297,-104.315521
+82054,WY,Carpenter,41.042819,-104.276514
+82055,WY,Centennial,41.339149,-105.99451
+82057,WY,82057,41.070928,-106.164358
+82058,WY,Garrett,42.142015,-105.550534
+82063,WY,Jelm,41.145723,-105.925727
+82070,WY,Laramie,41.312907,-105.581146
+82080,WY,Mc Fadden,41.6327,-106.137861
+82081,WY,Meriden,41.54236,-104.286606
+82082,WY,Pine Bluffs,41.178799,-104.066591
+82083,WY,Rock River,41.746073,-105.974629
+82084,WY,Tie Siding,41.052785,-105.446222
+82190,WY,Fishing Bridge,44.853913,-110.674366
+82201,WY,Wheatland,42.049467,-104.967852
+82210,WY,Chugwater,41.748668,-104.817916
+82212,WY,Fort Laramie,42.213314,-104.522595
+82213,WY,Glendo,42.500352,-105.000013
+82214,WY,Guernsey,42.265513,-104.751164
+82215,WY,Hartville,42.33339,-104.729564
+82217,WY,Hawk Springs,41.741481,-104.329498
+82219,WY,Jay Em,42.357399,-104.311437
+82220,WY,Keeline,42.839062,-104.720277
+82221,WY,Lagrange,41.642311,-104.19738
+82222,WY,Lance Creek,43.231636,-104.544958
+82223,WY,Lingle,42.134624,-104.331992
+82224,WY,Lost Springs,42.729835,-104.920901
+82225,WY,Lusk,42.765953,-104.465076
+82229,WY,Shawnee,42.839464,-105.032447
+82240,WY,Torrington,42.062377,-104.191662
+82242,WY,Van Tassell,42.830004,-104.315073
+82243,WY,Veteran,41.982091,-104.370899
+82244,WY,Yoder,41.912018,-104.353507
+82301,WY,Rawlins,41.795131,-107.234883
+82310,WY,Jeffrey City,42.540201,-107.872422
+82321,WY,Baggs,41.031191,-107.668733
+82322,WY,Bairoil,42.232721,-107.563288
+82323,WY,Dixon,41.044631,-107.560354
+82325,WY,Encampment,41.205353,-106.780285
+82327,WY,Hanna,41.87264,-106.528283
+82329,WY,Medicine Bow,41.903002,-106.201228
+82331,WY,Ryan Park,41.446293,-106.797538
+82332,WY,Savery,41.039485,-107.42338
+82334,WY,Sinclair,41.779741,-107.109083
+82336,WY,Wamsutter,41.658278,-108.151674
+82401,WY,Worland,44.013796,-107.95626
+82410,WY,Basin,44.378765,-108.043787
+82411,WY,Burlington,44.444218,-108.432669
+82414,WY,Cody,44.523135,-109.075611
+82421,WY,Deaver,44.925695,-108.597948
+82426,WY,Greybull,44.491881,-108.079503
+82428,WY,Hyattville,44.250693,-107.605318
+82431,WY,Lovell,44.833637,-108.414107
+82432,WY,Manderson,44.311931,-107.953423
+82433,WY,Meeteetse,44.196202,-108.950045
+82434,WY,Otto,44.405644,-108.304673
+82435,WY,Powell,44.756077,-108.777322
+82441,WY,Shell,44.563649,-107.824333
+82442,WY,Ten Sleep,43.997848,-107.415305
+82443,WY,Grass Creek,43.662152,-108.231297
+82450,WY,Wapiti,44.47967,-109.432629
+82501,WY,Gas Hills,43.045786,-108.411335
+82510,WY,Arapahoe,42.967936,-108.494134
+82512,WY,Crowheart,43.371569,-109.296043
+82513,WY,Dubois,43.545136,-109.649175
+82514,WY,Fort Washakie,43.004761,-108.896445
+82516,WY,Kinnear,43.131777,-108.615428
+82520,WY,Ethete,42.859678,-108.738288
+82523,WY,Pavillion,43.198515,-108.604394
+82601,WY,Casper,42.845763,-106.316571
+82604,WY,Casper,42.826073,-106.389634
+82609,WY,Casper,42.840629,-106.280649
+82620,WY,Alcova,42.568383,-106.610199
+82630,WY,Arminto,43.120883,-107.343611
+82633,WY,Douglas,42.762558,-105.385484
+82636,WY,Evansville,42.861384,-106.263886
+82637,WY,Glenrock,42.867495,-105.857911
+82639,WY,Kaycee,43.723625,-106.56323
+82642,WY,Lysite,43.328417,-107.648781
+82643,WY,Midwest,43.410829,-106.266818
+82649,WY,Shoshoni,43.245707,-108.100667
+82701,WY,Newcastle,43.851098,-104.226205
+82710,WY,Aladdin,44.747331,-104.19314
+82712,WY,Beulah,44.573575,-104.153095
+82714,WY,Devils Tower,44.617067,-104.793638
+82715,WY,Four Corners,44.100747,-104.122897
+82716,WY,Gillette,44.282009,-105.497442
+82720,WY,Hulett,44.735222,-104.617367
+82721,WY,Pine Haven,44.299932,-104.905904
+82723,WY,Osage,43.998982,-104.4226
+82724,WY,Oshoto,44.583023,-104.937659
+82725,WY,Recluse,44.786149,-105.776005
+82727,WY,Rozet,44.305825,-105.245875
+82729,WY,Sundance,44.405755,-104.383696
+82730,WY,Upton,44.089271,-104.635159
+82731,WY,Gillette,44.835689,-105.373236
+82732,WY,Wright,43.829349,-105.532327
+82801,WY,Sheridan,44.78486,-106.964795
+82831,WY,Arvada,44.689876,-106.109191
+82832,WY,Banner,44.590804,-106.87331
+82834,WY,Buffalo,44.34847,-106.70726
+82835,WY,Clearmont,44.66101,-106.458071
+82836,WY,Dayton,44.877958,-107.302605
+82838,WY,Parkman,44.964965,-107.325393
+82839,WY,Acme,44.904789,-107.159833
+82842,WY,Story,44.607169,-107.049229
+82844,WY,Ranchester,44.768228,-107.303429
+82901,WY,Rock Springs,41.605957,-109.230047
+82922,WY,Bondurant,43.223798,-110.335287
+82923,WY,Boulder,42.688146,-109.540105
+82925,WY,Cora,43.139921,-109.915351
+82930,WY,Evanston,41.260947,-110.963067
+82933,WY,Fort Bridger,41.28282,-110.347428
+82935,WY,Green River,41.51959,-109.471445
+82936,WY,Lonetree,41.049144,-110.172862
+82937,WY,Lyman,41.329136,-110.292629
+82938,WY,Mc Kinnon,41.040898,-109.874536
+82941,WY,Pinedale,42.854331,-109.856088
+83001,WY,Colter Bay,43.460734,-110.766277
+83011,WY,Kelly,43.609361,-110.544186
+83012,WY,Moose,43.771201,-110.857493
+83013,WY,Moran,43.881635,-110.329429
+83014,WY,Wilson,43.49922,-110.874199
+83101,WY,Kemmerer,41.788661,-110.52834
+83110,WY,Afton,42.712829,-110.941976
+83111,WY,Auburn,42.805114,-110.994415
+83112,WY,Bedford,42.932336,-110.95556
+83113,WY,Marbleton,42.552059,-110.132954
+83114,WY,Cokeville,42.057983,-110.916419
+83115,WY,Daniel,42.917629,-110.133624
+83118,WY,Etna,43.138606,-111.015996
+83120,WY,Freedom,43.017167,-111.029178
+83122,WY,Grover,42.796472,-110.924392
+83123,WY,La Barge,42.24734,-110.210865
+83126,WY,Smoot,42.619238,-110.922351
+83127,WY,Thayne,42.933026,-111.011354
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_04/Ex_12_04.pde b/content/gswp_2e/examples/12_Data/Ex_12_04/Ex_12_04.pde
new file mode 100644
index 000000000..37b3a7100
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_04/Ex_12_04.pde
@@ -0,0 +1,11 @@
+JSONObject film;
+
+void setup() {
+ film = loadJSONObject("film.json");
+ String title = film.getString("title");
+ String dir = film.getString("director");
+ int year = film.getInt("year");
+ float rating = film.getFloat("rating");
+ println(title + " by " + dir + ", " + year);
+ println("Rating: " + rating);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_04/data/film.json b/content/gswp_2e/examples/12_Data/Ex_12_04/data/film.json
new file mode 100644
index 000000000..3ca120aa0
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_04/data/film.json
@@ -0,0 +1,6 @@
+{
+ "title": "Alphaville",
+ "director": "Jean-Luc Godard",
+ "year": 1964,
+ "rating": 7.2
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_05/Ex_12_05.pde b/content/gswp_2e/examples/12_Data/Ex_12_05/Ex_12_05.pde
new file mode 100644
index 000000000..10c181f42
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_05/Ex_12_05.pde
@@ -0,0 +1,44 @@
+Film[] films;
+
+void setup() {
+ size(480, 120);
+ JSONArray filmArray = loadJSONArray("films.json");
+ films = new Film[filmArray.size()];
+ for (int i = 0; i < films.length; i++) {
+ JSONObject o = filmArray.getJSONObject(i);
+ films[i] = new Film(o);
+ }
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < films.length; i++) {
+ int x = i*32 + 32;
+ films[i].display(x, 105);
+ }
+}
+
+class Film {
+
+ String title;
+ String director;
+ int year;
+ float rating;
+
+ Film(JSONObject f) {
+ title = f.getString("title");
+ director = f.getString("director");
+ year = f.getInt("year");
+ rating = f.getFloat("rating");
+ }
+
+ void display(int x, int y) {
+ float ratingGray = map(rating, 6.5, 8.1, 102, 255);
+ pushMatrix();
+ translate(x, y);
+ rotate(-QUARTER_PI);
+ fill(ratingGray);
+ text(title, 0, 0);
+ popMatrix();
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_05/data/films.json b/content/gswp_2e/examples/12_Data/Ex_12_05/data/films.json
new file mode 100644
index 000000000..cef68246b
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_05/data/films.json
@@ -0,0 +1,74 @@
+[
+ {
+ "title": "Breathless",
+ "director": "Jean-Luc Godard",
+ "year": 1960,
+ "rating": 8.0
+ },
+ {
+ "title": "Le Petit Soldat",
+ "director": "Jean-Luc Godard",
+ "year": 1960,
+ "rating": 7.2
+ },
+ {
+ "title": "A Woman Is a Woman",
+ "director": "Jean-Luc Godard",
+ "year": 1961,
+ "rating": 7.7
+ },
+ {
+ "title": "My Life to Live",
+ "director": "Jean-Luc Godard",
+ "year": 1962,
+ "rating": 8.1
+ },
+ {
+ "title": "Les Carabiniers",
+ "director": "Jean-Luc Godard",
+ "year": 1963,
+ "rating": 7.0
+ },
+ {
+ "title": "Contempt",
+ "director": "Jean-Luc Godard",
+ "year": 1963,
+ "rating": 7.8
+ },
+ {
+ "title": "Band of Outsiders",
+ "director": "Jean-Luc Godard",
+ "year": 1964,
+ "rating": 7.9
+ },
+ {
+ "title": "A Married Woman",
+ "director": "Jean-Luc Godard",
+ "year": 1964,
+ "rating": 7.4
+ },
+ {
+ "title": "Alphaville",
+ "director": "Jean-Luc Godard",
+ "year": 1964,
+ "rating": 7.2
+ },
+ {
+ "title": "Pierrot le Fou",
+ "director": "Jean-Luc Godard",
+ "year": 1965,
+ "rating": 7.7
+ },
+ {
+ "title": "Masculin Féminin",
+ "director": "Jean-Luc Godard",
+ "year": 1966,
+ "rating": 7.7
+ },
+ {
+ "title": "Made in U.S.A.",
+ "director": "Jean-Luc Godard",
+ "year": 1966,
+ "rating": 6.5
+ }
+]
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_06/Ex_12_06.pde b/content/gswp_2e/examples/12_Data/Ex_12_06/Ex_12_06.pde
new file mode 100644
index 000000000..fa132a26b
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_06/Ex_12_06.pde
@@ -0,0 +1,13 @@
+void setup() {
+ float temp = getTemp("cincinnati.json");
+ println(temp);
+}
+
+float getTemp(String fileName) {
+ JSONObject weather = loadJSONObject(fileName);
+ JSONArray list = weather.getJSONArray("list");
+ JSONObject item = list.getJSONObject(0);
+ JSONObject main = item.getJSONObject("main");
+ float temperature = main.getFloat("temp");
+ return temperature;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_06/data/cincinnati.json b/content/gswp_2e/examples/12_Data/Ex_12_06/data/cincinnati.json
new file mode 100644
index 000000000..3c6afb3bd
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_06/data/cincinnati.json
@@ -0,0 +1 @@
+{"message":"accurate","cod":"200","count":1,"list":[{"id":4508722,"name":"Cincinnati","coord":{"lon":-84.456886,"lat":39.161999},"main":{"temp":34.16,"temp_min":34.16,"temp_max":34.16,"pressure":999.98,"sea_level":1028.34,"grnd_level":999.98,"humidity":77},"dt":1423501526,"wind":{"speed":9.48,"deg":354.002},"sys":{"country":"US"},"clouds":{"all":80},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}]}]}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_07/Ex_12_07.pde b/content/gswp_2e/examples/12_Data/Ex_12_07/Ex_12_07.pde
new file mode 100644
index 000000000..5b10ea015
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_07/Ex_12_07.pde
@@ -0,0 +1,12 @@
+
+JSONObject weather;
+
+void setup() {
+ float temp = getTemp("cincinnati.json");
+ println(temp);
+}
+
+float getTemp(String fileName) {
+ JSONObject weather = loadJSONObject(fileName);
+ return weather.getJSONArray("list").getJSONObject(0).getJSONObject("main").getFloat("temp");
+}
diff --git a/content/gswp_2e/examples/12_Data/Ex_12_07/data/cincinnati.json b/content/gswp_2e/examples/12_Data/Ex_12_07/data/cincinnati.json
new file mode 100644
index 000000000..3c6afb3bd
--- /dev/null
+++ b/content/gswp_2e/examples/12_Data/Ex_12_07/data/cincinnati.json
@@ -0,0 +1 @@
+{"message":"accurate","cod":"200","count":1,"list":[{"id":4508722,"name":"Cincinnati","coord":{"lon":-84.456886,"lat":39.161999},"main":{"temp":34.16,"temp_min":34.16,"temp_max":34.16,"pressure":999.98,"sea_level":1028.34,"grnd_level":999.98,"humidity":77},"dt":1423501526,"wind":{"speed":9.48,"deg":354.002},"sys":{"country":"US"},"clouds":{"all":80},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}]}]}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_01/Ex_13_01.pde b/content/gswp_2e/examples/13_Extend/Ex_13_01/Ex_13_01.pde
new file mode 100644
index 000000000..3a5b9934f
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_01/Ex_13_01.pde
@@ -0,0 +1,28 @@
+import processing.sound.*;
+
+SoundFile blip;
+int radius = 120;
+float x = 0;
+float speed = 1.0;
+int direction = 1;
+
+void setup() {
+ size(440, 440);
+ ellipseMode(RADIUS);
+ blip = new SoundFile(this, "blip.wav");
+ x = width/2; // Start in the center
+}
+
+void draw() {
+ background(0);
+ x += speed * direction;
+ if ((x > width-radius) || (x < radius)) {
+ direction = -direction; // Flip direction
+ blip.play();
+ }
+ if (direction == 1) {
+ arc(x, 220, radius, radius, 0.52, 5.76); // Face right
+ } else {
+ arc(x, 220, radius, radius, 3.67, 8.9); // Face left
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_01/data/blip.wav b/content/gswp_2e/examples/13_Extend/Ex_13_01/data/blip.wav
new file mode 100644
index 000000000..5a1677c4e
Binary files /dev/null and b/content/gswp_2e/examples/13_Extend/Ex_13_01/data/blip.wav differ
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_02/Ex_13_02.pde b/content/gswp_2e/examples/13_Extend/Ex_13_02/Ex_13_02.pde
new file mode 100644
index 000000000..36b6a5087
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_02/Ex_13_02.pde
@@ -0,0 +1,28 @@
+import processing.sound.*;
+
+AudioIn mic;
+Amplitude amp;
+
+void setup() {
+ size(440, 440);
+ background(0);
+ // Create an audio input and start it
+ mic = new AudioIn(this, 0);
+ mic.start();
+ // Create a new amplitude analyzer and patch into input
+ amp = new Amplitude(this);
+ amp.input(mic);
+}
+
+void draw() {
+ // Draw a background that fades to black
+ noStroke();
+ fill(26, 76, 102, 10);
+ rect(0, 0, width, height);
+ // The analyze() method returns values between 0 and 1,
+ // so map() is used to convert the values to larger numbers
+ float diameter = map(amp.analyze(), 0, 1, 10, width);
+ // Draw the circle based on the volume
+ fill(255);
+ ellipse(width/2, height/2, diameter, diameter);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_03/Ex_13_03.pde b/content/gswp_2e/examples/13_Extend/Ex_13_03/Ex_13_03.pde
new file mode 100644
index 000000000..a428ca01b
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_03/Ex_13_03.pde
@@ -0,0 +1,25 @@
+import processing.sound.*;
+
+SinOsc sine;
+float freq = 400;
+
+void setup() {
+ size(440, 440);
+ // Create and start the sine oscillator
+ sine = new SinOsc(this);
+ sine.play();
+}
+
+void draw() {
+ background(176, 204, 176);
+ // Map the mouseX value from 20Hz to 440Hz for frequency
+ float hertz = map(mouseX, 0, width, 20.0, 440.0);
+ sine.freq(hertz);
+ // Draw a wave to visualize the frequency of the sound
+ stroke(26, 76, 102);
+ for (int x = 0; x < width; x++) {
+ float angle = map(x, 0, width, 0, TWO_PI * hertz);
+ float sinValue = sin(angle) * 120;
+ line(x, 0, x, height/2 + sinValue);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_04/Ex_13_04.pde b/content/gswp_2e/examples/13_Extend/Ex_13_04/Ex_13_04.pde
new file mode 100644
index 000000000..34f581eea
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_04/Ex_13_04.pde
@@ -0,0 +1,19 @@
+PShape bot;
+float x = 0;
+
+void setup() {
+ size(720, 480);
+ bot = loadShape("robot1.svg");
+ frameRate(30);
+}
+
+void draw() {
+ background(0, 153, 204);
+ translate(x, 0);
+ shape(bot, 0, 80);
+ saveFrame("frames/SaveExample-####.tif");
+ x += 12;
+ if (frameCount > 60) {
+ exit();
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_04/data/robot1.svg b/content/gswp_2e/examples/13_Extend/Ex_13_04/data/robot1.svg
new file mode 100644
index 000000000..db2476b39
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_04/data/robot1.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_05/Ex_13_05.pde b/content/gswp_2e/examples/13_Extend/Ex_13_05/Ex_13_05.pde
new file mode 100644
index 000000000..11ed79e38
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_05/Ex_13_05.pde
@@ -0,0 +1,17 @@
+import processing.pdf.*;
+PShape bot;
+
+void setup() {
+ size(600, 800, PDF, "Ex-13-5.pdf");
+ bot = loadShape("robot1.svg");
+}
+
+void draw() {
+ background(0, 153, 204);
+ for (int i = 0; i < 100; i++) {
+ float rx = random(-bot.width, width);
+ float ry = random(-bot.height, height);
+ shape(bot, rx, ry);
+ }
+ exit();
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_05/data/robot1.svg b/content/gswp_2e/examples/13_Extend/Ex_13_05/data/robot1.svg
new file mode 100644
index 000000000..db2476b39
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_05/data/robot1.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_06/Ex_13_06.ino b/content/gswp_2e/examples/13_Extend/Ex_13_06/Ex_13_06.ino
new file mode 100644
index 000000000..ca75a0d07
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_06/Ex_13_06.ino
@@ -0,0 +1,14 @@
+// Note: This is code for an Arduino board, not Processing
+
+int sensorPin = 0; // Select input pin
+int val = 0;
+
+void setup() {
+ Serial.begin(9600); // Open serial port
+}
+
+void loop() {
+ val = analogRead(sensorPin) / 4; // Read value from sensor
+ Serial.write((byte)val); // Print variable to serial port
+ delay(100); // Wait 100 milliseconds
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_07/Ex_13_07.pde b/content/gswp_2e/examples/13_Extend/Ex_13_07/Ex_13_07.pde
new file mode 100644
index 000000000..57c410289
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_07/Ex_13_07.pde
@@ -0,0 +1,26 @@
+import processing.serial.*;
+
+Serial port; // Create object from Serial class
+float val; // Data received from the serial port
+
+void setup() {
+ size(440, 220);
+ // IMPORTANT NOTE:
+ // The first serial port retrieved by Serial.list()
+ // should be your Arduino. If not, uncomment the next
+ // line by deleting the // before it. Run the sketch
+ // again to see a list of serial ports. Then, change
+ // the 0 in between [ and ] to the number of the port
+ // that your Arduino is connected to.
+ //printArray(Serial.list());
+ String arduinoPort = Serial.list()[0];
+ port = new Serial(this, arduinoPort, 9600);
+}
+
+void draw() {
+ if (port.available() > 0) { // If data is available,
+ val = port.read(); // read it and store it in val
+ val = map(val, 0, 255, 0, height); // Convert the value
+ }
+ rect(40, val-10, 360, 20);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_08/Ex_13_08.pde b/content/gswp_2e/examples/13_Extend/Ex_13_08/Ex_13_08.pde
new file mode 100644
index 000000000..b73707c8e
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_08/Ex_13_08.pde
@@ -0,0 +1,34 @@
+import processing.serial.*;
+
+Serial port; // Create object from Serial class
+float val; // Data received from the serial port
+int x;
+float easing = 0.05;
+float easedVal;
+
+void setup() {
+ size(440, 440);
+ frameRate(30);
+ String arduinoPort = Serial.list()[0];
+ port = new Serial(this, arduinoPort, 9600);
+ background(0);
+}
+
+void draw() {
+ if ( port.available() > 0) { // If data is available,
+ val = port.read(); // read it and store it in val
+ val = map(val, 0, 255, 0, height/2); // Convert the values
+ }
+ float targetVal = val;
+ easedVal += (targetVal - easedVal) * easing;
+ stroke(0);
+ line(x, 0, x, height); // Black line
+ stroke(255);
+ line(x+1, 0, x+1, height); // White line
+ line(x, 220, x, val); // Raw value
+ line(x, 440, x, easedVal + 220); // Averaged value
+ x++;
+ if (x > width) {
+ x = 0;
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/13_Extend/Ex_13_09/Ex_13_09.pde b/content/gswp_2e/examples/13_Extend/Ex_13_09/Ex_13_09.pde
new file mode 100644
index 000000000..7db9d83de
--- /dev/null
+++ b/content/gswp_2e/examples/13_Extend/Ex_13_09/Ex_13_09.pde
@@ -0,0 +1,34 @@
+import processing.serial.*;
+
+Serial port; // Create object from Serial class
+float val; // Data received from the serial port
+float angle;
+float radius;
+
+void setup() {
+ size(440, 440);
+ frameRate(30);
+ strokeWeight(2);
+ String arduinoPort = Serial.list()[3];
+ port = new Serial(this, arduinoPort, 9600);
+ background(0);
+}
+
+void draw() {
+ if ( port.available() > 0) { // If data is available,
+ val = port.read(); // read it and store it in val
+ // Convert the values to set the radius
+ radius = map(val, 0, 255, 0, height * 0.45);
+ }
+ int middleX = width/2;
+ int middleY = height/2;
+ float x = middleX + cos(angle) * height/2;
+ float y = middleY + sin(angle) * height/2;
+ stroke(0);
+ line(middleX, middleY, x, y);
+ x = middleX + cos(angle) * radius;
+ y = middleY + sin(angle) * radius;
+ stroke(255);
+ line(middleX, middleY, x, y);
+ angle += 0.01;
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot01_Draw/Robot01_Draw.pde b/content/gswp_2e/examples/Robots/Robot01_Draw/Robot01_Draw.pde
new file mode 100644
index 000000000..790458555
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot01_Draw/Robot01_Draw.pde
@@ -0,0 +1,36 @@
+size(720, 480);
+strokeWeight(2);
+background(0, 153, 204); // Blue background
+ellipseMode(RADIUS);
+
+// Neck
+stroke(255); // Set stroke to white
+line(266, 257, 266, 162); // Left
+line(276, 257, 276, 162); // Middle
+line(286, 257, 286, 162); // Right
+
+// Antennae
+line(276, 155, 246, 112); // Small
+line(276, 155, 306, 56); // Tall
+line(276, 155, 342, 170); // Medium
+
+// Body
+noStroke(); // Disable stroke
+fill(255, 204, 0); // Set fill to orange
+ellipse(264, 377, 33, 33); // Antigravity orb
+fill(0); // Set fill to black
+rect(219, 257, 90, 120); // Main body
+fill(255, 204, 0); // Set fill to yellow
+rect(219, 274, 90, 6); // Yellow stripe
+
+// Head
+fill(0); // Set fill to black
+ellipse(276, 155, 45, 45); // Head
+fill(255); // Set fill to white
+ellipse(288, 150, 14, 14); // Large eye
+fill(0); // Set fill to black
+ellipse(288, 150, 3, 3); // Pupil
+fill(153, 204, 255); // Set fill to light blue
+ellipse(263, 148, 5, 5); // Small eye 1
+ellipse(296, 130, 4, 4); // Small eye 2
+ellipse(305, 162, 3, 3); // Small eye 3
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot02_Variables/Robot02_Variables.pde b/content/gswp_2e/examples/Robots/Robot02_Variables/Robot02_Variables.pde
new file mode 100644
index 000000000..641d41c45
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot02_Variables/Robot02_Variables.pde
@@ -0,0 +1,43 @@
+int x = 60; // X-coordinate
+int y = 390; // Y-coordinate
+int bodyHeight = 180; // Body Height
+int neckHeight = 40; // Neck Height
+int radius = 45;
+int ny = y - bodyHeight - neckHeight - radius; // Neck Y
+
+size(170, 480);
+strokeWeight(2);
+background(0, 153, 204);
+ellipseMode(RADIUS);
+
+// Neck
+stroke(255);
+line(x+2, y-bodyHeight, x+2, ny);
+line(x+12, y-bodyHeight, x+12, ny);
+line(x+22, y-bodyHeight, x+22, ny);
+
+// Antennae
+line(x+12, ny, x-18, ny-43);
+line(x+12, ny, x+42, ny-99);
+line(x+12, ny, x+78, ny+15);
+
+// Body
+noStroke();
+fill(255, 204, 0);
+ellipse(x, y-33, 33, 33);
+fill(0);
+rect(x-45, y-bodyHeight, 90, bodyHeight-33);
+fill(255, 204, 0);
+rect(x-45, y-bodyHeight+17, 90, 6);
+
+// Head
+fill(0);
+ellipse(x+12, ny, radius, radius);
+fill(255);
+ellipse(x+24, ny-6, 14, 14);
+fill(0);
+ellipse(x+24, ny-6, 3, 3);
+fill(153, 204, 255);
+ellipse(x, ny-8, 5, 5);
+ellipse(x+30, ny-26, 4, 4);
+ellipse(x+41, ny+6, 3, 3);
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot03_Response/Robot03_Response.pde b/content/gswp_2e/examples/Robots/Robot03_Response/Robot03_Response.pde
new file mode 100644
index 000000000..425699a21
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot03_Response/Robot03_Response.pde
@@ -0,0 +1,55 @@
+float x = 60; // X-coordinate
+float y = 440; // Y-coordinate
+int radius = 45; // Head Radius
+int bodyHeight = 160; // Body Height
+int neckHeight = 70; // Neck Height
+
+float easing = 0.04;
+
+void setup() {
+ size(360, 480);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ strokeWeight(2);
+
+ int targetX = mouseX;
+ x += (targetX - x) * easing;
+
+ if (mousePressed) {
+ neckHeight = 16;
+ bodyHeight = 90;
+ } else {
+ neckHeight = 70;
+ bodyHeight = 160;
+ }
+
+ float neckY = y - bodyHeight - neckHeight - radius;
+
+ background(0, 153, 204);
+
+ // Neck
+ stroke(255);
+ line(x+12, y-bodyHeight, x+12, neckY);
+
+ // Antennae
+ line(x+12, neckY, x-18, neckY-43);
+ line(x+12, neckY, x+42, neckY-99);
+ line(x+12, neckY, x+78, neckY+15);
+
+ // Body
+ noStroke();
+ fill(255, 204, 0);
+ ellipse(x, y-33, 33, 33);
+ fill(0);
+ rect(x-45, y-bodyHeight, 90, bodyHeight-33);
+
+ // Head
+ fill(0);
+ ellipse(x+12, neckY, radius, radius);
+ fill(255);
+ ellipse(x+24, neckY-6, 14, 14);
+ fill(0);
+ ellipse(x+24, neckY-6, 3, 3);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot04_Transform/Robot04_Transform.pde b/content/gswp_2e/examples/Robots/Robot04_Transform/Robot04_Transform.pde
new file mode 100644
index 000000000..55494aa96
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot04_Transform/Robot04_Transform.pde
@@ -0,0 +1,58 @@
+float x = 60; // X-coordinate
+float y = 440; // Y-coordinate
+int radius = 45; // Head Radius
+int bodyHeight = 180; // Body Height
+int neckHeight = 40; // Neck Height
+
+float easing = 0.04;
+
+void setup() {
+ size(360, 480);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ strokeWeight(2);
+
+ float neckY = -1 * (bodyHeight + neckHeight + radius);
+
+ background(0, 153, 204);
+
+ translate(mouseX, y); // Move all to (mouseX, y)
+
+ if (mousePressed) {
+ scale(1.0);
+ } else {
+ scale(0.6); // 60% size when mouse is pressed
+ }
+
+ // Body
+ noStroke();
+ fill(255, 204, 0);
+ ellipse(0, -33, 33, 33);
+ fill(0);
+ rect(-45, -bodyHeight, 90, bodyHeight-33);
+
+ // Neck
+ stroke(255);
+ line(12, -bodyHeight, 12, neckY);
+
+ // Hair
+ pushMatrix();
+ translate(12, neckY);
+ float angle = -PI/30.0;
+ for (int i = 0; i <= 30; i++) {
+ line(80, 0, 0, 0);
+ rotate(angle);
+ }
+ popMatrix();
+
+ // Head
+ noStroke();
+ fill(0);
+ ellipse(12, neckY, radius, radius);
+ fill(255);
+ ellipse(24, neckY-6, 14, 14);
+ fill(0);
+ ellipse(24, neckY-6, 3, 3);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot05_Media/Robot05_Media.pde b/content/gswp_2e/examples/Robots/Robot05_Media/Robot05_Media.pde
new file mode 100644
index 000000000..23e544418
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot05_Media/Robot05_Media.pde
@@ -0,0 +1,37 @@
+PShape bot1;
+PShape bot2;
+PShape bot3;
+PImage landscape;
+
+float easing = 0.05;
+float offset = 0;
+
+void setup() {
+ size(720, 480);
+ bot1 = loadShape("robot1.svg");
+ bot2 = loadShape("robot2.svg");
+ bot3 = loadShape("robot3.svg");
+ landscape = loadImage("alpine.png");
+}
+
+void draw() {
+ // Set the background to the "landscape" image, this image
+ // must be the same width and height as the program
+ background(landscape);
+
+ // Set the left/right offset and apply easing to make
+ // the transition smooth
+ float targetOffset = map(mouseY, 0, height, -40, 40);
+ offset += (targetOffset - offset) * easing;
+
+ // Draw the left robot
+ shape(bot1, 85 + offset, 65);
+
+ // Draw the right robot smaller and give it a smaller offset
+ float smallerOffset = offset * 0.7;
+ shape(bot2, 510 + smallerOffset, 140, 78, 248);
+
+ // Draw the smallest robot, give it a smaller offset
+ smallerOffset *= -0.5;
+ shape(bot3, 410 + smallerOffset, 225, 39, 124);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot05_Media/data/alpine.png b/content/gswp_2e/examples/Robots/Robot05_Media/data/alpine.png
new file mode 100644
index 000000000..d3cd33921
Binary files /dev/null and b/content/gswp_2e/examples/Robots/Robot05_Media/data/alpine.png differ
diff --git a/content/gswp_2e/examples/Robots/Robot05_Media/data/robot1.svg b/content/gswp_2e/examples/Robots/Robot05_Media/data/robot1.svg
new file mode 100644
index 000000000..db2476b39
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot05_Media/data/robot1.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot05_Media/data/robot2.svg b/content/gswp_2e/examples/Robots/Robot05_Media/data/robot2.svg
new file mode 100644
index 000000000..7ca17d8c1
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot05_Media/data/robot2.svg
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot05_Media/data/robot3.svg b/content/gswp_2e/examples/Robots/Robot05_Media/data/robot3.svg
new file mode 100644
index 000000000..b8d074b75
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot05_Media/data/robot3.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot06_Motion/Robot06_Motion.pde b/content/gswp_2e/examples/Robots/Robot06_Motion/Robot06_Motion.pde
new file mode 100644
index 000000000..562d1309b
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot06_Motion/Robot06_Motion.pde
@@ -0,0 +1,53 @@
+float x = 180; // X-coordinate
+float y = 400; // Y-coordinate
+float bodyHeight = 153; // Body Height
+float neckHeight = 56; // Neck Height
+float radius = 45; // Head Radius
+float angle = 0.0; // Angle for motion
+
+void setup() {
+ size(360, 480);
+ ellipseMode(RADIUS);
+ background(0, 153, 204); // Blue background
+}
+
+void draw() {
+ // Change position by a small random amount
+ x += random(-4, 4);
+ y += random(-1, 1);
+
+ // Change height of neck
+ neckHeight = 80 + sin(angle) * 30;
+ angle += 0.05;
+
+ // Adjust the height of the head
+ float ny = y - bodyHeight - neckHeight - radius;
+
+ // Neck
+ stroke(255);
+ line(x+2, y-bodyHeight, x+2, ny);
+ line(x+12, y-bodyHeight, x+12, ny);
+ line(x+22, y-bodyHeight, x+22, ny);
+
+ // Antennae
+ line(x+12, ny, x-18, ny-43);
+ line(x+12, ny, x+42, ny-99);
+ line(x+12, ny, x+78, ny+15);
+
+ // Body
+ noStroke();
+ fill(255, 204, 0);
+ ellipse(x, y-33, 33, 33);
+ fill(0);
+ rect(x-45, y-bodyHeight, 90, bodyHeight-33);
+ fill(255, 204, 0);
+ rect(x-45, y-bodyHeight+17, 90, 6);
+
+ // Head
+ fill(0);
+ ellipse(x+12, ny, radius, radius);
+ fill(255);
+ ellipse(x+24, ny-6, 14, 14);
+ fill(0);
+ ellipse(x+24, ny-6, 3, 3);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot07_Functions/Robot07_Functions.pde b/content/gswp_2e/examples/Robots/Robot07_Functions/Robot07_Functions.pde
new file mode 100644
index 000000000..8b093a1f7
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot07_Functions/Robot07_Functions.pde
@@ -0,0 +1,51 @@
+void setup() {
+ size(720, 480);
+ strokeWeight(2);
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ background(0, 153, 204);
+ drawRobot(120, 420, 110, 140);
+ drawRobot(270, 460, 260, 95);
+ drawRobot(420, 310, 80, 10);
+ drawRobot(570, 390, 180, 40);
+}
+
+void drawRobot(int x, int y, int bodyHeight, int neckHeight) {
+
+ int radius = 45;
+ int ny = y - bodyHeight - neckHeight - radius; // neckHeight Y
+
+ // Neck
+ stroke(255);
+ line(x+2, y-bodyHeight, x+2, ny);
+ line(x+12, y-bodyHeight, x+12, ny);
+ line(x+22, y-bodyHeight, x+22, ny);
+
+ // Antennae
+ line(x+12, ny, x-18, ny-43);
+ line(x+12, ny, x+42, ny-99);
+ line(x+12, ny, x+78, ny+15);
+
+ // Body
+ noStroke();
+ fill(255, 204, 0);
+ ellipse(x, y-33, 33, 33);
+ fill(0);
+ rect(x-45, y-bodyHeight, 90, bodyHeight-33);
+ fill(255, 204, 0);
+ rect(x-45, y-bodyHeight+17, 90, 6);
+
+ // Head
+ fill(0);
+ ellipse(x+12, ny, radius, radius);
+ fill(255);
+ ellipse(x+24, ny-6, 14, 14);
+ fill(0);
+ ellipse(x+24, ny-6, 3, 3);
+ fill(153, 204, 255);
+ ellipse(x, ny-8, 5, 5);
+ ellipse(x+30, ny-26, 4, 4);
+ ellipse(x+41, ny+6, 3, 3);
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot08_Objects/Robot08_Objects.pde b/content/gswp_2e/examples/Robots/Robot08_Objects/Robot08_Objects.pde
new file mode 100644
index 000000000..2c6cbc01c
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot08_Objects/Robot08_Objects.pde
@@ -0,0 +1,47 @@
+Robot bot1;
+Robot bot2;
+
+void setup() {
+ size(720, 480);
+ bot1 = new Robot("robot1.svg", 90, 80);
+ bot2 = new Robot("robot2.svg", 440, 30);
+}
+
+void draw() {
+ background(0, 153, 204);
+
+ // Update and display first robot
+ bot1.update();
+ bot1.display();
+
+ // Update and display second robot
+ bot2.update();
+ bot2.display();
+}
+
+class Robot {
+ float xpos;
+ float ypos;
+ float angle;
+ PShape botShape;
+ float yoffset = 0.0;
+
+ // Set initial values in constructor
+ Robot(String svgName, float tempX, float tempY) {
+ botShape = loadShape(svgName);
+ xpos = tempX;
+ ypos = tempY;
+ angle = random(0, TWO_PI);
+ }
+
+ // Update the fields
+ void update() {
+ angle += 0.05;
+ yoffset = sin(angle) * 20;
+ }
+
+ // Draw the robot to the screen
+ void display() {
+ shape(botShape, xpos, ypos + yoffset);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot08_Objects/data/robot1.svg b/content/gswp_2e/examples/Robots/Robot08_Objects/data/robot1.svg
new file mode 100644
index 000000000..db2476b39
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot08_Objects/data/robot1.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot08_Objects/data/robot2.svg b/content/gswp_2e/examples/Robots/Robot08_Objects/data/robot2.svg
new file mode 100644
index 000000000..7ca17d8c1
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot08_Objects/data/robot2.svg
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot09_Arrays/Robot09_Arrays.pde b/content/gswp_2e/examples/Robots/Robot09_Arrays/Robot09_Arrays.pde
new file mode 100644
index 000000000..6bfd5c49c
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot09_Arrays/Robot09_Arrays.pde
@@ -0,0 +1,52 @@
+Robot[] bots; // Declare array of Robot objects
+
+void setup() {
+ size(720, 480);
+ PShape robotShape = loadShape("robot2.svg");
+ // Create the array of Robot objects
+ bots = new Robot[20];
+ // Create each object
+ for (int i = 0; i < bots.length; i++) {
+ // Create a random x-coordinate
+ float x = random(-40, width-40);
+ // Assign the y-coordinate based on the order
+ float y = map(i, 0, bots.length, -100, height-200);
+ bots[i] = new Robot(robotShape, x, y);
+ }
+}
+
+void draw() {
+ background(0, 153, 204);
+ // Update and display each bot in the array
+ for (int i = 0; i < bots.length; i++) {
+ bots[i].update();
+ bots[i].display();
+ }
+}
+
+class Robot {
+ float xpos;
+ float ypos;
+ float angle;
+ PShape botShape;
+ float yoffset = 0.0;
+
+ // Set initial values in constructor
+ Robot(PShape shape, float tempX, float tempY) {
+ botShape = shape;
+ xpos = tempX;
+ ypos = tempY;
+ angle = random(0, TWO_PI);
+ }
+
+ // Update the fields
+ void update() {
+ angle += 0.05;
+ yoffset = sin(angle) * 20;
+ }
+
+ // Draw the robot to the screen
+ void display() {
+ shape(botShape, xpos, ypos + yoffset);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot09_Arrays/data/robot2.svg b/content/gswp_2e/examples/Robots/Robot09_Arrays/data/robot2.svg
new file mode 100644
index 000000000..7ca17d8c1
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot09_Arrays/data/robot2.svg
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_01/Robot10_Data_01.pde b/content/gswp_2e/examples/Robots/Robot10_Data_01/Robot10_Data_01.pde
new file mode 100644
index 000000000..41f531ae9
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_01/Robot10_Data_01.pde
@@ -0,0 +1,18 @@
+PrintWriter output;
+
+void setup() {
+ size(720, 480);
+ // Create the new file
+ output = createWriter("botArmy.tsv");
+ // Write a header line with the column titles
+ output.println("type\tx\ty");
+ for (int y = 0; y <= height; y += 120) {
+ for (int x = 0; x <= width; x += 60) {
+ int robotType = int(random(1, 4));
+ output.println(robotType + "\t" + x + "\t" + y);
+ ellipse(x, y, 12, 12);
+ }
+ }
+ output.flush(); // Write the remaining data to the file
+ output.close(); // Finish the file
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_01/botArmy.tsv b/content/gswp_2e/examples/Robots/Robot10_Data_01/botArmy.tsv
new file mode 100644
index 000000000..34050a319
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_01/botArmy.tsv
@@ -0,0 +1,66 @@
+type x y
+1 0 0
+2 60 0
+2 120 0
+1 180 0
+3 240 0
+3 300 0
+3 360 0
+3 420 0
+2 480 0
+3 540 0
+1 600 0
+1 660 0
+1 720 0
+2 0 120
+2 60 120
+2 120 120
+1 180 120
+3 240 120
+2 300 120
+3 360 120
+2 420 120
+1 480 120
+3 540 120
+2 600 120
+1 660 120
+3 720 120
+1 0 240
+1 60 240
+3 120 240
+2 180 240
+3 240 240
+3 300 240
+3 360 240
+3 420 240
+1 480 240
+2 540 240
+3 600 240
+2 660 240
+1 720 240
+1 0 360
+3 60 360
+2 120 360
+1 180 360
+3 240 360
+2 300 360
+2 360 360
+1 420 360
+1 480 360
+2 540 360
+2 600 360
+2 660 360
+1 720 360
+1 0 480
+2 60 480
+1 120 480
+2 180 480
+2 240 480
+3 300 480
+3 360 480
+3 420 480
+2 480 480
+2 540 480
+3 600 480
+3 660 480
+2 720 480
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_02/Robot10_Data_02.pde b/content/gswp_2e/examples/Robots/Robot10_Data_02/Robot10_Data_02.pde
new file mode 100644
index 000000000..2815219da
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_02/Robot10_Data_02.pde
@@ -0,0 +1,27 @@
+Table robots;
+PShape bot1;
+PShape bot2;
+PShape bot3;
+
+void setup() {
+ size(720, 480);
+ background(0, 153, 204);
+ bot1 = loadShape("robot1.svg");
+ bot2 = loadShape("robot2.svg");
+ bot3 = loadShape("robot3.svg");
+ shapeMode(CENTER);
+ robots = loadTable("botArmy.tsv", "header");
+ for (int i = 0; i < robots.getRowCount(); i++) {
+ int bot = robots.getInt(i, "type");
+ int x = robots.getInt(i, "x");
+ int y = robots.getInt(i, "y");
+ float sc = 0.3;
+ if (bot == 1) {
+ shape(bot1, x, y, bot1.width*sc, bot1.height*sc);
+ } else if (bot == 2) {
+ shape(bot2, x, y, bot2.width*sc, bot2.height*sc);
+ } else {
+ shape(bot3, x, y, bot3.width*sc, bot3.height*sc);
+ }
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_02/data/botArmy.tsv b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/botArmy.tsv
new file mode 100644
index 000000000..97239b87f
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/botArmy.tsv
@@ -0,0 +1,66 @@
+type x y
+3 0 0
+1 60 0
+2 120 0
+3 180 0
+1 240 0
+2 300 0
+2 360 0
+3 420 0
+3 480 0
+3 540 0
+3 600 0
+3 660 0
+1 720 0
+3 0 120
+2 60 120
+1 120 120
+2 180 120
+3 240 120
+1 300 120
+1 360 120
+3 420 120
+1 480 120
+2 540 120
+3 600 120
+3 660 120
+2 720 120
+1 0 240
+2 60 240
+3 120 240
+3 180 240
+2 240 240
+2 300 240
+2 360 240
+2 420 240
+1 480 240
+1 540 240
+2 600 240
+2 660 240
+2 720 240
+1 0 360
+1 60 360
+3 120 360
+1 180 360
+1 240 360
+3 300 360
+1 360 360
+1 420 360
+1 480 360
+3 540 360
+2 600 360
+3 660 360
+1 720 360
+3 0 480
+1 60 480
+1 120 480
+3 180 480
+3 240 480
+2 300 480
+1 360 480
+3 420 480
+3 480 480
+1 540 480
+3 600 480
+1 660 480
+2 720 480
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot1.svg b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot1.svg
new file mode 100644
index 000000000..db2476b39
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot1.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot2.svg b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot2.svg
new file mode 100644
index 000000000..7ca17d8c1
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot2.svg
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot3.svg b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot3.svg
new file mode 100644
index 000000000..b8d074b75
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_02/data/robot3.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_03/Robot10_Data_03.pde b/content/gswp_2e/examples/Robots/Robot10_Data_03/Robot10_Data_03.pde
new file mode 100644
index 000000000..8249a39f1
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_03/Robot10_Data_03.pde
@@ -0,0 +1,20 @@
+int numRobotTypes = 3;
+PShape[] shapes = new PShape[numRobotTypes];
+float scalar = 0.3;
+
+void setup() {
+ size(720, 480);
+ background(0, 153, 204);
+ for (int i = 0; i < numRobotTypes; i++) {
+ shapes[i] = loadShape("robot" + (i+1) + ".svg");
+ }
+ shapeMode(CENTER);
+ Table botArmy = loadTable("botArmy.tsv", "header");
+ for (TableRow row : botArmy.rows()) {
+ int robotType = row.getInt("type");
+ int x = row.getInt("x");
+ int y = row.getInt("y");
+ PShape bot = shapes[robotType - 1];
+ shape(bot, x, y, bot.width*scalar, bot.height*scalar);
+ }
+}
\ No newline at end of file
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_03/data/botArmy.tsv b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/botArmy.tsv
new file mode 100644
index 000000000..97239b87f
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/botArmy.tsv
@@ -0,0 +1,66 @@
+type x y
+3 0 0
+1 60 0
+2 120 0
+3 180 0
+1 240 0
+2 300 0
+2 360 0
+3 420 0
+3 480 0
+3 540 0
+3 600 0
+3 660 0
+1 720 0
+3 0 120
+2 60 120
+1 120 120
+2 180 120
+3 240 120
+1 300 120
+1 360 120
+3 420 120
+1 480 120
+2 540 120
+3 600 120
+3 660 120
+2 720 120
+1 0 240
+2 60 240
+3 120 240
+3 180 240
+2 240 240
+2 300 240
+2 360 240
+2 420 240
+1 480 240
+1 540 240
+2 600 240
+2 660 240
+2 720 240
+1 0 360
+1 60 360
+3 120 360
+1 180 360
+1 240 360
+3 300 360
+1 360 360
+1 420 360
+1 480 360
+3 540 360
+2 600 360
+3 660 360
+1 720 360
+3 0 480
+1 60 480
+1 120 480
+3 180 480
+3 240 480
+2 300 480
+1 360 480
+3 420 480
+3 480 480
+1 540 480
+3 600 480
+1 660 480
+2 720 480
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot1.svg b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot1.svg
new file mode 100644
index 000000000..db2476b39
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot1.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot2.svg b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot2.svg
new file mode 100644
index 000000000..7ca17d8c1
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot2.svg
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot3.svg b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot3.svg
new file mode 100644
index 000000000..b8d074b75
--- /dev/null
+++ b/content/gswp_2e/examples/Robots/Robot10_Data_03/data/robot3.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples.properties b/content/handbook_2e/examples.properties
new file mode 100644
index 000000000..8af696aa9
--- /dev/null
+++ b/content/handbook_2e/examples.properties
@@ -0,0 +1,10 @@
+name=Processing Handbook, 2nd Edition
+category=Books
+authorList=[Casey Reas](http://reas.com/) and [Ben Fry](http://benfry.com/)
+url=http://www.processing.org
+sentence=Example code for the book Processing: A Programming Handbook for Visual Designers and Artists, Second Edition. MIT Press, 2014.
+paragraph=
+version=1
+minVersion=0
+maxVersion=0
+prettyVersion=1.0
\ No newline at end of file
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_01/Ex_01.pde b/content/handbook_2e/examples/02 Using Processing/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..32df30475
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_01/Ex_01.pde
@@ -0,0 +1,5 @@
+line(10, 80, 30, 40); // Left line
+line(20, 80, 40, 40);
+line(30, 80, 50, 40); // Middle line
+line(40, 80, 60, 40);
+line(50, 80, 70, 40); // Right line
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_02/Ex_02.pde b/content/handbook_2e/examples/02 Using Processing/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..a45d3b4a0
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_02/Ex_02.pde
@@ -0,0 +1,9 @@
+background(0); // Set the black background
+stroke(255); // Set line value to white
+strokeWeight(5); // Set line width to 5 pixels
+
+line(10, 80, 30, 40); // Left line
+line(20, 80, 40, 40);
+line(30, 80, 50, 40); // Middle line
+line(40, 80, 60, 40);
+line(50, 80, 70, 40); // Right line
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_03/Ex_03.pde b/content/handbook_2e/examples/02 Using Processing/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..032a87f7b
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_03/Ex_03.pde
@@ -0,0 +1,7 @@
+int x = 5; // Set the horizontal position
+int y = 60; // Set the vertical position
+line(x, y, x+20, y-40); // Line from [5,60] to [25,20]
+line(x+10, y, x+30, y-40); // Line from [15,60] to [35,20]
+line(x+20, y, x+40, y-40); // Line from [25,60] to [45,20]
+line(x+30, y, x+50, y-40); // Line from [35,60] to [55,20]
+line(x+40, y, x+60, y-40); // Line from [45,60] to [65,20]
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_04/Ex_04.pde b/content/handbook_2e/examples/02 Using Processing/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..52d2553c1
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_04/Ex_04.pde
@@ -0,0 +1,17 @@
+int x = 0; // Set the horizontal position
+int y = 55; // Set the vertical position
+
+void setup() {
+ size(100, 100); // Set the window to 100 x 100 pixels
+}
+
+void draw() {
+ background(204);
+ line(x, y, x+20, y-40); // Left line
+ line(x+10, y, x+30, y-40); // Middle line
+ line(x+20, y, x+40, y-40); // Right line
+ x = x + 1; // Add 1 to x
+ if (x > 100) { // If x is greater than 100,
+ x = -40; // assign -40 to x
+ }
+}
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_05/Ex_05.pde b/content/handbook_2e/examples/02 Using Processing/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..ba1275cbc
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_05/Ex_05.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ // Assign the horizontal value of the cursor to x
+ float x = mouseX;
+ // Assign the vertical value of the cursor to y
+ float y = mouseY;
+ line(x, y, x+20, y-40);
+ line(x+10, y, x+30, y-40);
+ line(x+20, y, x+40, y-40);
+}
+
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_06/Ex_06.pde b/content/handbook_2e/examples/02 Using Processing/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..423f8687e
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_06/Ex_06.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ diagonals(40, 90);
+ diagonals(60, 62);
+ diagonals(20, 40);
+}
+
+void diagonals(int x, int y) {
+ line(x, y, x+20, y-40);
+ line(x+10, y, x+30, y-40);
+ line(x+20, y, x+40, y-40);
+}
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_07/Ex_07.pde b/content/handbook_2e/examples/02 Using Processing/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..fdf9f0b11
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_07/Ex_07.pde
@@ -0,0 +1,26 @@
+int num = 20;
+int[] dx = new int[num]; // Declare and create an array
+int[] dy = new int[num]; // Declare and create an array
+
+void setup() {
+ size(100, 100);
+ for (int i = 0; i < num; i++) {
+ dx[i] = i * 5;
+ dy[i] = 12 + (i * 6);
+ }
+}
+
+void draw() {
+ background(204);
+ for (int i = 0; i < num; i++) {
+ dx[i] = dx[i] + 1;
+ if (dx[i] > 100) {dx[i] = -100;}
+ diagonals(dx[i], dy[i]);
+ }
+}
+
+void diagonals(int x, int y) {
+ line(x, y, x+20, y-40);
+ line(x+10, y, x+30, y-40);
+ line(x+20, y, x+40, y-40);
+}
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_08/Ex_08.pde b/content/handbook_2e/examples/02 Using Processing/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..0177b4b0e
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_08/Ex_08.pde
@@ -0,0 +1,40 @@
+Diagonals da, db;
+
+void setup() {
+ size(100, 100);
+
+ // Inputs: x, y, speed, thick, gray
+ da = new Diagonals(0, 80, 1, 2, 0);
+ db = new Diagonals(0, 55, 2, 6, 255);
+}
+
+void draw() {
+ background(204);
+ da.update();
+ db.update();
+}
+
+class Diagonals {
+ int x, y, speed, thick, gray;
+
+ Diagonals(int xpos, int ypos, int s, int t, int g) {
+ x = xpos;
+ y = ypos;
+ speed = s;
+ thick = t;
+ gray = g;
+ }
+
+ void update() {
+ strokeWeight(thick);
+ stroke(gray);
+ line(x, y, x+20, y-40);
+ line(x+10, y, x+30, y-40);
+ line(x+20, y, x+40, y-40);
+ x = x + speed;
+ if (x > 100) {
+ x = -100;
+ }
+ }
+}
+
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_09/Ex_09.pde b/content/handbook_2e/examples/02 Using Processing/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..1f33451f8
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_09/Ex_09.pde
@@ -0,0 +1,18 @@
+// Two forward slashes are used to denote a comment.
+// All text on the same line is a part of the comment.
+// There must be no spaces between the slashes. For example,
// the code "/ /" is not a comment and will cause an error
+
+// If you want to have a comment that is many
+// lines long, you may prefer to use the syntax for a
+// multiline comment
+
+/*
+ A forward slash followed by an asterisk allows the
+ comment to continue until the opposite
+*/
+
+// All letters and symbols that are not comments are run
+// by the computer. Because the following lines are not comments,
+// they are run and draw a display window of 200 x 200 pixels
+size(200, 200);
+background(102);
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_10/Ex_10.pde b/content/handbook_2e/examples/02 Using Processing/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..6d775c5eb
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_10/Ex_10.pde
@@ -0,0 +1,6 @@
+// The size function has two parameters. The first sets the width
// of the display window and the second sets the height
+size(200, 200);
+
+// This version of the background function has one parameter.
// It sets the gray value for the background of the display window
// in the range of 0 (black) to 255 (white)
+background(102);
+
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_11/Ex_11.pde b/content/handbook_2e/examples/02 Using Processing/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..e17b14f37
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_11/Ex_11.pde
@@ -0,0 +1,4 @@
+size(200, 200); // Runs the size() function
+int x; // Declares a new variable x
+x = 102; // Assigns the value 102 to the variable x
+background(x); // Runs the background() function
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_12/Ex_12.pde b/content/handbook_2e/examples/02 Using Processing/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..3ef24b87e
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_12/Ex_12.pde
@@ -0,0 +1,2 @@
+size(200, 200);
+Background(102); // ERROR! The B in "background" is capitalized
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_13/Ex_13.pde b/content/handbook_2e/examples/02 Using Processing/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..67df6fad6
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_13/Ex_13.pde
@@ -0,0 +1,3 @@
+size(200, 200);
+background(102);
+
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_14/Ex_14.pde b/content/handbook_2e/examples/02 Using Processing/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..749e4adba
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_14/Ex_14.pde
@@ -0,0 +1,6 @@
+size
+( 200,
+ 200) ;
+background ( 102)
+ ;
+
diff --git a/content/handbook_2e/examples/02 Using Processing/Ex_15/Ex_15.pde b/content/handbook_2e/examples/02 Using Processing/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..b579ca635
--- /dev/null
+++ b/content/handbook_2e/examples/02 Using Processing/Ex_15/Ex_15.pde
@@ -0,0 +1,24 @@
+// To print text to the console, place the desired output in quotes
+println("Processing..."); // Prints "Processing..." to the console
+
+// To print the value of a variable, rather than its name,
+// don’t put the name of the variable in quotes
+int x = 20;
+println(x); // Prints "20" to the console
+
+// While println() moves to the next line after the text
+// is output, print() does not
+print("10");
+println("20"); // Prints "1020" to the console
+println("30"); // Prints "30" to the console
+
+// Use a comma inside println() to write more than one value
+int x2 = 20;
+int y2 = 80;
+println(x2, y2); // Prints "20 80" to the console
+
+// Use the "+" operator to combine variables with
+// custom text in between
+int x3 = 20;
+int y3 = 80;
+println(x3 + " and " + y3); // Prints "20 and 80" to the console
diff --git a/content/handbook_2e/examples/03 Draw/Ex_01/Ex_01.pde b/content/handbook_2e/examples/03 Draw/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..beebc2528
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_01/Ex_01.pde
@@ -0,0 +1,3 @@
+// Draw the display window 120 pixels
+// wide and 200 pixels high
+size(120, 200);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_02/Ex_02.pde b/content/handbook_2e/examples/03 Draw/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..f2aeceaed
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_02/Ex_02.pde
@@ -0,0 +1,3 @@
+// Draw the display window 320 pixels
+// wide and 240 pixels high
+size(320, 240);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_03/Ex_03.pde b/content/handbook_2e/examples/03 Draw/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..945993d61
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_03/Ex_03.pde
@@ -0,0 +1,4 @@
+// Draw the display window 200 pixels
+// wide and 200 pixels high
+size(200, 200);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_04/Ex_04.pde b/content/handbook_2e/examples/03 Draw/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..119083a5a
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_04/Ex_04.pde
@@ -0,0 +1,9 @@
+// Points with the same X and Y parameters
+// form a diagonal line from the
+// upper-left corner to the lower-right corner
+point(20, 20);
+point(30, 30);
+point(40, 40);
+point(50, 50);
+point(60, 60);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_05/Ex_05.pde b/content/handbook_2e/examples/03 Draw/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..ceb902ba0
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_05/Ex_05.pde
@@ -0,0 +1,8 @@
+// Points with the same Y parameter have the
+// same distance from the top and bottom
+// edges of the frame
+point(50, 30);
+point(55, 30);
+point(60, 30);
+point(65, 30);
+point(70, 30);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_06/Ex_06.pde b/content/handbook_2e/examples/03 Draw/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..54f46c45c
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_06/Ex_06.pde
@@ -0,0 +1,8 @@
+// Points with the same X parameter have the
+// same distance from the left and right
+// edges of the frame
+point(70, 50);
+point(70, 55);
+point(70, 60);
+point(70, 65);
+point(70, 70);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_07/Ex_07.pde b/content/handbook_2e/examples/03 Draw/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..c94ff98ca
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_07/Ex_07.pde
@@ -0,0 +1,12 @@
+// Placing a group of points next to one
+// another creates a line
+point(50, 50);
+point(50, 51);
+point(50, 52);
+point(50, 53);
+point(50, 54);
+point(50, 55);
+point(50, 56);
+point(50, 57);
+point(50, 58);
+point(50, 59);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_08/Ex_08.pde b/content/handbook_2e/examples/03 Draw/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..865fa2683
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_08/Ex_08.pde
@@ -0,0 +1,8 @@
+// Setting points outside the display
+// area will not cause an error,
+// but the points won't be visible
+point(-500, 100);
+point(400, -600);
+point(140, 2500);
+point(2500, 100);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_09/Ex_09.pde b/content/handbook_2e/examples/03 Draw/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..96262cb5c
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_09/Ex_09.pde
@@ -0,0 +1,5 @@
+// When the y-coordinates for a line are the
+// same, the line is horizontal
+line(10, 30, 90, 30);
+line(10, 40, 90, 40);
+line(10, 50, 90, 50);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_10/Ex_10.pde b/content/handbook_2e/examples/03 Draw/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..33f9e1b21
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_10/Ex_10.pde
@@ -0,0 +1,5 @@
+// When the x-coordinates for a line are the
+// same, the line is vertical
+line(40, 10, 40, 90);
+line(50, 10, 50, 90);
+line(60, 10, 60, 90);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_11/Ex_11.pde b/content/handbook_2e/examples/03 Draw/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..45133b537
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_11/Ex_11.pde
@@ -0,0 +1,5 @@
+// When all four parameters are different,
+// the lines are diagonal
+line(25, 90, 80, 60);
+line(50, 12, 42, 90);
+line(45, 30, 18, 36);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_12/Ex_12.pde b/content/handbook_2e/examples/03 Draw/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..dce518e5f
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_12/Ex_12.pde
@@ -0,0 +1,4 @@
+// When two lines share the same point they connect
+line(15, 20, 5, 80);
+line(90, 65, 5, 80);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_13/Ex_13.pde b/content/handbook_2e/examples/03 Draw/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..10abe64d5
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_13/Ex_13.pde
@@ -0,0 +1,4 @@
+triangle(60, 10, 25, 60, 75, 65); // Filled triangle
+line(60, 30, 25, 80); // Outlined triangle edge
+line(25, 80, 75, 85); // Outlined triangle edge
+line(75, 85, 60, 30); // Outlined triangle edge
diff --git a/content/handbook_2e/examples/03 Draw/Ex_14/Ex_14.pde b/content/handbook_2e/examples/03 Draw/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..8699ef76d
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_14/Ex_14.pde
@@ -0,0 +1,4 @@
+triangle(55, 9, 110, 100, 85, 100);
+triangle(55, 9, 85, 100, 75, 100);
+triangle(-1, 46, 16, 34, -7, 100);
+triangle(16, 34, -7, 100, 40, 100);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_15/Ex_15.pde b/content/handbook_2e/examples/03 Draw/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..ef4c104a1
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_15/Ex_15.pde
@@ -0,0 +1 @@
+quad(38, 31, 86, 20, 69, 63, 30, 76);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_16/Ex_16.pde b/content/handbook_2e/examples/03 Draw/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..6c141ca06
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_16/Ex_16.pde
@@ -0,0 +1,2 @@
+quad(20, 20, 20, 70, 60, 90, 60, 40);
+quad(20, 20, 70, -20, 110, 0, 60, 40);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_17/Ex_17.pde b/content/handbook_2e/examples/03 Draw/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..f724dd374
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_17/Ex_17.pde
@@ -0,0 +1,3 @@
+rect(15, 15, 40, 40); // Large square
+rect(55, 55, 25, 25); // Small square
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_18/Ex_18.pde b/content/handbook_2e/examples/03 Draw/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..c6bc3a8fe
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_18/Ex_18.pde
@@ -0,0 +1,7 @@
+rect(0, 0, 90, 50);
+rect(5, 50, 75, 4);
+rect(24, 54, 6, 6);
+rect(64, 54, 6, 6);
+rect(20, 60, 75, 10);
+rect(10, 70, 80, 2);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_19/Ex_19.pde b/content/handbook_2e/examples/03 Draw/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..549e28a9e
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_19/Ex_19.pde
@@ -0,0 +1,3 @@
+ellipse(40, 40, 60, 60); // Large circle
+ellipse(75, 75, 32, 32); // Small circle
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_20/Ex_20.pde b/content/handbook_2e/examples/03 Draw/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..be83d7ceb
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_20/Ex_20.pde
@@ -0,0 +1,4 @@
+ellipse(35, 0, 120, 120);
+ellipse(38, 62, 6, 6);
+ellipse(40, 100, 70, 70);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_21/Ex_21.pde b/content/handbook_2e/examples/03 Draw/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..82f288adb
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_21/Ex_21.pde
@@ -0,0 +1,3 @@
+//background(255);
+arc(50, 50, 75, 75, radians(40), radians(320));
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_22/Ex_22.pde b/content/handbook_2e/examples/03 Draw/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..c25a4ddcb
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_22/Ex_22.pde
@@ -0,0 +1,5 @@
+arc(50, 55, 50, 50, radians(0), radians(90));
+arc(50, 55, 60, 60, radians(90), radians(180));
+arc(50, 55, 70, 70, radians(180), radians(270));
+arc(50, 55, 80, 80, radians(270), radians(360));
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_23/Ex_23.pde b/content/handbook_2e/examples/03 Draw/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..cc57586e7
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_23/Ex_23.pde
@@ -0,0 +1,15 @@
+// Top row, filled and stroked
+arc(20, 20, 28, 28, radians(0), radians(225), OPEN);
+arc(50, 20, 28, 28, radians(0), radians(225), CHORD);
+arc(80, 20, 28, 28, radians(0), radians(225), PIE);
+// Middle row, not stroked
+noStroke();
+arc(20, 50, 28, 28, radians(0), radians(225), OPEN);
+arc(50, 50, 28, 28, radians(0), radians(225), CHORD);
+arc(80, 50, 28, 28, radians(0), radians(225), PIE);
+// Bottom row, not filled
+stroke(0);
+noFill();
+arc(20, 80, 28, 28, radians(0), radians(225), OPEN);
+arc(50, 80, 28, 28, radians(0), radians(225), CHORD);
+arc(80, 80, 28, 28, radians(0), radians(225), PIE);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_24/Ex_24.pde b/content/handbook_2e/examples/03 Draw/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..be92b8d79
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_24/Ex_24.pde
@@ -0,0 +1,6 @@
+bezier(32, 20, 80, 5, 80, 75, 30, 75);
+// Draw the control points
+line(32, 20, 80, 5);
+ellipse(80, 5, 4, 4);
+line(80, 75, 30, 75);
+ellipse(80, 75, 4, 4);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_25/Ex_25.pde b/content/handbook_2e/examples/03 Draw/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..527e88040
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_25/Ex_25.pde
@@ -0,0 +1,6 @@
+bezier(85, 20, 40, 10, 60, 90, 15, 80);
+// Draw the control points
+line(85, 20, 40, 10);
+ellipse(40, 10, 4, 4);
+line(60, 90, 15, 80);
+ellipse(60, 90, 4, 4);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_26/Ex_26.pde b/content/handbook_2e/examples/03 Draw/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..eeb73b93a
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_26/Ex_26.pde
@@ -0,0 +1,2 @@
+rect(15, 15, 50, 50); // Bottom
+ellipse(60, 60, 55, 55); // Top
diff --git a/content/handbook_2e/examples/03 Draw/Ex_27/Ex_27.pde b/content/handbook_2e/examples/03 Draw/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..56d15a867
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_27/Ex_27.pde
@@ -0,0 +1,2 @@
+ellipse(60, 60, 55, 55); // Bottom
+rect(15, 15, 50, 50); // Top
diff --git a/content/handbook_2e/examples/03 Draw/Ex_28/Ex_28.pde b/content/handbook_2e/examples/03 Draw/Ex_28/Ex_28.pde
new file mode 100644
index 000000000..3cf1df175
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_28/Ex_28.pde
@@ -0,0 +1 @@
+background(0);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_29/Ex_29.pde b/content/handbook_2e/examples/03 Draw/Ex_29/Ex_29.pde
new file mode 100644
index 000000000..a361fde4a
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_29/Ex_29.pde
@@ -0,0 +1 @@
+background(124);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_30/Ex_30.pde b/content/handbook_2e/examples/03 Draw/Ex_30/Ex_30.pde
new file mode 100644
index 000000000..5ee7ddde6
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_30/Ex_30.pde
@@ -0,0 +1 @@
+background(230);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_31/Ex_31.pde b/content/handbook_2e/examples/03 Draw/Ex_31/Ex_31.pde
new file mode 100644
index 000000000..417041a8b
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_31/Ex_31.pde
@@ -0,0 +1,7 @@
+rect(10, 10, 50, 50);
+fill(204); // Light gray
+rect(20, 20, 50, 50);
+fill(153); // Middle gray
+rect(30, 30, 50, 50);
+fill(102); // Dark gray
+rect(40, 40, 50, 50);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_32/Ex_32.pde b/content/handbook_2e/examples/03 Draw/Ex_32/Ex_32.pde
new file mode 100644
index 000000000..bbe07ec87
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_32/Ex_32.pde
@@ -0,0 +1,8 @@
+background(0);
+rect(10, 10, 50, 50);
+stroke(102); // Dark gray
+rect(20, 20, 50, 50);
+stroke(153); // Middle gray
+rect(30, 30, 50, 50);
+stroke(204); // Light gray
+rect(40, 40, 50, 50);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_33/Ex_33.pde b/content/handbook_2e/examples/03 Draw/Ex_33/Ex_33.pde
new file mode 100644
index 000000000..f64a72f14
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_33/Ex_33.pde
@@ -0,0 +1,7 @@
+fill(255); // White
+rect(10, 10, 50, 50);
+rect(20, 20, 50, 50);
+rect(30, 30, 50, 50);
+fill(0); // Black
+rect(40, 40, 50, 50);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_34/Ex_34.pde b/content/handbook_2e/examples/03 Draw/Ex_34/Ex_34.pde
new file mode 100644
index 000000000..f54e97198
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_34/Ex_34.pde
@@ -0,0 +1,4 @@
+background(0);
+fill(255, 220); // High opacity
+rect(15, 15, 50, 50);
+rect(35, 35, 50, 50);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_35/Ex_35.pde b/content/handbook_2e/examples/03 Draw/Ex_35/Ex_35.pde
new file mode 100644
index 000000000..28cf4a367
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_35/Ex_35.pde
@@ -0,0 +1,8 @@
+fill(0);
+rect(0, 40, 100, 20);
+fill(255, 51); // Low opacity
+rect(0, 20, 33, 60);
+fill(255, 127); // Medium opacity
+rect(33, 20, 33, 60);
+fill(255, 204); // High opacity
+rect(66, 20, 33, 60);
diff --git a/content/handbook_2e/examples/03 Draw/Ex_36/Ex_36.pde b/content/handbook_2e/examples/03 Draw/Ex_36/Ex_36.pde
new file mode 100644
index 000000000..da22be63b
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_36/Ex_36.pde
@@ -0,0 +1,5 @@
+rect(10, 10, 50, 50);
+noFill(); // Disable the fill
+rect(20, 20, 50, 50);
+rect(30, 30, 50, 50);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_37/Ex_37.pde b/content/handbook_2e/examples/03 Draw/Ex_37/Ex_37.pde
new file mode 100644
index 000000000..2d27c419d
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_37/Ex_37.pde
@@ -0,0 +1,5 @@
+rect(20, 15, 20, 70);
+noStroke(); // Disable the stroke
+rect(50, 15, 20, 70);
+rect(80, 15, 20, 70);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_38/Ex_38.pde b/content/handbook_2e/examples/03 Draw/Ex_38/Ex_38.pde
new file mode 100644
index 000000000..f21def39f
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_38/Ex_38.pde
@@ -0,0 +1,4 @@
+ellipse(30, 48, 36, 36);
+noSmooth();
+ellipse(70, 48, 36, 36);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_39/Ex_39.pde b/content/handbook_2e/examples/03 Draw/Ex_39/Ex_39.pde
new file mode 100644
index 000000000..3f46258bd
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_39/Ex_39.pde
@@ -0,0 +1,5 @@
+noSmooth();
+ellipse(30, 48, 36, 36);
+smooth();
+ellipse(70, 48, 36, 36);
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_40/Ex_40.pde b/content/handbook_2e/examples/03 Draw/Ex_40/Ex_40.pde
new file mode 100644
index 000000000..4f9cf0941
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_40/Ex_40.pde
@@ -0,0 +1,5 @@
+line(20, 20, 80, 20); // Default line weight of 1
+strokeWeight(6);
+line(20, 40, 80, 40); // Thicker line
+strokeWeight(18);
+line(20, 70, 80, 70); // Thickest line
diff --git a/content/handbook_2e/examples/03 Draw/Ex_41/Ex_41.pde b/content/handbook_2e/examples/03 Draw/Ex_41/Ex_41.pde
new file mode 100644
index 000000000..ddf878421
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_41/Ex_41.pde
@@ -0,0 +1,8 @@
+strokeWeight(12);
+strokeCap(ROUND);
+line(20, 30, 80, 30); // Top line
+strokeCap(SQUARE);
+line(20, 50, 80, 50); // Middle line
+strokeCap(PROJECT);
+line(20, 70, 80, 70); // Bottom line
+
diff --git a/content/handbook_2e/examples/03 Draw/Ex_42/Ex_42.pde b/content/handbook_2e/examples/03 Draw/Ex_42/Ex_42.pde
new file mode 100644
index 000000000..c253f775d
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_42/Ex_42.pde
@@ -0,0 +1,7 @@
+strokeWeight(12);
+strokeJoin(BEVEL);
+rect(12, 33, 15, 33); // Left shape
+strokeJoin(MITER);
+rect(42, 33, 15, 33); // Middle shape
+strokeJoin(ROUND);
+rect(72, 33, 15, 33); // Right shape
diff --git a/content/handbook_2e/examples/03 Draw/Ex_43/Ex_43.pde b/content/handbook_2e/examples/03 Draw/Ex_43/Ex_43.pde
new file mode 100644
index 000000000..5ed7ddcad
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_43/Ex_43.pde
@@ -0,0 +1,10 @@
+noStroke();
+ellipseMode(RADIUS);
+fill(126);
+ellipse(33, 33, 60, 60); // Gray ellipse
+fill(255);
+ellipseMode(CORNER);
+ellipse(33, 33, 60, 60); // White ellipse
+fill(0);
+ellipseMode(CORNERS);
+ellipse(33, 33, 60, 60); // Black ellipse
diff --git a/content/handbook_2e/examples/03 Draw/Ex_44/Ex_44.pde b/content/handbook_2e/examples/03 Draw/Ex_44/Ex_44.pde
new file mode 100644
index 000000000..18cf6255e
--- /dev/null
+++ b/content/handbook_2e/examples/03 Draw/Ex_44/Ex_44.pde
@@ -0,0 +1,11 @@
+noStroke();
+rectMode(CORNER);
+fill(126);
+rect(40, 40, 60, 60); // Gray ellipse
+rectMode(CENTER);
+fill(255);
+rect(40, 40, 60, 60); // White ellipse
+rectMode(CORNERS);
+fill(0);
+rect(40, 40, 60, 60); // Black ellipse
+
diff --git a/content/handbook_2e/examples/04 Color/Ex_01/Ex_01.pde b/content/handbook_2e/examples/04 Color/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..13139bd8c
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_01/Ex_01.pde
@@ -0,0 +1 @@
+background(242, 204, 47);
diff --git a/content/handbook_2e/examples/04 Color/Ex_02/Ex_02.pde b/content/handbook_2e/examples/04 Color/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..7c56c024d
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_02/Ex_02.pde
@@ -0,0 +1 @@
+background(174, 221, 60);
diff --git a/content/handbook_2e/examples/04 Color/Ex_03/Ex_03.pde b/content/handbook_2e/examples/04 Color/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..fe84399fc
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_03/Ex_03.pde
@@ -0,0 +1,4 @@
+background(129, 130, 87);
+noStroke();
+fill(174, 221, 60);
+rect(17, 17, 66, 66);
diff --git a/content/handbook_2e/examples/04 Color/Ex_04/Ex_04.pde b/content/handbook_2e/examples/04 Color/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..e3aa838ce
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_04/Ex_04.pde
@@ -0,0 +1,5 @@
+background(129, 130, 87);
+noFill();
+strokeWeight(4);
+stroke(174, 221, 60);
+rect(19, 19, 62, 62);
diff --git a/content/handbook_2e/examples/04 Color/Ex_05/Ex_05.pde b/content/handbook_2e/examples/04 Color/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..1c90ea57a
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_05/Ex_05.pde
@@ -0,0 +1,6 @@
+background(116, 193, 206);
+noStroke();
+fill(129, 130, 87, 102); // More transparent
+rect(20, 20, 30, 60);
+fill(129, 130, 87, 204); // Less transparent
+rect(50, 20, 30, 60);
diff --git a/content/handbook_2e/examples/04 Color/Ex_06/Ex_06.pde b/content/handbook_2e/examples/04 Color/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..465a07900
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_06/Ex_06.pde
@@ -0,0 +1,12 @@
+background(116, 193, 206);
+noStroke();
+fill(129, 130, 87, 51);
+rect(0, 20, 20, 60);
+fill(129, 130, 87, 102);
+rect(20, 20, 20, 60);
+fill(129, 130, 87, 153);
+rect(40, 20, 20, 60);
+fill(129, 130, 87, 204);
+rect(60, 20, 20, 60);
+fill(129, 130, 87, 255);
+rect(80, 20, 20, 60);
diff --git a/content/handbook_2e/examples/04 Color/Ex_07/Ex_07.pde b/content/handbook_2e/examples/04 Color/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..00bee6d5d
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_07/Ex_07.pde
@@ -0,0 +1,6 @@
+background(56, 90, 94);
+strokeWeight(12);
+stroke(242, 204, 47, 102); // More transparency
+line(30, 20, 50, 80);
+stroke(242, 204, 47, 204); // Less transparency
+line(50, 20, 70, 80);
diff --git a/content/handbook_2e/examples/04 Color/Ex_08/Ex_08.pde b/content/handbook_2e/examples/04 Color/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..2d2ad5f92
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_08/Ex_08.pde
@@ -0,0 +1,12 @@
+background(56, 90, 94);
+strokeWeight(12);
+stroke(242, 204, 47, 51);
+line(0, 20, 20, 80);
+stroke(242, 204, 47, 102);
+line(20, 20, 40, 80);
+stroke(242, 204, 47, 153);
+line(40, 20, 60, 80);
+stroke(242, 204, 47, 204);
+line(60, 20, 80, 80);
+stroke(242, 204, 47, 255);
+line(80, 20, 100, 80);
diff --git a/content/handbook_2e/examples/04 Color/Ex_09/Ex_09.pde b/content/handbook_2e/examples/04 Color/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..b98baf644
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_09/Ex_09.pde
@@ -0,0 +1,8 @@
+background(0);
+noStroke();
+fill(242, 204, 47, 160); // Yellow
+ellipse(47, 36, 64, 64);
+fill(174, 221, 60, 160); // Green
+ellipse(90, 47, 64, 64);
+fill(116, 193, 206, 160); // Blue
+ellipse(57, 79, 64, 64);
diff --git a/content/handbook_2e/examples/04 Color/Ex_10/Ex_10.pde b/content/handbook_2e/examples/04 Color/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..5c10e2b05
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_10/Ex_10.pde
@@ -0,0 +1,8 @@
+background(255);
+noStroke();
+fill(242, 204, 47, 160); // Yellow
+ellipse(47, 36, 64, 64);
+fill(174, 221, 60, 160); // Green
+ellipse(90, 47, 64, 64);
+fill(116, 193, 206, 160); // Blue
+ellipse(57, 79, 64, 64);
diff --git a/content/handbook_2e/examples/04 Color/Ex_11/Ex_11.pde b/content/handbook_2e/examples/04 Color/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..cec777588
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_11/Ex_11.pde
@@ -0,0 +1,9 @@
+size(100, 100);
+stroke(153, 204);
+strokeWeight(12);
+background(0);
+line(20, 20, 40, 80);
+line(40, 20, 20, 80);
+blendMode(ADD); // Change blend mode
+line(60, 20, 80, 80);
+line(80, 20, 60, 80);
diff --git a/content/handbook_2e/examples/04 Color/Ex_12/Ex_12.pde b/content/handbook_2e/examples/04 Color/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..dfbc26597
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_12/Ex_12.pde
@@ -0,0 +1,10 @@
+size(100, 100);
+stroke(153, 204);
+strokeWeight(12);
+background(0);
+blendMode(ADD); // Change blend mode
+line(20, 20, 40, 80);
+line(40, 20, 20, 80);
+blendMode(BLEND); // Restore default blend mode
+line(60, 20, 80, 80);
+line(80, 20, 60, 80);
diff --git a/content/handbook_2e/examples/04 Color/Ex_13/Ex_13.pde b/content/handbook_2e/examples/04 Color/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..20166c845
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_13/Ex_13.pde
@@ -0,0 +1,2 @@
+// Set the range for the red, green, and blue values from 0.0 to 1.0
+colorMode(RGB, 1.0);
diff --git a/content/handbook_2e/examples/04 Color/Ex_14/Ex_14.pde b/content/handbook_2e/examples/04 Color/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..406c6f1d3
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_14/Ex_14.pde
@@ -0,0 +1,3 @@
+// Set the range for the hue to values from 0 to 360 and the
+// saturation and brightness to values between 0 and 100
+colorMode(HSB, 360, 100, 100);
diff --git a/content/handbook_2e/examples/04 Color/Ex_15/Ex_15.pde b/content/handbook_2e/examples/04 Color/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..633b07933
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_15/Ex_15.pde
@@ -0,0 +1,11 @@
+// Change the hue, same saturation and brightness
+colorMode(HSB, 360, 100, 100);
+noStroke();
+fill(0, 100, 100);
+rect(0, 0, 25, 100);
+fill(90, 100, 100);
+rect(25, 0, 25, 100);
+fill(180, 100, 100);
+rect(50, 0, 25, 100);
+fill(270, 100, 100);
+rect(75, 0, 25, 100);
diff --git a/content/handbook_2e/examples/04 Color/Ex_16/Ex_16.pde b/content/handbook_2e/examples/04 Color/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..131615e12
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_16/Ex_16.pde
@@ -0,0 +1,11 @@
+// Change the saturation, same hue and brightness
+colorMode(HSB, 360, 100, 100);
+noStroke();
+fill(180, 0, 80);
+rect(0, 0, 25, 100);
+fill(180, 25, 80);
+rect(25, 0, 25, 100);
+fill(180, 50, 80);
+rect(50, 0, 25, 100);
+fill(180, 75, 80);
+rect(75, 0, 25, 100);
diff --git a/content/handbook_2e/examples/04 Color/Ex_17/Ex_17.pde b/content/handbook_2e/examples/04 Color/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..ad90c9598
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_17/Ex_17.pde
@@ -0,0 +1,11 @@
+// Change the brightness, same hue and saturation
+colorMode(HSB, 360, 100, 100);
+noStroke();
+fill(180, 42, 0);
+rect(0, 0, 25, 100);
+fill(180, 42, 25);
+rect(25, 0, 25, 100);
+fill(180, 42, 50);
+rect(50, 0, 25, 100);
+fill(180, 42, 75);
+rect(75, 0, 25, 100);
diff --git a/content/handbook_2e/examples/04 Color/Ex_18/Ex_18.pde b/content/handbook_2e/examples/04 Color/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..2e48e7795
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_18/Ex_18.pde
@@ -0,0 +1,21 @@
+// Shift from red to green in RGB mode
+
+
+
+
+
+
+
+
+colorMode(RGB, 255, 255, 255);
+noStroke();
+fill(206, 60, 60);
+rect(0, 0, 20, 100);
+fill(186, 89, 60);
+rect(20, 0, 20, 100);
+fill(166, 118, 60);
+rect(40, 0, 20, 100);
+fill(147, 147, 60);
+rect(60, 0, 20, 100);
+fill(108, 206, 60);
+rect(80, 0, 20, 100);
diff --git a/content/handbook_2e/examples/04 Color/Ex_19/Ex_19.pde b/content/handbook_2e/examples/04 Color/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..d8383dd42
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_19/Ex_19.pde
@@ -0,0 +1,13 @@
+// Shift from red to green in HSB mode
+colorMode(HSB, 360, 100, 100);
+noStroke();
+fill(0, 70, 80);
+rect(0, 0, 20, 100);
+fill(25, 70, 80);
+rect(20, 0, 20, 100);
+fill(50, 70, 80);
+rect(40, 0, 20, 100);
+fill(75, 70, 80);
+rect(60, 0, 20, 100);
+fill(100, 70, 80);
+rect(80, 0, 20, 100);
diff --git a/content/handbook_2e/examples/04 Color/Ex_20/Ex_20.pde b/content/handbook_2e/examples/04 Color/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..19d6951a8
--- /dev/null
+++ b/content/handbook_2e/examples/04 Color/Ex_20/Ex_20.pde
@@ -0,0 +1,5 @@
+// Code 2-03 rewritten using hex numbers
+background(#818257);
+noStroke();
+fill(#AEDD3C);
+rect(17, 17, 66, 66);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_01/Ex_01.pde b/content/handbook_2e/examples/05 Variables/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..ee0250e53
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_01/Ex_01.pde
@@ -0,0 +1,6 @@
+int x; // Declare the variable x of type int
+float y; // Declare the variable y of type float
+boolean b; // Declare the variable b of type boolean
+x = 50; // Assign the value 50 to x
+y = 12.6; // Assign the value 12.6 to y
+b = true; // Assign the value true to b
diff --git a/content/handbook_2e/examples/05 Variables/Ex_02/Ex_02.pde b/content/handbook_2e/examples/05 Variables/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..8c888e31a
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_02/Ex_02.pde
@@ -0,0 +1,3 @@
+int x = 50;
+float y = 12.6;
+boolean b = true;
diff --git a/content/handbook_2e/examples/05 Variables/Ex_03/Ex_03.pde b/content/handbook_2e/examples/05 Variables/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..001d725e4
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_03/Ex_03.pde
@@ -0,0 +1,4 @@
+float x, y, z;
+x = -3.9;
+y = 10.1;
+z = 124.23;
diff --git a/content/handbook_2e/examples/05 Variables/Ex_04/Ex_04.pde b/content/handbook_2e/examples/05 Variables/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..0b4eaa75a
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_04/Ex_04.pde
@@ -0,0 +1,3 @@
+int x = 69; // Assign 69 to x
+x = 70; // Assign 70 to x
+int x = 71; // ERROR! The data type for x is duplicated
diff --git a/content/handbook_2e/examples/05 Variables/Ex_05/Ex_05.pde b/content/handbook_2e/examples/05 Variables/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..c7f66b12b
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_05/Ex_05.pde
@@ -0,0 +1,2 @@
+// Error! The left side of an assignment must be a variable
+5 = 12;
diff --git a/content/handbook_2e/examples/05 Variables/Ex_06/Ex_06.pde b/content/handbook_2e/examples/05 Variables/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..323aa3c4c
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_06/Ex_06.pde
@@ -0,0 +1,2 @@
+// Error! It’s not possible to fit a floating-point number into an int
+int x = 24.8;
diff --git a/content/handbook_2e/examples/05 Variables/Ex_07/Ex_07.pde b/content/handbook_2e/examples/05 Variables/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..04339a640
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_07/Ex_07.pde
@@ -0,0 +1,3 @@
+float f = 12.5;
+// Error! It’s not possible to fit a floating-point number into an int
+int y = f;
diff --git a/content/handbook_2e/examples/05 Variables/Ex_08/Ex_08.pde b/content/handbook_2e/examples/05 Variables/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..53b7375ad
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_08/Ex_08.pde
@@ -0,0 +1,4 @@
+color c1 = color(51); // Creates gray
+color c2 = color(51, 204); // Creates gray with transparency
+color c3 = color(51, 102, 153); // Creates blue
+color c4 = color(51, 102, 153, 51); // Creates blue with transparency
diff --git a/content/handbook_2e/examples/05 Variables/Ex_09/Ex_09.pde b/content/handbook_2e/examples/05 Variables/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..540912cba
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_09/Ex_09.pde
@@ -0,0 +1,6 @@
+color ruby = color(211, 24, 24, 160);
+color pink = color(237, 159, 176);
+background(pink);
+noStroke();
+fill(ruby);
+rect(35, 0, 20, 100);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_10/Ex_10.pde b/content/handbook_2e/examples/05 Variables/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..622576541
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_10/Ex_10.pde
@@ -0,0 +1 @@
+println(width + ", " + height); // Prints "100, 100" to the console
diff --git a/content/handbook_2e/examples/05 Variables/Ex_11/Ex_11.pde b/content/handbook_2e/examples/05 Variables/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..248c00808
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_11/Ex_11.pde
@@ -0,0 +1,2 @@
+size(300, 400);
+println(width + ", " + height); // Prints "300, 400" to the console
diff --git a/content/handbook_2e/examples/05 Variables/Ex_12/Ex_12.pde b/content/handbook_2e/examples/05 Variables/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..763f5d378
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_12/Ex_12.pde
@@ -0,0 +1,2 @@
+size(1280, 1024);
+println(width + ", " + height); // Prints "1280, 1024" to the console
diff --git a/content/handbook_2e/examples/05 Variables/Ex_13/Ex_13.pde b/content/handbook_2e/examples/05 Variables/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..b08969e6d
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_13/Ex_13.pde
@@ -0,0 +1,4 @@
+size(100, 100);
+ellipse(width*0.5, height*0.5, width*0.66, height*0.66);
+line(width*0.5, 0, width*0.5, height);
+line(0, height*0.5, width, height*0.5);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_14/Ex_14.pde b/content/handbook_2e/examples/05 Variables/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..a26e66a84
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_14/Ex_14.pde
@@ -0,0 +1,6 @@
+int grayVal = 153;
+fill(grayVal);
+rect(10, 10, 55, 55); // Draw gray rectangle
+grayVal = grayVal + 102; // Assign 255 to grayVal
+fill(grayVal);
+rect(35, 30, 55, 55); // Draw white triangle
diff --git a/content/handbook_2e/examples/05 Variables/Ex_15/Ex_15.pde b/content/handbook_2e/examples/05 Variables/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..9b314d3d8
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_15/Ex_15.pde
@@ -0,0 +1,5 @@
+int a = 30;
+line(a, 0, a, height);
+a = a + 40; // Assign 70 to a
+strokeWeight(4);
+line(a, 0, a, height);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_16/Ex_16.pde b/content/handbook_2e/examples/05 Variables/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..b31960e7a
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_16/Ex_16.pde
@@ -0,0 +1,7 @@
+int a = 30;
+int b = 40;
+line(a, 0, a, height);
+line(b, 0, b, height);
+strokeWeight(4);
+// A calculation can be used as an input to a function
+line(b-a, 0, b-a, height);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_17/Ex_17.pde b/content/handbook_2e/examples/05 Variables/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..b7d81533f
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_17/Ex_17.pde
@@ -0,0 +1,6 @@
+int a = 8;
+int b = 10;
+line(a, 0, a, height);
+line(b, 0, b, height);
+strokeWeight(4);
+line(a*b, 0, a*b, height);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_18/Ex_18.pde b/content/handbook_2e/examples/05 Variables/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..1743d416f
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_18/Ex_18.pde
@@ -0,0 +1,6 @@
+int a = 8;
+int b = 10;
+line(a, 0, a, height);
+line(b, 0, b, height);
+strokeWeight(4);
+line(a/b, 0, a/b, height);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_19/Ex_19.pde b/content/handbook_2e/examples/05 Variables/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..d8b1de859
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_19/Ex_19.pde
@@ -0,0 +1,9 @@
+int y = 20;
+line(0, y, width, y);
+y = y + 6; // Assign 26 to y
+line(0, y, width, y);
+y = y + 6; // Assign 32 to y
+line(0, y, width, y);
+y = y + 6; // Assign 38 to y
+line(0, y, width, y);
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_20/Ex_20.pde b/content/handbook_2e/examples/05 Variables/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..0d3e0ed34
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_20/Ex_20.pde
@@ -0,0 +1,8 @@
+float y = 20;
+line(0, y, width, y);
+y = y * 1.6; // Assign 32.0 to y
+line(0, y, width, y);
+y = y * 1.6; // Assign 51.2 to y
+line(0, y, width, y);
+y = y * 1.6; // Assign 81.920006 to y
+line(0, y, width, y);
diff --git a/content/handbook_2e/examples/05 Variables/Ex_21/Ex_21.pde b/content/handbook_2e/examples/05 Variables/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..5f7c20fd7
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_21/Ex_21.pde
@@ -0,0 +1,4 @@
+println(4/3); // Prints "1"
+println(4.0/3); // Prints "1.3333334"
+println(4/3.0); // Prints "1.3333334"
+println(4.0/3.0); // Prints "1.3333334"
diff --git a/content/handbook_2e/examples/05 Variables/Ex_22/Ex_22.pde b/content/handbook_2e/examples/05 Variables/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..fa7fce0e4
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_22/Ex_22.pde
@@ -0,0 +1,6 @@
+int a = 4/3; // Assign 1 to a
+int b = 3/4; // Assign 0 to b
+int c = 4.0/3; // ERROR!
+int d = 4.0/3.0; // ERROR!
+float e = 4.0/3; // Assign 1.3333334 to e
+float f = 4.0/3.0; // Assign 1.3333334 to f
diff --git a/content/handbook_2e/examples/05 Variables/Ex_23/Ex_23.pde b/content/handbook_2e/examples/05 Variables/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..c57e1aa09
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_23/Ex_23.pde
@@ -0,0 +1,2 @@
+float a = 4/3; // Assign 1.0 to a
+float b = 3/4; // Assign 0.0 to b
diff --git a/content/handbook_2e/examples/05 Variables/Ex_24/Ex_24.pde b/content/handbook_2e/examples/05 Variables/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..14e27263d
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_24/Ex_24.pde
@@ -0,0 +1,5 @@
+int i = 4;
+float f = 3.0;
+int a = i/f; // ERROR! Assign a float value to an int variable
+float b = i/f; // Assign 1.3333334 to b
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_25/Ex_25.pde b/content/handbook_2e/examples/05 Variables/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..bd3c1b521
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_25/Ex_25.pde
@@ -0,0 +1,4 @@
+int a = 0;
+int b = 12/a; // ERROR! ArithmeticException: / by zero
+
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_26/Ex_26.pde b/content/handbook_2e/examples/05 Variables/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..55e996907
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_26/Ex_26.pde
@@ -0,0 +1,4 @@
+float a = 0.0001;
+float b = 12/a; // Assign 120000.0 to b
+
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_27/Ex_27.pde b/content/handbook_2e/examples/05 Variables/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..d2166991d
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_27/Ex_27.pde
@@ -0,0 +1,6 @@
+float f = 12.6;
+int i = 127;
+f = i; // Converts 127 to 127.0
+i = f; // Error: Can't automatically convert a float to an int
+
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_28/Ex_28.pde b/content/handbook_2e/examples/05 Variables/Ex_28/Ex_28.pde
new file mode 100644
index 000000000..20a2cb6e1
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_28/Ex_28.pde
@@ -0,0 +1,6 @@
+int i = 0;
+boolean b = boolean(i); // Assign false to b
+int n = 12;
+b = boolean(n); // Assign true to b
+String s = "false";
+b = boolean(s); // Assign false to b
diff --git a/content/handbook_2e/examples/05 Variables/Ex_29/Ex_29.pde b/content/handbook_2e/examples/05 Variables/Ex_29/Ex_29.pde
new file mode 100644
index 000000000..85d576243
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_29/Ex_29.pde
@@ -0,0 +1,6 @@
+float f = 65.0;
+byte b = byte(f); // Assign 65 to b
+char c = 'E';
+b = byte(c); // Assign 69 to b
+f = 130.0;
+b = byte(f); // Assign -126 to b
diff --git a/content/handbook_2e/examples/05 Variables/Ex_30/Ex_30.pde b/content/handbook_2e/examples/05 Variables/Ex_30/Ex_30.pde
new file mode 100644
index 000000000..698e8d503
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_30/Ex_30.pde
@@ -0,0 +1,6 @@
+int i = 65;
+byte y = 72;
+char c = char(i); // Assign 'A' to c
+c = char(y); // Assign 'H' to c
+
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_31/Ex_31.pde b/content/handbook_2e/examples/05 Variables/Ex_31/Ex_31.pde
new file mode 100644
index 000000000..5a1d02d7d
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_31/Ex_31.pde
@@ -0,0 +1,4 @@
+int i = 2;
+int j = 3;
+float f1 = i/j; // Assign 0.0 to f1
+float f2 = i/float(j); // Assign 0.6666667 to f2
diff --git a/content/handbook_2e/examples/05 Variables/Ex_32/Ex_32.pde b/content/handbook_2e/examples/05 Variables/Ex_32/Ex_32.pde
new file mode 100644
index 000000000..1a66ff714
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_32/Ex_32.pde
@@ -0,0 +1,6 @@
+float f = 65.9;
+int i = int(f); // Assign 65 to i
+char c = 'E';
+i = int(c); // Assign 69 to i
+
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_33/Ex_33.pde b/content/handbook_2e/examples/05 Variables/Ex_33/Ex_33.pde
new file mode 100644
index 000000000..e8113cb87
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_33/Ex_33.pde
@@ -0,0 +1,2 @@
+float x = 3 + 4 * 5; // Assign 23 to x
+float y = (3 + 4) * 5; // Assign 35 to y
diff --git a/content/handbook_2e/examples/05 Variables/Ex_34/Ex_34.pde b/content/handbook_2e/examples/05 Variables/Ex_34/Ex_34.pde
new file mode 100644
index 000000000..b904df278
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_34/Ex_34.pde
@@ -0,0 +1,2 @@
+float x = 10 * 20 + 5; // Assign 205 to x
+float y = (10 * 20) + 5; // Assign 205 to y
diff --git a/content/handbook_2e/examples/05 Variables/Ex_35/Ex_35.pde b/content/handbook_2e/examples/05 Variables/Ex_35/Ex_35.pde
new file mode 100644
index 000000000..d3f9f860e
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_35/Ex_35.pde
@@ -0,0 +1,9 @@
+int x = 1;
+println(x); // Prints "1" to the console
+x++; // Equivalent to x = x + 1
+println(x); // Prints "2" to the console
+
+int y = 1;
+println(y); // Prints "1" to the console
+y--; // Equivalent to y = y - 1
+println(y); // Prints "0" to the console
diff --git a/content/handbook_2e/examples/05 Variables/Ex_36/Ex_36.pde b/content/handbook_2e/examples/05 Variables/Ex_36/Ex_36.pde
new file mode 100644
index 000000000..7172bff38
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_36/Ex_36.pde
@@ -0,0 +1,3 @@
+int x = 1;
+println(x++); // Prints "1" to the console
+println(x); // Prints "2" to the console
diff --git a/content/handbook_2e/examples/05 Variables/Ex_37/Ex_37.pde b/content/handbook_2e/examples/05 Variables/Ex_37/Ex_37.pde
new file mode 100644
index 000000000..7c7be7581
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_37/Ex_37.pde
@@ -0,0 +1,4 @@
+int x = 1;
+println(++x); // Prints "2" to the console
+println(x); // Prints "2" to the console
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_38/Ex_38.pde b/content/handbook_2e/examples/05 Variables/Ex_38/Ex_38.pde
new file mode 100644
index 000000000..82cc49167
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_38/Ex_38.pde
@@ -0,0 +1,10 @@
+int x = 1;
+println(x); // Prints "1" to the console
+x += 5; // Equivalent to x = x + 5
+println(x); // Prints "6" to the console
+
+int y = 1;
+println(y); // Prints "1" to the console
+y -= 5; // Equivalent to y = y - 5
+println(y); // Prints "-4" to the console
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_39/Ex_39.pde b/content/handbook_2e/examples/05 Variables/Ex_39/Ex_39.pde
new file mode 100644
index 000000000..013f75d42
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_39/Ex_39.pde
@@ -0,0 +1,10 @@
+int x = 4;
+println(x); // Prints "4" to the console
+x *= 2; // Equivalent to x = x * 2
+println(x); // Prints "8" to the console
+
+int y = 4;
+println(y); // Prints "4" to the console
+y /= 2; // Equivalent to y = y / 2
+println(y); // Prints "2" to the console
+
diff --git a/content/handbook_2e/examples/05 Variables/Ex_40/Ex_40.pde b/content/handbook_2e/examples/05 Variables/Ex_40/Ex_40.pde
new file mode 100644
index 000000000..746b6ee67
--- /dev/null
+++ b/content/handbook_2e/examples/05 Variables/Ex_40/Ex_40.pde
@@ -0,0 +1,3 @@
+int x = 5; // Assigns 5 to x
+x = -x; // Equivalent to x = x * -1
+println(x); // Prints "-5"
diff --git a/content/handbook_2e/examples/06 Flow/Ex_01/Ex_01.pde b/content/handbook_2e/examples/06 Flow/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..d7df517d1
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_01/Ex_01.pde
@@ -0,0 +1,4 @@
+// Print each frame number to the console
+void draw() {
+ println(frameCount);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_02/Ex_02.pde b/content/handbook_2e/examples/06 Flow/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..2122e3604
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_02/Ex_02.pde
@@ -0,0 +1,5 @@
+// Run at around 4 fps, print each frame number to the console
+void draw() {
+ frameRate(4);
+ println(frameCount);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_03/Ex_03.pde b/content/handbook_2e/examples/06 Flow/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..db5b5bc29
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_03/Ex_03.pde
@@ -0,0 +1,7 @@
+float y = 0.0;
+
+void draw() {
+
+ line(0, y, 100, y);
+ y = y + 0.5;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_04/Ex_04.pde b/content/handbook_2e/examples/06 Flow/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..91933ed0a
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_04/Ex_04.pde
@@ -0,0 +1,7 @@
+float y = 0.0;
+
+void draw() {
+ background(204);
+ line(0, y, 100, y);
+ y = y + 0.5;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_05/Ex_05.pde b/content/handbook_2e/examples/06 Flow/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..a84f8af93
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_05/Ex_05.pde
@@ -0,0 +1,7 @@
+float y = 0.0;
+
+void draw() {
+ background(y * 2.5);
+ line(0, y, 100, y);
+ y = y + 0.5;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_06/Ex_06.pde b/content/handbook_2e/examples/06 Flow/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..80a4a11c8
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_06/Ex_06.pde
@@ -0,0 +1,12 @@
+float y = 0.0;
+
+void setup() {
+ size(100, 100);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ ellipse(50, y, 70, 70);
+ y = y + 0.5;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_07/Ex_07.pde b/content/handbook_2e/examples/06 Flow/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..b635bedc5
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_07/Ex_07.pde
@@ -0,0 +1,5 @@
+void setup() {
+ size(100, 100);
+ fill(0);
+ ellipse(50, 50, 66, 66);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_08/Ex_08.pde b/content/handbook_2e/examples/06 Flow/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..441e0e20e
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_08/Ex_08.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+ fill(0);
+ noLoop();
+}
+
+void draw() {
+ ellipse(50, 50, 66, 66);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_09/Ex_09.pde b/content/handbook_2e/examples/06 Flow/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..4851b8116
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_09/Ex_09.pde
@@ -0,0 +1,15 @@
+println(3 > 5); // Prints "false"
+println(5 > 3); // Prints "true"
+println(5 > 5); // Prints "false"
+
+println(3 < 5); // Prints "true"
+println(5 < 3); // Prints "false"
+println(5 < 5); // Prints "false"
+
+println(3 >= 5); // Prints "false"
+println(5 >= 3); // Prints "true"
+println(5 >= 5); // Prints "true"
+
+println(3 <= 5); // Prints "true"
+println(5 <= 3); // Prints "false"
+println(5 <= 5); // Prints "true"
diff --git a/content/handbook_2e/examples/06 Flow/Ex_10/Ex_10.pde b/content/handbook_2e/examples/06 Flow/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..8b3779a73
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_10/Ex_10.pde
@@ -0,0 +1,7 @@
+println(3 == 5); // Prints "false"
+println(5 == 3); // Prints "false"
+println(5 == 5); // Prints "true"
+
+println(3 != 5); // Prints "true"
+println(5 != 3); // Prints "true"
+println(5 != 5); // Prints "false"
diff --git a/content/handbook_2e/examples/06 Flow/Ex_11/Ex_11.pde b/content/handbook_2e/examples/06 Flow/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..e6a774bf0
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_11/Ex_11.pde
@@ -0,0 +1,11 @@
+float y = 0.0;
+
+void draw() {
+ background(204);
+ line(0, y, 100, y);
+ y = y + 0.5;
+ if (y > height) {
+ y = 0.0;
+ }
+ println(y); // Print value of y to the console
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_12/Ex_12.pde b/content/handbook_2e/examples/06 Flow/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..59e9205d7
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_12/Ex_12.pde
@@ -0,0 +1,17 @@
+float x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ if (x < 20) { // If x is less than 40,
+ ellipse(50, 50, 60, 60); // draw the ellipse
+ }
+ if (x > 80) { // If x is greater than 60
+ rect(20, 20, 60, 60); // draw this rectangle
+ }
+ line(x, 0, x, 100);
+ x += 0.25;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_13/Ex_13.pde b/content/handbook_2e/examples/06 Flow/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..67e5a4f04
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_13/Ex_13.pde
@@ -0,0 +1,16 @@
+float x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ if (x < 20) { // If x is less than 20,
+ ellipse(50, 50, 60, 60); // draw this ellipse,
+ } else { // else if x is not less,
+ rect(20, 20, 60, 60); // draw this rectangle
+ }
+ line(x, 0, x, 100);
+ x += 0.25;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_14/Ex_14.pde b/content/handbook_2e/examples/06 Flow/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..b80a48d9b
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_14/Ex_14.pde
@@ -0,0 +1,20 @@
+float x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ if (x < 80) {
+ if (x < 40) {
+ ellipse(50, 50, 20, 20); // Small circle
+ } else {
+ ellipse(50, 50, 60, 60); // Large circle
+ }
+ } else {
+ rect(20, 20, 60, 60);
+ }
+ line(x, 0, x, 100);
+ x += 0.25;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_15/Ex_15.pde b/content/handbook_2e/examples/06 Flow/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..4dba607d6
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_15/Ex_15.pde
@@ -0,0 +1,23 @@
+float x = 0.0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ if (x < 40) {
+ // If x is less than 40, draw a small circle
+ ellipse(50, 50, 20, 20);
+ } else if (x < 80) {
+ // If the previous test was false and x is
+ // also less than 80, draw a large circle
+ ellipse(50, 50, 60, 60);
+ } else {
+ // If neither test was true, x is larger than
+ // or equal to 80, so draw a rectangle
+ rect(20, 20, 60, 60);
+ }
+ line(x, 0, x, 100);
+ x += 0.25;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_16/Ex_16.pde b/content/handbook_2e/examples/06 Flow/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..196111500
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_16/Ex_16.pde
@@ -0,0 +1,17 @@
+float x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ // The expression "x < 20" must be true OR "x > 80"
+ // must be true. When one of them is TRUE, the code
+ // in the block runs.
+ if ((x < 20) || (x > 80)) {
+ rect(20, 20, 60, 60);
+ }
+ line(x, 0, x, 100);
+ x += 0.25;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_17/Ex_17.pde b/content/handbook_2e/examples/06 Flow/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..90178b536
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_17/Ex_17.pde
@@ -0,0 +1,17 @@
+float x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ // The expression "x > 20" must be true AND "x < 80"
+ // must be true. When both are TRUE, the code
+ // in the block runs.
+ if ((x > 20) && (x < 80)) {
+ rect(20, 20, 60, 60);
+ }
+ line(x, 0, x, 100);
+ x += 0.25;
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_18/Ex_18.pde b/content/handbook_2e/examples/06 Flow/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..149974a11
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_18/Ex_18.pde
@@ -0,0 +1,10 @@
+boolean b = true; // Assign true to b
+println(b); // Prints "true"
+println(!b); // Prints "false"
+b = !b; // Assign false to b
+println(b); // Prints "false"
+println(!b); // Prints "true"
+println(5 > 3); // Prints "true"
+println(!(5 > 3)); // Prints "false"
+int x = 5;
+println(!x); // ERROR! It's only possible to ! a boolean variable
diff --git a/content/handbook_2e/examples/06 Flow/Ex_19/Ex_19.pde b/content/handbook_2e/examples/06 Flow/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..5d48bf248
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_19/Ex_19.pde
@@ -0,0 +1,8 @@
+// Because b is true, the line draws
+boolean b = true;
+if (b == true) { // If b is true,
+ line(20, 50, 80, 50); // draw the line
+}
+if (!b == true) { // If b is false,
+ ellipse(50, 50, 36, 36); // draw the ellipse
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_20/Ex_20.pde b/content/handbook_2e/examples/06 Flow/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..d6718feab
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_20/Ex_20.pde
@@ -0,0 +1,14 @@
+int d = 51; // Variable d can be used everywhere
+
+void setup() {
+ size(100, 100);
+ int val = d * 2; // Local variable val can only be used in setup()
+ fill(val);
+}
+
+void draw() {
+ int y = 60; // Local variable y can only be used in draw()
+ line(0, y, d, y);
+ y -= 25;
+ line(0, y, d, y);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_21/Ex_21.pde b/content/handbook_2e/examples/06 Flow/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..afc77cbcd
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_21/Ex_21.pde
@@ -0,0 +1,9 @@
+void draw() {
+ int d = 80; // This variable can be used everywhere in draw()
+ if (d > 50) {
+ int x = 10; // This variable can be used only in this if block
+ line(x, 40, x+d, 40);
+ }
+ line(0, 50, d, 50);
+ line(x, 60, x+d, 60); // ERROR! x can't be read outside block
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_22/Ex_22.pde b/content/handbook_2e/examples/06 Flow/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..5e0987650
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_22/Ex_22.pde
@@ -0,0 +1,11 @@
+int d = 45; // Assign 45 to variable d
+
+void setup() {
+ size(100, 100);
+ int d = 90; // Assign 90 to local variable d
+ rect(0, 0, 33, d); // Use local d with value 90
+}
+
+void draw() {
+ rect(33, 0, 33, d); // Use d with value 45
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_23/Ex_23.pde b/content/handbook_2e/examples/06 Flow/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..1bd55abf8
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_23/Ex_23.pde
@@ -0,0 +1,7 @@
+int x = 50;
+
+if (x > 100) {
+ line(20, 20, 80, 80);
+} else {
+ line(80, 20, 20, 80);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_24/Ex_24.pde b/content/handbook_2e/examples/06 Flow/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..4231218f3
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_24/Ex_24.pde
@@ -0,0 +1,10 @@
+int x = 50;
+
+if (x > 100)
+{
+ line(20, 20, 80, 80);
+}
+else
+{
+ line(20, 80, 80, 20);
+}
diff --git a/content/handbook_2e/examples/06 Flow/Ex_25/Ex_25.pde b/content/handbook_2e/examples/06 Flow/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..7672892d6
--- /dev/null
+++ b/content/handbook_2e/examples/06 Flow/Ex_25/Ex_25.pde
@@ -0,0 +1,7 @@
+int x = 50;
+
+if (x > 100) {
+line(20, 20, 80, 80); // Avoid formatting code like this
+} else { // because it makes it difficult to see
+line(80, 20, 20, 80); // what is inside the block
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_01/Ex_01.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..bd5bdc483
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_01/Ex_01.pde
@@ -0,0 +1,5 @@
+void draw() {
+ frameRate(12);
+ println(mouseX + " : " + mouseY);
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_02/Ex_02.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..8e50a9610
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_02/Ex_02.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(126);
+ ellipse(mouseX, mouseY, 33, 33);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_02/sketch.properties b/content/handbook_2e/examples/07 Interactivitiy/Ex_02/sketch.properties
new file mode 100644
index 000000000..8630fa24a
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_02/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.java.JavaMode
+mode=Java
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_03/Ex_03.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..cc7a23a34
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_03/Ex_03.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(126);
+ ellipse(mouseX, 16, 33, 33); // Top circle
+ ellipse(mouseX+20, 50, 33, 33); // Middle circle
+ ellipse(mouseX-20, 84, 33, 33); // Bottom circle
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_04/Ex_04.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..66f002fa1
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_04/Ex_04.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(126);
+ ellipse(mouseX, 16, 33, 33); // Top circle
+ ellipse(mouseX/2, 50, 33, 33); // Middle circle
+ ellipse(mouseX*2, 84, 33, 33); // Bottom circle
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_05/Ex_05.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..5528fdd01
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_05/Ex_05.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ float x = mouseX;
+ float y = mouseY;
+ float ix = width - mouseX; // Inverse X
+ float iy = height - mouseY; // Inverse Y
+ background(126);
+ fill(255, 150);
+ ellipse(x, height/2, y, y);
+ fill(0, 159);
+ ellipse(ix, height/2, iy, iy);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_06/Ex_06.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..d6f2195fd
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_06/Ex_06.pde
@@ -0,0 +1,4 @@
+void draw() {
+ frameRate(12);
+ println(pmouseX - mouseX);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_07/Ex_07.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..dc2cec736
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_07/Ex_07.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+ strokeWeight(8);
+}
+
+void draw() {
+ background(204);
+ line(mouseX, mouseY, pmouseX, pmouseY);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_08/Ex_08.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..38089f55f
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_08/Ex_08.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ if (mouseX < 50) {
+ rect(0, 0, 50, 100); // Left
+ } else {
+ rect(50, 0, 50, 100); // Right
+ }
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_09/Ex_09.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..f46ebf86c
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_09/Ex_09.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ if (mouseX < 33) {
+ rect(0, 0, 33, 100); // Left
+ } else if (mouseX < 66) {
+ rect(33, 0, 33, 100); // Middle
+ } else {
+ rect(66, 0, 33, 100); // Right
+ }
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_10/Ex_10.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..b22d3cb85
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_10/Ex_10.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ if ((mouseX > 40) && (mouseX < 80) &&
+ (mouseY > 20) && (mouseY < 80)) {
+ fill(255);
+ } else {
+ fill(0);
+ }
+ rect(40, 20, 40, 60);
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_11/Ex_11.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..a10f2a184
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_11/Ex_11.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ if ((mouseX <= 50) && (mouseY <= 50)) {
+ rect(0, 0, 50, 50); // Upper-left
+ } else if ((mouseX <= 50) && (mouseY > 50)) { rect(0, 50, 50, 50); // Lower-left
+ } else if ((mouseX > 50) && (mouseY < 50)) { rect(50, 0, 50, 50); // Upper-right
+ } else {
+ rect(50, 50, 50, 50); // Lower-right
+ }
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_12/Ex_12.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..371560eab
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_12/Ex_12.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ if (mousePressed == true) {
+ fill(255); // White
+ } else {
+ fill(0); // Black
+ }
+ rect(25, 25, 50, 50);
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_13/Ex_13.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..2e9a7d31e
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_13/Ex_13.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ if (mouseButton == LEFT) {
+ fill(0); // Black
+ } else if (mouseButton == RIGHT) {
+ fill(255); // White
+ } else {
+ fill(126); // Gray
+ }
+ rect(25, 25, 50, 50);
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_14/Ex_14.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..6abf9d93f
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_14/Ex_14.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ if (mouseButton == LEFT) {
+ fill(0); // Black
+ } else if (mouseButton == RIGHT) {
+ fill(255); // White
+ }
+ } else {
+ fill(126); // Gray
+ } rect(25, 25, 50, 50);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_15/Ex_15.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..da8a9c635
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_15/Ex_15.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+
+ strokeWeight(4);
+}
+
+void draw() {
+ background(204);
+ if (keyPressed == true) { // If the key is pressed,
+ line(20, 20, 80, 80); // draw a line
+ } else { // Otherwise,
+ rect(40, 40, 20, 20); // draw a rectangle
+ }
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_16/Ex_16.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..a24074206
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_16/Ex_16.pde
@@ -0,0 +1,14 @@
+int x = 20;
+
+void setup() {
+ size(100, 100);
+ strokeWeight(4);
+}
+
+void draw() {
+ background(204);
+ if (keyPressed == true) { // If the key is pressed
+ x++; // add 1 to x
+ }
+ line(x, 20, x-60, 80);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_17/Ex_17.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..616eddcca
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_17/Ex_17.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+ textSize(60);
+}
+
+void draw() {
+ background(0);
+ text(key, 20, 75); // Draw at coordinate (20,75)
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_18/Ex_18.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..cfa9cfb9c
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_18/Ex_18.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(100, 100);
+ strokeWeight(4);
+}
+
+void draw() {
+ background(204);
+ // If the 'A' key is pressed draw a line
+ if ((keyPressed == true) && (key == 'A')) {
+ line(50, 25, 50, 75);
+ } else { // Otherwise, draw an ellipse
+ ellipse(50, 50, 50, 50);
+ }
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_19/Ex_19.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..b06d91704
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_19/Ex_19.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+ stroke(0);
+}
+
+void draw() {
+ if (keyPressed == true) {
+ int x = key - 32;
+ line(x, 0, x, height);
+ }
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_20/Ex_20.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..0d59fce80
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_20/Ex_20.pde
@@ -0,0 +1,19 @@
+float angle = 0;
+
+void setup() {
+ size(100, 100);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ if (keyPressed == true) {
+ if ((key >= 32) && (key <= 126)) {
+ // If the key is alphanumeric,
+ // convert its value into an angle
+ angle = map(key, 32, 126, 0, 360);
+ }
+ }
+ arc(50, 50, 66, 66, 0, radians(angle));
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_21/Ex_21.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..a1bfaeeb0
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_21/Ex_21.pde
@@ -0,0 +1,21 @@
+int y = 35;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ line(10, 50, 90, 50);
+ if (key == CODED) {
+ if (keyCode == UP) {
+ y = 20;
+ } else if (keyCode == DOWN) {
+ y = 50;
+ }
+ } else {
+ y = 35;
+ }
+ rect(25, y, 50, 30);
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_22/Ex_22.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..b64bc1ba0
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_22/Ex_22.pde
@@ -0,0 +1,13 @@
+int gray = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(gray);
+}
+
+void mousePressed() {
+ gray += 20;
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_23/Ex_23.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..13b03cffb
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_23/Ex_23.pde
@@ -0,0 +1,13 @@
+int gray = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(gray);
+}
+
+void mouseReleased() {
+ gray += 20;
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_23/sketch.properties b/content/handbook_2e/examples/07 Interactivitiy/Ex_23/sketch.properties
new file mode 100644
index 000000000..8630fa24a
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_23/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.java.JavaMode
+mode=Java
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_24/Ex_24.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..20de75fa8
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_24/Ex_24.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(100, 100);
+ fill(0, 102);
+}
+
+void draw() { } // Empty draw() keeps the program running
+
+void mousePressed() {
+ rect(mouseX, mouseY, 33, 33);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_25/Ex_25.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..12fd34798
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_25/Ex_25.pde
@@ -0,0 +1,24 @@
+int dragX, dragY, moveX, moveY;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ fill(0);
+ ellipse(dragX, dragY, 33, 33); // Black circle
+ fill(153);
+ ellipse(moveX, moveY, 33, 33); // Gray circle
+}
+
+void mouseMoved() { // Move gray circle
+ moveX = mouseX;
+ moveY = mouseY;
+}
+
+void mouseDragged() { // Move black circle
+ dragX = mouseX;
+ dragY = mouseY;
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_26/Ex_26.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..abc009c97
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_26/Ex_26.pde
@@ -0,0 +1,20 @@
+boolean drawT = false;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ if (drawT == true) {
+ rect(20, 20, 60, 20);
+ rect(39, 40, 22, 45);
+ }
+}
+void keyPressed() {
+ if ((key == 'T') || (key == 't')) {
+ drawT = true;
+ }
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_27/Ex_27.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..1b69b5d58
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_27/Ex_27.pde
@@ -0,0 +1,24 @@
+boolean drawT = false;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ if (drawT == true) {
+ rect(20, 20, 60, 20);
+ rect(39, 40, 22, 45);
+ }
+}
+
+void keyPressed() {
+ if ((key == 'T') || (key == 't')) {
+ drawT = true;
+ }
+}
+
+void keyReleased() {
+ drawT = false;
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_28/Ex_28.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_28/Ex_28.pde
new file mode 100644
index 000000000..a222db712
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_28/Ex_28.pde
@@ -0,0 +1,23 @@
+int frame = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ if (frame > 120) { // If 120 frames since the mouse
+ noLoop(); // was pressed, stop the program
+ background(0); // and turn the background black.
+ } else { // Otherwise, set the background
+ background(204); // to light gray and draw lines
+ line(mouseX, 0, mouseX, 100); // at the mouse position
+ line(0, mouseY, 100, mouseY);
+ frame++;
+ }
+}
+
+void mousePressed() {
+ loop();
+ frame = 0;
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_29/Ex_29.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_29/Ex_29.pde
new file mode 100644
index 000000000..bd3a7277d
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_29/Ex_29.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(100, 100);
+ noLoop();
+}
+
+void draw() {
+ background(204);
+ line(mouseX, 0, mouseX, 100);
+ line(0, mouseY, 100, mouseY);
+}
+
+void mousePressed() {
+ redraw(); // Run the code in draw one time
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_30/Ex_30.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_30/Ex_30.pde
new file mode 100644
index 000000000..e829403ca
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_30/Ex_30.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(100, 100);
+ strokeWeight(7);
+ noCursor();
+}
+
+void draw() {
+ background(204);
+ ellipse(mouseX, mouseY, 10, 10);
+}
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_31/Ex_31.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_31/Ex_31.pde
new file mode 100644
index 000000000..84d7e06d0
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_31/Ex_31.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+ noCursor();
+}
+
+void draw() {
+ background(204);
+ if (mousePressed == true) {
+ cursor();
+ }
+}
+
diff --git a/content/handbook_2e/examples/07 Interactivitiy/Ex_32/Ex_32.pde b/content/handbook_2e/examples/07 Interactivitiy/Ex_32/Ex_32.pde
new file mode 100644
index 000000000..301342303
--- /dev/null
+++ b/content/handbook_2e/examples/07 Interactivitiy/Ex_32/Ex_32.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ if (mousePressed == true) {
+ cursor(HAND); // Draw cursor as hand
+ } else {
+ cursor(CROSS);
+ }
+ line(mouseX, 0, mouseX, height);
+ line(0, mouseY, height, mouseY);
+}
+
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_01/Ex_01.pde b/content/handbook_2e/examples/08 Repeat/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..ad0cd037d
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_01/Ex_01.pde
@@ -0,0 +1,6 @@
+int counter = 0;
+while (counter < 12) {
+ int y = 20 + (counter * 5);
+ line(20, y, 80, y+15);
+ counter += 1;
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_02/Ex_02.pde b/content/handbook_2e/examples/08 Repeat/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..2657ad625
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_02/Ex_02.pde
@@ -0,0 +1,5 @@
+int y = 20;
+while (y < 80) {
+ line(20, y, 80, y+15);
+ y += 5;
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_03/Ex_03.pde b/content/handbook_2e/examples/08 Repeat/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..e151a59ca
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_03/Ex_03.pde
@@ -0,0 +1,11 @@
+int x = -16;
+while (x < 100) {
+ line(x, 0, x+15, 50);
+ x += 10;
+}
+strokeWeight(4);
+x = -8;
+while (x < 100) {
+ line(x, 50, x+15, 100);
+ x += 10;
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_04/Ex_04.pde b/content/handbook_2e/examples/08 Repeat/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..36babb378
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_04/Ex_04.pde
@@ -0,0 +1,6 @@
+int n = 10;
+while (n > 0) {
+ println(n);
+ n--;
+}
+println("Blastoff!");
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_05/Ex_05.pde b/content/handbook_2e/examples/08 Repeat/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..2a09fc9c5
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_05/Ex_05.pde
@@ -0,0 +1,5 @@
+for (int y = 20; y < 80; y += 5) {
+ // This line will continue to run until "y"
+ // is greater than or equal to 80
+ line(20, y, 80, y+15);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_06/Ex_06.pde b/content/handbook_2e/examples/08 Repeat/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..134927f23
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_06/Ex_06.pde
@@ -0,0 +1,7 @@
+for (int x = -16; x < 100; x += 10) {
+ line(x, 0, x+15, 50);
+}
+strokeWeight(4);
+for (int x = -8; x < 100; x += 10) {
+ line(x, 50, x+15, 100);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_07/Ex_07.pde b/content/handbook_2e/examples/08 Repeat/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..f992abfbe
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_07/Ex_07.pde
@@ -0,0 +1,4 @@
+noFill();
+for (int d = 150; d > 0; d -= 10) {
+ ellipse(50, 50, d, d);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_08/Ex_08.pde b/content/handbook_2e/examples/08 Repeat/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..983b39afa
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_08/Ex_08.pde
@@ -0,0 +1,7 @@
+background(255);
+strokeWeight(2);
+for (int i = 0; i < 100; i += 4) {
+ // The variable is used for the position and gray value
+ stroke(i*2.5);
+ line(i, 0, i, 200);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_09/Ex_09.pde b/content/handbook_2e/examples/08 Repeat/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..04abab9ee
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_09/Ex_09.pde
@@ -0,0 +1,6 @@
+// Calculates the powers of two from 2 to 1024
+int p = 1;
+for (int i = 0; i < 10; i++) {
+ p = p * 2;
+ println(p);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_10/Ex_10.pde b/content/handbook_2e/examples/08 Repeat/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..12d9b1b1b
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_10/Ex_10.pde
@@ -0,0 +1,6 @@
+// Halves a number 10 times
+float num = 20;
+for (int i = 0; i < 10; i++) {
+ num = num / 2.0;
+ println(num);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_11/Ex_11.pde b/content/handbook_2e/examples/08 Repeat/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..d12b31775
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_11/Ex_11.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+ strokeWeight(2);
+}
+
+void draw() {
+ background(204);
+ // Draw more lines as mouseX increases
+ for (int i = 10; i < mouseX; i+=5) {
+ line(i, 10, i, 90);
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_12/Ex_12.pde b/content/handbook_2e/examples/08 Repeat/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..8a9c8f742
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_12/Ex_12.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ int x = 0;
+ while (x < width) {
+ line(x, 20, x, 80);
+ x += 2;
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_13/Ex_13.pde b/content/handbook_2e/examples/08 Repeat/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..4c0c31d14
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_13/Ex_13.pde
@@ -0,0 +1,10 @@
+int x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ line(x, 20, x, 80);
+ x += 2;
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_14/Ex_14.pde b/content/handbook_2e/examples/08 Repeat/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..1d0d13fdf
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_14/Ex_14.pde
@@ -0,0 +1,4 @@
+// The variable y iterates from 10 to 90 to draw the point 9 times
+for (int y = 10; y < 100; y += 10) {
+ point(10, y);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_15/Ex_15.pde b/content/handbook_2e/examples/08 Repeat/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..6f0b27545
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_15/Ex_15.pde
@@ -0,0 +1,4 @@
+// The variable x iterates from 10 to 90 to draw the point 9 times
+for (int x = 10; x < 100; x += 10) {
+ point(x, 10);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_16/Ex_16.pde b/content/handbook_2e/examples/08 Repeat/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..4896fe8ec
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_16/Ex_16.pde
@@ -0,0 +1,8 @@
+// The variable y iterates from 10 to 90 to draw
+// the point 9 times and the variable x iterates from
+// 10 to 90 to draw the point 81 times
+for (int y = 10; y < 100; y += 10) {
+ for (int x = 10; x < 100; x += 10) {
+ point(x, y);
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_17/Ex_17.pde b/content/handbook_2e/examples/08 Repeat/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..ae9a0a50c
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_17/Ex_17.pde
@@ -0,0 +1,7 @@
+fill(0);
+noStroke();
+for (int y = -10; y <= 100; y += 10) {
+ for (int x = -40; x <= 100; x += 10) {
+ ellipse(x + y/3.0, y + x/8.0, 4, 7);
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_18/Ex_18.pde b/content/handbook_2e/examples/08 Repeat/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..4b88ec5da
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_18/Ex_18.pde
@@ -0,0 +1,7 @@
+noStroke();
+for (int y = 0; y < 100; y += 10) {
+ for (int x = 0; x < 100; x += 10) {
+ fill((x+y) * 1.4);
+ rect(x, y, 10, 10);
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_19/Ex_19.pde b/content/handbook_2e/examples/08 Repeat/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..0b16ed049
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_19/Ex_19.pde
@@ -0,0 +1,6 @@
+for (int y = 1; y < 100; y += 10) {
+ for (int x = 1; x < y; x += 10) {
+ line(x, y, x+6, y+6);
+ line(x+6, y, x, y+6);
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_20/Ex_20.pde b/content/handbook_2e/examples/08 Repeat/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..a4e0bf950
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_20/Ex_20.pde
@@ -0,0 +1,4 @@
+rectMode(CENTER);
+for (int d = 18; d > 0; d -= 4) {
+ rect(50, 50, d, d);
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_21/Ex_21.pde b/content/handbook_2e/examples/08 Repeat/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..acc27ec07
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_21/Ex_21.pde
@@ -0,0 +1,9 @@
+background(255);
+rectMode(CENTER);
+for (int y = 9; y < height; y += 20) {
+ for (int x = 9; x < width; x += 20) {
+ for (int d = 18; d > 0; d -= 4) {
+ rect(x, y, d, d);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/08 Repeat/Ex_21/code/sketch.properties b/content/handbook_2e/examples/08 Repeat/Ex_21/code/sketch.properties
new file mode 100644
index 000000000..a4db1e37a
--- /dev/null
+++ b/content/handbook_2e/examples/08 Repeat/Ex_21/code/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.experimental.ExperimentalMode
+mode=Java
diff --git a/content/handbook_2e/examples/09 Synthesis 1/Ex_01/Ex_01.pde b/content/handbook_2e/examples/09 Synthesis 1/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..4f71eadd4
--- /dev/null
+++ b/content/handbook_2e/examples/09 Synthesis 1/Ex_01/Ex_01.pde
@@ -0,0 +1,19 @@
+void setup() {
+ size(600, 600);
+}
+
+void draw() {
+ background(0);
+ stroke(102);
+ line(0, height/2, width, height/2);
+ noStroke();
+ fill(255, 204);
+ int d = mouseY/2+10; // Diameter
+ ellipse(mouseX, height/2, d, d);
+ fill(255, 204);
+ int iX = width-mouseX; // Inverse X
+ int iY = height-mouseY; // Inverse Y
+ int iD = (iY/2)+10; // Inverse diameter
+ ellipse(iX, height/2, iD, iD);
+}
+
diff --git a/content/handbook_2e/examples/09 Synthesis 1/Ex_02/Ex_02.pde b/content/handbook_2e/examples/09 Synthesis 1/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..51722bb80
--- /dev/null
+++ b/content/handbook_2e/examples/09 Synthesis 1/Ex_02/Ex_02.pde
@@ -0,0 +1,29 @@
+void setup() {
+ size(600, 600);
+ strokeWeight(2);
+ noCursor();
+}
+
+void draw() {
+ background(102);
+
+ noStroke();
+ fill(0);
+ rect(150, 150, 300, 300);
+
+ stroke(255);
+ if ((mouseX > 150) && (mouseX < 450) &&
+ (mouseY > 150) && (mouseY < 450)) {
+ line(0, 0, 150, 150); // Upper-left
+ line(600, 0, 450, 150); // Upper-right
+ line(450, 450, 600, 600); // Lower-right
+ line(0, 600, 150, 450); // Lower-left
+ } else {
+ line(150, 150, 450, 450); // Upper-left to lower-right
+ line(150, 450, 450, 150); // Lower-left to upper-right
+ }
+
+ noStroke();
+ fill(0);
+ ellipse(mouseX, mouseY, 12, 12);
+}
diff --git a/content/handbook_2e/examples/09 Synthesis 1/Ex_03/Ex_03.pde b/content/handbook_2e/examples/09 Synthesis 1/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..f339dc866
--- /dev/null
+++ b/content/handbook_2e/examples/09 Synthesis 1/Ex_03/Ex_03.pde
@@ -0,0 +1,18 @@
+int gap = 20; // Distance between arcs
+int thickness = 2; // Thickness of each arc
+
+void setup() {
+ size(600, 600);
+ noFill();
+ strokeWeight(thickness);
+ stroke(0);
+}
+
+void draw() {
+ background(255);
+ float arcLength = mouseX / 95.0;
+ for (int i = gap; i < width-gap; i += gap) {
+ float angle = radians(i);
+ arc(width/2, height/2, i, i, angle, angle + arcLength);
+ }
+}
diff --git a/content/handbook_2e/examples/09 Synthesis 1/Ex_04/Ex_04.pde b/content/handbook_2e/examples/09 Synthesis 1/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..226d82e69
--- /dev/null
+++ b/content/handbook_2e/examples/09 Synthesis 1/Ex_04/Ex_04.pde
@@ -0,0 +1,41 @@
+int mode = 1;
+int lastMode = 3;
+
+void setup() {
+ size(600, 600);
+}
+
+void draw() {
+ background(204);
+ if (mode == 1) {
+ // Based on code TC
+ fill(0);
+ noStroke();
+ ellipse(210, 0, 720, 720);
+ ellipse(228, 377, 36, 36);
+ ellipse(240, 605, 420, 420);
+ } else if (mode == 2) {
+ // Based on code TC
+ stroke(0);
+ strokeWeight(2);
+ fill(255);
+ rect(60, 60, 300, 300);
+ noFill();
+ rect(120, 120, 360, 360);
+ rect(180, 180, 360, 360);
+ } else {
+ // Based on code TC
+ stroke(0);
+ strokeWeight(10);
+ for (int y = 120; y < 480; y += 30) {
+ line(120, y, 480, y + 90);
+ }
+ }
+}
+
+void mousePressed() {
+ mode++;
+ if (mode > lastMode) {
+ mode = 1;
+ }
+}
diff --git a/content/handbook_2e/examples/11 Text/Ex_01/Ex_01.pde b/content/handbook_2e/examples/11 Text/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..6d028f7cd
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_01/Ex_01.pde
@@ -0,0 +1,4 @@
+char a = 'n'; // Assign 'n' to variable a
+char b = n; // ERROR! Without quotes, n is a variable
+char c = "n"; // ERROR! The "" defines n as a String, not a char
+char d = 'not'; // ERROR! The char type can hold only one character
diff --git a/content/handbook_2e/examples/11 Text/Ex_02/Ex_02.pde b/content/handbook_2e/examples/11 Text/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..9cf44ff9d
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_02/Ex_02.pde
@@ -0,0 +1,4 @@
+char letter = 'A'; // Declare variable letter and assign 'A'
+println(letter); // Prints "A" to the console
+letter = 'B'; // Assign 'B' to variable letter
+println(letter); // Prints "B" to the console
diff --git a/content/handbook_2e/examples/11 Text/Ex_03/Ex_03.pde b/content/handbook_2e/examples/11 Text/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..b86b5edc4
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_03/Ex_03.pde
@@ -0,0 +1,5 @@
+char letter = 'A'; // Declare variable letter and assign 'A'
+println(letter); // Prints "A" to the console
+int n = letter; // Assign the numerical value of 'A' to variable n
+println(n); // Prints "65" to the console
+
diff --git a/content/handbook_2e/examples/11 Text/Ex_04/Ex_04.pde b/content/handbook_2e/examples/11 Text/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..adc516db6
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_04/Ex_04.pde
@@ -0,0 +1,6 @@
+char letter = 'A'; // Declare variable letter and assign 'A'
+for (int i = 0; i < 26; i++) {
+ print(letter); // Prints a character to the console
+ letter++; // Add 1 to the value of the character
+}
+println('.'); // Adds a period to the end of the alphabet
diff --git a/content/handbook_2e/examples/11 Text/Ex_05/Ex_05.pde b/content/handbook_2e/examples/11 Text/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..b88a3a0d3
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_05/Ex_05.pde
@@ -0,0 +1,5 @@
+String a = "Eponymous"; // Assign "Eponymous" to a
+String b = 'E'; // ERROR! The '' define E as a char
+String c = "E"; // Assign "E" to c
+string d = "E"; // ERROR! String must be capitalized
+
diff --git a/content/handbook_2e/examples/11 Text/Ex_06/Ex_06.pde b/content/handbook_2e/examples/11 Text/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..6d75e7510
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_06/Ex_06.pde
@@ -0,0 +1,12 @@
+// The String data type can contain long and short text elements
+String s1 = "Rakete bee bee?";
+String s2 = "Rrrrrrrrrrrrrrrrummmmmpffff tillffff tooooo?";
+println(s1); // Prints "Rakete bee bee?"
+println(s2); // Prints "Rrrrrrrrrrrrrrrrummmmmpffff tillffff tooooo?"
+
+// Strings can be combined with the + operator
+String s3 = "Rakete ";
+String s4 = "rinnzekete";
+String s5 = s3 + s4;
+println(s5); // Prints "Rakete rinnzekete"
+
diff --git a/content/handbook_2e/examples/11 Text/Ex_07/Ex_07.pde b/content/handbook_2e/examples/11 Text/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..82f610364
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_07/Ex_07.pde
@@ -0,0 +1,4 @@
+String s1 = "Azzurro";
+String s2 = "A";
+println(s1.length()); // Prints "7"
+println(s2.length()); // Prints "1"
diff --git a/content/handbook_2e/examples/11 Text/Ex_08/Ex_08.pde b/content/handbook_2e/examples/11 Text/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..27430a6fe
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_08/Ex_08.pde
@@ -0,0 +1,4 @@
+String s1 = "Arancione";
+println(s1.startsWith("A")); // Prints "true"
+println(s1.startsWith("ione")); // Prints "false"
+println(s1.endsWith("ione")); // Prints "true"
diff --git a/content/handbook_2e/examples/11 Text/Ex_09/Ex_09.pde b/content/handbook_2e/examples/11 Text/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..5644b0a36
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_09/Ex_09.pde
@@ -0,0 +1,5 @@
+String s = "Verde";
+println(s.charAt(0)); // Prints "V"
+println(s.charAt(2)); // Prints "r"
+println(s.charAt(4)); // Prints "e"
+
diff --git a/content/handbook_2e/examples/11 Text/Ex_10/Ex_10.pde b/content/handbook_2e/examples/11 Text/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..f481ef2d6
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_10/Ex_10.pde
@@ -0,0 +1,5 @@
+String s = "Giallo";
+println(s.substring(2)); // Prints "allo"
+println(s.substring(4)); // Prints "lo"
+println(s.substring(1, 4)); // Prints "ial"
+println(s.substring(0, s.length()-1)); // Prints "Giall"
diff --git a/content/handbook_2e/examples/11 Text/Ex_11/Ex_11.pde b/content/handbook_2e/examples/11 Text/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..42887027d
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_11/Ex_11.pde
@@ -0,0 +1,3 @@
+String s = "Nero";
+println(s.toLowerCase()); // Prints "nero"
+println(s.toUpperCase()); // Prints "NERO"
diff --git a/content/handbook_2e/examples/11 Text/Ex_12/Ex_12.pde b/content/handbook_2e/examples/11 Text/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..3907f5187
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_12/Ex_12.pde
@@ -0,0 +1,6 @@
+String s1 = "Bianco";
+String s2 = "Bianco";
+String s3 = "Nero";
+println(s1.equals(s2)); // Prints "true"
+println(s2.equals(s1)); // Prints "true"
+println(s1.equals(s3)); // Prints "false"
diff --git a/content/handbook_2e/examples/11 Text/Ex_13/Ex_13.pde b/content/handbook_2e/examples/11 Text/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..02cfd26c5
--- /dev/null
+++ b/content/handbook_2e/examples/11 Text/Ex_13/Ex_13.pde
@@ -0,0 +1,7 @@
+for (int y = 1; y < 100; y += 10) {
+ for (int x = 1; x < y; x += 10) {
+ line(x, y, x+6, y+6);
+ line(x+6, y, x, y+6);
+ }
+}
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_01/Ex_01.pde b/content/handbook_2e/examples/12 Typography/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..c7fbc9d98
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_01/Ex_01.pde
@@ -0,0 +1,4 @@
+fill(0);
+text("LAX", 0, 40); // Write "LAX" at coordinate (0,40)
+text("AMS", 0, 70); // Write "AMS" at coordinate (0,70)
+text("FRA", 0, 100); // Write "FRA" at coordinate (0,100)
diff --git a/content/handbook_2e/examples/12 Typography/Ex_01/sketch.properties b/content/handbook_2e/examples/12 Typography/Ex_01/sketch.properties
new file mode 100644
index 000000000..8630fa24a
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_01/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.java.JavaMode
+mode=Java
diff --git a/content/handbook_2e/examples/12 Typography/Ex_02/Ex_02.pde b/content/handbook_2e/examples/12 Typography/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..f56036f5d
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_02/Ex_02.pde
@@ -0,0 +1,5 @@
+textSize(32); // Set text size to 32
+fill(0);
+text("LAX", 0, 40);
+text("ORD", 0, 70);
+text("DAY", 0, 100);
diff --git a/content/handbook_2e/examples/12 Typography/Ex_03/Ex_03.pde b/content/handbook_2e/examples/12 Typography/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..b33afa59b
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_03/Ex_03.pde
@@ -0,0 +1,7 @@
+textSize(32);
+fill(0); // Fill color black
+text("LAX", 0, 40);
+fill(126); // Fill color gray
+text("HKG", 0, 70);
+fill(255); // Fill color white
+text("PVG", 0, 100);
diff --git a/content/handbook_2e/examples/12 Typography/Ex_04/Ex_04.pde b/content/handbook_2e/examples/12 Typography/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..979f7d362
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_04/Ex_04.pde
@@ -0,0 +1,7 @@
+textSize(64);
+fill(0, 140); // Fill black with low opacity
+text("8", 0, 60);
+text("8", 15, 65);
+text("8", 30, 70);
+text("8", 45, 75);
+text("8", 60, 80);
diff --git a/content/handbook_2e/examples/12 Typography/Ex_05/Ex_05.pde b/content/handbook_2e/examples/12 Typography/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..1ae57fa36
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_05/Ex_05.pde
@@ -0,0 +1,4 @@
+String s = "Five hexing wizard bots jump quickly.";
+fill(0);
+text(s, 10, 10, 60, 80);
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_06/Ex_06.pde b/content/handbook_2e/examples/12 Typography/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..870a48005
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_06/Ex_06.pde
@@ -0,0 +1,3 @@
+String s = "Five hexing wizard bots jump quickly.";
+fill(0);
+text(s, 10, 10, 60, 55); // Box too small to fit all letters
diff --git a/content/handbook_2e/examples/12 Typography/Ex_07/Ex_07.pde b/content/handbook_2e/examples/12 Typography/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..69f9a3b81
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_07/Ex_07.pde
@@ -0,0 +1,3 @@
+String[] fontList = PFont.list();
+printArray(fontList);
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_08/Ex_08.pde b/content/handbook_2e/examples/12 Typography/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..48a10b9b8
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_08/Ex_08.pde
@@ -0,0 +1,16 @@
+PFont zigBlack;
+
+void setup() {
+ size(100, 100);
+ zigBlack = createFont("Ziggurat-Black", 32);
+ textFont(zigBlack);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ text("LAX", 0, 40);
+ text("LHR", 0, 70);
+ text("TXL", 0, 100);
+}
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_09/Ex_09.pde b/content/handbook_2e/examples/12 Typography/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..60ce359c5
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_09/Ex_09.pde
@@ -0,0 +1,16 @@
+PFont sourceLight;
+
+void setup() {
+ size(100, 100);
+ sourceLight = createFont("SourceCodePro-Light.otf", 34);
+ textFont(sourceLight);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ text("LAX", 0, 40);
+ text("LHR", 0, 70);
+ text("TXL", 0, 100);
+}
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_09/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/12 Typography/Ex_09/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/12 Typography/Ex_09/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/12 Typography/Ex_10/Ex_10.pde b/content/handbook_2e/examples/12 Typography/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..34419df9c
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_10/Ex_10.pde
@@ -0,0 +1,19 @@
+PFont sourceLight, zigBlack;
+
+void setup() {
+ size(100, 100);
+ zigBlack = createFont("Ziggurat-Black", 24);
+ sourceLight = createFont("SourceCodePro-Light.otf", 34);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ textFont(zigBlack);
+ text("LAX", 0, 40);
+ textFont(sourceLight);
+ text("LHR", 0, 70);
+ textFont(zigBlack);
+ text("TXL", 0, 100);
+}
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_10/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/12 Typography/Ex_10/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/12 Typography/Ex_10/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/12 Typography/Ex_11/Ex_11.pde b/content/handbook_2e/examples/12 Typography/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..ba25fe926
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_11/Ex_11.pde
@@ -0,0 +1,15 @@
+PFont zigBlack;
+
+void setup() {
+ size(100, 100);
+ zigBlack = loadFont("Ziggurat-Black-32.vlw");
+ textFont(zigBlack);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ text("LAX", 0, 40);
+ text("LHR", 0, 70);
+ text("TGL", 0, 100);
+}
diff --git a/content/handbook_2e/examples/12 Typography/Ex_11/data/Ziggurat-Black-32.vlw b/content/handbook_2e/examples/12 Typography/Ex_11/data/Ziggurat-Black-32.vlw
new file mode 100644
index 000000000..d930e777b
Binary files /dev/null and b/content/handbook_2e/examples/12 Typography/Ex_11/data/Ziggurat-Black-32.vlw differ
diff --git a/content/handbook_2e/examples/12 Typography/Ex_12/Ex_12.pde b/content/handbook_2e/examples/12 Typography/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..9b5056f98
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_12/Ex_12.pde
@@ -0,0 +1,17 @@
+PFont zigBlack;
+
+void setup() {
+ size(100, 100);
+ zigBlack = loadFont("Ziggurat-Black-12.vlw");
+ textFont(zigBlack);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ textSize(12);
+ text("A", 20, 20);
+ textSize(96);
+ text("A", 20, 90);
+}
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_12/data/Ziggurat-Black-12.vlw b/content/handbook_2e/examples/12 Typography/Ex_12/data/Ziggurat-Black-12.vlw
new file mode 100644
index 000000000..ff67dd619
Binary files /dev/null and b/content/handbook_2e/examples/12 Typography/Ex_12/data/Ziggurat-Black-12.vlw differ
diff --git a/content/handbook_2e/examples/12 Typography/Ex_13/Ex_13.pde b/content/handbook_2e/examples/12 Typography/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..20a75cd39
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_13/Ex_13.pde
@@ -0,0 +1,9 @@
+String lines = "L1 L2 L3";
+textSize(12);
+fill(0);
+textLeading(10);
+text(lines, 10, 15, 30, 100);
+textLeading(20);
+text(lines, 40, 15, 30, 100);
+textLeading(30);
+text(lines, 70, 15, 30, 100);
diff --git a/content/handbook_2e/examples/12 Typography/Ex_14/Ex_14.pde b/content/handbook_2e/examples/12 Typography/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..e25d9e4b6
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_14/Ex_14.pde
@@ -0,0 +1,9 @@
+fill(0);
+textSize(12);
+line(50, 0, 50, 100);
+textAlign(LEFT);
+text("Left", 50, 20);
+textAlign(RIGHT);
+text("Right", 50, 40);
+textAlign(CENTER);
+text("Center", 50, 80);
diff --git a/content/handbook_2e/examples/12 Typography/Ex_15/Ex_15.pde b/content/handbook_2e/examples/12 Typography/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..da64e15a7
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_15/Ex_15.pde
@@ -0,0 +1,12 @@
+String s = "AEIOU";
+float tw; // text width
+fill(0);
+textSize(14);
+tw = textWidth(s);
+text(s, 4, 40);
+rect(4, 42, tw, 5);
+textSize(28);
+tw = textWidth(s);
+text(s, 4, 76);
+rect(4, 78, tw, 5);
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_16/Ex_16.pde b/content/handbook_2e/examples/12 Typography/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..69c935868
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_16/Ex_16.pde
@@ -0,0 +1,25 @@
+String letters = "";
+
+void setup() {
+ size(100, 100);
+ stroke(255);
+ fill(0);
+ textSize(16);
+}
+
+void draw() {
+ background(204);
+ float cursorPosition = textWidth(letters);
+ line(cursorPosition, 0, cursorPosition, 100);
+ text(letters, 0, 50);
+}
+
+void keyPressed() {
+ if (key == BACKSPACE) { // Backspace
+ if (letters.length() > 0) {
+ letters = letters.substring(0, letters.length()-1);
+ }
+ } else if (textWidth(letters+key) < width) {
+ letters = letters + key;
+ }
+}
diff --git a/content/handbook_2e/examples/12 Typography/Ex_17/Ex_17.pde b/content/handbook_2e/examples/12 Typography/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..b2de28d2a
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_17/Ex_17.pde
@@ -0,0 +1,29 @@
+String letters = "";
+int back = 102;
+
+void setup() {
+ size(100, 100);
+ textSize(16);
+ textAlign(CENTER);
+}
+
+void draw() {
+ background(back);
+ text(letters, 50, 50);
+}
+
+void keyPressed() {
+ if ((key == ENTER) || (key == RETURN)) {
+ letters = letters.toLowerCase();
+ println(letters); // Print to console to see input
+ if (letters.equals("black")) {
+ back = 0;
+ } else if (letters.equals("gray")) {
+ back = 204;
+ }
+ letters = ""; // Clear the variable
+ } else if ((key > 31) && (key != CODED)) {
+ // If the key is alphanumeric, add it to the String
+ letters = letters + key;
+ }
+}
diff --git a/content/handbook_2e/examples/12 Typography/Ex_18/Ex_18.pde b/content/handbook_2e/examples/12 Typography/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..dc9f6f4ae
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_18/Ex_18.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(100, 100);
+ textSize(24);
+ textAlign(CENTER);
+}
+
+void draw() {
+ background(204);
+ text("avoid", width-mouseX, height-mouseY);
+}
+
diff --git a/content/handbook_2e/examples/12 Typography/Ex_19/Ex_19.pde b/content/handbook_2e/examples/12 Typography/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..ffec0947a
--- /dev/null
+++ b/content/handbook_2e/examples/12 Typography/Ex_19/Ex_19.pde
@@ -0,0 +1,21 @@
+float x = 33;
+float y = 60;
+
+void setup() {
+ size(100, 100);
+ textSize(24);
+ noStroke();
+}
+
+void draw() {
+ fill(204, 120);
+ rect(0, 0, width, height);
+ fill(0);
+ // If the cursor is over the text, change the position
+ if ((mouseX >= x) && (mouseX <= x+55) &&
+ (mouseY >= y-24) && (mouseY <= y)) {
+ x += random(-2, 2);
+ y += random(-2, 2);
+ }
+ text("tickle", x, y);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_01/Ex_01.pde b/content/handbook_2e/examples/13 Images/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..bf4cf165b
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_01/Ex_01.pde
@@ -0,0 +1,11 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ // Image must be in the sketch's "data" folder
+ img = loadImage("dwp-01.jpg");
+}
+
+void draw() {
+ image(img, 0, 0);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_01/data/dwp-01.jpg b/content/handbook_2e/examples/13 Images/Ex_01/data/dwp-01.jpg
new file mode 100644
index 000000000..2c3078776
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_01/data/dwp-01.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_02/Ex_02.pde b/content/handbook_2e/examples/13 Images/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..2e1313975
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_02/Ex_02.pde
@@ -0,0 +1,11 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ // Image must be in the sketch's "data" folder
+ img = loadImage("dwp-01.jpg");
+}
+
+void draw() {
+ image(img, 20, 20, 60, 60);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_02/data/dwp-01.jpg b/content/handbook_2e/examples/13 Images/Ex_02/data/dwp-01.jpg
new file mode 100644
index 000000000..2c3078776
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_02/data/dwp-01.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_03/Ex_03.pde b/content/handbook_2e/examples/13 Images/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..d4eeb8093
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_03/Ex_03.pde
@@ -0,0 +1,13 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("dwp-01.jpg");
+}
+
+void draw() {
+ imageMode(CORNER);
+ image(img, 40, 40, 60, 60);
+ imageMode(CENTER);
+ image(img, 40, 40, 60, 60);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_03/data/dwp-01.jpg b/content/handbook_2e/examples/13 Images/Ex_03/data/dwp-01.jpg
new file mode 100644
index 000000000..2c3078776
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_03/data/dwp-01.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_04/Ex_04.pde b/content/handbook_2e/examples/13 Images/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..12405a745
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_04/Ex_04.pde
@@ -0,0 +1,13 @@
+PImage img;
+
+void setup() {
+ size(640, 360);
+ img = loadImage("dwp-01.jpg");
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ image(img, 20, 20);
+ rect(20+img.width, 20, img.width, img.height);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_04/data/dwp-01.jpg b/content/handbook_2e/examples/13 Images/Ex_04/data/dwp-01.jpg
new file mode 100644
index 000000000..2c3078776
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_04/data/dwp-01.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_05/Ex_05.pde b/content/handbook_2e/examples/13 Images/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..fd41d2bb5
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_05/Ex_05.pde
@@ -0,0 +1,14 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("dwp-02.jpg");
+}
+
+void draw() {
+ tint(102); // Tint gray
+ image(img, 0, 0);
+ noTint(); // Disable tint
+ image(img, 50, 0);
+}
+
diff --git a/content/handbook_2e/examples/13 Images/Ex_05/data/dwp-02.jpg b/content/handbook_2e/examples/13 Images/Ex_05/data/dwp-02.jpg
new file mode 100644
index 000000000..31a60065b
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_05/data/dwp-02.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_06/Ex_06.pde b/content/handbook_2e/examples/13 Images/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..1c0d6c3e8
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_06/Ex_06.pde
@@ -0,0 +1,13 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("dwp-02.jpg");
+}
+
+void draw() {
+ tint(0, 153, 204); // Tint blue
+ image(img, 0, 0);
+ noTint(); // Disable tint
+ image(img, 50, 0);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_06/data/dwp-02.jpg b/content/handbook_2e/examples/13 Images/Ex_06/data/dwp-02.jpg
new file mode 100644
index 000000000..31a60065b
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_06/data/dwp-02.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_07/Ex_07.pde b/content/handbook_2e/examples/13 Images/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..aaf21592f
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_07/Ex_07.pde
@@ -0,0 +1,19 @@
+PImage img;
+color yellow, green, tan;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("dwp-02.jpg");
+ yellow = color(220, 214, 41);
+ green = color(110, 164, 32);
+ tan = color(180, 177, 132);
+}
+
+void draw() {
+ tint(yellow);
+ image(img, 0, 0);
+ tint(green);
+ image(img, 33, 0);
+ tint(tan);
+ image(img, 66, 0);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_07/data/dwp-02.jpg b/content/handbook_2e/examples/13 Images/Ex_07/data/dwp-02.jpg
new file mode 100644
index 000000000..31a60065b
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_07/data/dwp-02.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_08/Ex_08.pde b/content/handbook_2e/examples/13 Images/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..be9ee6266
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_08/Ex_08.pde
@@ -0,0 +1,14 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("dwp-03.jpg");
+}
+
+void draw() {
+ background(255);
+ tint(255, 102); // Alpha 102 without changing the tint
+ image(img, 0, 0, 100, 100);
+ tint(255, 102, 0, 204); // Tint orange, alpha to 204
+ image(img, 20, 20, 100, 100);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_08/data/dwp-03.jpg b/content/handbook_2e/examples/13 Images/Ex_08/data/dwp-03.jpg
new file mode 100644
index 000000000..bb8ff7737
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_08/data/dwp-03.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_09/Ex_09.pde b/content/handbook_2e/examples/13 Images/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..3bbe86b80
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_09/Ex_09.pde
@@ -0,0 +1,15 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("dwp-03.jpg");
+}
+
+void draw() {
+ background(255);
+ tint(255, 102);
+ // Draw the image 5 times, moving each to the right
+ for (int i = 0; i < 5; i++) {
+ image(img, i*20, 0);
+ }
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_09/data/dwp-03.jpg b/content/handbook_2e/examples/13 Images/Ex_09/data/dwp-03.jpg
new file mode 100644
index 000000000..bb8ff7737
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_09/data/dwp-03.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_10/Ex_10.pde b/content/handbook_2e/examples/13 Images/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..a5393fb2e
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_10/Ex_10.pde
@@ -0,0 +1,14 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ // The GIF has 1-bit transparency
+ // so the edges are rough
+ img = loadImage("dwp.gif");
+}
+
+void draw() {
+ background(0);
+ image(img, 5, 0);
+ image(img, 5, 24);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_10/data/dwp.gif b/content/handbook_2e/examples/13 Images/Ex_10/data/dwp.gif
new file mode 100644
index 000000000..93ebd2143
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_10/data/dwp.gif differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_11/Ex_11.pde b/content/handbook_2e/examples/13 Images/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..5b7295253
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_11/Ex_11.pde
@@ -0,0 +1,14 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ // The PNG has 8-bit transparency
+ // so the edges are smooth
+ img = loadImage("dwp.png");
+}
+
+void draw() {
+ background(0);
+ image(img, 5, 0);
+ image(img, 5, 24);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_11/data/dwp.png b/content/handbook_2e/examples/13 Images/Ex_11/data/dwp.png
new file mode 100644
index 000000000..3ee0c99f9
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_11/data/dwp.png differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_12/Ex_12.pde b/content/handbook_2e/examples/13 Images/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..8900f0ca6
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_12/Ex_12.pde
@@ -0,0 +1,13 @@
+PImage img, maskImg;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("airport.jpg");
+ maskImg = loadImage("airportmask.jpg");
+ img.mask(maskImg);
+}
+
+void draw() {
+ background(255);
+ image(img, 0, 0);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_12/data/airport.jpg b/content/handbook_2e/examples/13 Images/Ex_12/data/airport.jpg
new file mode 100644
index 000000000..366b3a19e
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_12/data/airport.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_12/data/airportmask.jpg b/content/handbook_2e/examples/13 Images/Ex_12/data/airportmask.jpg
new file mode 100644
index 000000000..7a0ef8b57
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_12/data/airportmask.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_13/Ex_13.pde b/content/handbook_2e/examples/13 Images/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..953c56324
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_13/Ex_13.pde
@@ -0,0 +1,12 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("topanga.jpg");
+}
+
+void draw() {
+ image(img, 0, 0);
+ float v = mouseX / 100.0;
+ filter(THRESHOLD, v);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_13/data/topanga.jpg b/content/handbook_2e/examples/13 Images/Ex_13/data/topanga.jpg
new file mode 100644
index 000000000..f1d6c26d0
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_13/data/topanga.jpg differ
diff --git a/content/handbook_2e/examples/13 Images/Ex_14/Ex_14.pde b/content/handbook_2e/examples/13 Images/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..0e0b65b9c
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_14/Ex_14.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+ strokeWeight(5);
+ noFill();
+}
+
+void draw() {
+ background(204);
+ line(0, 30, 100, 60);
+ filter(BLUR, 3);
+ line(0, 50, 100, 80);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_15/Ex_15.pde b/content/handbook_2e/examples/13 Images/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..379c79b4f
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_15/Ex_15.pde
@@ -0,0 +1,17 @@
+float fuzzy = 0.0;
+
+void setup() {
+ size(100, 100);
+ strokeWeight(5);
+ noFill();
+}
+
+void draw() {
+ background(204);
+ if (fuzzy < 16.0) {
+ fuzzy += 0.05;
+ }
+ line(0, 30, 100, 60);
+ filter(BLUR, fuzzy);
+ line(0, 50, 100, 80);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_16/Ex_16.pde b/content/handbook_2e/examples/13 Images/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..3731853bf
--- /dev/null
+++ b/content/handbook_2e/examples/13 Images/Ex_16/Ex_16.pde
@@ -0,0 +1,13 @@
+PImage img1, img2;
+
+void setup() {
+ size(100, 100);
+ img1 = loadImage("dwp-01.jpg");
+ img2 = loadImage("dwp-01.jpg");
+ img2.filter(INVERT);
+}
+
+void draw() {
+ image(img1, 0, 0);
+ image(img2, 50, 0);
+}
diff --git a/content/handbook_2e/examples/13 Images/Ex_16/data/dwp-01.jpg b/content/handbook_2e/examples/13 Images/Ex_16/data/dwp-01.jpg
new file mode 100644
index 000000000..2c3078776
Binary files /dev/null and b/content/handbook_2e/examples/13 Images/Ex_16/data/dwp-01.jpg differ
diff --git a/content/handbook_2e/examples/14 Transform/Ex_01/Ex_01.pde b/content/handbook_2e/examples/14 Transform/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..9d7545b53
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_01/Ex_01.pde
@@ -0,0 +1,4 @@
+rect(0, 5, 70, 30);
+translate(10, 30); // Shift 10 pixels right and 30 down
+rect(0, 5, 70, 30);
+
diff --git a/content/handbook_2e/examples/14 Transform/Ex_02/Ex_02.pde b/content/handbook_2e/examples/14 Transform/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..7856aacd3
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_02/Ex_02.pde
@@ -0,0 +1,5 @@
+rect(0, 5, 70, 30);
+translate(10, -10); // Shift 10 pixels right and up
+rect(0, 5, 70, 30);
+
+
diff --git a/content/handbook_2e/examples/14 Transform/Ex_03/Ex_03.pde b/content/handbook_2e/examples/14 Transform/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..ab3536b80
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_03/Ex_03.pde
@@ -0,0 +1,6 @@
+rect(0, 5, 70, 30);
+translate(10, 30); // Shift 10 pixels right and 30 down
+rect(0, 5, 70, 30);
+translate(10, 30); // Shift everything again for a total
+rect(0, 5, 70, 30); // 20 pixels right and 60 down
+
diff --git a/content/handbook_2e/examples/14 Transform/Ex_04/Ex_04.pde b/content/handbook_2e/examples/14 Transform/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..2573d0504
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_04/Ex_04.pde
@@ -0,0 +1,7 @@
+void draw() {
+ rect(0, 5, 70, 30);
+ translate(10, 30); // Shift 10 pixels right and 30 down
+ rect(0, 5, 70, 30);
+}
+
+
diff --git a/content/handbook_2e/examples/14 Transform/Ex_05/Ex_05.pde b/content/handbook_2e/examples/14 Transform/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..02b3b0703
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_05/Ex_05.pde
@@ -0,0 +1,4 @@
+translate(33, 0); // Shift 33 pixels right
+rect(0, 20, 66, 30);
+rect(0, 50, 66, 30);
+
diff --git a/content/handbook_2e/examples/14 Transform/Ex_06/Ex_06.pde b/content/handbook_2e/examples/14 Transform/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..27d9e4f35
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_06/Ex_06.pde
@@ -0,0 +1,7 @@
+pushMatrix();
+translate(33, 0); // Shift 33 pixels right
+rect(0, 20, 66, 30);
+popMatrix(); // Remove the shift
+// This shape is not affected by translate() because
+// it is isolated between pushMatrix() and popMatrix()
+rect(0, 50, 66, 30);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_07/Ex_07.pde b/content/handbook_2e/examples/14 Transform/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..1cb5b829e
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_07/Ex_07.pde
@@ -0,0 +1,10 @@
+pushMatrix();
+translate(20, 0);
+rect(0, 10, 70, 20); // Draw at (20, 10)
+pushMatrix();
+translate(30, 0);
+rect(0, 30, 70, 20); // Draw at (50, 30)
+popMatrix();
+rect(0, 50, 70, 20); // Draw at (20, 50)
+popMatrix();
+rect(0, 70, 70, 20); // Draw at (0, 70)
diff --git a/content/handbook_2e/examples/14 Transform/Ex_08/Ex_08.pde b/content/handbook_2e/examples/14 Transform/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..7ae329392
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_08/Ex_08.pde
@@ -0,0 +1,3 @@
+rect(55, 0, 30, 45);
+rotate(PI/8);
+rect(55, 0, 30, 45);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_09/Ex_09.pde b/content/handbook_2e/examples/14 Transform/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..8a37e7b3d
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_09/Ex_09.pde
@@ -0,0 +1,5 @@
+rect(10, 60, 70, 20);
+rotate(-PI/16);
+rect(10, 60, 70, 20);
+rotate(-PI/8);
+rect(10, 60, 70, 20);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_10/Ex_10.pde b/content/handbook_2e/examples/14 Transform/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..d6c800cd6
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_10/Ex_10.pde
@@ -0,0 +1,3 @@
+ellipse(32, 32, 30, 30);
+scale(1.8);
+ellipse(32, 32, 30, 30);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_12/Ex_12.pde b/content/handbook_2e/examples/14 Transform/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..5100aa7b8
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_12/Ex_12.pde
@@ -0,0 +1,5 @@
+float s = 1.8;
+ellipse(32, 32, 30, 30);
+scale(s);
+strokeWeight(1.0 / s);
+ellipse(32, 32, 30, 30);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_13/Ex_13.pde b/content/handbook_2e/examples/14 Transform/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..a00418218
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_13/Ex_13.pde
@@ -0,0 +1,5 @@
+rect(10, 20, 70, 20);
+scale(1.7);
+rect(10, 20, 70, 20);
+scale(1.7);
+rect(10, 20, 70, 20);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_14/Ex_14.pde b/content/handbook_2e/examples/14 Transform/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..6bb723164
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_14/Ex_14.pde
@@ -0,0 +1,3 @@
+translate(width/2, height/2);
+rotate(PI/8);
+rect(-25, -25, 50, 50);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_15/Ex_15.pde b/content/handbook_2e/examples/14 Transform/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..66a97e4c7
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_15/Ex_15.pde
@@ -0,0 +1,3 @@
+rotate(PI/8);
+translate(width/2, height/2);
+rect(-25, -25, 50, 50);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_16/Ex_16.pde b/content/handbook_2e/examples/14 Transform/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..394643e0d
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_16/Ex_16.pde
@@ -0,0 +1,6 @@
+translate(10, 60);
+rect(0, 0, 70, 20);
+rotate(-PI/12);
+rect(0, 0, 70, 20);
+rotate(-PI/6);
+rect(0, 0, 70, 20);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_17/Ex_17.pde b/content/handbook_2e/examples/14 Transform/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..127b9fe70
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_17/Ex_17.pde
@@ -0,0 +1,6 @@
+translate(45, 60);
+rect(-35, -5, 70, 10);
+rotate(-PI/8);
+rect(-35, -5, 70, 10);
+rotate(-PI/8);
+rect(-35, -5, 70, 10);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_18/Ex_18.pde b/content/handbook_2e/examples/14 Transform/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..3ba02797e
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_18/Ex_18.pde
@@ -0,0 +1,7 @@
+noFill();
+translate(10, 20);
+rect(0, 0, 20, 10);
+scale(2.2);
+rect(0, 0, 20, 10);
+scale(2.2);
+rect(0, 0, 20, 10);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_19/Ex_19.pde b/content/handbook_2e/examples/14 Transform/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..a3682e48b
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_19/Ex_19.pde
@@ -0,0 +1,5 @@
+noFill();
+translate(50, 30);
+rect(-10, 5, 20, 10);
+scale(2.5);
+rect(-10, 5, 20, 10);
diff --git a/content/handbook_2e/examples/14 Transform/Ex_20/Ex_20.pde b/content/handbook_2e/examples/14 Transform/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..322e2ec9a
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_20/Ex_20.pde
@@ -0,0 +1,8 @@
+background(0);
+stroke(255, 120);
+translate(66, 33); // Set initial offset
+for (int i = 0; i < 18; i++) { // 18 repetitions
+ strokeWeight(i); // Increase stroke weight
+ rotate(PI/12); // Accumulate the rotation
+ line(0, 0, 55, 0);
+}
diff --git a/content/handbook_2e/examples/14 Transform/Ex_21/Ex_21.pde b/content/handbook_2e/examples/14 Transform/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..8c1595c57
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_21/Ex_21.pde
@@ -0,0 +1,8 @@
+background(0);
+noFill();
+stroke(204);
+translate(33, 66); // Set initial offset
+for (int i = 0; i < 12; i++) { // 12 repetitions
+ scale(1.2); // Accumulate the scaling
+ ellipse(4, 2, 20, 20);
+}
diff --git a/content/handbook_2e/examples/14 Transform/Ex_22/Ex_22.pde b/content/handbook_2e/examples/14 Transform/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..57f8d8ac5
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_22/Ex_22.pde
@@ -0,0 +1,10 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(126);
+ translate(mouseX, mouseY);
+ ellipse(0, 0, 33, 33);
+}
diff --git a/content/handbook_2e/examples/14 Transform/Ex_23/Ex_23.pde b/content/handbook_2e/examples/14 Transform/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..818e1f015
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_23/Ex_23.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(100, 100);
+ strokeWeight(8);
+}
+
+void draw() {
+ background(204);
+ float angle = map(mouseX, 0, width, 0, TWO_PI);
+ translate(50, 50);
+ rotate(angle);
+ line(0, 0, 40, 0);
+}
+
diff --git a/content/handbook_2e/examples/14 Transform/Ex_24/Ex_24.pde b/content/handbook_2e/examples/14 Transform/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..47561ac2d
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_24/Ex_24.pde
@@ -0,0 +1,12 @@
+void draw() {
+ background(204);
+ // Shift the origin to the center
+ translate(width/2, height/2);
+ // Draw the origin
+ line(-width/2, 0, width/2, 0); // Draw x-axis
+ line(0, -height/2, 0, height/2); // Draw y-axis
+ // Draw within the new coordinate system
+ ellipse(0, 0, 45, 45); // Draw at the origin
+ ellipse(-width/2, height/2, 45, 45);
+ ellipse(width/2, -height/2, 45, 45);
+}
diff --git a/content/handbook_2e/examples/14 Transform/Ex_25/Ex_25.pde b/content/handbook_2e/examples/14 Transform/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..adbb7110b
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_25/Ex_25.pde
@@ -0,0 +1,14 @@
+void draw() {
+ background(204);
+ // Shift the origin, scale the system
+ scale(width/2, height/2);
+ translate(1.0, 1.0);
+ strokeWeight(1.0/width);
+ // Draw the origin
+ line(-1, 0, 1, 0); // Draw x-axis
+ line(0, -1, 0, 1); // Draw y-axis
+ // Draw within new coordinate system
+ ellipse(0, 0, 0.9, 0.9); // Draw at the origin
+ ellipse(-1, 1, 0.9, 0.9);
+ ellipse(1, -1, 0.9, 0.9);
+}
diff --git a/content/handbook_2e/examples/14 Transform/Ex_26/Ex_26.pde b/content/handbook_2e/examples/14 Transform/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..6222d1b21
--- /dev/null
+++ b/content/handbook_2e/examples/14 Transform/Ex_26/Ex_26.pde
@@ -0,0 +1,13 @@
+void draw() {
+ background(204);
+ // Shift the origin, scale the system
+ translate(0, height);
+ scale(1.0, -1.0);
+ // Draw the origin
+ line(0, 1, width, 1); // Draw x-axis
+ line(0, 1, 0, height); // Draw y-axis
+ // Draw within new coordinate system
+ ellipse(0, 0, 45, 45); // Draw at the origin
+ ellipse(width/2, height/2, 45, 45);
+ ellipse(width, height, 45, 45);
+}
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_01/Ex_01.pde b/content/handbook_2e/examples/15 Vertices/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..d55cf5059
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_01/Ex_01.pde
@@ -0,0 +1,7 @@
+noFill();
+beginShape();
+vertex(30, 20);
+vertex(85, 20);
+vertex(85, 75);
+vertex(30, 75);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_02/Ex_02.pde b/content/handbook_2e/examples/15 Vertices/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..4d335e1f6
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_02/Ex_02.pde
@@ -0,0 +1,7 @@
+noFill();
+beginShape();
+vertex(30, 20);
+vertex(85, 20);
+vertex(85, 75);
+vertex(30, 75);
+endShape(CLOSE);
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_03/Ex_03.pde b/content/handbook_2e/examples/15 Vertices/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..1ecb30ff1
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_03/Ex_03.pde
@@ -0,0 +1,7 @@
+noFill();
+beginShape();
+vertex(30, 20);
+vertex(85, 20);
+vertex(30, 75);
+vertex(85, 75);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_04/Ex_04.pde b/content/handbook_2e/examples/15 Vertices/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..9cf966eb2
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_04/Ex_04.pde
@@ -0,0 +1,10 @@
+fill(0);
+noStroke();
+beginShape();
+vertex(10, 0);
+vertex(100, 30);
+vertex(90, 70);
+vertex(100, 70);
+vertex(10, 90);
+vertex(50, 40);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_05/Ex_05.pde b/content/handbook_2e/examples/15 Vertices/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..269a5a5ad
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_05/Ex_05.pde
@@ -0,0 +1,10 @@
+noFill();
+strokeWeight(20);
+beginShape();
+vertex(52, 29);
+vertex(74, 35);
+vertex(60, 52);
+vertex(61, 75);
+vertex(40, 69);
+vertex(19, 75);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_06/Ex_06.pde b/content/handbook_2e/examples/15 Vertices/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..67f823f3c
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_06/Ex_06.pde
@@ -0,0 +1,10 @@
+noStroke();
+fill(0);
+beginShape();
+vertex(40, 10);
+for (int i = 20; i <= 100; i += 5) {
+ vertex(20, i);
+ vertex(30, i);
+}
+vertex(40, 100);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_07/Ex_07.pde b/content/handbook_2e/examples/15 Vertices/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..c7e5735f4
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_07/Ex_07.pde
@@ -0,0 +1,8 @@
+// Draw a point at each vertex
+strokeWeight(4);
+beginShape(POINTS);
+vertex(30, 20);
+vertex(85, 20);
+vertex(85, 75);
+vertex(30, 75);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_08/Ex_08.pde b/content/handbook_2e/examples/15 Vertices/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..363526986
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_08/Ex_08.pde
@@ -0,0 +1,8 @@
+// Draw a line between each pair of vertices
+beginShape(LINES);
+vertex(30, 20);
+vertex(85, 20);
+vertex(85, 75);
+vertex(30, 75);
+endShape();
+
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_09/Ex_09.pde b/content/handbook_2e/examples/15 Vertices/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..6c3c30124
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_09/Ex_09.pde
@@ -0,0 +1,9 @@
+// Connect each grouping of three vertices as a triangle
+beginShape(TRIANGLES);
+vertex(75, 30);
+vertex(10, 20);
+vertex(75, 50);
+vertex(20, 60);
+vertex(90, 70);
+vertex(35, 85);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_10/Ex_10.pde b/content/handbook_2e/examples/15 Vertices/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..3cb3bea9c
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_10/Ex_10.pde
@@ -0,0 +1,10 @@
+// Starting with the third vertex, connects each
+// subsequent vertex to the previous two
+beginShape(TRIANGLE_STRIP);
+vertex(75, 30);
+vertex(10, 20);
+vertex(75, 50);
+vertex(20, 60);
+vertex(90, 70);
+vertex(35, 85);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_11/Ex_11.pde b/content/handbook_2e/examples/15 Vertices/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..e71824706
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_11/Ex_11.pde
@@ -0,0 +1,9 @@
+// Connect the first vertex to each following group of two
+beginShape(TRIANGLE_FAN);
+vertex(10, 20);
+vertex(75, 30);
+vertex(75, 50);
+vertex(90, 70);
+vertex(10, 20);
+endShape();
+
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_12/Ex_12.pde b/content/handbook_2e/examples/15 Vertices/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..02bc1aef6
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_12/Ex_12.pde
@@ -0,0 +1,11 @@
+// Connect each grouping of four vertices as a quad
+beginShape(QUADS);
+vertex(30, 25);
+vertex(85, 30);
+vertex(85, 50);
+vertex(30, 45);
+vertex(30, 60);
+vertex(85, 65);
+vertex(85, 85);
+vertex(30, 80);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_13/Ex_13.pde b/content/handbook_2e/examples/15 Vertices/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..acb77b67b
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_13/Ex_13.pde
@@ -0,0 +1,12 @@
+// Notice the different vertex order for
+// this example in relation to example 13-12
+beginShape(QUAD_STRIP);
+vertex(30, 25);
+vertex(85, 30);
+vertex(30, 45);
+vertex(85, 50);
+vertex(30, 60);
+vertex(85, 65);
+vertex(30, 80);
+vertex(85, 85);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_14/Ex_14.pde b/content/handbook_2e/examples/15 Vertices/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..f9ba18fb1
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_14/Ex_14.pde
@@ -0,0 +1,8 @@
+noFill();
+beginShape();
+curveVertex(20, 80); // C1 (see p.TC)
+curveVertex(20, 40); // V1
+curveVertex(30, 30); // V2
+curveVertex(40, 80); // V3
+curveVertex(80, 80); // C2
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_15/Ex_15.pde b/content/handbook_2e/examples/15 Vertices/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..e99ff9386
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_15/Ex_15.pde
@@ -0,0 +1,5 @@
+noFill();
+beginShape();
+vertex(32, 20); // V1 (see p.TC)
+bezierVertex(80, 5, 80, 75, 30, 75); // C1, C2, V2
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_16/Ex_16.pde b/content/handbook_2e/examples/15 Vertices/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..3a104f93e
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_16/Ex_16.pde
@@ -0,0 +1,6 @@
+noFill();
+beginShape();
+vertex(15, 30); // V1 (see p.TC)
+bezierVertex(20, -5, 70, 5, 40, 35); // C1, C2, V2
+bezierVertex(5, 70, 45, 105, 70, 70); // C3, C4, V3
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_17/Ex_17.pde b/content/handbook_2e/examples/15 Vertices/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..9574df3d5
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_17/Ex_17.pde
@@ -0,0 +1,6 @@
+fill(0);
+beginShape();
+vertex(90, 39); // V1 (see p.TC)
+bezierVertex(90, 39, 54, 17, 26, 83); // C1, C2, V2
+bezierVertex(26, 83, 90, 107, 90, 39); // C3, C4, V3
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_18/Ex_18.pde b/content/handbook_2e/examples/15 Vertices/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..5859658d6
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_18/Ex_18.pde
@@ -0,0 +1,8 @@
+noFill();
+beginShape();
+vertex(15, 40); // V1 (see p.TC)
+bezierVertex(5, 0, 80, 0, 50, 55); // C1, C2, V2
+vertex(30, 45); // V3
+vertex(25, 75); // V4
+bezierVertex(50, 70, 75, 90, 80, 70); // C3, C4, V5
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_19/Ex_19.pde b/content/handbook_2e/examples/15 Vertices/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..3d817cc68
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_19/Ex_19.pde
@@ -0,0 +1,20 @@
+size(100, 100, P2D);
+background(0);
+stroke(255);
+strokeWeight(2);
+line(33, 0, 85, 100);
+noStroke();
+fill(102);
+// Start inner triangle
+beginShape();
+vertex(5, 12);
+vertex(95, 12);
+vertex(50, 92);
+endShape();
+fill(255);
+// Start outer triangle
+beginShape();
+vertex(50, 20);
+vertex(66, 50);
+vertex(33, 50);
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_20/Ex_20.pde b/content/handbook_2e/examples/15 Vertices/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..52ef6c933
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_20/Ex_20.pde
@@ -0,0 +1,19 @@
+size(100, 100);
+background(0);
+stroke(255);
+strokeWeight(2);
+line(33, 0, 85, 100);
+noStroke();
+fill(102);
+// Start outer triangle
+beginShape();
+vertex(5, 12);
+vertex(95, 12);
+vertex(50, 92);
+// Start inner triangle
+beginContour();
+vertex(33, 50);
+vertex(66, 50);
+vertex(50, 20);
+endContour();
+endShape();
diff --git a/content/handbook_2e/examples/15 Vertices/Ex_21/Ex_21.pde b/content/handbook_2e/examples/15 Vertices/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..6ebe9a0c3
--- /dev/null
+++ b/content/handbook_2e/examples/15 Vertices/Ex_21/Ex_21.pde
@@ -0,0 +1,42 @@
+float angle = 0.0;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ fill(204); // Light gray
+ rect(0, 44, 100, 12);
+
+ // Position in middle, scale 80%, and rotate
+ translate(width/2, height/2);
+ scale(0.75);
+ rotate(angle);
+
+ fill(102);
+ beginShape();
+ // Outer shape
+ vertex(-25,-50);
+ vertex( 25,-50);
+ vertex( 25, 50);
+ vertex(-25, 50);
+ // Top hole
+ beginContour();
+ vertex(-15,-30);
+ vertex(-15,-10);
+ vertex( 15,-10);
+ vertex( 15,-30);
+ endContour();
+ // Bottom Hole
+ beginContour();
+ vertex(-15, 10);
+ vertex(-15, 30);
+ vertex( 15, 30);
+ vertex( 15, 10);
+ endContour();
+ endShape();
+
+ angle += 0.01;
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_01/Ex_01.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..cc7faa3fb
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_01/Ex_01.pde
@@ -0,0 +1,6 @@
+size(100, 100, P3D);
+background(0);
+translate(0, height/2, -height/4);
+box(60, 80, 60);
+translate(width, 0, -height/2);
+box(60, 80, 60);
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_02/Ex_02.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..fa76e2ca1
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_02/Ex_02.pde
@@ -0,0 +1,6 @@
+size(100, 100, P3D);
+background(0);
+translate(0, height/2, -height/4);
+sphere(50);
+translate(width, 0, -height/2);
+sphere(50);
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_03/Ex_03.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..edb1ce2ea
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_03/Ex_03.pde
@@ -0,0 +1,10 @@
+size(100, 100, P3D);
+noStroke();
+background(0);
+lights();
+translate(0, height/2, -height/2);
+fill(153);
+box(50);
+translate(width, 0, 0);
+fill(255);
+sphere(50);
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_04/Ex_04.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..df1f2194a
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_04/Ex_04.pde
@@ -0,0 +1,18 @@
+void setup() {
+ size(100, 100, P3D);
+ fill(153);
+ strokeWeight(8);
+}
+
+void draw() {
+ background(0);
+ translate(width/2, height/2, -width);
+ float rx = map(mouseY, 0, height, -PI, PI);
+ float ry = map(mouseX, 0, width, -PI, PI);
+ rotateX(rx);
+ rotateY(ry);
+ noStroke();
+ rect(-50, -50, 100, 100);
+ stroke(255);
+ line(0, 0, -50, 0, 0, 50);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_05/Ex_05.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..ab11ebb6c
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_05/Ex_05.pde
@@ -0,0 +1,24 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ lights();
+ background(0);
+ translate(width/2, height/2, -height);
+ float rz = map(mouseY, 0, height, 0, PI);
+ float ry = map(mouseX, 0, width, 0, HALF_PI);
+ rotateZ(rz);
+ rotateY(ry);
+ for (int y = -1; y <= 1; y++) {
+ for (int x = -1; x <= 1; x++) {
+ for (int z = -1; z <= 1; z++) {
+ pushMatrix();
+ translate(50*x, 50*y, -50*z);
+ box(15);
+ popMatrix();
+ }
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_06/Ex_06.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..c3990a16b
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_06/Ex_06.pde
@@ -0,0 +1,34 @@
+int topRadius = 70;
+int bottomRadius = 70;
+int tall = 120;
+int sides = 32;
+float angleIncrement = TWO_PI / sides;
+
+void setup() {
+ size(100, 100, P3D);
+}
+
+void draw() {
+ background(0);
+ if (mousePressed) {
+ noFill();
+ stroke(255);
+ } else {
+ lights();
+ noStroke();
+ fill(255);
+ }
+ translate(width/2, height/2, -40);
+ rotateY(map(mouseX, 0, width, 0, PI));
+ rotateZ(map(mouseY, 0, height, 0, -PI));
+ float angle = 0;
+ beginShape(QUAD_STRIP);
+ for (int i = 0; i <= sides; i++) {
+ float ca = cos(angle);
+ float sa = sin(angle);
+ vertex(topRadius * ca, 0, topRadius * sa);
+ vertex(bottomRadius * ca, tall, bottomRadius * sa);
+ angle += angleIncrement;
+ }
+ endShape();
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_07/Ex_07.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..498b4c431
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_07/Ex_07.pde
@@ -0,0 +1,20 @@
+void setup() {
+ size(100, 100, P3D);
+ fill(204);
+ strokeWeight(2);
+}
+
+void draw() {
+ lights();
+ background(0);
+ // Change height of the camera with mouseY
+ camera(0.0, mouseY*2, 120.0, // eyeX, eyeY, eyeZ
+ 0.0, 0.0, 0.0, // centerX, centerY, centerZ
+ 0.0, 1.0, 0.0); // upX, upY, upZ
+ noStroke();
+ box(60);
+ stroke(255);
+ line(-80, 0, 0, 80, 0, 0);
+ line(0, -80, 0, 0, 80, 0);
+ line(0, 0, -80, 0, 0, 80);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_08/Ex_08.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..bf496de23
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_08/Ex_08.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ if (mousePressed == true) {
+ directionalLight(255, 255, 255, 0, 1, 0);
+ } else {
+ directionalLight(255, 255, 255, 1, 0, 0);
+ }
+ translate(width/2, height/2, 0);
+ sphere(30);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_09/Ex_09.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..cf63b727a
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_09/Ex_09.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ // The sphere is white by default so
+ // the ambient light changes the color
+ float r = map(mouseX, 0, width, 0, 255);
+ ambientLight(r, 255, 255);
+ translate(width/2, height/2, 0);
+ sphere(30);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_10/Ex_10.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..edceba4b1
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_10/Ex_10.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ pointLight(255, 255, 255, width/2, mouseY, 0);
+ translate(0, height/2, 0);
+ sphere(30);
+ translate(width, 0, 0);
+ sphere(30);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_11/Ex_11.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..78d9d38ea
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_11/Ex_11.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ float angle = map(mouseY, 0, height, PI/8, PI/2);
+ float concentration = map(mouseX, 0, width, 1, 20);
+ spotLight(255, 255, 255, 0, height/2, 0,
+ 1, 0, 0, angle, concentration);
+ translate(width, height/2, -10);
+ sphere(50);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_12/Ex_12.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..03652a011
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_12/Ex_12.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ lights(); // Default lights
+ // The sphere is white by default so
+ // the ambient light changes the color
+ float r = map(mouseX, 0, width, 0, 255);
+ ambient(r, r, 126);
+ translate(width/2, height/2, 0);
+ sphere(33);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_13/Ex_13.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..be7df3d02
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_13/Ex_13.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100, P3D);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ fill(0, 51, 102);
+ ambientLight(102, 102, 102);
+ lightSpecular(204, 204, 204);
+ directionalLight(102, 102, 102, 0, 0, -1);
+ specular(255, 255, 255);
+ translate(width/2, height/2, 0);
+ float s = map(mouseX, 0, width, 1, 10);
+ shininess(s);
+ sphere(33);
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_14/Ex_14.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..be92bb218
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_14/Ex_14.pde
@@ -0,0 +1,21 @@
+PImage tex;
+
+void setup() {
+ size(100, 100, P3D);
+ tex = loadImage("dwp-parallel.png");
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ translate(0, 0, -height/4);
+ float ry = map(mouseX, 0, width, 0, TWO_PI);
+ rotateY(ry);
+ beginShape();
+ texture(tex);
+ vertex(0, 0, 0, 0, 0);
+ vertex(100, 0, 0, 200, 0);
+ vertex(100, 100, 0, 200, 200);
+ vertex(0, 100, 0, 0, 200);
+ endShape();
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_14/data/DSC_0387.jpg b/content/handbook_2e/examples/16 3D Drawing/Ex_14/data/DSC_0387.jpg
new file mode 100644
index 000000000..798e7192c
Binary files /dev/null and b/content/handbook_2e/examples/16 3D Drawing/Ex_14/data/DSC_0387.jpg differ
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_14/data/dwp-parallel.png b/content/handbook_2e/examples/16 3D Drawing/Ex_14/data/dwp-parallel.png
new file mode 100644
index 000000000..178fa5f8f
Binary files /dev/null and b/content/handbook_2e/examples/16 3D Drawing/Ex_14/data/dwp-parallel.png differ
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_15/Ex_15.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..3e69fc11b
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_15/Ex_15.pde
@@ -0,0 +1,22 @@
+PImage tex;
+
+void setup() {
+ size(100, 100, P3D);
+ tex = loadImage("dwp-parallel.png");
+ noStroke();
+ textureMode(NORMAL);
+}
+
+void draw() {
+ background(0);
+ translate(0, 0, -height/4);
+ float ry = map(mouseX, 0, width, 0, TWO_PI);
+ rotateY(ry);
+ beginShape();
+ texture(tex);
+ vertex(0, 0, 0, 0, 0);
+ vertex(100, 0, 0, 1, 0);
+ vertex(100, 100, 0, 1, 1);
+ vertex(0, 100, 0, 0, 1);
+ endShape();
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_15/data/DSC_0387.jpg b/content/handbook_2e/examples/16 3D Drawing/Ex_15/data/DSC_0387.jpg
new file mode 100644
index 000000000..798e7192c
Binary files /dev/null and b/content/handbook_2e/examples/16 3D Drawing/Ex_15/data/DSC_0387.jpg differ
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_15/data/dwp-parallel.png b/content/handbook_2e/examples/16 3D Drawing/Ex_15/data/dwp-parallel.png
new file mode 100644
index 000000000..178fa5f8f
Binary files /dev/null and b/content/handbook_2e/examples/16 3D Drawing/Ex_15/data/dwp-parallel.png differ
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_16/Ex_16.pde b/content/handbook_2e/examples/16 3D Drawing/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..9cfd0f907
--- /dev/null
+++ b/content/handbook_2e/examples/16 3D Drawing/Ex_16/Ex_16.pde
@@ -0,0 +1,21 @@
+PImage tex;
+
+void setup() {
+ size(100, 100, P3D);
+ tex = loadImage("dwp-parallel.png");
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ translate(0, 0, -height/4);
+ float ry = map(mouseX, 0, width, 0, TWO_PI);
+ rotateY(ry);
+ beginShape();
+ texture(tex);
+ vertex(0, 6, 0, 0, 12);
+ vertex(100, 45, 0, 200, 90);
+ vertex(100, 80, 0, 200, 160);
+ vertex(0, 44, 0, 0, 88);
+ endShape();
+}
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_16/data/DSC_0387.jpg b/content/handbook_2e/examples/16 3D Drawing/Ex_16/data/DSC_0387.jpg
new file mode 100644
index 000000000..798e7192c
Binary files /dev/null and b/content/handbook_2e/examples/16 3D Drawing/Ex_16/data/DSC_0387.jpg differ
diff --git a/content/handbook_2e/examples/16 3D Drawing/Ex_16/data/dwp-parallel.png b/content/handbook_2e/examples/16 3D Drawing/Ex_16/data/dwp-parallel.png
new file mode 100644
index 000000000..178fa5f8f
Binary files /dev/null and b/content/handbook_2e/examples/16 3D Drawing/Ex_16/data/dwp-parallel.png differ
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_01/Ex_01.pde b/content/handbook_2e/examples/17 Shapes/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..7a4bc4c73
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_01/Ex_01.pde
@@ -0,0 +1,12 @@
+
+PShape land;
+
+void setup() {
+ size(100, 100);
+ land = loadShape("antarctica.svg");
+}
+
+void draw() {
+ background(204);
+ shape(land, 10, 10);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_01/data/antarctica.svg b/content/handbook_2e/examples/17 Shapes/Ex_01/data/antarctica.svg
new file mode 100644
index 000000000..b2e13775a
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_01/data/antarctica.svg
@@ -0,0 +1,917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_02/Ex_02.pde b/content/handbook_2e/examples/17 Shapes/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..9806c947f
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_02/Ex_02.pde
@@ -0,0 +1,11 @@
+PShape land;
+
+void setup() {
+ size(100, 100);
+ land = loadShape("antarctica.svg");
+}
+
+void draw() {
+ background(204);
+ shape(land, 10, 10, 80, 80);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_02/data/antarctica.svg b/content/handbook_2e/examples/17 Shapes/Ex_02/data/antarctica.svg
new file mode 100644
index 000000000..b2e13775a
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_02/data/antarctica.svg
@@ -0,0 +1,917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_03/Ex_03.pde b/content/handbook_2e/examples/17 Shapes/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..0e27b5e49
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_03/Ex_03.pde
@@ -0,0 +1,15 @@
+PShape land;
+
+void setup() {
+ size(100, 100);
+ land = loadShape("antarctica.svg");
+ shapeMode(CENTER);
+}
+
+void draw() {
+ background(204);
+ translate(width/2, height/2);
+ float scalar = map(mouseX, 0, width, 0.1, 2.5);
+ scale(scalar);
+ shape(land, 0, 0);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_03/data/antarctica.svg b/content/handbook_2e/examples/17 Shapes/Ex_03/data/antarctica.svg
new file mode 100644
index 000000000..b2e13775a
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_03/data/antarctica.svg
@@ -0,0 +1,917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_04/Ex_04.pde b/content/handbook_2e/examples/17 Shapes/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..26c7af4f2
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_04/Ex_04.pde
@@ -0,0 +1,12 @@
+PShape land;
+
+void setup() {
+ size(100, 100);
+ land = loadShape("antarctica.svg");
+}
+
+void draw() {
+ background(204);
+ float scalar = 0.36;
+ shape(land, 8, 14, land.width*scalar, land.height*scalar);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_04/data/antarctica.svg b/content/handbook_2e/examples/17 Shapes/Ex_04/data/antarctica.svg
new file mode 100644
index 000000000..b2e13775a
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_04/data/antarctica.svg
@@ -0,0 +1,917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_05/Ex_05.pde b/content/handbook_2e/examples/17 Shapes/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..ae83d1362
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_05/Ex_05.pde
@@ -0,0 +1,18 @@
+PShape land;
+
+void setup() {
+ size(100, 100);
+ land = loadShape("antarctica.svg");
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ land.disableStyle();
+ fill(255);
+ shape(land, -20, 0);
+ fill(102);
+ shape(land, 15, 0);
+ land.enableStyle();
+ shape(land, 50, 0);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_05/data/antarctica.svg b/content/handbook_2e/examples/17 Shapes/Ex_05/data/antarctica.svg
new file mode 100644
index 000000000..b2e13775a
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_05/data/antarctica.svg
@@ -0,0 +1,917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_06/Ex_06.pde b/content/handbook_2e/examples/17 Shapes/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..fb43f8aac
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_06/Ex_06.pde
@@ -0,0 +1,14 @@
+
+PShape pot;
+
+void setup() {
+ size(100, 100, P3D);
+ pot = loadShape("teapot.obj");
+}
+
+void draw() {
+ background(0);
+ float scalar = 12.0; // Scalar
+ shape(pot, 50, 70, pot.width*scalar,
+ pot.height*scalar);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_06/data/teapot-upsidedown.obj b/content/handbook_2e/examples/17 Shapes/Ex_06/data/teapot-upsidedown.obj
new file mode 100644
index 000000000..1fabb3d74
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_06/data/teapot-upsidedown.obj
@@ -0,0 +1,9965 @@
+v -3.000000 1.800000 0.000000
+v -2.991600 1.800000 -0.081000
+v -2.991600 1.800000 0.081000
+v -2.989450 1.666162 0.000000
+v -2.985000 1.921950 0.000000
+v -2.985000 1.921950 0.000000
+v -2.981175 1.667844 -0.081000
+v -2.981175 1.667844 0.081000
+v -2.976687 1.920243 -0.081000
+v -2.976687 1.920243 0.081000
+v -2.968800 1.800000 -0.144000
+v -2.968800 1.800000 0.144000
+v -2.958713 1.672406 -0.144000
+v -2.958713 1.672406 0.144000
+v -2.957600 1.534800 0.000000
+v -2.957600 1.534800 0.000000
+v -2.954122 1.915609 -0.144000
+v -2.954122 1.915609 0.144000
+v -2.949693 1.537790 -0.081000
+v -2.949693 1.537790 0.081000
+v -2.940000 2.019600 0.000000
+v -2.935200 1.800000 -0.189000
+v -2.935200 1.800000 0.189000
+v -2.931958 2.016526 0.081000
+v -2.931958 2.016526 -0.081000
+v -2.928230 1.545907 -0.144000
+v -2.928230 1.545907 0.144000
+v -2.925611 1.679131 -0.189000
+v -2.925611 1.679131 0.189000
+v -2.920870 1.908779 -0.189000
+v -2.920870 1.908779 0.189000
+v -2.910131 2.008181 -0.144000
+v -2.910131 2.008181 0.144000
+v -2.904150 1.406137 0.000000
+v -2.904150 1.406137 0.000000
+v -2.896846 1.410135 0.081000
+v -2.896846 1.410135 -0.081000
+v -2.896602 1.557869 -0.189000
+v -2.896602 1.557869 0.189000
+v -2.894400 1.800000 -0.216000
+v -2.894400 1.800000 0.216000
+v -2.885416 1.687296 -0.216000
+v -2.885416 1.687296 0.216000
+v -2.880491 1.900487 -0.216000
+v -2.880491 1.900487 0.216000
+v -2.877965 1.995883 -0.189000
+v -2.877965 1.995883 0.189000
+v -2.877022 1.420985 -0.144000
+v -2.877022 1.420985 0.144000
+v -2.865000 2.095650 0.000000
+v -2.858195 1.572394 0.216000
+v -2.858195 1.572394 -0.216000
+v -2.857432 2.091511 -0.081000
+v -2.857432 2.091511 0.081000
+v -2.850000 1.800000 -0.225000
+v -2.850000 1.800000 0.225000
+v -2.847806 1.436974 0.189000
+v -2.847806 1.436974 -0.189000
+v -2.841675 1.696181 0.225000
+v -2.841675 1.696181 -0.225000
+v -2.838906 1.980950 -0.216000
+v -2.838906 1.980950 0.216000
+v -2.836889 2.080276 -0.144000
+v -2.836889 2.080276 0.144000
+v -2.836550 1.891463 -0.225000
+v -2.836550 1.891463 0.225000
+v -2.828800 1.280400 0.000000
+v -2.822326 1.285171 -0.081000
+v -2.822326 1.285171 0.081000
+v -2.816400 1.588200 -0.225000
+v -2.816400 1.588200 0.225000
+v -2.812331 1.456390 0.216000
+v -2.812331 1.456390 -0.216000
+v -2.806615 2.063720 -0.189000
+v -2.806615 2.063720 0.189000
+v -2.805600 1.800000 -0.216000
+v -2.805600 1.800000 0.216000
+v -2.804755 1.298122 -0.144000
+v -2.804755 1.298122 0.144000
+v -2.797934 1.705067 -0.216000
+v -2.797934 1.705067 0.216000
+v -2.796400 1.964700 0.225000
+v -2.796400 1.964700 -0.225000
+v -2.792609 1.882438 -0.216000
+v -2.792609 1.882438 0.216000
+v -2.778861 1.317206 -0.189000
+v -2.778861 1.317206 0.189000
+v -2.774605 1.604006 0.216000
+v -2.774605 1.604006 -0.216000
+v -2.773725 1.477519 0.225000
+v -2.773725 1.477519 -0.225000
+v -2.769854 2.043616 -0.216000
+v -2.769854 2.043616 0.216000
+v -2.764800 1.800000 -0.189000
+v -2.764800 1.800000 0.189000
+v -2.760000 2.152800 0.000000
+v -2.760000 2.152800 0.000000
+v -2.757739 1.713232 -0.189000
+v -2.757739 1.713232 0.189000
+v -2.753894 1.948450 -0.216000
+v -2.753894 1.948450 0.216000
+v -2.753123 2.147861 -0.081000
+v -2.753123 2.147861 0.081000
+v -2.752230 1.874146 -0.189000
+v -2.752230 1.874146 0.189000
+v -2.747418 1.340381 -0.216000
+v -2.747418 1.340381 0.216000
+v -2.736198 1.618531 -0.189000
+v -2.736198 1.618531 0.189000
+v -2.735119 1.498648 0.216000
+v -2.735119 1.498648 -0.216000
+v -2.734458 2.134454 -0.144000
+v -2.734458 2.134454 0.144000
+v -2.731250 1.157813 0.000000
+v -2.731250 1.157813 0.000000
+v -2.731200 1.800000 -0.144000
+v -2.731200 1.800000 0.144000
+v -2.729850 2.021737 -0.225000
+v -2.729850 2.021737 0.225000
+v -2.725825 1.163194 0.081000
+v -2.725825 1.163194 -0.081000
+v -2.724637 1.719956 -0.144000
+v -2.724637 1.719956 0.144000
+v -2.718978 1.867316 -0.144000
+v -2.718978 1.867316 0.144000
+v -2.714835 1.933517 -0.189000
+v -2.714835 1.933517 0.189000
+v -2.713200 1.365600 -0.225000
+v -2.713200 1.365600 0.225000
+v -2.711100 1.177800 -0.144000
+v -2.711100 1.177800 0.144000
+v -2.708400 1.800000 -0.081000
+v -2.708400 1.800000 0.081000
+v -2.706950 2.114698 -0.189000
+v -2.706950 2.114698 0.189000
+v -2.704570 1.630493 -0.144000
+v -2.704570 1.630493 0.144000
+v -2.702175 1.724519 -0.081000
+v -2.702175 1.724519 0.081000
+v -2.700000 1.800000 0.000000
+v -2.699644 1.518063 0.189000
+v -2.699644 1.518063 -0.189000
+v -2.696413 1.862682 -0.081000
+v -2.696413 1.862682 0.081000
+v -2.693900 1.726200 0.000000
+v -2.689846 1.999859 -0.216000
+v -2.689846 1.999859 0.216000
+v -2.689400 1.199325 -0.189000
+v -2.689400 1.199325 0.189000
+v -2.688100 1.860975 0.000000
+v -2.688100 1.860975 0.000000
+v -2.683107 1.638610 -0.081000
+v -2.683107 1.638610 0.081000
+v -2.682669 1.921219 -0.144000
+v -2.682669 1.921219 0.144000
+v -2.678982 1.390819 -0.216000
+v -2.678982 1.390819 0.216000
+v -2.675200 1.641600 0.000000
+v -2.675200 1.641600 0.000000
+v -2.673549 2.090707 -0.216000
+v -2.673549 2.090707 0.216000
+v -2.670428 1.534053 -0.144000
+v -2.670428 1.534053 0.144000
+v -2.663050 1.225463 -0.216000
+v -2.663050 1.225463 0.216000
+v -2.660842 1.912874 0.081000
+v -2.660842 1.912874 -0.081000
+v -2.653085 1.979755 -0.189000
+v -2.653085 1.979755 0.189000
+v -2.652800 1.909800 0.000000
+v -2.652800 1.909800 0.000000
+v -2.650604 1.544903 0.081000
+v -2.650604 1.544903 -0.081000
+v -2.647539 1.413994 -0.189000
+v -2.647539 1.413994 0.189000
+v -2.643300 1.548900 0.000000
+v -2.637200 2.064600 -0.225000
+v -2.637200 2.064600 0.225000
+v -2.634375 1.253906 0.225000
+v -2.634375 1.253906 -0.225000
+v -2.625000 2.193750 0.000000
+v -2.622811 1.963199 -0.144000
+v -2.622811 1.963199 0.144000
+v -2.621645 1.433078 -0.144000
+v -2.621645 1.433078 0.144000
+v -2.619050 2.188238 -0.081000
+v -2.619050 2.188238 0.081000
+v -2.611200 1.038600 0.000000
+v -2.611200 1.038600 0.000000
+v -2.607034 1.044497 0.081000
+v -2.607034 1.044497 -0.081000
+v -2.605700 1.282350 -0.216000
+v -2.605700 1.282350 0.216000
+v -2.604074 1.446029 -0.081000
+v -2.604074 1.446029 0.081000
+v -2.602900 2.173275 -0.144000
+v -2.602900 2.173275 0.144000
+v -2.602268 1.951964 -0.081000
+v -2.602268 1.951964 0.081000
+v -2.600851 2.038493 -0.216000
+v -2.600851 2.038493 0.216000
+v -2.597600 1.450800 0.000000
+v -2.595725 1.060502 -0.144000
+v -2.595725 1.060502 0.144000
+v -2.594700 1.947825 0.000000
+v -2.579350 1.308488 -0.189000
+v -2.579350 1.308488 0.189000
+v -2.579100 2.151225 -0.189000
+v -2.579100 2.151225 0.189000
+v -2.579059 1.084090 -0.189000
+v -2.579059 1.084090 0.189000
+v -2.567450 2.014502 -0.189000
+v -2.567450 2.014502 0.189000
+v -2.558822 1.112731 0.216000
+v -2.558822 1.112731 -0.216000
+v -2.557650 1.330013 -0.144000
+v -2.557650 1.330013 0.144000
+v -2.550200 2.124450 -0.216000
+v -2.550200 2.124450 0.216000
+v -2.542925 1.344619 0.081000
+v -2.542925 1.344619 -0.081000
+v -2.539942 1.994746 -0.144000
+v -2.539942 1.994746 0.144000
+v -2.537500 1.350000 0.000000
+v -2.537500 1.350000 0.000000
+v -2.536800 1.143900 0.225000
+v -2.536800 1.143900 -0.225000
+v -2.521277 1.981339 -0.081000
+v -2.521277 1.981339 0.081000
+v -2.518750 2.095312 -0.225000
+v -2.518750 2.095312 0.225000
+v -2.514778 1.175069 0.216000
+v -2.514778 1.175069 -0.216000
+v -2.514400 1.976400 0.000000
+v -2.514400 1.976400 0.000000
+v -2.494541 1.203710 -0.189000
+v -2.494541 1.203710 0.189000
+v -2.487300 2.066175 -0.216000
+v -2.487300 2.066175 0.216000
+v -2.477875 1.227298 -0.144000
+v -2.477875 1.227298 0.144000
+v -2.468350 0.922987 0.000000
+v -2.466566 1.243303 0.081000
+v -2.466566 1.243303 -0.081000
+v -2.465644 0.929375 -0.081000
+v -2.465644 0.929375 0.081000
+v -2.462400 1.249200 0.000000
+v -2.462400 1.249200 0.000000
+v -2.460000 2.221200 0.000000
+v -2.460000 2.221200 0.000000
+v -2.458400 2.039400 -0.189000
+v -2.458400 2.039400 0.189000
+v -2.458298 0.946711 -0.144000
+v -2.458298 0.946711 0.144000
+v -2.455229 2.215303 -0.081000
+v -2.455229 2.215303 0.081000
+v -2.447474 0.972260 0.189000
+v -2.447474 0.972260 -0.189000
+v -2.442278 2.199298 -0.144000
+v -2.442278 2.199298 0.144000
+v -2.434600 2.017350 -0.144000
+v -2.434600 2.017350 0.144000
+v -2.434329 1.003283 -0.216000
+v -2.434329 1.003283 0.216000
+v -2.423194 2.175710 -0.189000
+v -2.423194 2.175710 0.189000
+v -2.420025 1.037044 -0.225000
+v -2.420025 1.037044 0.225000
+v -2.418450 2.002387 -0.081000
+v -2.418450 2.002388 0.081000
+v -2.412500 1.996875 0.000000
+v -2.412500 1.996875 0.000000
+v -2.405721 1.070804 -0.216000
+v -2.405721 1.070804 0.216000
+v -2.400019 2.147069 -0.216000
+v -2.400019 2.147069 0.216000
+v -2.392576 1.101828 -0.189000
+v -2.392576 1.101828 0.189000
+v -2.381752 1.127376 -0.144000
+v -2.381752 1.127376 0.144000
+v -2.374800 2.115900 -0.225000
+v -2.374800 2.115900 0.225000
+v -2.374406 1.144713 0.081000
+v -2.374406 1.144713 -0.081000
+v -2.371700 1.151100 0.000000
+v -2.349581 2.084731 -0.216000
+v -2.349581 2.084731 0.216000
+v -2.326406 2.056090 -0.189000
+v -2.326406 2.056090 0.189000
+v -2.307322 2.032502 -0.144000
+v -2.307322 2.032502 0.144000
+v -2.302400 0.811200 0.000000
+v -2.302400 0.811200 0.000000
+v -2.301347 0.818122 0.081000
+v -2.301347 0.818122 -0.081000
+v -2.298490 0.836909 0.144000
+v -2.298490 0.836909 -0.144000
+v -2.294371 2.016497 -0.081000
+v -2.294371 2.016497 0.081000
+v -2.294278 0.864595 0.189000
+v -2.294278 0.864595 -0.189000
+v -2.289600 2.010600 0.000000
+v -2.289600 2.010600 0.000000
+v -2.289165 0.898214 0.216000
+v -2.289165 0.898214 -0.216000
+v -2.283600 0.934800 0.225000
+v -2.283600 0.934800 -0.225000
+v -2.278035 0.971386 0.216000
+v -2.278035 0.971386 -0.216000
+v -2.272922 1.005005 0.189000
+v -2.272922 1.005005 -0.189000
+v -2.268710 1.032691 -0.144000
+v -2.268710 1.032691 0.144000
+v -2.265853 1.051478 0.081000
+v -2.265853 1.051478 -0.081000
+v -2.265000 2.237850 0.000000
+v -2.264800 1.058400 0.000000
+v -2.264800 1.058400 0.000000
+v -2.261676 2.231720 -0.081000
+v -2.261676 2.231720 0.081000
+v -2.252655 2.215082 -0.144000
+v -2.252655 2.215082 0.144000
+v -2.239361 2.190562 -0.189000
+v -2.239361 2.190562 0.189000
+v -2.223218 2.160788 -0.216000
+v -2.223218 2.160788 0.216000
+v -2.205650 2.128387 0.225000
+v -2.205650 2.128388 -0.225000
+v -2.188082 2.095987 -0.216000
+v -2.188082 2.095987 0.216000
+v -2.171939 2.066213 -0.189000
+v -2.171939 2.066213 0.189000
+v -2.158645 2.041693 -0.144000
+v -2.158645 2.041693 0.144000
+v -2.149624 2.025055 -0.081000
+v -2.149624 2.025055 0.081000
+v -2.146300 2.018925 0.000000
+v -2.141100 0.973800 0.000000
+v -2.141100 0.973800 0.000000
+v -2.140315 0.966231 0.081000
+v -2.140315 0.966231 -0.081000
+v -2.138183 0.945685 0.144000
+v -2.138183 0.945685 -0.144000
+v -2.135041 0.915407 0.189000
+v -2.135041 0.915407 -0.189000
+v -2.131226 0.878641 0.216000
+v -2.131226 0.878641 -0.216000
+v -2.127075 0.838631 0.225000
+v -2.127075 0.838631 -0.225000
+v -2.122924 0.798621 0.216000
+v -2.122924 0.798621 -0.216000
+v -2.119109 0.761855 0.189000
+v -2.119109 0.761855 -0.189000
+v -2.115967 0.731578 0.144000
+v -2.115967 0.731578 -0.144000
+v -2.113835 0.711032 0.081000
+v -2.113835 0.711032 -0.081000
+v -2.113050 0.703463 0.000000
+v -2.113050 0.703463 0.000000
+v -2.040000 2.246400 0.000000
+v -2.040000 2.246400 0.000000
+v -2.038410 2.240150 -0.081000
+v -2.038410 2.240150 0.081000
+v -2.034093 2.223187 -0.144000
+v -2.034093 2.223187 0.144000
+v -2.027731 2.198189 -0.189000
+v -2.027731 2.198189 0.189000
+v -2.020006 2.167834 0.216000
+v -2.020006 2.167834 -0.216000
+v -2.011600 2.134800 0.225000
+v -2.011600 2.134800 -0.225000
+v -2.003194 2.101766 0.216000
+v -2.003194 2.101766 -0.216000
+v -2.000000 0.900000 0.000000
+v -2.000000 0.900000 0.000000
+v -2.000000 0.900000 0.000000
+v -1.997200 0.891600 0.081000
+v -1.997200 0.891600 -0.081000
+v -1.995469 2.071411 -0.189000
+v -1.995469 2.071411 0.189000
+v -1.992750 1.037175 -0.000000
+v -1.992750 1.037175 0.000000
+v -1.989600 0.868800 0.144000
+v -1.989600 0.868800 -0.144000
+v -1.989107 2.046413 0.144000
+v -1.989107 2.046413 -0.144000
+v -1.986000 0.771675 0.000000
+v -1.986000 0.771675 0.000000
+v -1.984790 2.029450 -0.081000
+v -1.984790 2.029450 0.081000
+v -1.983200 2.023200 0.000000
+v -1.983200 2.023200 0.000000
+v -1.978400 0.835200 0.189000
+v -1.978400 0.835200 -0.189000
+v -1.974240 0.900000 -0.328160
+v -1.974240 0.900000 -0.328160
+v -1.974240 0.900000 0.328160
+v -1.972000 1.178400 -0.000000
+v -1.972000 1.178400 0.000000
+v -1.967083 1.037175 -0.326970
+v -1.967083 1.037175 0.326970
+v -1.964800 0.794400 0.216000
+v -1.964800 0.794400 -0.216000
+v -1.960420 0.771675 -0.325863
+v -1.960420 0.771675 0.325863
+v -1.950000 0.750000 -0.225000
+v -1.950000 0.750000 0.225000
+v -1.948000 0.656400 0.000000
+v -1.948000 0.656400 0.000000
+v -1.946601 1.178400 -0.323566
+v -1.946601 1.178400 0.323566
+v -1.939250 1.323225 0.000000
+v -1.939250 1.323225 0.000000
+v -1.935200 0.705600 0.216000
+v -1.935200 0.705600 -0.216000
+v -1.922910 0.656400 -0.319628
+v -1.922910 0.656400 0.319628
+v -1.921600 0.664800 0.189000
+v -1.921600 0.664800 -0.189000
+v -1.914272 1.323225 -0.318192
+v -1.914272 1.323225 0.318192
+v -1.910400 0.631200 0.144000
+v -1.910400 0.631200 -0.144000
+v -1.902800 0.608400 0.081000
+v -1.902800 0.608400 -0.081000
+v -1.900000 0.600000 0.000000
+v -1.900000 0.600000 0.000000
+v -1.899520 0.900000 -0.638080
+v -1.899520 0.900000 -0.638080
+v -1.899520 0.900000 0.638080
+v -1.899520 0.900000 0.638080
+v -1.896000 1.471200 0.000000
+v -1.896000 1.471200 0.000000
+v -1.892634 1.037175 -0.635767
+v -1.892634 1.037175 0.635767
+v -1.892000 0.553725 0.000000
+v -1.892000 0.553725 0.000000
+v -1.886223 0.771675 -0.633613
+v -1.886223 0.771675 0.633613
+v -1.872927 1.178400 -0.629147
+v -1.872927 1.178400 0.629147
+v -1.871580 1.471200 -0.311096
+v -1.871580 1.471200 0.311096
+v -1.867631 0.553725 -0.310439
+v -1.867631 0.553725 0.310439
+v -1.850132 0.656400 -0.621490
+v -1.850132 0.656400 0.621490
+v -1.843750 1.621875 0.000000
+v -1.843750 1.621875 0.000000
+v -1.841822 1.323225 -0.618698
+v -1.841822 1.323225 0.618698
+v -1.824000 0.463200 -0.000000
+v -1.824000 0.463200 0.000000
+v -1.820003 1.621875 -0.302522
+v -1.820003 1.621875 0.302523
+v -1.800900 2.024775 0.000000
+v -1.800745 1.471200 -0.604900
+v -1.800745 1.471200 0.604900
+v -1.800507 0.463200 -0.299282
+v -1.800507 0.463200 0.299282
+v -1.800455 2.031069 -0.081000
+v -1.800455 2.031069 0.081000
+v -1.799246 2.048152 -0.144000
+v -1.799246 2.048152 0.144000
+v -1.797466 2.073326 -0.189000
+v -1.797466 2.073326 0.189000
+v -1.796946 0.553725 -0.603624
+v -1.796946 0.553725 0.603624
+v -1.795303 2.103896 -0.216000
+v -1.795303 2.103896 0.216000
+v -1.792950 2.137163 -0.225000
+v -1.792950 2.137163 0.225000
+v -1.790597 2.170429 -0.216000
+v -1.790597 2.170429 0.216000
+v -1.788434 2.200999 -0.189000
+v -1.788434 2.200999 0.189000
+v -1.786654 2.226173 -0.144000
+v -1.786654 2.226173 0.144000
+v -1.785445 2.243256 -0.081000
+v -1.785445 2.243256 0.081000
+v -1.785000 2.249550 0.000000
+v -1.784000 1.774800 -0.000000
+v -1.784000 1.774800 0.000000
+v -1.779680 0.900000 -0.925920
+v -1.779680 0.900000 -0.925920
+v -1.779680 0.900000 0.925920
+v -1.779680 0.900000 0.925920
+v -1.773229 1.037175 -0.922564
+v -1.773229 1.037175 0.922564
+v -1.767222 0.771675 -0.919439
+v -1.767222 0.771675 0.919439
+v -1.761022 1.774800 -0.292719
+v -1.761022 1.774800 0.292719
+v -1.754764 1.178400 -0.912957
+v -1.754764 1.178400 0.912957
+v -1.751120 1.621875 -0.588230
+v -1.751120 1.621875 0.588230
+v -1.750000 0.384375 -0.000000
+v -1.750000 0.384375 0.000000
+v -1.733408 0.656400 -0.901846
+v -1.733408 0.656400 0.901846
+v -1.732362 0.463200 -0.581929
+v -1.732362 0.463200 0.581929
+v -1.727460 0.384375 -0.287140
+v -1.727460 0.384375 0.287140
+v -1.725622 1.323225 -0.897795
+v -1.725622 1.323225 0.897795
+v -1.718250 1.929525 -0.000000
+v -1.718250 1.929525 0.000000
+v -1.696119 1.929525 -0.281930
+v -1.696119 1.929525 0.281930
+v -1.694372 1.774800 -0.569167
+v -1.694372 1.774800 0.569167
+v -1.687137 1.471200 -0.877772
+v -1.687137 1.471200 0.877772
+v -1.683577 0.553725 -0.875920
+v -1.683577 0.553725 0.875920
+v -1.676000 0.316800 0.000000
+v -1.676000 0.316800 0.000000
+v -1.662080 0.384375 -0.558320
+v -1.662080 0.384375 0.558320
+v -1.654413 0.316800 -0.274998
+v -1.654413 0.316800 0.274998
+v -1.648000 2.085600 0.000000
+v -1.648000 2.085600 0.000000
+v -1.640643 1.621875 -0.853583
+v -1.640643 1.621875 0.853583
+v -1.631925 1.929525 -0.548190
+v -1.631925 1.929525 0.548190
+v -1.626774 2.085600 -0.270404
+v -1.626774 2.085600 0.270404
+v -1.623068 0.463200 -0.844439
+v -1.623068 0.463200 0.844439
+v -1.618560 0.900000 -1.187840
+v -1.618560 0.900000 -1.187840
+v -1.618560 0.900000 1.187840
+v -1.618560 0.900000 1.187840
+v -1.612693 1.037175 -1.183534
+v -1.612693 1.037175 1.183534
+v -1.608000 0.260025 -0.000000
+v -1.608000 0.260025 0.000000
+v -1.607230 0.771675 -1.179525
+v -1.607230 0.771675 1.179525
+v -1.600000 2.025000 0.000000
+v -1.597200 2.031300 -0.081000
+v -1.597200 2.031300 0.081000
+v -1.595900 1.178400 -1.171210
+v -1.595900 1.178400 1.171210
+v -1.591798 0.316800 -0.534711
+v -1.591798 0.316800 0.534711
+v -1.589600 2.048400 -0.144000
+v -1.589600 2.048400 0.144000
+v -1.587475 1.774800 -0.825921
+v -1.587475 1.774800 0.825921
+v -1.587289 0.260025 0.263841
+v -1.587289 0.260025 -0.263841
+v -1.578400 2.073600 -0.189000
+v -1.578400 2.073600 0.189000
+v -1.576477 0.656400 -1.156956
+v -1.576477 0.656400 1.156956
+v -1.574750 2.242575 0.000000
+v -1.574750 2.242575 0.000000
+v -1.569396 1.323225 -1.151759
+v -1.569396 1.323225 1.151759
+v -1.565204 2.085600 -0.525778
+v -1.565204 2.085600 0.525778
+v -1.564800 2.104200 -0.216000
+v -1.564800 2.104200 0.216000
+v -1.557220 0.384375 -0.810180
+v -1.557220 0.384375 0.810180
+v -1.554467 2.242575 -0.258385
+v -1.554467 2.242575 0.258385
+v -1.552000 0.213600 0.000000
+v -1.552000 0.213600 0.000000
+v -1.550000 2.137500 -0.225000
+v -1.550000 2.137500 0.225000
+v -1.535200 2.170800 -0.216000
+v -1.535200 2.170800 0.216000
+v -1.534395 1.471200 -1.126072
+v -1.534395 1.471200 1.126072
+v -1.532010 0.213600 0.254652
+v -1.532010 0.213600 -0.254652
+v -1.531158 0.553725 -1.123697
+v -1.531158 0.553725 1.123697
+v -1.528968 1.929525 -0.795481
+v -1.528968 1.929525 0.795481
+v -1.527214 0.260025 -0.513016
+v -1.527214 0.260025 0.513016
+v -1.521600 2.201400 -0.189000
+v -1.521600 2.201400 0.189000
+v -1.514000 0.177075 0.000000
+v -1.514000 0.177075 0.000000
+v -1.510400 2.226600 -0.144000
+v -1.510400 2.226600 0.144000
+v -1.502800 2.243700 -0.081000
+v -1.502800 2.243700 0.081000
+v -1.500000 2.400000 0.000000
+v -1.500000 0.150000 0.000000
+v -1.500000 2.250000 0.000000
+v -1.500000 2.400000 0.000000
+v -1.500000 0.150000 0.000000
+v -1.496475 0.127575 -0.000000
+v -1.496475 0.127575 0.000000
+v -1.495635 2.242575 -0.502408
+v -1.495635 2.242575 0.502408
+v -1.494500 0.177075 0.248417
+v -1.494500 0.177075 -0.248417
+v -1.492110 1.621875 -1.095040
+v -1.492110 1.621875 1.095040
+v -1.491372 0.316800 -0.775921
+v -1.491372 0.316800 0.775921
+v -1.480800 0.105600 0.000000
+v -1.480800 0.105600 -0.000000
+v -1.480680 2.400000 -0.246120
+v -1.480680 0.150000 0.246120
+v -1.480680 2.400000 0.246120
+v -1.480680 0.150000 -0.246120
+v -1.480680 0.150000 -0.246120
+v -1.480680 0.150000 0.246120
+v -1.480325 2.435437 0.000000
+v -1.480325 2.435437 0.000000
+v -1.477200 0.127575 0.245542
+v -1.477200 0.127575 -0.245542
+v -1.476127 0.463200 -1.083310
+v -1.476127 0.463200 1.083310
+v -1.474028 0.213600 0.495150
+v -1.474028 0.213600 -0.495150
+v -1.466456 2.085600 -0.762958
+v -1.466456 2.085600 0.762958
+v -1.461727 0.105600 -0.242970
+v -1.461727 0.105600 0.242970
+v -1.461258 2.435437 -0.242892
+v -1.461258 2.435437 0.242892
+v -1.459600 2.463000 0.000000
+v -1.459600 2.463000 0.000000
+v -1.445325 0.084525 0.000000
+v -1.445325 0.084525 0.000000
+v -1.443756 1.774800 -1.059553
+v -1.443756 1.774800 1.059553
+v -1.440800 2.463000 -0.239491
+v -1.440800 2.463000 0.239491
+v -1.439025 2.482687 0.000000
+v -1.437937 0.177075 0.483027
+v -1.437937 0.177075 -0.483027
+v -1.430863 0.260025 0.744440
+v -1.430863 0.260025 -0.744440
+v -1.426709 0.084525 -0.237149
+v -1.426709 0.084525 0.237149
+v -1.424640 2.400000 -0.478560
+v -1.424640 0.150000 -0.478560
+v -1.424640 0.150000 -0.478560
+v -1.424640 0.150000 0.478560
+v -1.424640 0.150000 0.478560
+v -1.424640 2.400000 0.478560
+v -1.421292 0.127575 0.477435
+v -1.421292 0.127575 -0.477435
+v -1.420490 2.482687 -0.236115
+v -1.420490 2.482687 0.236115
+v -1.420000 0.900000 -1.420000
+v -1.420000 0.900000 -1.420000
+v -1.420000 0.900000 1.420000
+v -1.420000 0.900000 1.420000
+v -1.419800 2.494500 0.000000
+v -1.419800 2.494500 0.000000
+v -1.416240 0.384375 -1.039360
+v -1.416240 0.384375 1.039360
+v -1.414853 1.037175 -1.414853
+v -1.414853 1.037175 1.414853
+v -1.410060 0.771675 -1.410060
+v -1.410060 0.771675 1.410060
+v -1.406405 0.105600 -0.472434
+v -1.406405 0.105600 0.472434
+v -1.405953 2.435437 -0.472283
+v -1.405953 2.435437 0.472283
+v -1.403125 2.498438 0.000000
+v -1.403125 2.498438 0.000000
+v -1.401513 2.494500 -0.232961
+v -1.401513 2.494500 0.232961
+v -1.401276 2.242575 -0.729046
+v -1.401276 2.242575 0.729046
+v -1.400120 1.178400 -1.400120
+v -1.400120 1.178400 1.400120
+v -1.400000 2.400000 0.000000
+v -1.400000 2.400000 0.000000
+v -1.390545 1.929525 -1.020503
+v -1.390545 1.929525 1.020503
+v -1.390200 2.494500 0.000000
+v -1.390200 2.494500 0.000000
+v -1.386270 2.463000 -0.465671
+v -1.386270 2.463000 0.465671
+v -1.385925 2.435437 0.000000
+v -1.385925 2.435437 0.000000
+v -1.385053 2.498438 -0.230225
+v -1.385053 2.498438 0.230225
+v -1.383080 0.656400 -1.383080
+v -1.383080 0.656400 1.383080
+v -1.382400 0.064800 -0.000000
+v -1.382400 0.064800 0.000000
+v -1.382225 2.482687 -0.000000
+v -1.382225 2.482687 0.000000
+v -1.381968 2.400000 -0.229712
+v -1.381968 2.400000 0.229712
+v -1.381032 0.213600 0.718514
+v -1.381032 0.213600 -0.718514
+v -1.380400 2.463000 0.000000
+v -1.380400 2.463000 0.000000
+v -1.376868 1.323225 -1.376867
+v -1.376867 1.323225 1.376868
+v -1.372712 0.084525 -0.461116
+v -1.372712 0.084525 0.461116
+v -1.372294 2.494500 -0.228104
+v -1.372294 2.494500 0.228104
+v -1.368074 2.435437 -0.227403
+v -1.368074 2.435437 0.227403
+v -1.366728 2.482687 -0.459107
+v -1.366728 2.482687 0.459107
+v -1.364595 0.064800 -0.226824
+v -1.364595 0.064800 0.226824
+v -1.364422 2.482687 -0.226795
+v -1.364422 2.482687 0.226795
+v -1.362620 2.463000 -0.226496
+v -1.362620 2.463000 0.226496
+v -1.356353 0.316800 -0.995410
+v -1.356353 0.316800 0.995410
+v -1.348469 2.494500 -0.452973
+v -1.348469 2.494500 0.452973
+v -1.347218 0.177075 0.700921
+v -1.347218 0.177075 -0.700921
+v -1.346160 1.471200 -1.346160
+v -1.346160 1.471200 1.346160
+v -1.343320 0.553725 -1.343320
+v -1.343320 0.553725 1.343320
+v -1.334760 2.400000 -0.694440
+v -1.334760 0.150000 -0.694440
+v -1.334760 0.150000 0.694440
+v -1.334760 0.150000 0.694440
+v -1.334760 2.400000 0.694440
+v -1.334760 0.150000 -0.694440
+v -1.333693 2.085600 -0.978780
+v -1.333693 2.085600 0.978780
+v -1.332632 2.498438 -0.447653
+v -1.332632 2.498438 0.447653
+v -1.331623 0.127575 0.692808
+v -1.331623 0.127575 -0.692808
+v -1.329664 2.400000 -0.446656
+v -1.329664 2.400000 0.446656
+v -1.320356 2.494500 -0.443529
+v -1.320356 2.494500 0.443529
+v -1.317675 0.105600 -0.685551
+v -1.317675 0.105600 0.685551
+v -1.317252 2.435437 -0.685331
+v -1.317252 2.435437 0.685331
+v -1.316296 2.435437 -0.442166
+v -1.316296 2.435437 0.442166
+v -1.312948 0.064800 0.441041
+v -1.312948 0.064800 -0.441041
+v -1.312782 2.482687 -0.440985
+v -1.312782 2.482687 0.440985
+v -1.311049 2.463000 -0.440403
+v -1.311049 2.463000 0.440403
+v -1.309063 1.621875 -1.309063
+v -1.309063 1.621875 1.309063
+v -1.301322 0.260025 0.955023
+v -1.301322 0.260025 -0.955023
+v -1.300000 2.400000 0.000000
+v -1.300000 2.400000 0.000000
+v -1.298810 2.463000 -0.675736
+v -1.298810 2.463000 0.675736
+v -1.295040 0.463200 -1.295040
+v -1.295040 0.463200 1.295040
+v -1.286108 0.084525 -0.669128
+v -1.286108 0.084525 0.669128
+v -1.284375 0.046875 0.000000
+v -1.284375 0.046875 0.000000
+v -1.283256 2.400000 -0.213304
+v -1.283256 2.400000 0.213304
+v -1.280502 2.482687 -0.666211
+v -1.280502 2.482687 0.666211
+v -1.274600 2.440800 0.000000
+v -1.274600 2.440800 0.000000
+v -1.274414 2.242575 -0.935276
+v -1.274414 2.242575 0.935276
+v -1.267832 0.046875 -0.210740
+v -1.267832 0.046875 0.210740
+v -1.266640 1.774800 -1.266640
+v -1.266640 1.774800 1.266640
+v -1.263395 2.494500 -0.657311
+v -1.263395 2.494500 0.657311
+v -1.258183 2.440800 0.209136
+v -1.258183 2.440800 -0.209136
+v -1.256003 0.213600 0.921764
+v -1.256003 0.213600 -0.921764
+v -1.248557 2.498438 -0.649591
+v -1.248557 2.498438 0.649591
+v -1.245776 2.400000 -0.648144
+v -1.245776 2.400000 0.648144
+v -1.242500 0.384375 -1.242500
+v -1.242500 0.384375 1.242500
+v -1.237056 2.494500 -0.643607
+v -1.237056 2.494500 0.643607
+v -1.234688 2.400000 -0.414752
+v -1.234688 2.400000 0.414752
+v -1.233252 2.435437 -0.641628
+v -1.233252 2.435437 0.641628
+v -1.230115 0.064800 -0.639996
+v -1.230115 0.064800 0.639996
+v -1.229959 2.482687 -0.639915
+v -1.229959 2.482687 0.639915
+v -1.228335 2.463000 -0.639070
+v -1.228335 2.463000 0.639070
+v -1.225250 0.177075 0.899195
+v -1.225250 0.177075 -0.899195
+v -1.219958 1.929525 1.219958
+v -1.219958 1.929525 -1.219958
+v -1.219848 0.046875 -0.409767
+v -1.219848 0.046875 0.409767
+v -1.213920 2.400000 -0.890880
+v -1.213920 0.150000 -0.890880
+v -1.213920 0.150000 -0.890880
+v -1.213920 0.150000 0.890880
+v -1.213920 0.150000 0.890880
+v -1.213920 2.400000 0.890880
+v -1.211067 0.127575 0.888786
+v -1.211067 0.127575 -0.888786
+v -1.210564 2.440800 0.406648
+v -1.210564 2.440800 -0.406648
+v -1.204800 2.474400 0.000000
+v -1.204800 2.474400 0.000000
+v -1.198382 0.105600 -0.879477
+v -1.198382 0.105600 0.879477
+v -1.197997 2.435437 -0.879195
+v -1.197997 2.435437 0.879195
+v -1.189960 0.316800 -1.189960
+v -1.189960 0.316800 1.189960
+v -1.189282 2.474400 -0.197684
+v -1.189282 2.474400 0.197684
+v -1.187840 0.900000 -1.618560
+v -1.187840 0.900000 -1.618560
+v -1.187840 0.900000 1.618560
+v -1.187840 0.900000 1.618560
+v -1.183534 1.037175 -1.612693
+v -1.183534 1.037175 1.612693
+v -1.181225 2.463000 -0.866886
+v -1.181225 2.463000 0.866886
+v -1.179525 0.771675 -1.607230
+v -1.179525 0.771675 1.607230
+v -1.171210 1.178400 -1.595900
+v -1.171210 1.178400 1.595900
+v -1.170080 2.085600 -1.170080
+v -1.170080 2.085600 1.170080
+v -1.169673 0.084525 -0.858407
+v -1.169673 0.084525 0.858407
+v -1.164574 2.482687 -0.854666
+v -1.164574 2.482687 0.854666
+v -1.156956 0.656400 -1.576477
+v -1.156956 0.656400 1.576477
+v -1.156792 2.400000 -0.601848
+v -1.156792 2.400000 0.601848
+v -1.151759 1.323225 -1.569396
+v -1.151759 1.323225 1.569396
+v -1.149016 2.494500 -0.843248
+v -1.149016 2.494500 0.843248
+v -1.144271 2.474400 -0.384379
+v -1.144271 2.474400 0.384379
+v -1.143600 0.031200 0.000000
+v -1.143600 0.031200 0.000000
+v -1.142888 0.046875 -0.594614
+v -1.142888 0.046875 0.594614
+v -1.141680 0.260025 1.141680
+v -1.141680 0.260025 -1.141680
+v -1.135521 2.498438 -0.833344
+v -1.135521 2.498438 0.833344
+v -1.134190 2.440800 0.590089
+v -1.134190 2.440800 -0.590089
+v -1.132992 2.400000 -0.831488
+v -1.132992 2.400000 0.831488
+v -1.128870 0.031200 -0.187642
+v -1.128870 0.031200 0.187642
+v -1.126072 1.471200 -1.534395
+v -1.126072 1.471200 1.534395
+v -1.125061 2.494500 -0.825668
+v -1.125061 2.494500 0.825668
+v -1.123697 0.553725 -1.531158
+v -1.123697 0.553725 1.531158
+v -1.121601 2.435437 -0.823129
+v -1.121601 2.435437 0.823129
+v -1.118749 0.064800 -0.821035
+v -1.118749 0.064800 0.821035
+v -1.118607 2.482687 -0.820931
+v -1.118607 2.482687 0.820931
+v -1.118073 2.242575 -1.118073
+v -1.118073 2.242575 1.118073
+v -1.117130 2.463000 -0.819847
+v -1.117130 2.463000 0.819847
+v -1.101920 0.213600 1.101920
+v -1.101920 0.213600 -1.101920
+v -1.100200 2.502600 0.000000
+v -1.100200 2.502600 0.000000
+v -1.095040 1.621875 -1.492110
+v -1.095040 1.621875 1.492110
+v -1.086146 0.031200 0.364854
+v -1.086146 0.031200 -0.364854
+v -1.086029 2.502600 0.180521
+v -1.086029 2.502600 -0.180521
+v -1.083310 0.463200 -1.476127
+v -1.083310 0.463200 1.476127
+v -1.074940 0.177075 -1.074940
+v -1.074940 0.177075 1.074940
+v -1.072079 2.474400 -0.557774
+v -1.072079 2.474400 0.557774
+v -1.065000 2.400000 -1.065000
+v -1.065000 0.150000 -1.065000
+v -1.065000 0.150000 1.065000
+v -1.065000 2.400000 1.065000
+v -1.062497 0.127575 1.062497
+v -1.062497 0.127575 -1.062497
+v -1.059553 1.774800 -1.443756
+v -1.059553 1.774800 1.443756
+v -1.052064 2.400000 -0.772096
+v -1.052064 2.400000 0.772096
+v -1.051368 0.105600 -1.051368
+v -1.051368 0.105600 1.051368
+v -1.051031 2.435437 -1.051031
+v -1.051031 2.435437 1.051031
+v -1.044926 2.502600 -0.351008
+v -1.044926 2.502600 0.351008
+v -1.039419 0.046875 -0.762816
+v -1.039419 0.046875 0.762816
+v -1.039360 0.384375 -1.416240
+v -1.039360 0.384375 1.416240
+v -1.036316 2.463000 -1.036316
+v -1.036316 2.463000 1.036316
+v -1.031508 2.440800 0.757010
+v -1.031508 2.440800 -0.757010
+v -1.026181 0.084525 -1.026181
+v -1.026181 0.084525 1.026181
+v -1.021708 2.482687 -1.021708
+v -1.021708 2.482687 1.021708
+v -1.020503 1.929525 -1.390545
+v -1.020503 1.929525 1.390545
+v -1.017621 0.031200 0.529441
+v -1.017621 0.031200 -0.529441
+v -1.008058 2.494500 -1.008058
+v -1.008058 2.494500 1.008058
+v -0.996219 2.498438 -0.996219
+v -0.996219 2.498438 0.996219
+v -0.995410 0.316800 -1.356353
+v -0.995410 0.316800 1.356353
+v -0.994000 2.400000 -0.994000
+v -0.994000 2.400000 0.994000
+v -0.987042 2.494500 -0.987042
+v -0.987042 2.494500 0.987042
+v -0.984007 2.435437 -0.984007
+v -0.984007 2.435437 0.984007
+v -0.981504 0.064800 0.981504
+v -0.981504 0.064800 -0.981504
+v -0.981380 2.482687 -0.981380
+v -0.981380 2.482687 0.981380
+v -0.980084 2.463000 -0.980084
+v -0.980084 2.463000 0.980084
+v -0.979002 2.502600 0.509349
+v -0.979002 2.502600 -0.509349
+v -0.978780 2.085600 -1.333693
+v -0.978780 2.085600 1.333693
+v -0.975021 2.474400 -0.715555
+v -0.975021 2.474400 0.715555
+v -0.970400 2.527200 0.000000
+v -0.970400 2.527200 0.000000
+v -0.957901 2.527200 -0.159223
+v -0.957901 2.527200 0.159223
+v -0.955023 0.260025 1.301322
+v -0.955023 0.260025 -1.301322
+v -0.952425 0.018225 -0.000000
+v -0.952425 0.018225 0.000000
+v -0.940158 0.018225 0.156274
+v -0.940158 0.018225 -0.156274
+v -0.935276 2.242575 -1.274414
+v -0.935276 2.242575 1.274414
+v -0.925920 0.900000 -1.779680
+v -0.925920 0.900000 1.779680
+v -0.925920 0.900000 1.779680
+v -0.925920 0.900000 -1.779680
+v -0.925493 0.031200 0.679207
+v -0.925493 0.031200 -0.679207
+v -0.923000 2.400000 -0.923000
+v -0.923000 2.400000 0.923000
+v -0.922564 1.037175 1.773229
+v -0.922564 1.037175 -1.773229
+v -0.921764 0.213600 1.256003
+v -0.921764 0.213600 -1.256003
+v -0.921647 2.527200 -0.309596
+v -0.921647 2.527200 0.309596
+v -0.919439 0.771675 -1.767222
+v -0.919439 0.771675 1.767222
+v -0.912957 1.178400 -1.754764
+v -0.912957 1.178400 1.754764
+v -0.911906 0.046875 -0.911906
+v -0.911906 0.046875 0.911906
+v -0.904966 2.440800 0.904966
+v -0.904966 2.440800 -0.904966
+v -0.904575 0.018225 0.303862
+v -0.904575 0.018225 -0.303862
+v -0.901846 0.656400 -1.733408
+v -0.901846 0.656400 1.733408
+v -0.899195 0.177075 1.225250
+v -0.899195 0.177075 -1.225250
+v -0.897795 1.323225 -1.725622
+v -0.897795 1.323225 1.725622
+v -0.890880 0.150000 -1.213920
+v -0.890880 0.150000 1.213920
+v -0.890880 2.400000 -1.213920
+v -0.890880 0.150000 -1.213920
+v -0.890880 0.150000 1.213920
+v -0.890880 2.400000 1.213920
+v -0.890370 2.502600 -0.653431
+v -0.890370 2.502600 0.653431
+v -0.888786 0.127575 1.211067
+v -0.888786 0.127575 -1.211067
+v -0.879477 0.105600 -1.198382
+v -0.879477 0.105600 1.198382
+v -0.879195 2.435437 -1.197997
+v -0.879195 2.435437 1.197997
+v -0.877772 1.471200 -1.687137
+v -0.877772 1.471200 1.687137
+v -0.875920 0.553725 -1.683577
+v -0.875920 0.553725 1.683577
+v -0.866886 2.463000 -1.181225
+v -0.866886 2.463000 1.181225
+v -0.863501 2.527200 -0.449256
+v -0.863501 2.527200 0.449256
+v -0.858407 0.084525 -1.169673
+v -0.858407 0.084525 1.169673
+v -0.855408 2.474400 -0.855408
+v -0.855408 2.474400 0.855408
+v -0.854666 2.482687 -1.164574
+v -0.854666 2.482687 1.164574
+v -0.853583 1.621875 -1.640643
+v -0.853583 1.621875 1.640643
+v -0.847506 0.018225 -0.440935
+v -0.847506 0.018225 0.440935
+v -0.844439 0.463200 1.623068
+v -0.844439 0.463200 -1.623068
+v -0.843248 2.494500 -1.149016
+v -0.843248 2.494500 1.149016
+v -0.833344 2.498438 -1.135521
+v -0.833344 2.498438 1.135521
+v -0.831488 2.400000 -1.132992
+v -0.831488 2.400000 1.132992
+v -0.825921 1.774800 1.587475
+v -0.825921 1.774800 -1.587475
+v -0.825668 2.494500 -1.125061
+v -0.825668 2.494500 1.125061
+v -0.825000 2.550000 0.000000
+v -0.825000 2.550000 0.000000
+v -0.823129 2.435437 -1.121601
+v -0.823129 2.435437 1.121601
+v -0.821035 0.064800 1.118749
+v -0.821035 0.064800 -1.118749
+v -0.820931 2.482687 1.118607
+v -0.820931 2.482687 -1.118607
+v -0.819847 2.463000 -1.117130
+v -0.819847 2.463000 1.117130
+v -0.814374 2.550000 -0.135366
+v -0.814374 2.550000 0.135366
+v -0.811956 0.031200 0.811956
+v -0.811956 0.031200 -0.811956
+v -0.810180 0.384375 1.557220
+v -0.810180 0.384375 -1.557220
+v -0.795481 1.929525 1.528968
+v -0.795481 1.929525 -1.528968
+v -0.785325 2.527200 -0.576340
+v -0.785325 2.527200 0.576340
+v -0.783552 2.550000 -0.263208
+v -0.783552 2.550000 0.263208
+v -0.781142 2.502600 -0.781142
+v -0.781142 2.502600 0.781142
+v -0.775921 0.316800 -1.491372
+v -0.775921 0.316800 1.491372
+v -0.772096 2.400000 -1.052064
+v -0.772096 2.400000 1.052064
+v -0.770779 0.018225 0.565664
+v -0.770779 0.018225 -0.565664
+v -0.762958 2.085600 -1.466456
+v -0.762958 2.085600 1.466456
+v -0.762816 0.046875 -1.039419
+v -0.762816 0.046875 1.039419
+v -0.757010 2.440800 1.031508
+v -0.757010 2.440800 -1.031508
+v -0.744440 0.260025 1.430863
+v -0.744440 0.260025 -1.430863
+v -0.734118 2.550000 -0.381942
+v -0.734118 2.550000 0.381942
+v -0.729046 2.242575 -1.401276
+v -0.729046 2.242575 1.401276
+v -0.718514 0.213600 1.381032
+v -0.718514 0.213600 -1.381032
+v -0.715555 2.474400 -0.975021
+v -0.715555 2.474400 0.975021
+v -0.703200 0.008400 0.000000
+v -0.700921 0.177075 1.347218
+v -0.700921 0.177075 -1.347218
+v -0.694440 0.150000 -1.334760
+v -0.694440 0.150000 1.334760
+v -0.694440 2.400000 1.334760
+v -0.694440 0.150000 1.334760
+v -0.694440 2.400000 -1.334760
+v -0.694440 0.150000 -1.334760
+v -0.694143 0.008400 -0.115381
+v -0.694143 0.008400 0.115381
+v -0.692808 0.127575 1.331623
+v -0.692808 0.127575 -1.331623
+v -0.688984 2.527200 -0.688984
+v -0.688984 2.527200 0.688984
+v -0.685551 0.105600 -1.317675
+v -0.685551 0.105600 1.317675
+v -0.685331 2.435437 -1.317252
+v -0.685331 2.435437 1.317252
+v -0.679207 0.031200 -0.925493
+v -0.679207 0.031200 0.925493
+v -0.676222 0.018225 0.676222
+v -0.676222 0.018225 -0.676222
+v -0.675736 2.463000 -1.298810
+v -0.675736 2.463000 1.298810
+v -0.673600 2.572800 0.000000
+v -0.673600 2.572800 0.000000
+v -0.669128 0.084525 -1.286108
+v -0.669128 0.084525 1.286108
+v -0.667871 0.008400 -0.224349
+v -0.667871 0.008400 0.224349
+v -0.667656 2.550000 -0.489984
+v -0.667656 2.550000 0.489984
+v -0.666211 2.482687 1.280502
+v -0.666211 2.482687 -1.280502
+v -0.664924 2.572800 -0.110524
+v -0.664924 2.572800 0.110524
+v -0.657311 2.494500 -1.263395
+v -0.657311 2.494500 1.263395
+v -0.653431 2.502600 -0.890370
+v -0.653431 2.502600 0.890370
+v -0.649591 2.498438 -1.248557
+v -0.649591 2.498438 1.248557
+v -0.648144 2.400000 -1.245776
+v -0.648144 2.400000 1.245776
+v -0.643607 2.494500 -1.237056
+v -0.643607 2.494500 1.237056
+v -0.641628 2.435437 -1.233252
+v -0.641628 2.435437 1.233252
+v -0.639996 0.064800 -1.230115
+v -0.639996 0.064800 1.230115
+v -0.639915 2.482687 1.229959
+v -0.639915 2.482687 -1.229959
+v -0.639758 2.572800 -0.214905
+v -0.639758 2.572800 0.214905
+v -0.639070 2.463000 -1.228335
+v -0.639070 2.463000 1.228335
+v -0.638080 0.900000 -1.899520
+v -0.638080 0.900000 -1.899520
+v -0.638080 0.900000 1.899520
+v -0.638080 0.900000 1.899520
+v -0.635767 1.037175 -1.892634
+v -0.635767 1.037175 1.892634
+v -0.633613 0.771675 -1.886223
+v -0.633613 0.771675 1.886223
+v -0.629147 1.178400 -1.872927
+v -0.629147 1.178400 1.872927
+v -0.625735 0.008400 0.325553
+v -0.625735 0.008400 -0.325553
+v -0.621490 0.656400 -1.850132
+v -0.621490 0.656400 1.850132
+v -0.618698 1.323225 -1.841822
+v -0.618698 1.323225 1.841822
+v -0.604900 1.471200 -1.800745
+v -0.604900 1.471200 1.800745
+v -0.603624 0.553725 -1.796946
+v -0.603624 0.553725 1.796946
+v -0.601848 2.400000 -1.156792
+v -0.601848 2.400000 1.156792
+v -0.599396 2.572800 -0.311850
+v -0.599396 2.572800 0.311850
+v -0.594614 0.046875 -1.142888
+v -0.594614 0.046875 1.142888
+v -0.590089 2.440800 1.134190
+v -0.590089 2.440800 -1.134190
+v -0.588230 1.621875 -1.751120
+v -0.588230 1.621875 1.751120
+v -0.585750 2.550000 -0.585750
+v -0.585750 2.550000 0.585750
+v -0.581929 0.463200 -1.732362
+v -0.581929 0.463200 1.732362
+v -0.576340 2.527200 -0.785325
+v -0.576340 2.527200 0.785325
+v -0.569167 1.774800 -1.694372
+v -0.569167 1.774800 1.694372
+v -0.569086 0.008400 -0.417645
+v -0.569086 0.008400 0.417645
+v -0.565664 0.018225 0.770779
+v -0.565664 0.018225 -0.770779
+v -0.558320 0.384375 -1.662080
+v -0.558320 0.384375 1.662080
+v -0.557774 2.474400 -1.072079
+v -0.557774 2.474400 1.072079
+v -0.548190 1.929525 -1.631925
+v -0.548190 1.929525 1.631925
+v -0.545131 2.572800 -0.400065
+v -0.545131 2.572800 0.400065
+v -0.534711 0.316800 -1.591798
+v -0.534711 0.316800 1.591798
+v -0.529441 0.031200 -1.017621
+v -0.529441 0.031200 1.017621
+v -0.525800 2.597400 0.000000
+v -0.525800 2.597400 0.000000
+v -0.525778 2.085600 -1.565204
+v -0.525778 2.085600 1.565204
+v -0.519028 2.597400 0.086273
+v -0.519028 2.597400 -0.086273
+v -0.513016 0.260025 -1.527214
+v -0.513016 0.260025 1.527214
+v -0.509349 2.502600 0.979002
+v -0.509349 2.502600 -0.979002
+v -0.502408 2.242575 -1.495635
+v -0.502408 2.242575 1.495635
+v -0.499384 2.597400 -0.167751
+v -0.499384 2.597400 0.167751
+v -0.499272 0.008400 -0.499272
+v -0.499272 0.008400 0.499272
+v -0.495150 0.213600 -1.474028
+v -0.495150 0.213600 1.474028
+v -0.489984 2.550000 -0.667656
+v -0.489984 2.550000 0.667656
+v -0.483027 0.177075 -1.437937
+v -0.483027 0.177075 1.437937
+v -0.478560 0.150000 1.424640
+v -0.478560 2.400000 -1.424640
+v -0.478560 0.150000 -1.424640
+v -0.478560 0.150000 -1.424640
+v -0.478560 0.150000 1.424640
+v -0.478560 2.400000 1.424640
+v -0.478256 2.572800 -0.478256
+v -0.478256 2.572800 0.478256
+v -0.477435 0.127575 1.421292
+v -0.477435 0.127575 -1.421292
+v -0.472434 0.105600 1.406405
+v -0.472434 0.105600 -1.406405
+v -0.472283 2.435437 -1.405953
+v -0.472283 2.435437 1.405953
+v -0.467878 2.597400 -0.243424
+v -0.467878 2.597400 0.243424
+v -0.465671 2.463000 -1.386270
+v -0.465671 2.463000 1.386270
+v -0.461116 0.084525 1.372712
+v -0.461116 0.084525 -1.372712
+v -0.459107 2.482687 -1.366728
+v -0.459107 2.482687 1.366728
+v -0.452973 2.494500 -1.348469
+v -0.452973 2.494500 1.348469
+v -0.449256 2.527200 -0.863501
+v -0.449256 2.527200 0.863501
+v -0.447653 2.498438 -1.332632
+v -0.447653 2.498438 1.332632
+v -0.446656 2.400000 -1.329664
+v -0.446656 2.400000 1.329664
+v -0.443529 2.494500 -1.320356
+v -0.443529 2.494500 1.320356
+v -0.442166 2.435437 -1.316296
+v -0.442166 2.435437 1.316296
+v -0.441041 0.064800 1.312948
+v -0.441041 0.064800 -1.312948
+v -0.440985 2.482687 -1.312782
+v -0.440985 2.482687 1.312782
+v -0.440935 0.018225 0.847506
+v -0.440935 0.018225 -0.847506
+v -0.440403 2.463000 -1.311049
+v -0.440403 2.463000 1.311049
+v -0.425519 2.597400 0.312283
+v -0.425519 2.597400 -0.312283
+v -0.417645 0.008400 -0.569086
+v -0.417645 0.008400 0.569086
+v -0.414752 2.400000 -1.234688
+v -0.414752 2.400000 1.234688
+v -0.409767 0.046875 1.219848
+v -0.409767 0.046875 -1.219848
+v -0.406648 2.440800 -1.210564
+v -0.406648 2.440800 1.210564
+v -0.400065 2.572800 -0.545131
+v -0.400065 2.572800 0.545131
+v -0.391200 2.625600 0.000000
+v -0.391200 2.625600 0.000000
+v -0.388275 0.002175 -0.000000
+v -0.388275 0.002175 0.000000
+v -0.386161 2.625600 -0.064188
+v -0.386161 2.625600 0.064188
+v -0.384379 2.474400 -1.144271
+v -0.384379 2.474400 1.144271
+v -0.383274 0.002175 -0.063708
+v -0.383274 0.002175 0.063708
+v -0.381942 2.550000 -0.734118
+v -0.381942 2.550000 0.734118
+v -0.373318 2.597400 -0.373318
+v -0.373318 2.597400 0.373318
+v -0.371546 2.625600 -0.124808
+v -0.371546 2.625600 0.124808
+v -0.368768 0.002175 -0.123875
+v -0.368768 0.002175 0.123875
+v -0.364854 0.031200 1.086146
+v -0.364854 0.031200 -1.086146
+v -0.358400 3.034800 0.000000
+v -0.358400 3.034800 0.000000
+v -0.358200 3.081150 0.000000
+v -0.358200 3.081150 0.000000
+v -0.353807 3.034800 -0.059016
+v -0.353807 3.034800 0.059016
+v -0.353610 3.081150 -0.058988
+v -0.353610 3.081150 0.058988
+v -0.351008 2.502600 -1.044926
+v -0.351008 2.502600 1.044926
+v -0.348105 2.625600 -0.181110
+v -0.348105 2.625600 0.181110
+v -0.345503 0.002175 -0.179756
+v -0.345503 0.002175 0.179756
+v -0.340477 3.034800 -0.114676
+v -0.340477 3.034800 0.114676
+v -0.340289 3.081150 -0.114619
+v -0.340289 3.081150 0.114619
+v -0.328160 0.900000 -1.974240
+v -0.328160 0.900000 1.974240
+v -0.328160 0.900000 1.974240
+v -0.326970 1.037175 -1.967083
+v -0.326970 1.037175 1.967083
+v -0.325863 0.771675 -1.960420
+v -0.325863 0.771675 1.960420
+v -0.325553 0.008400 -0.625735
+v -0.325553 0.008400 0.625735
+v -0.325000 2.981250 0.000000
+v -0.325000 2.981250 0.000000
+v -0.323566 1.178400 -1.946601
+v -0.323566 1.178400 1.946601
+v -0.320834 2.981250 -0.053508
+v -0.320834 2.981250 0.053508
+v -0.319628 0.656400 -1.922910
+v -0.319628 0.656400 1.922910
+v -0.319082 3.034800 -0.166306
+v -0.319082 3.034800 0.166306
+v -0.318907 3.081150 -0.166221
+v -0.318907 3.081150 0.166221
+v -0.318192 1.323225 -1.914272
+v -0.318192 1.323225 1.914272
+v -0.316590 2.625600 -0.232342
+v -0.316590 2.625600 0.232342
+v -0.314223 0.002175 -0.230604
+v -0.314223 0.002175 0.230604
+v -0.312283 2.597400 -0.425519
+v -0.312283 2.597400 0.425519
+v -0.311850 2.572800 -0.599396
+v -0.311850 2.572800 0.599396
+v -0.311096 1.471200 -1.871580
+v -0.311096 1.471200 1.871580
+v -0.310439 0.553725 -1.867631
+v -0.310439 0.553725 1.867631
+v -0.309596 2.527200 -0.921647
+v -0.309596 2.527200 0.921647
+v -0.308800 3.117600 0.000000
+v -0.308800 3.117600 0.000000
+v -0.308744 2.981250 -0.103976
+v -0.308744 2.981250 0.103976
+v -0.304843 3.117600 -0.050855
+v -0.304843 3.117600 0.050855
+v -0.303862 0.018225 0.904575
+v -0.303862 0.018225 -0.904575
+v -0.302523 1.621875 -1.820003
+v -0.302522 1.621875 1.820003
+v -0.299282 0.463200 -1.800507
+v -0.299282 0.463200 1.800507
+v -0.293360 3.117600 -0.098814
+v -0.293360 3.117600 0.098814
+v -0.292719 1.774800 -1.761022
+v -0.292719 1.774800 1.761022
+v -0.290295 3.034800 -0.213234
+v -0.290295 3.034800 0.213234
+v -0.290138 3.081150 -0.213123
+v -0.290138 3.081150 0.213123
+v -0.289340 2.981250 -0.150793
+v -0.289340 2.981250 0.150793
+v -0.287140 0.384375 -1.727460
+v -0.287140 0.384375 1.727460
+v -0.281930 1.929525 1.696119
+v -0.281930 1.929525 -1.696119
+v -0.279400 2.659200 0.000000
+v -0.277752 2.625600 -0.277752
+v -0.277752 2.625600 0.277752
+v -0.275801 2.659200 -0.045844
+v -0.275801 2.659200 0.045844
+v -0.275675 0.002175 -0.275675
+v -0.275675 0.002175 0.275675
+v -0.274998 0.316800 -1.654413
+v -0.274998 0.316800 1.654413
+v -0.274928 3.117600 -0.143301
+v -0.274928 3.117600 0.143301
+v -0.273600 2.923200 0.000000
+v -0.273600 2.923200 0.000000
+v -0.270404 2.085600 -1.626774
+v -0.270404 2.085600 1.626774
+v -0.270092 2.923200 -0.045032
+v -0.270092 2.923200 0.045032
+v -0.265363 2.659200 -0.089140
+v -0.265363 2.659200 0.089140
+v -0.263841 0.260025 1.587289
+v -0.263841 0.260025 -1.587289
+v -0.263232 2.981250 -0.193348
+v -0.263232 2.981250 0.193348
+v -0.263208 2.550000 -0.783552
+v -0.263208 2.550000 0.783552
+v -0.259910 2.923200 -0.087511
+v -0.259910 2.923200 0.087511
+v -0.258385 2.242575 -1.554467
+v -0.258385 2.242575 1.554467
+v -0.254788 3.034800 -0.254788
+v -0.254788 3.034800 0.254788
+v -0.254653 3.081150 -0.254653
+v -0.254653 3.081150 0.254653
+v -0.254652 0.213600 -1.532010
+v -0.254652 0.213600 1.532010
+v -0.250127 3.117600 -0.183734
+v -0.250127 3.117600 0.183734
+v -0.248621 2.659200 0.129351
+v -0.248621 2.659200 -0.129351
+v -0.248417 0.177075 -1.494500
+v -0.248417 0.177075 1.494500
+v -0.246120 0.150000 1.480680
+v -0.246120 2.400000 -1.480680
+v -0.246120 0.150000 -1.480680
+v -0.246120 0.150000 -1.480680
+v -0.246120 0.150000 1.480680
+v -0.246120 2.400000 1.480680
+v -0.245542 0.127575 1.477200
+v -0.245542 0.127575 -1.477200
+v -0.243569 2.923200 -0.126920
+v -0.243569 2.923200 0.126920
+v -0.243424 2.597400 0.467878
+v -0.243424 2.597400 -0.467878
+v -0.242970 0.105600 1.461727
+v -0.242970 0.105600 -1.461727
+v -0.242892 2.435437 -1.461258
+v -0.242892 2.435437 1.461258
+v -0.239491 2.463000 -1.440800
+v -0.239491 2.463000 1.440800
+v -0.237149 0.084525 1.426709
+v -0.237149 0.084525 -1.426709
+v -0.236115 2.482687 -1.420490
+v -0.236115 2.482687 1.420490
+v -0.232961 2.494500 -1.401513
+v -0.232961 2.494500 1.401513
+v -0.232342 2.625600 -0.316590
+v -0.232342 2.625600 0.316590
+v -0.231031 2.981250 -0.231031
+v -0.231031 2.981250 0.231031
+v -0.230604 0.002175 -0.314223
+v -0.230604 0.002175 0.314223
+v -0.230225 2.498438 -1.385053
+v -0.230225 2.498438 1.385053
+v -0.229712 2.400000 -1.381968
+v -0.229712 2.400000 1.381968
+v -0.228104 2.494500 -1.372294
+v -0.228104 2.494500 1.372294
+v -0.227403 2.435437 -1.368074
+v -0.227403 2.435437 1.368074
+v -0.226824 0.064800 1.364595
+v -0.226824 0.064800 -1.364595
+v -0.226795 2.482687 1.364422
+v -0.226795 2.482687 -1.364422
+v -0.226496 2.463000 -1.362620
+v -0.226496 2.463000 1.362620
+v -0.226113 2.659200 -0.165941
+v -0.226113 2.659200 0.165941
+v -0.224349 0.008400 0.667871
+v -0.224349 0.008400 -0.667871
+v -0.221585 2.923200 -0.162745
+v -0.221585 2.923200 0.162745
+v -0.219800 2.863350 0.000000
+v -0.219800 2.863350 0.000000
+v -0.219536 3.117600 -0.219536
+v -0.219536 3.117600 0.219536
+v -0.216979 2.863350 0.036157
+v -0.216979 2.863350 -0.036157
+v -0.214905 2.572800 -0.639758
+v -0.214905 2.572800 0.639758
+v -0.213304 2.400000 -1.283256
+v -0.213304 2.400000 1.283256
+v -0.213234 3.034800 -0.290295
+v -0.213234 3.034800 0.290295
+v -0.213123 3.081150 -0.290138
+v -0.213123 3.081150 0.290138
+v -0.210740 0.046875 -1.267832
+v -0.210740 0.046875 1.267832
+v -0.209136 2.440800 -1.258183
+v -0.209136 2.440800 1.258183
+v -0.208794 2.863350 0.070270
+v -0.208794 2.863350 -0.070270
+v -0.200000 2.700000 0.000000
+v -0.200000 2.700000 0.000000
+v -0.200000 2.700000 0.000000
+v -0.200000 2.700000 0.000000
+v -0.198374 2.659200 -0.198374
+v -0.198374 2.659200 0.198374
+v -0.197684 2.474400 -1.189282
+v -0.197684 2.474400 1.189282
+v -0.197424 2.700000 -0.032816
+v -0.197424 2.700000 0.032816
+v -0.197424 2.700000 0.032816
+v -0.197424 2.700000 -0.032816
+v -0.195658 2.863350 -0.101925
+v -0.195658 2.863350 0.101925
+v -0.194600 3.141450 0.000000
+v -0.194600 3.141450 0.000000
+v -0.194472 2.923200 -0.194472
+v -0.194472 2.923200 0.194472
+v -0.193348 2.981250 -0.263232
+v -0.193348 2.981250 0.263232
+v -0.192107 3.141450 -0.032048
+v -0.192107 3.141450 0.032048
+v -0.189952 2.700000 -0.063808
+v -0.189952 2.700000 0.063808
+v -0.189952 2.700000 0.063808
+v -0.189952 2.700000 -0.063808
+v -0.187642 0.031200 1.128870
+v -0.187642 0.031200 -1.128870
+v -0.184870 3.141450 -0.062272
+v -0.184870 3.141450 0.062272
+v -0.183734 3.117600 -0.250127
+v -0.183734 3.117600 0.250127
+v -0.181110 2.625600 0.348105
+v -0.181110 2.625600 -0.348105
+v -0.180521 2.502600 -1.086029
+v -0.180521 2.502600 1.086029
+v -0.179756 0.002175 -0.345503
+v -0.179756 0.002175 0.345503
+v -0.179200 2.804400 0.000000
+v -0.179200 2.804400 0.000000
+v -0.177989 2.863350 -0.130707
+v -0.177989 2.863350 0.130707
+v -0.177968 2.700000 -0.092592
+v -0.177968 2.700000 0.092592
+v -0.177968 2.700000 0.092592
+v -0.177968 2.700000 -0.092592
+v -0.176897 2.804400 0.029450
+v -0.176897 2.804400 -0.029450
+v -0.173255 3.141450 -0.090306
+v -0.173255 3.141450 0.090306
+v -0.170215 2.804400 0.057246
+v -0.170215 2.804400 -0.057246
+v -0.167751 2.597400 -0.499384
+v -0.167751 2.597400 0.499384
+v -0.167400 2.749050 0.000000
+v -0.167400 2.749050 0.000000
+v -0.166306 3.034800 -0.319082
+v -0.166306 3.034800 0.319082
+v -0.166221 3.081150 0.318907
+v -0.166221 3.081150 -0.318907
+v -0.165941 2.659200 -0.226113
+v -0.165941 2.659200 0.226113
+v -0.165245 2.749050 0.027480
+v -0.165245 2.749050 -0.027480
+v -0.162745 2.923200 -0.221585
+v -0.162745 2.923200 0.221585
+v -0.161856 2.700000 -0.118784
+v -0.161856 2.700000 0.118784
+v -0.161856 2.700000 0.118784
+v -0.161856 2.700000 -0.118784
+v -0.159496 2.804400 0.083047
+v -0.159496 2.804400 -0.083047
+v -0.159223 2.527200 -0.957901
+v -0.159223 2.527200 0.957901
+v -0.158995 2.749050 0.053428
+v -0.158995 2.749050 -0.053428
+v -0.157626 3.141450 -0.115787
+v -0.157626 3.141450 0.115787
+v -0.156274 0.018225 0.940158
+v -0.156274 0.018225 -0.940158
+v -0.156200 2.863350 -0.156200
+v -0.156200 2.863350 0.156200
+v -0.150793 2.981250 -0.289340
+v -0.150793 2.981250 0.289340
+v -0.148969 2.749050 0.077523
+v -0.148969 2.749050 -0.077523
+v -0.145078 2.804400 0.106513
+v -0.145078 2.804400 -0.106513
+v -0.143301 3.117600 -0.274928
+v -0.143301 3.117600 0.274928
+v -0.142000 2.700000 -0.142000
+v -0.142000 2.700000 0.142000
+v -0.142000 2.700000 0.142000
+v -0.142000 2.700000 -0.142000
+v -0.138348 3.141450 -0.138348
+v -0.138348 3.141450 0.138348
+v -0.135489 2.749050 0.099446
+v -0.135489 2.749050 -0.099446
+v -0.135366 2.550000 -0.814374
+v -0.135366 2.550000 0.814374
+v -0.130707 2.863350 -0.177989
+v -0.130707 2.863350 0.177989
+v -0.129351 2.659200 0.248621
+v -0.129351 2.659200 -0.248621
+v -0.127304 2.804400 0.127304
+v -0.127304 2.804400 -0.127304
+v -0.126920 2.923200 -0.243569
+v -0.126920 2.923200 0.243569
+v -0.124808 2.625600 -0.371546
+v -0.124808 2.625600 0.371546
+v -0.123875 0.002175 0.368768
+v -0.123875 0.002175 -0.368768
+v -0.118874 2.749050 0.118874
+v -0.118874 2.749050 -0.118874
+v -0.118784 2.700000 -0.161856
+v -0.118784 2.700000 0.161856
+v -0.118784 2.700000 0.161856
+v -0.118784 2.700000 -0.161856
+v -0.115787 3.141450 -0.157626
+v -0.115787 3.141450 0.157626
+v -0.115381 0.008400 0.694143
+v -0.115381 0.008400 -0.694143
+v -0.114676 3.034800 -0.340477
+v -0.114676 3.034800 0.340477
+v -0.114619 3.081150 -0.340289
+v -0.114619 3.081150 0.340289
+v -0.110524 2.572800 -0.664924
+v -0.110524 2.572800 0.664924
+v -0.106513 2.804400 -0.145078
+v -0.106513 2.804400 0.145078
+v -0.103976 2.981250 -0.308744
+v -0.103976 2.981250 0.308744
+v -0.101925 2.863350 -0.195658
+v -0.101925 2.863350 0.195658
+v -0.099446 2.749050 0.135489
+v -0.099446 2.749050 -0.135489
+v -0.098814 3.117600 -0.293360
+v -0.098814 3.117600 0.293360
+v -0.092592 2.700000 -0.177968
+v -0.092592 2.700000 0.177968
+v -0.092592 2.700000 -0.177968
+v -0.092592 2.700000 0.177968
+v -0.090306 3.141450 -0.173255
+v -0.090306 3.141450 0.173255
+v -0.089140 2.659200 -0.265363
+v -0.089140 2.659200 0.265363
+v -0.087511 2.923200 -0.259910
+v -0.087511 2.923200 0.259910
+v -0.086273 2.597400 -0.519028
+v -0.086273 2.597400 0.519028
+v -0.083047 2.804400 -0.159496
+v -0.083047 2.804400 0.159496
+v -0.077523 2.749050 -0.148969
+v -0.077523 2.749050 0.148969
+v -0.070270 2.863350 -0.208794
+v -0.070270 2.863350 0.208794
+v -0.064188 2.625600 -0.386161
+v -0.064188 2.625600 0.386161
+v -0.063808 2.700000 -0.189952
+v -0.063808 2.700000 0.189952
+v -0.063808 2.700000 -0.189952
+v -0.063808 2.700000 0.189952
+v -0.063708 0.002175 0.383274
+v -0.063708 0.002175 -0.383274
+v -0.062272 3.141450 -0.184870
+v -0.062272 3.141450 0.184870
+v -0.059016 3.034800 -0.353807
+v -0.059016 3.034800 0.353807
+v -0.058988 3.081150 -0.353610
+v -0.058988 3.081150 0.353610
+v -0.057246 2.804400 -0.170215
+v -0.057246 2.804400 0.170215
+v -0.053508 2.981250 -0.320834
+v -0.053508 2.981250 0.320834
+v -0.053428 2.749050 -0.158995
+v -0.053428 2.749050 0.158995
+v -0.050855 3.117600 -0.304843
+v -0.050855 3.117600 0.304843
+v -0.045844 2.659200 -0.275801
+v -0.045844 2.659200 0.275801
+v -0.045032 2.923200 -0.270092
+v -0.045032 2.923200 0.270092
+v -0.036157 2.863350 -0.216979
+v -0.036157 2.863350 0.216979
+v -0.032816 2.700000 -0.197424
+v -0.032816 2.700000 0.197424
+v -0.032816 2.700000 -0.197424
+v -0.032816 2.700000 0.197424
+v -0.032048 3.141450 -0.192107
+v -0.032048 3.141450 0.192107
+v -0.029450 2.804400 -0.176897
+v -0.029450 2.804400 0.176897
+v -0.027480 2.749050 -0.165245
+v -0.027480 2.749050 0.165245
+v -0.000000 0.260025 1.608000
+v -0.000000 1.929525 1.718250
+v -0.000000 2.085600 -1.648000
+v -0.000000 0.656400 -1.948000
+v -0.000000 0.771675 -1.986000
+v -0.000000 2.482687 1.382225
+v -0.000000 2.700000 -0.200000
+v -0.000000 0.127575 1.496475
+v -0.000000 2.474400 -1.204800
+v -0.000000 2.749050 -0.167400
+v -0.000000 0.018225 0.952425
+v -0.000000 0.046875 -1.284375
+v -0.000000 0.064800 1.382400
+v -0.000000 0.384375 1.750000
+v -0.000000 0.463200 1.824000
+v -0.000000 0.553725 -1.892000
+v -0.000000 1.037175 1.992750
+v -0.000000 1.178400 1.972000
+v -0.000000 1.323225 -1.939250
+v -0.000000 1.621875 -1.843750
+v -0.000000 1.774800 1.784000
+v -0.000000 2.400000 -1.300000
+v -0.000000 2.435437 -1.480325
+v -0.000000 2.435437 -1.385925
+v -0.000000 2.463000 -1.459600
+v -0.000000 2.463000 -1.380400
+v -0.000000 2.494500 -1.390200
+v -0.000000 2.502600 -1.100200
+v -0.000000 2.804400 -0.179200
+v -0.000000 2.863350 -0.219800
+v -0.000000 2.572800 -0.673600
+v -0.000000 0.105600 1.480800
+v -0.000000 0.177075 -1.514000
+v -0.000000 2.494500 -1.419800
+v -0.000000 2.527200 -0.970400
+v -0.000000 2.923200 -0.273600
+v -0.000000 3.117600 -0.308800
+v -0.000000 2.597400 -0.525800
+v -0.000000 2.700000 -0.200000
+v -0.000000 2.981250 -0.325000
+v -0.000000 3.141450 -0.194600
+v -0.000000 0.002175 0.388275
+v -0.000000 3.081150 -0.358200
+v 0.000000 0.000000 0.000000
+v 0.000000 0.002175 -0.388275
+v 0.000000 0.002175 0.388275
+v 0.000000 0.008400 -0.703200
+v 0.000000 0.008400 0.703200
+v 0.000000 0.018225 -0.952425
+v 0.000000 0.018225 0.952425
+v 0.000000 0.031200 -1.143600
+v 0.000000 0.031200 -1.143600
+v 0.000000 0.031200 1.143600
+v 0.000000 0.031200 1.143600
+v 0.000000 0.046875 -1.284375
+v 0.000000 0.046875 1.284375
+v 0.000000 0.064800 -1.382400
+v 0.000000 0.064800 1.382400
+v 0.000000 0.084525 -1.445325
+v 0.000000 0.084525 -1.445325
+v 0.000000 0.084525 1.445325
+v 0.000000 0.084525 1.445325
+v 0.000000 0.105600 -1.480800
+v 0.000000 0.105600 1.480800
+v 0.000000 0.127575 -1.496475
+v 0.000000 0.127575 1.496475
+v 0.000000 0.150000 -1.500000
+v 0.000000 0.150000 -1.500000
+v 0.000000 0.150000 1.500000
+v 0.000000 0.150000 1.500000
+v 0.000000 0.177075 -1.514000
+v 0.000000 0.177075 1.514000
+v 0.000000 0.213600 -1.552000
+v 0.000000 0.213600 -1.552000
+v 0.000000 0.213600 1.552000
+v 0.000000 0.213600 1.552000
+v 0.000000 0.260025 -1.608000
+v 0.000000 0.260025 1.608000
+v 0.000000 0.316800 -1.676000
+v 0.000000 0.316800 -1.676000
+v 0.000000 0.316800 1.676000
+v 0.000000 0.316800 1.676000
+v 0.000000 0.384375 -1.750000
+v 0.000000 0.384375 1.750000
+v 0.000000 0.463200 -1.824000
+v 0.000000 0.463200 1.824000
+v 0.000000 0.553725 -1.892000
+v 0.000000 0.553725 1.892000
+v 0.000000 0.656400 -1.948000
+v 0.000000 0.656400 1.948000
+v 0.000000 0.771675 -1.986000
+v 0.000000 0.771675 1.986000
+v 0.000000 0.900000 -2.000000
+v 0.000000 0.900000 -2.000000
+v 0.000000 0.900000 2.000000
+v 0.000000 0.900000 2.000000
+v 0.000000 1.037175 -1.992750
+v 0.000000 1.037175 1.992750
+v 0.000000 1.178400 -1.972000
+v 0.000000 1.178400 1.972000
+v 0.000000 1.323225 -1.939250
+v 0.000000 1.323225 1.939250
+v 0.000000 1.471200 -1.896000
+v 0.000000 1.471200 -1.896000
+v 0.000000 1.471200 1.896000
+v 0.000000 1.471200 1.896000
+v 0.000000 1.621875 -1.843750
+v 0.000000 1.621875 1.843750
+v 0.000000 1.774800 -1.784000
+v 0.000000 1.774800 1.784000
+v 0.000000 1.929525 -1.718250
+v 0.000000 1.929525 1.718250
+v 0.000000 2.085600 -1.648000
+v 0.000000 2.085600 1.648000
+v 0.000000 2.242575 -1.574750
+v 0.000000 2.242575 -1.574750
+v 0.000000 2.242575 1.574750
+v 0.000000 2.242575 1.574750
+v 0.000000 2.400000 -1.500000
+v 0.000000 2.400000 -1.500000
+v 0.000000 2.400000 -1.400000
+v 0.000000 2.400000 -1.400000
+v 0.000000 2.400000 -1.300000
+v 0.000000 2.400000 1.300000
+v 0.000000 2.400000 1.400000
+v 0.000000 2.400000 1.400000
+v 0.000000 2.400000 1.500000
+v 0.000000 2.400000 1.500000
+v 0.000000 2.435437 -1.480325
+v 0.000000 2.435437 -1.385925
+v 0.000000 2.435437 1.385925
+v 0.000000 2.435437 1.480325
+v 0.000000 2.440800 -1.274600
+v 0.000000 2.440800 -1.274600
+v 0.000000 2.440800 1.274600
+v 0.000000 2.440800 1.274600
+v 0.000000 2.463000 -1.459600
+v 0.000000 2.463000 -1.380400
+v 0.000000 2.463000 1.380400
+v 0.000000 2.463000 1.459600
+v 0.000000 2.474400 -1.204800
+v 0.000000 2.474400 1.204800
+v 0.000000 2.482687 -1.439025
+v 0.000000 2.482687 -1.382225
+v 0.000000 2.482687 1.382225
+v 0.000000 2.482687 1.439025
+v 0.000000 2.494500 -1.419800
+v 0.000000 2.494500 -1.390200
+v 0.000000 2.494500 1.390200
+v 0.000000 2.494500 1.419800
+v 0.000000 2.498438 -1.403125
+v 0.000000 2.498438 -1.403125
+v 0.000000 2.498438 1.403125
+v 0.000000 2.498438 1.403125
+v 0.000000 2.502600 -1.100200
+v 0.000000 2.502600 1.100200
+v 0.000000 2.527200 -0.970400
+v 0.000000 2.527200 0.970400
+v 0.000000 2.550000 -0.825000
+v 0.000000 2.550000 -0.825000
+v 0.000000 2.550000 0.825000
+v 0.000000 2.550000 0.825000
+v 0.000000 2.572800 -0.673600
+v 0.000000 2.572800 0.673600
+v 0.000000 2.597400 -0.525800
+v 0.000000 2.597400 0.525800
+v 0.000000 2.625600 -0.391200
+v 0.000000 2.625600 -0.391200
+v 0.000000 2.625600 0.391200
+v 0.000000 2.625600 0.391200
+v 0.000000 2.659200 -0.279400
+v 0.000000 2.659200 0.279400
+v 0.000000 2.700000 -0.200000
+v 0.000000 2.700000 -0.200000
+v 0.000000 2.700000 0.200000
+v 0.000000 2.700000 0.200000
+v 0.000000 2.749050 -0.167400
+v 0.000000 2.749050 0.167400
+v 0.000000 2.804400 -0.179200
+v 0.000000 2.804400 0.179200
+v 0.000000 2.863350 -0.219800
+v 0.000000 2.863350 0.219800
+v 0.000000 2.923200 -0.273600
+v 0.000000 2.923200 0.273600
+v 0.000000 2.981250 -0.325000
+v 0.000000 2.981250 0.325000
+v 0.000000 3.034800 -0.358400
+v 0.000000 3.034800 -0.358400
+v 0.000000 3.034800 0.358400
+v 0.000000 3.034800 0.358400
+v 0.000000 3.081150 -0.358200
+v 0.000000 3.081150 0.358200
+v 0.000000 3.117600 -0.308800
+v 0.000000 3.117600 0.308800
+v 0.000000 3.141450 -0.194600
+v 0.000000 3.141450 0.194600
+v 0.000000 3.150000 0.000000
+v 0.000000 0.002175 -0.388275
+v 0.000000 3.081150 0.358200
+v 0.000000 2.597400 0.525800
+v 0.000000 2.700000 0.200000
+v 0.000000 2.981250 0.325000
+v 0.000000 3.141450 0.194600
+v 0.000000 3.117600 0.308800
+v 0.000000 0.105600 -1.480800
+v 0.000000 0.177075 1.514000
+v 0.000000 2.494500 1.419800
+v 0.000000 2.527200 0.970400
+v 0.000000 2.923200 0.273600
+v 0.000000 2.572800 0.673600
+v 0.000000 2.863350 0.219800
+v 0.000000 0.018225 -0.952425
+v 0.000000 0.046875 1.284375
+v 0.000000 0.064800 -1.382400
+v 0.000000 0.384375 -1.750000
+v 0.000000 0.463200 -1.824000
+v 0.000000 0.553725 1.892000
+v 0.000000 1.037175 -1.992750
+v 0.000000 1.178400 -1.972000
+v 0.000000 1.323225 1.939250
+v 0.000000 1.621875 1.843750
+v 0.000000 1.774800 -1.784000
+v 0.000000 2.400000 1.300000
+v 0.000000 2.435437 1.385925
+v 0.000000 2.435437 1.480325
+v 0.000000 2.463000 1.380400
+v 0.000000 2.463000 1.459600
+v 0.000000 2.494500 1.390200
+v 0.000000 2.502600 1.100200
+v 0.000000 2.804400 0.179200
+v 0.000000 2.749050 0.167400
+v 0.000000 0.127575 -1.496475
+v 0.000000 2.474400 1.204800
+v 0.000000 0.656400 1.948000
+v 0.000000 0.771675 1.986000
+v 0.000000 2.482687 -1.382225
+v 0.000000 2.700000 0.200000
+v 0.000000 0.260025 -1.608000
+v 0.000000 1.929525 -1.718250
+v 0.000000 2.085600 1.648000
+v 0.027480 2.749050 -0.165245
+v 0.027480 2.749050 0.165245
+v 0.029450 2.804400 -0.176897
+v 0.029450 2.804400 0.176897
+v 0.032048 3.141450 -0.192107
+v 0.032048 3.141450 0.192107
+v 0.032816 2.700000 -0.197424
+v 0.032816 2.700000 0.197424
+v 0.032816 2.700000 -0.197424
+v 0.032816 2.700000 0.197424
+v 0.036157 2.863350 -0.216979
+v 0.036157 2.863350 0.216979
+v 0.045032 2.923200 -0.270092
+v 0.045032 2.923200 0.270092
+v 0.045844 2.659200 -0.275801
+v 0.045844 2.659200 0.275801
+v 0.050855 3.117600 -0.304843
+v 0.050855 3.117600 0.304843
+v 0.053428 2.749050 -0.158995
+v 0.053428 2.749050 0.158995
+v 0.053508 2.981250 -0.320834
+v 0.053508 2.981250 0.320834
+v 0.057246 2.804400 -0.170215
+v 0.057246 2.804400 0.170215
+v 0.058988 3.081150 -0.353610
+v 0.058988 3.081150 0.353610
+v 0.059016 3.034800 -0.353807
+v 0.059016 3.034800 0.353807
+v 0.062272 3.141450 -0.184870
+v 0.062272 3.141450 0.184870
+v 0.063708 0.002175 0.383274
+v 0.063708 0.002175 -0.383274
+v 0.063808 2.700000 -0.189952
+v 0.063808 2.700000 0.189952
+v 0.063808 2.700000 -0.189952
+v 0.063808 2.700000 0.189952
+v 0.064188 2.625600 -0.386161
+v 0.064188 2.625600 0.386161
+v 0.070270 2.863350 -0.208794
+v 0.070270 2.863350 0.208794
+v 0.077523 2.749050 -0.148969
+v 0.077523 2.749050 0.148969
+v 0.083047 2.804400 -0.159496
+v 0.083047 2.804400 0.159496
+v 0.086273 2.597400 -0.519028
+v 0.086273 2.597400 0.519028
+v 0.087511 2.923200 -0.259910
+v 0.087511 2.923200 0.259910
+v 0.089140 2.659200 -0.265363
+v 0.089140 2.659200 0.265363
+v 0.090306 3.141450 -0.173255
+v 0.090306 3.141450 0.173255
+v 0.092592 2.700000 -0.177968
+v 0.092592 2.700000 0.177968
+v 0.092592 2.700000 -0.177968
+v 0.092592 2.700000 0.177968
+v 0.098814 3.117600 -0.293360
+v 0.098814 3.117600 0.293360
+v 0.099446 2.749050 0.135489
+v 0.099446 2.749050 -0.135489
+v 0.101925 2.863350 -0.195658
+v 0.101925 2.863350 0.195658
+v 0.103976 2.981250 -0.308744
+v 0.103976 2.981250 0.308744
+v 0.106513 2.804400 -0.145078
+v 0.106513 2.804400 0.145078
+v 0.110524 2.572800 -0.664924
+v 0.110524 2.572800 0.664924
+v 0.114619 3.081150 -0.340289
+v 0.114619 3.081150 0.340289
+v 0.114676 3.034800 -0.340477
+v 0.114676 3.034800 0.340477
+v 0.115381 0.008400 0.694143
+v 0.115381 0.008400 -0.694143
+v 0.115787 3.141450 -0.157626
+v 0.115787 3.141450 0.157626
+v 0.118784 2.700000 0.161856
+v 0.118784 2.700000 -0.161856
+v 0.118784 2.700000 -0.161856
+v 0.118784 2.700000 0.161856
+v 0.118874 2.749050 0.118874
+v 0.118874 2.749050 -0.118874
+v 0.123875 0.002175 0.368768
+v 0.123875 0.002175 -0.368768
+v 0.124808 2.625600 -0.371546
+v 0.124808 2.625600 0.371546
+v 0.126920 2.923200 -0.243569
+v 0.126920 2.923200 0.243569
+v 0.127304 2.804400 0.127304
+v 0.127304 2.804400 -0.127304
+v 0.129351 2.659200 0.248621
+v 0.129351 2.659200 -0.248621
+v 0.130707 2.863350 -0.177989
+v 0.130707 2.863350 0.177989
+v 0.135366 2.550000 -0.814374
+v 0.135366 2.550000 0.814374
+v 0.135489 2.749050 0.099446
+v 0.135489 2.749050 -0.099446
+v 0.138348 3.141450 -0.138348
+v 0.138348 3.141450 0.138348
+v 0.142000 2.700000 0.142000
+v 0.142000 2.700000 -0.142000
+v 0.142000 2.700000 -0.142000
+v 0.142000 2.700000 0.142000
+v 0.143301 3.117600 -0.274928
+v 0.143301 3.117600 0.274928
+v 0.145078 2.804400 0.106513
+v 0.145078 2.804400 -0.106513
+v 0.148969 2.749050 0.077523
+v 0.148969 2.749050 -0.077523
+v 0.150793 2.981250 -0.289340
+v 0.150793 2.981250 0.289340
+v 0.156200 2.863350 -0.156200
+v 0.156200 2.863350 0.156200
+v 0.156274 0.018225 0.940158
+v 0.156274 0.018225 -0.940158
+v 0.157626 3.141450 -0.115787
+v 0.157626 3.141450 0.115787
+v 0.158995 2.749050 0.053428
+v 0.158995 2.749050 -0.053428
+v 0.159223 2.527200 -0.957901
+v 0.159223 2.527200 0.957901
+v 0.159496 2.804400 0.083047
+v 0.159496 2.804400 -0.083047
+v 0.161856 2.700000 0.118784
+v 0.161856 2.700000 -0.118784
+v 0.161856 2.700000 -0.118784
+v 0.161856 2.700000 0.118784
+v 0.162745 2.923200 -0.221585
+v 0.162745 2.923200 0.221585
+v 0.165245 2.749050 0.027480
+v 0.165245 2.749050 -0.027480
+v 0.165941 2.659200 -0.226113
+v 0.165941 2.659200 0.226113
+v 0.166221 3.081150 0.318907
+v 0.166221 3.081150 -0.318907
+v 0.166306 3.034800 -0.319082
+v 0.166306 3.034800 0.319082
+v 0.167400 2.749050 -0.000000
+v 0.167400 2.749050 0.000000
+v 0.167751 2.597400 -0.499384
+v 0.167751 2.597400 0.499384
+v 0.170215 2.804400 0.057246
+v 0.170215 2.804400 -0.057246
+v 0.173255 3.141450 -0.090306
+v 0.173255 3.141450 0.090306
+v 0.176897 2.804400 0.029450
+v 0.176897 2.804400 -0.029450
+v 0.177968 2.700000 0.092592
+v 0.177968 2.700000 -0.092592
+v 0.177968 2.700000 -0.092592
+v 0.177968 2.700000 0.092592
+v 0.177989 2.863350 -0.130707
+v 0.177989 2.863350 0.130707
+v 0.179200 2.804400 -0.000000
+v 0.179200 2.804400 0.000000
+v 0.179756 0.002175 -0.345503
+v 0.179756 0.002175 0.345503
+v 0.180521 2.502600 -1.086029
+v 0.180521 2.502600 1.086029
+v 0.181110 2.625600 0.348105
+v 0.181110 2.625600 -0.348105
+v 0.183734 3.117600 -0.250127
+v 0.183734 3.117600 0.250127
+v 0.184870 3.141450 -0.062272
+v 0.184870 3.141450 0.062272
+v 0.187642 0.031200 1.128870
+v 0.187642 0.031200 -1.128870
+v 0.189952 2.700000 0.063808
+v 0.189952 2.700000 -0.063808
+v 0.189952 2.700000 -0.063808
+v 0.189952 2.700000 0.063808
+v 0.192107 3.141450 -0.032048
+v 0.192107 3.141450 0.032048
+v 0.193348 2.981250 -0.263232
+v 0.193348 2.981250 0.263232
+v 0.194472 2.923200 -0.194472
+v 0.194472 2.923200 0.194472
+v 0.194600 3.141450 0.000000
+v 0.194600 3.141450 -0.000000
+v 0.195658 2.863350 -0.101925
+v 0.195658 2.863350 0.101925
+v 0.197424 2.700000 0.032816
+v 0.197424 2.700000 -0.032816
+v 0.197424 2.700000 -0.032816
+v 0.197424 2.700000 0.032816
+v 0.197684 2.474400 -1.189282
+v 0.197684 2.474400 1.189282
+v 0.198374 2.659200 -0.198374
+v 0.198374 2.659200 0.198374
+v 0.200000 2.700000 -0.000000
+v 0.200000 2.700000 0.000000
+v 0.200000 2.700000 0.000000
+v 0.200000 2.700000 -0.000000
+v 0.208794 2.863350 0.070270
+v 0.208794 2.863350 -0.070270
+v 0.209136 2.440800 -1.258183
+v 0.209136 2.440800 1.258183
+v 0.210740 0.046875 -1.267832
+v 0.210740 0.046875 1.267832
+v 0.213123 3.081150 -0.290138
+v 0.213123 3.081150 0.290138
+v 0.213234 3.034800 -0.290295
+v 0.213234 3.034800 0.290295
+v 0.213304 2.400000 -1.283256
+v 0.213304 2.400000 1.283256
+v 0.214905 2.572800 -0.639758
+v 0.214905 2.572800 0.639758
+v 0.216979 2.863350 0.036157
+v 0.216979 2.863350 -0.036157
+v 0.219536 3.117600 -0.219536
+v 0.219536 3.117600 0.219536
+v 0.219800 2.863350 -0.000000
+v 0.219800 2.863350 0.000000
+v 0.221585 2.923200 -0.162745
+v 0.221585 2.923200 0.162745
+v 0.224349 0.008400 0.667871
+v 0.224349 0.008400 -0.667871
+v 0.226113 2.659200 -0.165941
+v 0.226113 2.659200 0.165941
+v 0.226496 2.463000 -1.362620
+v 0.226496 2.463000 1.362620
+v 0.226795 2.482687 1.364422
+v 0.226795 2.482687 -1.364422
+v 0.226824 0.064800 1.364595
+v 0.226824 0.064800 -1.364595
+v 0.227403 2.435437 -1.368074
+v 0.227403 2.435437 1.368074
+v 0.228104 2.494500 -1.372294
+v 0.228104 2.494500 1.372294
+v 0.229712 2.400000 -1.381968
+v 0.229712 2.400000 1.381968
+v 0.230225 2.498438 -1.385053
+v 0.230225 2.498438 1.385053
+v 0.230604 0.002175 -0.314223
+v 0.230604 0.002175 0.314223
+v 0.231031 2.981250 -0.231031
+v 0.231031 2.981250 0.231031
+v 0.232342 2.625600 -0.316590
+v 0.232342 2.625600 0.316590
+v 0.232961 2.494500 -1.401513
+v 0.232961 2.494500 1.401513
+v 0.236115 2.482687 -1.420490
+v 0.236115 2.482687 1.420490
+v 0.237149 0.084525 1.426709
+v 0.237149 0.084525 -1.426709
+v 0.239491 2.463000 -1.440800
+v 0.239491 2.463000 1.440800
+v 0.242892 2.435437 -1.461258
+v 0.242892 2.435437 1.461258
+v 0.242970 0.105600 1.461727
+v 0.242970 0.105600 -1.461727
+v 0.243424 2.597400 0.467878
+v 0.243424 2.597400 -0.467878
+v 0.243569 2.923200 -0.126920
+v 0.243569 2.923200 0.126920
+v 0.245542 0.127575 1.477200
+v 0.245542 0.127575 -1.477200
+v 0.246120 0.150000 -1.480680
+v 0.246120 2.400000 -1.480680
+v 0.246120 0.150000 1.480680
+v 0.246120 0.150000 1.480680
+v 0.246120 2.400000 1.480680
+v 0.246120 0.150000 -1.480680
+v 0.248417 0.177075 -1.494500
+v 0.248417 0.177075 1.494500
+v 0.248621 2.659200 0.129351
+v 0.248621 2.659200 -0.129351
+v 0.250127 3.117600 -0.183734
+v 0.250127 3.117600 0.183734
+v 0.254652 0.213600 -1.532010
+v 0.254652 0.213600 1.532010
+v 0.254653 3.081150 -0.254653
+v 0.254653 3.081150 0.254653
+v 0.254788 3.034800 -0.254788
+v 0.254788 3.034800 0.254788
+v 0.258385 2.242575 -1.554467
+v 0.258385 2.242575 1.554467
+v 0.259910 2.923200 -0.087511
+v 0.259910 2.923200 0.087511
+v 0.263208 2.550000 -0.783552
+v 0.263208 2.550000 0.783552
+v 0.263232 2.981250 -0.193348
+v 0.263232 2.981250 0.193348
+v 0.263841 0.260025 1.587289
+v 0.263841 0.260025 -1.587289
+v 0.265363 2.659200 -0.089140
+v 0.265363 2.659200 0.089140
+v 0.270092 2.923200 -0.045032
+v 0.270092 2.923200 0.045032
+v 0.270404 2.085600 -1.626774
+v 0.270404 2.085600 1.626774
+v 0.273600 2.923200 -0.000000
+v 0.273600 2.923200 0.000000
+v 0.274928 3.117600 -0.143301
+v 0.274928 3.117600 0.143301
+v 0.274998 0.316800 -1.654413
+v 0.274998 0.316800 1.654413
+v 0.275675 0.002175 -0.275675
+v 0.275675 0.002175 0.275675
+v 0.275801 2.659200 -0.045844
+v 0.275801 2.659200 0.045844
+v 0.277752 2.625600 -0.277752
+v 0.277752 2.625600 0.277752
+v 0.279400 2.659200 0.000000
+v 0.281930 1.929525 1.696119
+v 0.281930 1.929525 -1.696119
+v 0.287140 0.384375 -1.727460
+v 0.287140 0.384375 1.727460
+v 0.289340 2.981250 -0.150793
+v 0.289340 2.981250 0.150793
+v 0.290138 3.081150 -0.213123
+v 0.290138 3.081150 0.213123
+v 0.290295 3.034800 -0.213234
+v 0.290295 3.034800 0.213234
+v 0.292719 1.774800 -1.761022
+v 0.292719 1.774800 1.761022
+v 0.293360 3.117600 -0.098814
+v 0.293360 3.117600 0.098814
+v 0.299282 0.463200 -1.800507
+v 0.299282 0.463200 1.800507
+v 0.302522 1.621875 -1.820003
+v 0.302523 1.621875 1.820003
+v 0.303862 0.018225 0.904575
+v 0.303862 0.018225 -0.904575
+v 0.304843 3.117600 -0.050855
+v 0.304843 3.117600 0.050855
+v 0.308744 2.981250 -0.103976
+v 0.308744 2.981250 0.103976
+v 0.308800 3.117600 0.000000
+v 0.308800 3.117600 -0.000000
+v 0.309596 2.527200 -0.921647
+v 0.309596 2.527200 0.921647
+v 0.310439 0.553725 -1.867631
+v 0.310439 0.553725 1.867631
+v 0.311096 1.471200 -1.871580
+v 0.311096 1.471200 1.871580
+v 0.311850 2.572800 -0.599396
+v 0.311850 2.572800 0.599396
+v 0.312283 2.597400 -0.425519
+v 0.312283 2.597400 0.425519
+v 0.314223 0.002175 -0.230604
+v 0.314223 0.002175 0.230604
+v 0.316590 2.625600 -0.232342
+v 0.316590 2.625600 0.232342
+v 0.318192 1.323225 -1.914272
+v 0.318192 1.323225 1.914272
+v 0.318907 3.081150 -0.166221
+v 0.318907 3.081150 0.166221
+v 0.319082 3.034800 -0.166306
+v 0.319082 3.034800 0.166306
+v 0.319628 0.656400 -1.922910
+v 0.319628 0.656400 1.922910
+v 0.320834 2.981250 -0.053508
+v 0.320834 2.981250 0.053508
+v 0.323566 1.178400 -1.946601
+v 0.323566 1.178400 1.946601
+v 0.325000 2.981250 0.000000
+v 0.325000 2.981250 -0.000000
+v 0.325553 0.008400 -0.625735
+v 0.325553 0.008400 0.625735
+v 0.325863 0.771675 -1.960420
+v 0.325863 0.771675 1.960420
+v 0.326970 1.037175 -1.967083
+v 0.326970 1.037175 1.967083
+v 0.328160 0.900000 -1.974240
+v 0.328160 0.900000 -1.974240
+v 0.328160 0.900000 1.974240
+v 0.340289 3.081150 -0.114619
+v 0.340289 3.081150 0.114619
+v 0.340477 3.034800 -0.114676
+v 0.340477 3.034800 0.114676
+v 0.345503 0.002175 -0.179756
+v 0.345503 0.002175 0.179756
+v 0.348105 2.625600 -0.181110
+v 0.348105 2.625600 0.181110
+v 0.351008 2.502600 -1.044926
+v 0.351008 2.502600 1.044926
+v 0.353610 3.081150 -0.058988
+v 0.353610 3.081150 0.058988
+v 0.353807 3.034800 -0.059016
+v 0.353807 3.034800 0.059016
+v 0.358200 3.081150 -0.000000
+v 0.358200 3.081150 0.000000
+v 0.358400 3.034800 0.000000
+v 0.358400 3.034800 0.000000
+v 0.364854 0.031200 1.086146
+v 0.364854 0.031200 -1.086146
+v 0.368768 0.002175 -0.123875
+v 0.368768 0.002175 0.123875
+v 0.371546 2.625600 -0.124808
+v 0.371546 2.625600 0.124808
+v 0.373318 2.597400 -0.373318
+v 0.373318 2.597400 0.373318
+v 0.381942 2.550000 -0.734118
+v 0.381942 2.550000 0.734118
+v 0.383274 0.002175 -0.063708
+v 0.383274 0.002175 0.063708
+v 0.384379 2.474400 -1.144271
+v 0.384379 2.474400 1.144271
+v 0.386161 2.625600 -0.064188
+v 0.386161 2.625600 0.064188
+v 0.388275 0.002175 0.000000
+v 0.388275 0.002175 0.000000
+v 0.391200 2.625600 0.000000
+v 0.391200 2.625600 0.000000
+v 0.400065 2.572800 -0.545131
+v 0.400065 2.572800 0.545131
+v 0.406648 2.440800 -1.210564
+v 0.406648 2.440800 1.210564
+v 0.409767 0.046875 1.219848
+v 0.409767 0.046875 -1.219848
+v 0.414752 2.400000 -1.234688
+v 0.414752 2.400000 1.234688
+v 0.417645 0.008400 -0.569086
+v 0.417645 0.008400 0.569086
+v 0.425519 2.597400 0.312283
+v 0.425519 2.597400 -0.312283
+v 0.440403 2.463000 -1.311049
+v 0.440403 2.463000 1.311049
+v 0.440935 0.018225 0.847506
+v 0.440935 0.018225 -0.847506
+v 0.440985 2.482687 -1.312782
+v 0.440985 2.482687 1.312782
+v 0.441041 0.064800 1.312948
+v 0.441041 0.064800 -1.312948
+v 0.442166 2.435437 -1.316296
+v 0.442166 2.435437 1.316296
+v 0.443529 2.494500 -1.320356
+v 0.443529 2.494500 1.320356
+v 0.446656 2.400000 -1.329664
+v 0.446656 2.400000 1.329664
+v 0.447653 2.498438 -1.332632
+v 0.447653 2.498438 1.332632
+v 0.449256 2.527200 -0.863501
+v 0.449256 2.527200 0.863501
+v 0.452973 2.494500 -1.348469
+v 0.452973 2.494500 1.348469
+v 0.459107 2.482687 -1.366728
+v 0.459107 2.482687 1.366728
+v 0.461116 0.084525 1.372712
+v 0.461116 0.084525 -1.372712
+v 0.465671 2.463000 -1.386270
+v 0.465671 2.463000 1.386270
+v 0.467878 2.597400 -0.243424
+v 0.467878 2.597400 0.243424
+v 0.472283 2.435437 -1.405953
+v 0.472283 2.435437 1.405953
+v 0.472434 0.105600 1.406405
+v 0.472434 0.105600 -1.406405
+v 0.477435 0.127575 1.421292
+v 0.477435 0.127575 -1.421292
+v 0.478256 2.572800 -0.478256
+v 0.478256 2.572800 0.478256
+v 0.478560 0.150000 -1.424640
+v 0.478560 2.400000 -1.424640
+v 0.478560 0.150000 1.424640
+v 0.478560 0.150000 1.424640
+v 0.478560 0.150000 -1.424640
+v 0.478560 2.400000 1.424640
+v 0.483027 0.177075 -1.437937
+v 0.483027 0.177075 1.437937
+v 0.489984 2.550000 -0.667656
+v 0.489984 2.550000 0.667656
+v 0.495150 0.213600 -1.474028
+v 0.495150 0.213600 1.474028
+v 0.499272 0.008400 -0.499272
+v 0.499272 0.008400 0.499272
+v 0.499384 2.597400 -0.167751
+v 0.499384 2.597400 0.167751
+v 0.502408 2.242575 -1.495635
+v 0.502408 2.242575 1.495635
+v 0.509349 2.502600 0.979002
+v 0.509349 2.502600 -0.979002
+v 0.513016 0.260025 -1.527214
+v 0.513016 0.260025 1.527214
+v 0.519028 2.597400 0.086273
+v 0.519028 2.597400 -0.086273
+v 0.525778 2.085600 -1.565204
+v 0.525778 2.085600 1.565204
+v 0.525800 2.597400 -0.000000
+v 0.525800 2.597400 0.000000
+v 0.529441 0.031200 -1.017621
+v 0.529441 0.031200 1.017621
+v 0.534711 0.316800 -1.591798
+v 0.534711 0.316800 1.591798
+v 0.545131 2.572800 -0.400065
+v 0.545131 2.572800 0.400065
+v 0.548190 1.929525 -1.631925
+v 0.548190 1.929525 1.631925
+v 0.557774 2.474400 -1.072079
+v 0.557774 2.474400 1.072079
+v 0.558320 0.384375 -1.662080
+v 0.558320 0.384375 1.662080
+v 0.565664 0.018225 0.770779
+v 0.565664 0.018225 -0.770779
+v 0.569086 0.008400 -0.417645
+v 0.569086 0.008400 0.417645
+v 0.569167 1.774800 -1.694372
+v 0.569167 1.774800 1.694372
+v 0.576340 2.527200 -0.785325
+v 0.576340 2.527200 0.785325
+v 0.581929 0.463200 -1.732362
+v 0.581929 0.463200 1.732362
+v 0.585750 2.550000 -0.585750
+v 0.585750 2.550000 0.585750
+v 0.588230 1.621875 -1.751120
+v 0.588230 1.621875 1.751120
+v 0.590089 2.440800 1.134190
+v 0.590089 2.440800 -1.134190
+v 0.594614 0.046875 -1.142888
+v 0.594614 0.046875 1.142888
+v 0.599396 2.572800 -0.311850
+v 0.599396 2.572800 0.311850
+v 0.601848 2.400000 -1.156792
+v 0.601848 2.400000 1.156792
+v 0.603624 0.553725 -1.796946
+v 0.603624 0.553725 1.796946
+v 0.604900 1.471200 -1.800745
+v 0.604900 1.471200 1.800745
+v 0.618698 1.323225 -1.841822
+v 0.618698 1.323225 1.841822
+v 0.621490 0.656400 -1.850132
+v 0.621490 0.656400 1.850132
+v 0.625735 0.008400 0.325553
+v 0.625735 0.008400 -0.325553
+v 0.629147 1.178400 -1.872927
+v 0.629147 1.178400 1.872927
+v 0.633613 0.771675 -1.886223
+v 0.633613 0.771675 1.886223
+v 0.635767 1.037175 -1.892634
+v 0.635767 1.037175 1.892634
+v 0.638080 0.900000 -1.899520
+v 0.638080 0.900000 -1.899520
+v 0.638080 0.900000 1.899520
+v 0.638080 0.900000 1.899520
+v 0.639070 2.463000 -1.228335
+v 0.639070 2.463000 1.228335
+v 0.639758 2.572800 -0.214905
+v 0.639758 2.572800 0.214905
+v 0.639915 2.482687 1.229959
+v 0.639915 2.482687 -1.229959
+v 0.639996 0.064800 -1.230115
+v 0.639996 0.064800 1.230115
+v 0.641628 2.435437 -1.233252
+v 0.641628 2.435437 1.233252
+v 0.643607 2.494500 -1.237056
+v 0.643607 2.494500 1.237056
+v 0.648144 2.400000 -1.245776
+v 0.648144 2.400000 1.245776
+v 0.649591 2.498438 -1.248557
+v 0.649591 2.498438 1.248557
+v 0.653431 2.502600 -0.890370
+v 0.653431 2.502600 0.890370
+v 0.657311 2.494500 -1.263395
+v 0.657311 2.494500 1.263395
+v 0.664924 2.572800 -0.110524
+v 0.664924 2.572800 0.110524
+v 0.666211 2.482687 1.280502
+v 0.666211 2.482687 -1.280502
+v 0.667656 2.550000 -0.489984
+v 0.667656 2.550000 0.489984
+v 0.667871 0.008400 -0.224349
+v 0.667871 0.008400 0.224349
+v 0.669128 0.084525 -1.286108
+v 0.669128 0.084525 1.286108
+v 0.673600 2.572800 0.000000
+v 0.673600 2.572800 -0.000000
+v 0.675736 2.463000 -1.298810
+v 0.675736 2.463000 1.298810
+v 0.676222 0.018225 0.676222
+v 0.676222 0.018225 -0.676222
+v 0.679207 0.031200 -0.925493
+v 0.679207 0.031200 0.925493
+v 0.685331 2.435437 -1.317252
+v 0.685331 2.435437 1.317252
+v 0.685551 0.105600 -1.317675
+v 0.685551 0.105600 1.317675
+v 0.688984 2.527200 -0.688984
+v 0.688984 2.527200 0.688984
+v 0.692808 0.127575 1.331623
+v 0.692808 0.127575 -1.331623
+v 0.694143 0.008400 -0.115381
+v 0.694143 0.008400 0.115381
+v 0.694440 0.150000 1.334760
+v 0.694440 0.150000 -1.334760
+v 0.694440 2.400000 1.334760
+v 0.694440 0.150000 -1.334760
+v 0.694440 0.150000 1.334760
+v 0.694440 2.400000 -1.334760
+v 0.700921 0.177075 1.347218
+v 0.700921 0.177075 -1.347218
+v 0.703200 0.008400 0.000000
+v 0.715555 2.474400 -0.975021
+v 0.715555 2.474400 0.975021
+v 0.718514 0.213600 1.381032
+v 0.718514 0.213600 -1.381032
+v 0.729046 2.242575 -1.401276
+v 0.729046 2.242575 1.401276
+v 0.734118 2.550000 -0.381942
+v 0.734118 2.550000 0.381942
+v 0.744440 0.260025 1.430863
+v 0.744440 0.260025 -1.430863
+v 0.757010 2.440800 1.031508
+v 0.757010 2.440800 -1.031508
+v 0.762816 0.046875 -1.039419
+v 0.762816 0.046875 1.039419
+v 0.762958 2.085600 -1.466456
+v 0.762958 2.085600 1.466456
+v 0.770779 0.018225 0.565664
+v 0.770779 0.018225 -0.565664
+v 0.772096 2.400000 -1.052064
+v 0.772096 2.400000 1.052064
+v 0.775921 0.316800 -1.491372
+v 0.775921 0.316800 1.491372
+v 0.781142 2.502600 -0.781142
+v 0.781142 2.502600 0.781142
+v 0.783552 2.550000 -0.263208
+v 0.783552 2.550000 0.263208
+v 0.785325 2.527200 -0.576340
+v 0.785325 2.527200 0.576340
+v 0.795481 1.929525 1.528968
+v 0.795481 1.929525 -1.528968
+v 0.810180 0.384375 1.557220
+v 0.810180 0.384375 -1.557220
+v 0.811956 0.031200 0.811956
+v 0.811956 0.031200 -0.811956
+v 0.814374 2.550000 -0.135366
+v 0.814374 2.550000 0.135366
+v 0.819847 2.463000 -1.117130
+v 0.819847 2.463000 1.117130
+v 0.820931 2.482687 1.118607
+v 0.820931 2.482687 -1.118607
+v 0.821035 0.064800 1.118749
+v 0.821035 0.064800 -1.118749
+v 0.823129 2.435437 -1.121601
+v 0.823129 2.435437 1.121601
+v 0.825000 2.550000 0.000000
+v 0.825000 2.550000 0.000000
+v 0.825668 2.494500 -1.125061
+v 0.825668 2.494500 1.125061
+v 0.825921 1.774800 1.587475
+v 0.825921 1.774800 -1.587475
+v 0.831488 2.400000 -1.132992
+v 0.831488 2.400000 1.132992
+v 0.833344 2.498438 -1.135521
+v 0.833344 2.498438 1.135521
+v 0.843248 2.494500 -1.149016
+v 0.843248 2.494500 1.149016
+v 0.844439 0.463200 1.623068
+v 0.844439 0.463200 -1.623068
+v 0.847506 0.018225 -0.440935
+v 0.847506 0.018225 0.440935
+v 0.853583 1.621875 -1.640643
+v 0.853583 1.621875 1.640643
+v 0.854666 2.482687 -1.164574
+v 0.854666 2.482687 1.164574
+v 0.855408 2.474400 -0.855408
+v 0.855408 2.474400 0.855408
+v 0.858407 0.084525 -1.169673
+v 0.858407 0.084525 1.169673
+v 0.863501 2.527200 -0.449256
+v 0.863501 2.527200 0.449256
+v 0.866886 2.463000 -1.181225
+v 0.866886 2.463000 1.181225
+v 0.875920 0.553725 -1.683577
+v 0.875920 0.553725 1.683577
+v 0.877772 1.471200 -1.687137
+v 0.877772 1.471200 1.687137
+v 0.879195 2.435437 -1.197997
+v 0.879195 2.435437 1.197997
+v 0.879477 0.105600 -1.198382
+v 0.879477 0.105600 1.198382
+v 0.888786 0.127575 1.211067
+v 0.888786 0.127575 -1.211067
+v 0.890370 2.502600 -0.653431
+v 0.890370 2.502600 0.653431
+v 0.890880 0.150000 -1.213920
+v 0.890880 0.150000 1.213920
+v 0.890880 2.400000 -1.213920
+v 0.890880 0.150000 -1.213920
+v 0.890880 0.150000 1.213920
+v 0.890880 2.400000 1.213920
+v 0.897795 1.323225 -1.725622
+v 0.897795 1.323225 1.725622
+v 0.899195 0.177075 1.225250
+v 0.899195 0.177075 -1.225250
+v 0.901846 0.656400 -1.733408
+v 0.901846 0.656400 1.733408
+v 0.904575 0.018225 0.303862
+v 0.904575 0.018225 -0.303862
+v 0.904966 2.440800 0.904966
+v 0.904966 2.440800 -0.904966
+v 0.911906 0.046875 -0.911906
+v 0.911906 0.046875 0.911906
+v 0.912957 1.178400 -1.754764
+v 0.912957 1.178400 1.754764
+v 0.919439 0.771675 -1.767222
+v 0.919439 0.771675 1.767222
+v 0.921647 2.527200 -0.309596
+v 0.921647 2.527200 0.309596
+v 0.921764 0.213600 1.256003
+v 0.921764 0.213600 -1.256003
+v 0.922564 1.037175 1.773229
+v 0.922564 1.037175 -1.773229
+v 0.923000 2.400000 -0.923000
+v 0.923000 2.400000 0.923000
+v 0.925493 0.031200 0.679207
+v 0.925493 0.031200 -0.679207
+v 0.925920 0.900000 1.779680
+v 0.925920 0.900000 -1.779680
+v 0.925920 0.900000 -1.779680
+v 0.925920 0.900000 1.779680
+v 0.935276 2.242575 -1.274414
+v 0.935276 2.242575 1.274414
+v 0.940158 0.018225 0.156274
+v 0.940158 0.018225 -0.156274
+v 0.952425 0.018225 0.000000
+v 0.952425 0.018225 0.000000
+v 0.955023 0.260025 1.301322
+v 0.955023 0.260025 -1.301322
+v 0.957901 2.527200 -0.159223
+v 0.957901 2.527200 0.159223
+v 0.970400 2.527200 0.000000
+v 0.970400 2.527200 -0.000000
+v 0.975021 2.474400 -0.715555
+v 0.975021 2.474400 0.715555
+v 0.978780 2.085600 -1.333693
+v 0.978780 2.085600 1.333693
+v 0.979002 2.502600 0.509349
+v 0.979002 2.502600 -0.509349
+v 0.980084 2.463000 -0.980084
+v 0.980084 2.463000 0.980084
+v 0.981380 2.482687 -0.981380
+v 0.981380 2.482687 0.981380
+v 0.981504 0.064800 0.981504
+v 0.981504 0.064800 -0.981504
+v 0.984007 2.435437 -0.984007
+v 0.984007 2.435437 0.984007
+v 0.987042 2.494500 -0.987042
+v 0.987042 2.494500 0.987042
+v 0.994000 2.400000 -0.994000
+v 0.994000 2.400000 0.994000
+v 0.995410 0.316800 -1.356353
+v 0.995410 0.316800 1.356353
+v 0.996219 2.498438 -0.996219
+v 0.996219 2.498438 0.996219
+v 1.008058 2.494500 -1.008058
+v 1.008058 2.494500 1.008058
+v 1.017621 0.031200 0.529441
+v 1.017621 0.031200 -0.529441
+v 1.020503 1.929525 -1.390545
+v 1.020503 1.929525 1.390545
+v 1.021708 2.482687 -1.021708
+v 1.021708 2.482687 1.021708
+v 1.026181 0.084525 -1.026181
+v 1.026181 0.084525 1.026181
+v 1.031508 2.440800 0.757010
+v 1.031508 2.440800 -0.757010
+v 1.036316 2.463000 -1.036316
+v 1.036316 2.463000 1.036316
+v 1.039360 0.384375 -1.416240
+v 1.039360 0.384375 1.416240
+v 1.039419 0.046875 -0.762816
+v 1.039419 0.046875 0.762816
+v 1.044926 2.502600 -0.351008
+v 1.044926 2.502600 0.351008
+v 1.051031 2.435437 -1.051031
+v 1.051031 2.435437 1.051031
+v 1.051368 0.105600 -1.051368
+v 1.051368 0.105600 1.051368
+v 1.052064 2.400000 -0.772096
+v 1.052064 2.400000 0.772096
+v 1.059553 1.774800 -1.443756
+v 1.059553 1.774800 1.443756
+v 1.062497 0.127575 1.062497
+v 1.062497 0.127575 -1.062497
+v 1.065000 0.150000 -1.065000
+v 1.065000 0.150000 1.065000
+v 1.065000 2.400000 -1.065000
+v 1.065000 2.400000 1.065000
+v 1.072079 2.474400 -0.557774
+v 1.072079 2.474400 0.557774
+v 1.074940 0.177075 -1.074940
+v 1.074940 0.177075 1.074940
+v 1.083310 0.463200 -1.476127
+v 1.083310 0.463200 1.476127
+v 1.086029 2.502600 0.180521
+v 1.086029 2.502600 -0.180521
+v 1.086146 0.031200 0.364854
+v 1.086146 0.031200 -0.364854
+v 1.095040 1.621875 -1.492110
+v 1.095040 1.621875 1.492110
+v 1.100200 2.502600 -0.000000
+v 1.100200 2.502600 0.000000
+v 1.101920 0.213600 1.101920
+v 1.101920 0.213600 -1.101920
+v 1.117130 2.463000 -0.819847
+v 1.117130 2.463000 0.819847
+v 1.118073 2.242575 -1.118073
+v 1.118073 2.242575 1.118073
+v 1.118607 2.482687 -0.820931
+v 1.118607 2.482687 0.820931
+v 1.118749 0.064800 -0.821035
+v 1.118749 0.064800 0.821035
+v 1.121601 2.435437 -0.823129
+v 1.121601 2.435437 0.823129
+v 1.123697 0.553725 -1.531158
+v 1.123697 0.553725 1.531158
+v 1.125061 2.494500 -0.825668
+v 1.125061 2.494500 0.825668
+v 1.126072 1.471200 -1.534395
+v 1.126072 1.471200 1.534395
+v 1.128870 0.031200 -0.187642
+v 1.128870 0.031200 0.187642
+v 1.132992 2.400000 -0.831488
+v 1.132992 2.400000 0.831488
+v 1.134190 2.440800 0.590089
+v 1.134190 2.440800 -0.590089
+v 1.135521 2.498438 -0.833344
+v 1.135521 2.498438 0.833344
+v 1.141680 0.260025 1.141680
+v 1.141680 0.260025 -1.141680
+v 1.142888 0.046875 -0.594614
+v 1.142888 0.046875 0.594614
+v 1.143600 0.031200 0.000000
+v 1.143600 0.031200 0.000000
+v 1.144271 2.474400 -0.384379
+v 1.144271 2.474400 0.384379
+v 1.149016 2.494500 -0.843248
+v 1.149016 2.494500 0.843248
+v 1.151759 1.323225 -1.569396
+v 1.151759 1.323225 1.569396
+v 1.156792 2.400000 -0.601848
+v 1.156792 2.400000 0.601848
+v 1.156956 0.656400 -1.576477
+v 1.156956 0.656400 1.576477
+v 1.164574 2.482687 -0.854666
+v 1.164574 2.482687 0.854666
+v 1.169673 0.084525 -0.858407
+v 1.169673 0.084525 0.858407
+v 1.170080 2.085600 -1.170080
+v 1.170080 2.085600 1.170080
+v 1.171210 1.178400 -1.595900
+v 1.171210 1.178400 1.595900
+v 1.179525 0.771675 -1.607230
+v 1.179525 0.771675 1.607230
+v 1.181225 2.463000 -0.866886
+v 1.181225 2.463000 0.866886
+v 1.183534 1.037175 -1.612693
+v 1.183534 1.037175 1.612693
+v 1.187840 0.900000 -1.618560
+v 1.187840 0.900000 -1.618560
+v 1.187840 0.900000 1.618560
+v 1.187840 0.900000 1.618560
+v 1.189282 2.474400 -0.197684
+v 1.189282 2.474400 0.197684
+v 1.189960 0.316800 -1.189960
+v 1.189960 0.316800 1.189960
+v 1.197997 2.435437 -0.879195
+v 1.197997 2.435437 0.879195
+v 1.198382 0.105600 -0.879477
+v 1.198382 0.105600 0.879477
+v 1.204800 2.474400 0.000000
+v 1.204800 2.474400 -0.000000
+v 1.210564 2.440800 0.406648
+v 1.210564 2.440800 -0.406648
+v 1.211067 0.127575 0.888786
+v 1.211067 0.127575 -0.888786
+v 1.213920 0.150000 -0.890880
+v 1.213920 0.150000 -0.890880
+v 1.213920 0.150000 0.890880
+v 1.213920 0.150000 0.890880
+v 1.213920 2.400000 -0.890880
+v 1.213920 2.400000 0.890880
+v 1.219848 0.046875 -0.409767
+v 1.219848 0.046875 0.409767
+v 1.219958 1.929525 1.219958
+v 1.219958 1.929525 -1.219958
+v 1.225250 0.177075 0.899195
+v 1.225250 0.177075 -0.899195
+v 1.228335 2.463000 -0.639070
+v 1.228335 2.463000 0.639070
+v 1.229959 2.482687 -0.639915
+v 1.229959 2.482687 0.639915
+v 1.230115 0.064800 -0.639996
+v 1.230115 0.064800 0.639996
+v 1.233252 2.435437 -0.641628
+v 1.233252 2.435437 0.641628
+v 1.234688 2.400000 -0.414752
+v 1.234688 2.400000 0.414752
+v 1.237056 2.494500 -0.643607
+v 1.237056 2.494500 0.643607
+v 1.242500 0.384375 -1.242500
+v 1.242500 0.384375 1.242500
+v 1.245776 2.400000 -0.648144
+v 1.245776 2.400000 0.648144
+v 1.248557 2.498438 -0.649591
+v 1.248557 2.498438 0.649591
+v 1.256003 0.213600 0.921764
+v 1.256003 0.213600 -0.921764
+v 1.258183 2.440800 0.209136
+v 1.258183 2.440800 -0.209136
+v 1.263395 2.494500 -0.657311
+v 1.263395 2.494500 0.657311
+v 1.266640 1.774800 -1.266640
+v 1.266640 1.774800 1.266640
+v 1.267832 0.046875 -0.210740
+v 1.267832 0.046875 0.210740
+v 1.274414 2.242575 -0.935276
+v 1.274414 2.242575 0.935276
+v 1.274600 2.440800 0.000000
+v 1.274600 2.440800 0.000000
+v 1.280502 2.482687 -0.666211
+v 1.280502 2.482687 0.666211
+v 1.283256 2.400000 -0.213304
+v 1.283256 2.400000 0.213304
+v 1.284375 0.046875 0.000000
+v 1.284375 0.046875 -0.000000
+v 1.286108 0.084525 -0.669128
+v 1.286108 0.084525 0.669128
+v 1.295040 0.463200 -1.295040
+v 1.295040 0.463200 1.295040
+v 1.298810 2.463000 -0.675736
+v 1.298810 2.463000 0.675736
+v 1.300000 2.400000 0.000000
+v 1.300000 2.400000 -0.000000
+v 1.301322 0.260025 0.955023
+v 1.301322 0.260025 -0.955023
+v 1.309063 1.621875 -1.309063
+v 1.309063 1.621875 1.309063
+v 1.311049 2.463000 -0.440403
+v 1.311049 2.463000 0.440403
+v 1.312782 2.482687 -0.440985
+v 1.312782 2.482687 0.440985
+v 1.312948 0.064800 0.441041
+v 1.312948 0.064800 -0.441041
+v 1.316296 2.435437 -0.442166
+v 1.316296 2.435437 0.442166
+v 1.317252 2.435437 -0.685331
+v 1.317252 2.435437 0.685331
+v 1.317675 0.105600 -0.685551
+v 1.317675 0.105600 0.685551
+v 1.320356 2.494500 -0.443529
+v 1.320356 2.494500 0.443529
+v 1.329664 2.400000 -0.446656
+v 1.329664 2.400000 0.446656
+v 1.331623 0.127575 0.692808
+v 1.331623 0.127575 -0.692808
+v 1.332632 2.498438 -0.447653
+v 1.332632 2.498438 0.447653
+v 1.333693 2.085600 -0.978780
+v 1.333693 2.085600 0.978780
+v 1.334760 0.150000 0.694440
+v 1.334760 0.150000 -0.694440
+v 1.334760 0.150000 -0.694440
+v 1.334760 0.150000 0.694440
+v 1.334760 2.400000 -0.694440
+v 1.334760 2.400000 0.694440
+v 1.343320 0.553725 -1.343320
+v 1.343320 0.553725 1.343320
+v 1.346160 1.471200 -1.346160
+v 1.346160 1.471200 1.346160
+v 1.347218 0.177075 0.700921
+v 1.347218 0.177075 -0.700921
+v 1.348469 2.494500 -0.452973
+v 1.348469 2.494500 0.452973
+v 1.356353 0.316800 -0.995410
+v 1.356353 0.316800 0.995410
+v 1.362620 2.463000 -0.226496
+v 1.362620 2.463000 0.226496
+v 1.364422 2.482687 -0.226795
+v 1.364422 2.482687 0.226795
+v 1.364595 0.064800 -0.226824
+v 1.364595 0.064800 0.226824
+v 1.366728 2.482687 -0.459107
+v 1.366728 2.482687 0.459107
+v 1.368074 2.435437 -0.227403
+v 1.368074 2.435437 0.227403
+v 1.372294 2.494500 -0.228104
+v 1.372294 2.494500 0.228104
+v 1.372712 0.084525 -0.461116
+v 1.372712 0.084525 0.461116
+v 1.376867 1.323225 -1.376868
+v 1.376868 1.323225 1.376867
+v 1.380400 2.463000 0.000000
+v 1.380400 2.463000 -0.000000
+v 1.381032 0.213600 0.718514
+v 1.381032 0.213600 -0.718514
+v 1.381968 2.400000 -0.229712
+v 1.381968 2.400000 0.229712
+v 1.382225 2.482687 0.000000
+v 1.382225 2.482687 0.000000
+v 1.382400 0.064800 0.000000
+v 1.382400 0.064800 0.000000
+v 1.383080 0.656400 -1.383080
+v 1.383080 0.656400 1.383080
+v 1.385053 2.498438 -0.230225
+v 1.385053 2.498438 0.230225
+v 1.385925 2.435437 0.000000
+v 1.385925 2.435437 -0.000000
+v 1.386270 2.463000 -0.465671
+v 1.386270 2.463000 0.465671
+v 1.390200 2.494500 0.000000
+v 1.390200 2.494500 -0.000000
+v 1.390545 1.929525 -1.020503
+v 1.390545 1.929525 1.020503
+v 1.400000 2.400000 0.000000
+v 1.400000 2.400000 0.000000
+v 1.400120 1.178400 -1.400120
+v 1.400120 1.178400 1.400120
+v 1.401276 2.242575 -0.729046
+v 1.401276 2.242575 0.729046
+v 1.401513 2.494500 -0.232961
+v 1.401513 2.494500 0.232961
+v 1.403125 2.498438 0.000000
+v 1.403125 2.498438 0.000000
+v 1.405953 2.435437 -0.472283
+v 1.405953 2.435437 0.472283
+v 1.406405 0.105600 -0.472434
+v 1.406405 0.105600 0.472434
+v 1.410060 0.771675 -1.410060
+v 1.410060 0.771675 1.410060
+v 1.414853 1.037175 -1.414853
+v 1.414853 1.037175 1.414853
+v 1.416240 0.384375 -1.039360
+v 1.416240 0.384375 1.039360
+v 1.419800 2.494500 0.000000
+v 1.419800 2.494500 -0.000000
+v 1.420000 0.900000 -1.420000
+v 1.420000 0.900000 -1.420000
+v 1.420000 0.900000 1.420000
+v 1.420000 0.900000 1.420000
+v 1.420490 2.482687 -0.236115
+v 1.420490 2.482687 0.236115
+v 1.421292 0.127575 0.477435
+v 1.421292 0.127575 -0.477435
+v 1.424640 0.150000 -0.478560
+v 1.424640 0.150000 -0.478560
+v 1.424640 0.150000 0.478560
+v 1.424640 0.150000 0.478560
+v 1.424640 2.400000 -0.478560
+v 1.424640 2.400000 0.478560
+v 1.426709 0.084525 -0.237149
+v 1.426709 0.084525 0.237149
+v 1.430863 0.260025 0.744440
+v 1.430863 0.260025 -0.744440
+v 1.437937 0.177075 0.483027
+v 1.437937 0.177075 -0.483027
+v 1.439025 2.482687 0.000000
+v 1.440800 2.463000 -0.239491
+v 1.440800 2.463000 0.239491
+v 1.443756 1.774800 -1.059553
+v 1.443756 1.774800 1.059553
+v 1.445325 0.084525 0.000000
+v 1.445325 0.084525 0.000000
+v 1.459600 2.463000 0.000000
+v 1.459600 2.463000 -0.000000
+v 1.461258 2.435437 -0.242892
+v 1.461258 2.435437 0.242892
+v 1.461727 0.105600 -0.242970
+v 1.461727 0.105600 0.242970
+v 1.466456 2.085600 -0.762958
+v 1.466456 2.085600 0.762958
+v 1.474028 0.213600 0.495150
+v 1.474028 0.213600 -0.495150
+v 1.476127 0.463200 -1.083310
+v 1.476127 0.463200 1.083310
+v 1.477200 0.127575 0.245542
+v 1.477200 0.127575 -0.245542
+v 1.480325 2.435437 0.000000
+v 1.480325 2.435437 -0.000000
+v 1.480680 0.150000 -0.246120
+v 1.480680 0.150000 0.246120
+v 1.480680 0.150000 0.246120
+v 1.480680 0.150000 -0.246120
+v 1.480680 2.400000 -0.246120
+v 1.480680 2.400000 0.246120
+v 1.480800 0.105600 0.000000
+v 1.480800 0.105600 0.000000
+v 1.491372 0.316800 -0.775921
+v 1.491372 0.316800 0.775921
+v 1.492110 1.621875 -1.095040
+v 1.492110 1.621875 1.095040
+v 1.494500 0.177075 0.248417
+v 1.494500 0.177075 -0.248417
+v 1.495635 2.242575 -0.502408
+v 1.495635 2.242575 0.502408
+v 1.496475 0.127575 0.000000
+v 1.496475 0.127575 0.000000
+v 1.500000 0.150000 0.000000
+v 1.500000 0.150000 0.000000
+v 1.500000 2.400000 0.000000
+v 1.500000 2.400000 0.000000
+v 1.514000 0.177075 -0.000000
+v 1.514000 0.177075 0.000000
+v 1.527214 0.260025 -0.513016
+v 1.527214 0.260025 0.513016
+v 1.528968 1.929525 -0.795481
+v 1.528968 1.929525 0.795481
+v 1.531158 0.553725 -1.123697
+v 1.531158 0.553725 1.123697
+v 1.532010 0.213600 0.254652
+v 1.532010 0.213600 -0.254652
+v 1.534395 1.471200 -1.126072
+v 1.534395 1.471200 1.126072
+v 1.552000 0.213600 0.000000
+v 1.552000 0.213600 0.000000
+v 1.554467 2.242575 -0.258385
+v 1.554467 2.242575 0.258385
+v 1.557220 0.384375 -0.810180
+v 1.557220 0.384375 0.810180
+v 1.565204 2.085600 -0.525778
+v 1.565204 2.085600 0.525778
+v 1.569396 1.323225 -1.151759
+v 1.569396 1.323225 1.151759
+v 1.574750 2.242575 0.000000
+v 1.574750 2.242575 0.000000
+v 1.576477 0.656400 -1.156956
+v 1.576477 0.656400 1.156956
+v 1.587289 0.260025 0.263841
+v 1.587289 0.260025 -0.263841
+v 1.587475 1.774800 -0.825921
+v 1.587475 1.774800 0.825921
+v 1.591798 0.316800 -0.534711
+v 1.591798 0.316800 0.534711
+v 1.595900 1.178400 -1.171210
+v 1.595900 1.178400 1.171210
+v 1.607230 0.771675 -1.179525
+v 1.607230 0.771675 1.179525
+v 1.608000 0.260025 0.000000
+v 1.608000 0.260025 0.000000
+v 1.612693 1.037175 -1.183534
+v 1.612693 1.037175 1.183534
+v 1.618560 0.900000 -1.187840
+v 1.618560 0.900000 -1.187840
+v 1.618560 0.900000 1.187840
+v 1.618560 0.900000 1.187840
+v 1.623068 0.463200 -0.844439
+v 1.623068 0.463200 0.844439
+v 1.626774 2.085600 -0.270404
+v 1.626774 2.085600 0.270404
+v 1.631925 1.929525 -0.548190
+v 1.631925 1.929525 0.548190
+v 1.640643 1.621875 -0.853583
+v 1.640643 1.621875 0.853583
+v 1.648000 2.085600 0.000000
+v 1.648000 2.085600 -0.000000
+v 1.654413 0.316800 -0.274998
+v 1.654413 0.316800 0.274998
+v 1.662080 0.384375 -0.558320
+v 1.662080 0.384375 0.558320
+v 1.676000 0.316800 0.000000
+v 1.676000 0.316800 0.000000
+v 1.683577 0.553725 -0.875920
+v 1.683577 0.553725 0.875920
+v 1.687137 1.471200 -0.877772
+v 1.687137 1.471200 0.877772
+v 1.694372 1.774800 -0.569167
+v 1.694372 1.774800 0.569167
+v 1.696119 1.929525 -0.281930
+v 1.696119 1.929525 0.281930
+v 1.700000 0.600000 0.000000
+v 1.700000 0.600000 0.000000
+v 1.700000 0.623100 0.178200
+v 1.700000 0.623100 -0.178200
+v 1.700000 0.685800 -0.316800
+v 1.700000 0.685800 0.316800
+v 1.700000 0.778200 0.415800
+v 1.700000 0.778200 -0.415800
+v 1.700000 0.890400 -0.475200
+v 1.700000 0.890400 0.475200
+v 1.700000 1.012500 -0.495000
+v 1.700000 1.012500 0.495000
+v 1.700000 1.134600 -0.475200
+v 1.700000 1.134600 0.475200
+v 1.700000 1.246800 0.415800
+v 1.700000 1.246800 -0.415800
+v 1.700000 1.339200 -0.316800
+v 1.700000 1.339200 0.316800
+v 1.700000 1.401900 0.178200
+v 1.700000 1.401900 -0.178200
+v 1.700000 1.425000 0.000000
+v 1.700000 1.425000 0.000000
+v 1.718250 1.929525 0.000000
+v 1.718250 1.929525 0.000000
+v 1.725622 1.323225 -0.897795
+v 1.725622 1.323225 0.897795
+v 1.727460 0.384375 -0.287140
+v 1.727460 0.384375 0.287140
+v 1.732362 0.463200 -0.581929
+v 1.732362 0.463200 0.581929
+v 1.733408 0.656400 -0.901846
+v 1.733408 0.656400 0.901846
+v 1.750000 0.384375 0.000000
+v 1.750000 0.384375 0.000000
+v 1.751120 1.621875 -0.588230
+v 1.751120 1.621875 0.588230
+v 1.754764 1.178400 -0.912957
+v 1.754764 1.178400 0.912957
+v 1.761022 1.774800 -0.292719
+v 1.761022 1.774800 0.292719
+v 1.767222 0.771675 -0.919439
+v 1.767222 0.771675 0.919439
+v 1.773229 1.037175 -0.922564
+v 1.773229 1.037175 0.922564
+v 1.779680 0.900000 -0.925920
+v 1.779680 0.900000 -0.925920
+v 1.779680 0.900000 0.925920
+v 1.779680 0.900000 0.925920
+v 1.784000 1.774800 0.000000
+v 1.784000 1.774800 0.000000
+v 1.796946 0.553725 -0.603624
+v 1.796946 0.553725 0.603624
+v 1.800507 0.463200 -0.299282
+v 1.800507 0.463200 0.299282
+v 1.800745 1.471200 -0.604900
+v 1.800745 1.471200 0.604900
+v 1.820003 1.621875 -0.302523
+v 1.820003 1.621875 0.302522
+v 1.824000 0.463200 0.000000
+v 1.824000 0.463200 0.000000
+v 1.841822 1.323225 -0.618698
+v 1.841822 1.323225 0.618698
+v 1.843750 1.621875 0.000000
+v 1.843750 1.621875 -0.000000
+v 1.850132 0.656400 -0.621490
+v 1.850132 0.656400 0.621490
+v 1.867631 0.553725 -0.310439
+v 1.867631 0.553725 0.310439
+v 1.871580 1.471200 -0.311096
+v 1.871580 1.471200 0.311096
+v 1.872927 1.178400 -0.629147
+v 1.872927 1.178400 0.629147
+v 1.886223 0.771675 -0.633613
+v 1.886223 0.771675 0.633613
+v 1.892000 0.553725 0.000000
+v 1.892000 0.553725 -0.000000
+v 1.892634 1.037175 -0.635767
+v 1.892634 1.037175 0.635767
+v 1.896000 1.471200 0.000000
+v 1.896000 1.471200 0.000000
+v 1.899520 0.900000 -0.638080
+v 1.899520 0.900000 -0.638080
+v 1.899520 0.900000 0.638080
+v 1.899520 0.900000 0.638080
+v 1.914272 1.323225 -0.318192
+v 1.914272 1.323225 0.318192
+v 1.922910 0.656400 -0.319628
+v 1.922910 0.656400 0.319628
+v 1.935900 1.444200 0.000000
+v 1.935900 1.444200 0.000000
+v 1.939250 1.323225 0.000000
+v 1.939250 1.323225 -0.000000
+v 1.939394 1.423221 -0.175100
+v 1.939394 1.423221 0.175100
+v 1.946601 1.178400 -0.323566
+v 1.946601 1.178400 0.323566
+v 1.948000 0.656400 0.000000
+v 1.948000 0.656400 -0.000000
+v 1.948879 1.366278 -0.311290
+v 1.948879 1.366278 0.311290
+v 1.960420 0.771675 -0.325863
+v 1.960420 0.771675 0.325863
+v 1.962857 1.282362 -0.408568
+v 1.962857 1.282362 0.408568
+v 1.967083 1.037175 -0.326970
+v 1.967083 1.037175 0.326970
+v 1.972000 1.178400 0.000000
+v 1.972000 1.178400 0.000000
+v 1.974240 0.900000 -0.328160
+v 1.974240 0.900000 0.328160
+v 1.974240 0.900000 0.328160
+v 1.979830 1.180464 -0.466934
+v 1.979830 1.180464 0.466934
+v 1.986000 0.771675 0.000000
+v 1.986000 0.771675 -0.000000
+v 1.992750 1.037175 0.000000
+v 1.992750 1.037175 0.000000
+v 1.998300 1.069575 -0.486390
+v 1.998300 1.069575 0.486390
+v 2.000000 0.900000 0.000000
+v 2.000000 0.900000 0.000000
+v 2.016770 0.958686 -0.466934
+v 2.016770 0.958686 0.466934
+v 2.033743 0.856788 -0.408568
+v 2.033743 0.856788 0.408568
+v 2.047721 0.772872 0.311290
+v 2.047721 0.772872 -0.311290
+v 2.057206 0.715929 0.175100
+v 2.057206 0.715929 -0.175100
+v 2.060700 0.694950 0.000000
+v 2.060700 0.694950 0.000000
+v 2.111200 1.497600 0.000000
+v 2.111200 1.497600 0.000000
+v 2.116979 1.479120 -0.166687
+v 2.116979 1.479120 0.166687
+v 2.132666 1.428960 -0.296333
+v 2.132666 1.428960 0.296333
+v 2.155782 1.355040 -0.388937
+v 2.155782 1.355040 0.388937
+v 2.183853 1.265280 -0.444499
+v 2.183853 1.265280 0.444499
+v 2.214400 1.167600 -0.463020
+v 2.214400 1.167600 0.463020
+v 2.237300 1.578900 0.000000
+v 2.237300 1.578900 0.000000
+v 2.244457 1.563171 -0.154289
+v 2.244457 1.563171 0.154289
+v 2.244947 1.069920 -0.444499
+v 2.244947 1.069920 0.444499
+v 2.263882 1.520478 -0.274291
+v 2.263882 1.520478 0.274291
+v 2.273018 0.980160 -0.388937
+v 2.273018 0.980160 0.388937
+v 2.292510 1.457562 -0.360007
+v 2.292510 1.457562 0.360007
+v 2.296134 0.906240 -0.296333
+v 2.296134 0.906240 0.296333
+v 2.311821 0.856080 -0.166687
+v 2.311821 0.856080 0.166687
+v 2.317600 0.837600 0.000000
+v 2.317600 0.837600 0.000000
+v 2.325600 1.681800 0.000000
+v 2.325600 1.681800 0.000000
+v 2.327271 1.381164 -0.411437
+v 2.327271 1.381164 0.411437
+v 2.333530 1.668948 -0.139234
+v 2.333530 1.668948 0.139234
+v 2.355053 1.634064 -0.247526
+v 2.355053 1.634064 0.247526
+v 2.365100 1.298025 -0.428580
+v 2.365100 1.298025 0.428580
+v 2.386771 1.582656 -0.324878
+v 2.386771 1.582656 0.324878
+v 2.387500 1.800000 0.000000
+v 2.387500 1.800000 0.000000
+v 2.395900 1.790025 0.122850
+v 2.395900 1.790025 -0.122850
+v 2.402929 1.214886 -0.411437
+v 2.402929 1.214886 0.411437
+v 2.418700 1.762950 -0.218400
+v 2.418700 1.762950 0.218400
+v 2.425286 1.520232 -0.371290
+v 2.425286 1.520232 0.371290
+v 2.434400 1.927200 0.000000
+v 2.434400 1.927200 0.000000
+v 2.437690 1.138488 -0.360007
+v 2.437690 1.138488 0.360007
+v 2.443270 1.919976 0.106466
+v 2.443270 1.919976 -0.106466
+v 2.452300 1.723050 -0.286650
+v 2.452300 1.723050 0.286650
+v 2.466318 1.075572 -0.274291
+v 2.466318 1.075572 0.274291
+v 2.467200 1.452300 -0.386760
+v 2.467200 1.452300 0.386760
+v 2.467347 1.900368 0.189274
+v 2.467347 1.900368 -0.189274
+v 2.477700 2.057100 0.000000
+v 2.477700 2.057100 0.000000
+v 2.485743 1.032879 -0.154289
+v 2.485743 1.032879 0.154289
+v 2.487343 2.052375 -0.091411
+v 2.487343 2.052375 0.091411
+v 2.492900 1.017150 0.000000
+v 2.492900 1.017150 0.000000
+v 2.493100 1.674600 -0.327600
+v 2.493100 1.674600 0.327600
+v 2.502829 1.871472 0.248422
+v 2.502829 1.871472 -0.248422
+v 2.509114 1.384368 -0.371290
+v 2.509114 1.384368 0.371290
+v 2.513518 2.039550 0.162509
+v 2.513518 2.039550 -0.162509
+v 2.528800 2.183400 0.000000
+v 2.537500 1.621875 -0.341250
+v 2.537500 1.621875 0.341250
+v 2.539821 2.180796 -0.079013
+v 2.539821 2.180796 0.079013
+v 2.545914 1.836384 -0.283910
+v 2.545914 1.836384 0.283910
+v 2.547629 1.321944 -0.324878
+v 2.547629 1.321944 0.324878
+v 2.552090 2.020650 -0.213293
+v 2.552090 2.020650 0.213293
+v 2.569734 2.173728 -0.140467
+v 2.569734 2.173728 0.140467
+v 2.579347 1.270536 -0.247526
+v 2.579347 1.270536 0.247526
+v 2.581900 1.569150 -0.327600
+v 2.581900 1.569150 0.327600
+v 2.592800 1.798200 -0.295740
+v 2.592800 1.798200 0.295740
+v 2.598929 1.997700 -0.243763
+v 2.598929 1.997700 0.243763
+v 2.599100 2.299800 0.000000
+v 2.599100 2.299800 0.000000
+v 2.600870 1.235652 -0.139234
+v 2.600870 1.235652 0.139234
+v 2.608800 1.222800 0.000000
+v 2.608800 1.222800 0.000000
+v 2.612406 2.298813 0.070600
+v 2.612406 2.298813 -0.070600
+v 2.613818 2.163312 -0.184363
+v 2.613818 2.163312 0.184363
+v 2.622700 1.520700 -0.286650
+v 2.622700 1.520700 0.286650
+v 2.639686 1.760016 -0.283910
+v 2.639686 1.760016 0.283910
+v 2.648521 2.296134 0.125510
+v 2.648521 2.296134 -0.125510
+v 2.649900 1.972725 0.253920
+v 2.649900 1.972725 -0.253920
+v 2.656300 1.480800 -0.218400
+v 2.656300 1.480800 0.218400
+v 2.667347 2.150664 -0.210701
+v 2.667347 2.150664 0.210701
+v 2.679100 1.453725 0.122850
+v 2.679100 1.453725 -0.122850
+v 2.682771 1.724928 0.248422
+v 2.682771 1.724928 -0.248422
+v 2.687500 1.443750 0.000000
+v 2.687500 1.443750 0.000000
+v 2.700000 2.400000 0.000000
+v 2.700000 2.400000 0.000000
+v 2.700000 2.400000 0.000000
+v 2.700871 1.947750 -0.243763
+v 2.700871 1.947750 0.243763
+v 2.701743 2.292186 0.164732
+v 2.701743 2.292186 -0.164732
+v 2.716800 2.400000 0.067500
+v 2.716800 2.400000 -0.067500
+v 2.716800 2.400000 -0.067500
+v 2.716800 2.400000 0.067500
+v 2.718253 1.696032 0.189274
+v 2.718253 1.696032 -0.189274
+v 2.725600 2.136900 -0.219480
+v 2.725600 2.136900 0.219480
+v 2.729800 2.420250 0.000000
+v 2.742330 1.676424 0.106466
+v 2.742330 1.676424 -0.106466
+v 2.747407 2.420406 -0.066744
+v 2.747407 2.420406 0.066744
+v 2.747710 1.924800 -0.213293
+v 2.747710 1.924800 0.213293
+v 2.751200 1.669200 0.000000
+v 2.751200 1.669200 0.000000
+v 2.758400 2.436000 0.000000
+v 2.762400 2.400000 0.120000
+v 2.762400 2.400000 -0.120000
+v 2.762400 2.400000 -0.120000
+v 2.762400 2.400000 0.120000
+v 2.766370 2.287392 0.188266
+v 2.766370 2.287392 -0.188266
+v 2.776365 2.436302 -0.064692
+v 2.776365 2.436302 0.064692
+v 2.783853 2.123136 -0.210701
+v 2.783853 2.123136 0.210701
+v 2.784600 2.447250 0.000000
+v 2.784600 2.447250 0.000000
+v 2.786282 1.905900 0.162509
+v 2.786282 1.905900 -0.162509
+v 2.795198 2.420829 -0.118656
+v 2.795198 2.420829 0.118656
+v 2.800000 2.400000 0.000000
+v 2.802528 2.447680 -0.061668
+v 2.802528 2.447680 0.061668
+v 2.807200 2.454000 0.000000
+v 2.811200 2.400000 -0.040500
+v 2.811200 2.400000 0.040500
+v 2.812457 1.893075 0.091411
+v 2.812457 1.893075 -0.091411
+v 2.822100 1.888350 0.000000
+v 2.822100 1.888350 0.000000
+v 2.824200 2.420250 0.000000
+v 2.824200 2.420250 0.000000
+v 2.824750 2.454529 -0.057996
+v 2.824750 2.454529 0.057996
+v 2.825000 2.456250 0.000000
+v 2.825000 2.456250 0.000000
+v 2.825126 2.437123 -0.115008
+v 2.825126 2.437123 0.115008
+v 2.829600 2.400000 0.157500
+v 2.829600 2.400000 -0.157500
+v 2.829600 2.400000 -0.157500
+v 2.829600 2.400000 0.157500
+v 2.836672 2.420519 -0.041256
+v 2.836672 2.420519 0.041256
+v 2.836700 2.282175 0.196110
+v 2.836700 2.282175 -0.196110
+v 2.836800 2.454000 0.000000
+v 2.836800 2.454000 0.000000
+v 2.837382 2.110488 -0.184363
+v 2.837382 2.110488 0.184363
+v 2.837600 2.436000 0.000000
+v 2.837600 2.436000 0.000000
+v 2.841400 2.447250 0.000000
+v 2.841400 2.447250 0.000000
+v 2.841600 2.400000 -0.072000
+v 2.841600 2.400000 0.072000
+v 2.841887 2.456841 -0.054000
+v 2.841887 2.456841 0.054000
+v 2.851189 2.448847 -0.109632
+v 2.851189 2.448847 0.109632
+v 2.851331 2.436454 -0.043308
+v 2.851331 2.436454 0.043308
+v 2.852794 2.454605 -0.050004
+v 2.852794 2.454605 0.050004
+v 2.856323 2.447812 -0.046332
+v 2.856323 2.447812 0.046332
+v 2.865626 2.421453 -0.155736
+v 2.865626 2.421453 0.155736
+v 2.870524 2.421250 -0.073344
+v 2.870524 2.421250 0.073344
+v 2.872387 2.455966 -0.103104
+v 2.872387 2.455966 0.103104
+v 2.881466 2.100072 -0.140467
+v 2.881466 2.100072 0.140467
+v 2.886400 2.400000 -0.094500
+v 2.886400 2.400000 0.094500
+v 2.887725 2.458444 -0.096000
+v 2.887725 2.458444 0.096000
+v 2.888602 2.437685 -0.076992
+v 2.888602 2.437685 0.076992
+v 2.896205 2.456246 0.088896
+v 2.896205 2.456246 -0.088896
+v 2.896829 2.449338 -0.082368
+v 2.896829 2.449338 0.082368
+v 2.896986 2.438333 -0.150948
+v 2.896986 2.438333 0.150948
+v 2.907030 2.276958 0.188266
+v 2.907030 2.276958 -0.188266
+v 2.911200 2.400000 -0.180000
+v 2.911200 2.400000 -0.180000
+v 2.911200 2.400000 0.180000
+v 2.911379 2.093004 -0.079013
+v 2.911379 2.093004 0.079013
+v 2.920412 2.422328 -0.096264
+v 2.920412 2.422328 0.096264
+v 2.922400 2.090400 0.000000
+v 2.922899 2.450567 -0.143892
+v 2.922899 2.450567 0.143892
+v 2.940800 2.400000 -0.108000
+v 2.940800 2.400000 0.108000
+v 2.942589 2.458082 -0.135324
+v 2.942589 2.458082 0.135324
+v 2.943526 2.439499 -0.101052
+v 2.943526 2.439499 0.101052
+v 2.951146 2.422210 -0.177984
+v 2.951146 2.422210 0.177984
+v 2.955275 2.460806 -0.126000
+v 2.955275 2.460806 0.126000
+v 2.956523 2.451588 -0.108108
+v 2.956523 2.451588 0.108108
+v 2.960179 2.458666 -0.116676
+v 2.960179 2.458666 0.116676
+v 2.971657 2.272164 0.164732
+v 2.971657 2.272164 -0.164732
+v 2.980990 2.423636 0.110016
+v 2.980990 2.423636 -0.110016
+v 2.984243 2.439802 -0.172512
+v 2.984243 2.439802 0.172512
+v 3.000000 2.400000 -0.187500
+v 3.000000 2.400000 -0.187500
+v 3.000000 2.400000 -0.112500
+v 3.000000 2.400000 0.112500
+v 3.000000 2.400000 0.187500
+v 3.009977 2.452655 -0.164448
+v 3.009977 2.452655 0.164448
+v 3.010221 2.441702 -0.115488
+v 3.010221 2.441702 0.115488
+v 3.024879 2.268216 0.125510
+v 3.024879 2.268216 -0.125510
+v 3.027834 2.460653 -0.154656
+v 3.027834 2.460653 0.154656
+v 3.029007 2.454319 -0.123552
+v 3.029007 2.454319 0.123552
+v 3.037300 2.463675 -0.144000
+v 3.037300 2.463675 0.144000
+v 3.037862 2.461603 0.133344
+v 3.037862 2.461603 -0.133344
+v 3.044212 2.423034 -0.185400
+v 3.044212 2.423034 0.185400
+v 3.046912 2.425059 0.114600
+v 3.046912 2.425059 -0.114600
+v 3.059200 2.400000 -0.108000
+v 3.059200 2.400000 0.108000
+v 3.060994 2.265537 0.070600
+v 3.060994 2.265537 -0.070600
+v 3.074300 2.264550 0.000000
+v 3.074300 2.264550 0.000000
+v 3.079200 2.441400 -0.179700
+v 3.079200 2.441400 0.179700
+v 3.082800 2.444100 -0.120300
+v 3.082800 2.444100 0.120300
+v 3.088800 2.400000 -0.180000
+v 3.088800 2.400000 -0.180000
+v 3.088800 2.400000 0.180000
+v 3.104737 2.454928 -0.171300
+v 3.104738 2.454928 0.171300
+v 3.107887 2.457291 -0.128700
+v 3.107887 2.457291 0.128700
+v 3.112835 2.426483 0.110016
+v 3.112835 2.426483 -0.110016
+v 3.113600 2.400000 -0.094500
+v 3.113600 2.400000 0.094500
+v 3.120600 2.463450 0.161100
+v 3.120600 2.463450 -0.161100
+v 3.122400 2.464800 0.138900
+v 3.122400 2.464800 -0.138900
+v 3.126562 2.466797 -0.150000
+v 3.126562 2.466797 0.150000
+v 3.137279 2.423859 -0.177984
+v 3.137279 2.423859 0.177984
+v 3.155379 2.446498 -0.115488
+v 3.155379 2.446498 0.115488
+v 3.158400 2.400000 -0.072000
+v 3.158400 2.400000 0.072000
+v 3.170400 2.400000 -0.157500
+v 3.170400 2.400000 0.157500
+v 3.170400 2.400000 -0.157500
+v 3.173413 2.427791 -0.096264
+v 3.173413 2.427791 0.096264
+v 3.174157 2.442998 -0.172512
+v 3.174157 2.442998 0.172512
+v 3.186768 2.460263 -0.123552
+v 3.186768 2.460263 0.123552
+v 3.188800 2.400000 -0.040500
+v 3.188800 2.400000 0.040500
+v 3.199498 2.457201 -0.164448
+v 3.199498 2.457201 0.164448
+v 3.200000 2.400000 0.000000
+v 3.206938 2.467997 0.133344
+v 3.206938 2.467997 -0.133344
+v 3.213366 2.466247 -0.154656
+v 3.213366 2.466247 0.154656
+v 3.215825 2.469919 -0.144000
+v 3.215825 2.469919 0.144000
+v 3.222074 2.448701 -0.101052
+v 3.222074 2.448701 0.101052
+v 3.222799 2.424616 -0.155736
+v 3.222799 2.424616 0.155736
+v 3.223301 2.428868 -0.073344
+v 3.223301 2.428868 0.073344
+v 3.237600 2.400000 -0.120000
+v 3.237600 2.400000 0.120000
+v 3.237600 2.400000 -0.120000
+v 3.257153 2.429599 -0.041256
+v 3.257153 2.429599 0.041256
+v 3.259252 2.462994 -0.108108
+v 3.259252 2.462994 0.108108
+v 3.261414 2.444467 -0.150948
+v 3.261414 2.444467 0.150948
+v 3.269625 2.429869 0.000000
+v 3.269625 2.429869 0.000000
+v 3.276998 2.450515 -0.076992
+v 3.276998 2.450515 0.076992
+v 3.283200 2.400000 -0.067500
+v 3.283200 2.400000 0.067500
+v 3.283200 2.400000 -0.067500
+v 3.284621 2.470934 -0.116676
+v 3.284621 2.470934 0.116676
+v 3.286576 2.459289 -0.143892
+v 3.286576 2.459289 0.143892
+v 3.293227 2.425240 -0.118656
+v 3.293227 2.425240 0.118656
+v 3.297850 2.472787 -0.126000
+v 3.297850 2.472788 0.126000
+v 3.298611 2.468818 -0.135324
+v 3.298611 2.468818 0.135324
+v 3.300000 2.400000 0.000000
+v 3.300000 2.400000 0.000000
+v 3.314269 2.451746 -0.043308
+v 3.314269 2.451746 0.043308
+v 3.318946 2.465243 -0.082368
+v 3.318946 2.465243 0.082368
+v 3.328000 2.452200 0.000000
+v 3.328000 2.452200 0.000000
+v 3.333274 2.445677 -0.115008
+v 3.333274 2.445677 0.115008
+v 3.341018 2.425663 -0.066744
+v 3.341018 2.425663 0.066744
+v 3.348595 2.473354 0.088896
+v 3.348595 2.473354 -0.088896
+v 3.358286 2.461009 -0.109632
+v 3.358286 2.461009 0.109632
+v 3.358625 2.425819 0.000000
+v 3.359452 2.466769 -0.046332
+v 3.359452 2.466769 0.046332
+v 3.365400 2.475150 -0.096000
+v 3.365400 2.475150 0.096000
+v 3.368813 2.470934 -0.103104
+v 3.368813 2.470934 0.103104
+v 3.374375 2.467331 0.000000
+v 3.374375 2.467331 0.000000
+v 3.382035 2.446498 -0.064692
+v 3.382035 2.446498 0.064692
+v 3.392006 2.474995 -0.050004
+v 3.392006 2.474995 0.050004
+v 3.400000 2.446800 0.000000
+v 3.406947 2.462176 -0.061668
+v 3.406947 2.462176 0.061668
+v 3.408000 2.475600 0.000000
+v 3.408000 2.475600 0.000000
+v 3.411237 2.476753 -0.054000
+v 3.411237 2.476753 0.054000
+v 3.416450 2.472371 -0.057996
+v 3.416450 2.472371 0.057996
+v 3.424875 2.462606 0.000000
+v 3.428125 2.477344 0.000000
+v 3.428125 2.477344 0.000000
+v 3.434000 2.472900 0.000000
+
+f 2909 2921 2939
+f 2939 2931 2909
+f 2869 2877 2921
+f 2921 2909 2869
+f 2819 2827 2877
+f 2877 2869 2819
+f 2737 2747 2827
+f 2827 2819 2737
+f 2669 2673 2747
+f 2747 2737 2669
+f 2567 2575 2673
+f 2673 2669 2567
+f 2476 2480 2575
+f 2575 2567 2476
+f 2358 2362 2480
+f 2480 2476 2358
+f 2158 2162 2362
+f 2362 2358 2158
+f 1715 1812 2162
+f 2162 2158 1715
+f 2901 2909 2931
+f 2931 2917 2901
+f 2863 2869 2909
+f 2909 2901 2863
+f 2813 2819 2869
+f 2869 2863 2813
+f 2729 2737 2819
+f 2819 2813 2729
+f 2663 2669 2737
+f 2737 2729 2663
+f 2561 2567 2669
+f 2669 2663 2561
+f 2468 2476 2567
+f 2567 2561 2468
+f 2350 2358 2476
+f 2476 2468 2350
+f 2152 2158 2358
+f 2358 2350 2152
+f 1717 1715 2158
+f 2158 2152 1717
+f 2903 2901 2917
+f 2917 2923 2903
+f 2865 2863 2901
+f 2901 2903 2865
+f 2815 2813 2863
+f 2863 2865 2815
+f 2733 2729 2813
+f 2813 2815 2733
+f 2665 2663 2729
+f 2729 2733 2665
+f 2564 2561 2663
+f 2663 2665 2564
+f 2473 2468 2561
+f 2561 2564 2473
+f 2354 2350 2468
+f 2468 2473 2354
+f 2155 2152 2350
+f 2350 2354 2155
+f 1927 1717 2152
+f 2152 2155 1927
+f 2911 2903 2923
+f 2923 2935 2911
+f 2875 2865 2903
+f 2903 2911 2875
+f 2823 2815 2865
+f 2865 2875 2823
+f 2741 2733 2815
+f 2815 2823 2741
+f 2671 2665 2733
+f 2733 2741 2671
+f 2571 2564 2665
+f 2665 2671 2571
+f 2478 2473 2564
+f 2564 2571 2478
+f 2360 2354 2473
+f 2473 2478 2360
+f 2160 2155 2354
+f 2354 2360 2160
+f 1718 1927 2155
+f 2155 2160 1718
+f 2929 2911 2935
+f 2935 2947 2929
+f 2881 2875 2911
+f 2911 2929 2881
+f 2829 2823 2875
+f 2875 2881 2829
+f 2751 2741 2823
+f 2823 2829 2751
+f 2677 2671 2741
+f 2741 2751 2677
+f 2577 2571 2671
+f 2671 2677 2577
+f 2482 2478 2571
+f 2571 2577 2482
+f 2364 2360 2478
+f 2478 2482 2364
+f 2164 2160 2360
+f 2360 2364 2164
+f 1842 1718 2160
+f 2160 2164 1842
+f 2945 2929 2947
+f 2947 2959 2945
+f 2897 2881 2929
+f 2929 2945 2897
+f 2835 2829 2881
+f 2881 2897 2835
+f 2761 2751 2829
+f 2829 2835 2761
+f 2679 2677 2751
+f 2751 2761 2679
+f 2579 2577 2677
+f 2677 2679 2579
+f 2486 2482 2577
+f 2577 2579 2486
+f 2368 2364 2482
+f 2482 2486 2368
+f 2172 2164 2364
+f 2364 2368 2172
+f 1725 1842 2164
+f 2164 2172 1725
+f 2965 2945 2959
+f 2959 2981 2965
+f 2907 2897 2945
+f 2945 2965 2907
+f 2845 2835 2897
+f 2897 2907 2845
+f 2769 2761 2835
+f 2835 2845 2769
+f 2685 2679 2761
+f 2761 2769 2685
+f 2587 2579 2679
+f 2679 2685 2587
+f 2491 2486 2579
+f 2579 2587 2491
+f 2370 2368 2486
+f 2486 2491 2370
+f 2174 2172 2368
+f 2368 2370 2174
+f 1834 1725 2172
+f 2172 2174 1834
+f 2982 2965 2981
+f 2981 2988 2982
+f 2933 2907 2965
+f 2965 2982 2933
+f 2855 2845 2907
+f 2907 2933 2855
+f 2779 2769 2845
+f 2845 2855 2779
+f 2691 2685 2769
+f 2769 2779 2691
+f 2595 2587 2685
+f 2685 2691 2595
+f 2500 2491 2587
+f 2587 2595 2500
+f 2374 2370 2491
+f 2491 2500 2374
+f 2178 2174 2370
+f 2370 2374 2178
+f 1716 1834 2174
+f 2174 2178 1716
+f 2990 2982 2988
+f 2988 3002 2990
+f 2949 2933 2982
+f 2982 2990 2949
+f 2871 2855 2933
+f 2933 2949 2871
+f 2791 2779 2855
+f 2855 2871 2791
+f 2699 2691 2779
+f 2779 2791 2699
+f 2601 2595 2691
+f 2691 2699 2601
+f 2506 2500 2595
+f 2595 2601 2506
+f 2378 2374 2500
+f 2500 2506 2378
+f 2180 2178 2374
+f 2374 2378 2180
+f 1714 1716 2178
+f 2178 2180 1714
+f 3008 2990 3002
+f 3002 3024 3008
+f 2973 2949 2990
+f 2990 3008 2973
+f 2889 2871 2949
+f 2949 2973 2889
+f 2805 2791 2871
+f 2871 2889 2805
+f 2711 2699 2791
+f 2791 2805 2711
+f 2611 2601 2699
+f 2699 2711 2611
+f 2521 2506 2601
+f 2601 2611 2521
+f 2387 2378 2506
+f 2506 2521 2387
+f 2191 2180 2378
+f 2378 2387 2191
+f 1810 1714 2180
+f 2180 2191 1810
+f 1464 1460 1813
+f 1813 1821 1464
+f 1264 1260 1460
+f 1460 1464 1264
+f 1146 1142 1260
+f 1260 1264 1146
+f 1055 1047 1142
+f 1142 1146 1055
+f 953 949 1047
+f 1047 1055 953
+f 885 875 949
+f 949 953 885
+f 803 795 875
+f 875 885 803
+f 753 745 795
+f 795 803 753
+f 713 701 745
+f 745 753 713
+f 691 683 701
+f 701 713 691
+f 1470 1464 1821
+f 1821 1829 1470
+f 1272 1264 1464
+f 1464 1470 1272
+f 1154 1146 1264
+f 1264 1272 1154
+f 1061 1055 1146
+f 1146 1154 1061
+f 959 953 1055
+f 1055 1061 959
+f 893 885 953
+f 953 959 893
+f 809 803 885
+f 885 893 809
+f 759 753 803
+f 803 809 759
+f 721 713 753
+f 753 759 721
+f 705 691 713
+f 713 721 705
+f 1469 1470 1829
+f 1829 1835 1469
+f 1268 1272 1470
+f 1470 1469 1268
+f 1151 1154 1272
+f 1272 1268 1151
+f 1060 1061 1154
+f 1154 1151 1060
+f 957 959 1061
+f 1061 1060 957
+f 889 893 959
+f 959 957 889
+f 807 809 893
+f 893 889 807
+f 757 759 809
+f 809 807 757
+f 719 721 759
+f 759 757 719
+f 699 705 721
+f 721 719 699
+f 1462 1469 1835
+f 1835 1839 1462
+f 1262 1268 1469
+f 1469 1462 1262
+f 1144 1151 1268
+f 1268 1262 1144
+f 1051 1060 1151
+f 1151 1144 1051
+f 951 957 1060
+f 1060 1051 951
+f 881 889 957
+f 957 951 881
+f 799 807 889
+f 889 881 799
+f 747 757 807
+f 807 799 747
+f 711 719 757
+f 757 747 711
+f 687 699 719
+f 719 711 687
+f 1458 1462 1839
+f 1839 1843 1458
+f 1258 1262 1462
+f 1462 1458 1258
+f 1140 1144 1262
+f 1262 1258 1140
+f 1045 1051 1144
+f 1144 1140 1045
+f 945 951 1051
+f 1051 1045 945
+f 871 881 951
+f 951 945 871
+f 793 799 881
+f 881 871 793
+f 741 747 799
+f 799 793 741
+f 693 711 747
+f 747 741 693
+f 675 687 711
+f 711 693 675
+f 1450 1458 1843
+f 1843 1838 1450
+f 1254 1258 1458
+f 1458 1450 1254
+f 1136 1140 1258
+f 1258 1254 1136
+f 1043 1045 1140
+f 1140 1136 1043
+f 943 945 1045
+f 1045 1043 943
+f 861 871 945
+f 945 943 861
+f 787 793 871
+f 871 861 787
+f 725 741 793
+f 793 787 725
+f 677 693 741
+f 741 725 677
+f 663 675 693
+f 693 677 663
+f 1448 1450 1838
+f 1838 1834 1448
+f 1252 1254 1450
+f 1450 1448 1252
+f 1133 1136 1254
+f 1254 1252 1133
+f 1035 1043 1136
+f 1136 1133 1035
+f 937 943 1043
+f 1043 1035 937
+f 853 861 943
+f 943 937 853
+f 777 787 861
+f 861 853 777
+f 715 725 787
+f 787 777 715
+f 657 677 725
+f 725 715 657
+f 642 663 677
+f 677 657 642
+f 1444 1448 1834
+f 1834 1828 1444
+f 1248 1252 1448
+f 1448 1444 1248
+f 1122 1133 1252
+f 1252 1248 1122
+f 1027 1035 1133
+f 1133 1122 1027
+f 931 937 1035
+f 1035 1027 931
+f 843 853 937
+f 937 931 843
+f 767 777 853
+f 853 843 767
+f 689 715 777
+f 777 767 689
+f 640 657 715
+f 715 689 640
+f 634 642 657
+f 657 640 634
+f 1442 1444 1828
+f 1828 1820 1442
+f 1244 1248 1444
+f 1444 1442 1244
+f 1116 1122 1248
+f 1248 1244 1116
+f 1021 1027 1122
+f 1122 1116 1021
+f 923 931 1027
+f 1027 1021 923
+f 831 843 931
+f 931 923 831
+f 751 767 843
+f 843 831 751
+f 673 689 767
+f 767 751 673
+f 632 640 689
+f 689 673 632
+f 620 634 640
+f 640 632 620
+f 1429 1442 1820
+f 1820 1811 1429
+f 1233 1244 1442
+f 1442 1429 1233
+f 1106 1116 1244
+f 1244 1233 1106
+f 1011 1021 1116
+f 1116 1106 1011
+f 911 923 1021
+f 1021 1011 911
+f 817 831 923
+f 923 911 817
+f 733 751 831
+f 831 817 733
+f 649 673 751
+f 751 733 649
+f 614 632 673
+f 673 649 614
+f 597 620 632
+f 632 614 597
+f 714 702 684
+f 684 692 714
+f 754 746 702
+f 702 714 754
+f 804 796 746
+f 746 754 804
+f 886 876 796
+f 796 804 886
+f 954 950 876
+f 876 886 954
+f 1056 1048 950
+f 950 954 1056
+f 1147 1143 1048
+f 1048 1056 1147
+f 1265 1261 1143
+f 1143 1147 1265
+f 1465 1461 1261
+f 1261 1265 1465
+f 1915 1817 1461
+f 1461 1465 1915
+f 722 714 692
+f 692 706 722
+f 760 754 714
+f 714 722 760
+f 810 804 754
+f 754 760 810
+f 894 886 804
+f 804 810 894
+f 960 954 886
+f 886 894 960
+f 1062 1056 954
+f 954 960 1062
+f 1155 1147 1056
+f 1056 1062 1155
+f 1273 1265 1147
+f 1147 1155 1273
+f 1471 1465 1265
+f 1265 1273 1471
+f 1917 1915 1465
+f 1465 1471 1917
+f 720 722 706
+f 706 700 720
+f 758 760 722
+f 722 720 758
+f 808 810 760
+f 760 758 808
+f 890 894 810
+f 810 808 890
+f 958 960 894
+f 894 890 958
+f 1059 1062 960
+f 960 958 1059
+f 1150 1155 1062
+f 1062 1059 1150
+f 1269 1273 1155
+f 1155 1150 1269
+f 1468 1471 1273
+f 1273 1269 1468
+f 1697 1917 1471
+f 1471 1468 1697
+f 712 720 700
+f 700 688 712
+f 748 758 720
+f 720 712 748
+f 800 808 758
+f 758 748 800
+f 882 890 808
+f 808 800 882
+f 952 958 890
+f 890 882 952
+f 1052 1059 958
+f 958 952 1052
+f 1145 1150 1059
+f 1059 1052 1145
+f 1263 1269 1150
+f 1150 1145 1263
+f 1463 1468 1269
+f 1269 1263 1463
+f 1919 1697 1468
+f 1468 1463 1919
+f 694 712 688
+f 688 676 694
+f 742 748 712
+f 712 694 742
+f 794 800 748
+f 748 742 794
+f 872 882 800
+f 800 794 872
+f 946 952 882
+f 882 872 946
+f 1046 1052 952
+f 952 946 1046
+f 1141 1145 1052
+f 1052 1046 1141
+f 1259 1263 1145
+f 1145 1141 1259
+f 1459 1463 1263
+f 1263 1259 1459
+f 1845 1919 1463
+f 1463 1459 1845
+f 678 694 676
+f 676 664 678
+f 726 742 694
+f 694 678 726
+f 788 794 742
+f 742 726 788
+f 862 872 794
+f 794 788 862
+f 944 946 872
+f 872 862 944
+f 1044 1046 946
+f 946 944 1044
+f 1137 1141 1046
+f 1046 1044 1137
+f 1255 1259 1141
+f 1141 1137 1255
+f 1451 1459 1259
+f 1259 1255 1451
+f 1898 1845 1459
+f 1459 1451 1898
+f 658 678 664
+f 664 642 658
+f 716 726 678
+f 678 658 716
+f 778 788 726
+f 726 716 778
+f 854 862 788
+f 788 778 854
+f 938 944 862
+f 862 854 938
+f 1036 1044 944
+f 944 938 1036
+f 1132 1137 1044
+f 1044 1036 1132
+f 1253 1255 1137
+f 1137 1132 1253
+f 1449 1451 1255
+f 1255 1253 1449
+f 1837 1898 1451
+f 1451 1449 1837
+f 641 658 642
+f 642 635 641
+f 690 716 658
+f 658 641 690
+f 768 778 716
+f 716 690 768
+f 844 854 778
+f 778 768 844
+f 932 938 854
+f 854 844 932
+f 1028 1036 938
+f 938 932 1028
+f 1123 1132 1036
+f 1036 1028 1123
+f 1249 1253 1132
+f 1132 1123 1249
+f 1445 1449 1253
+f 1253 1249 1445
+f 1918 1837 1449
+f 1449 1445 1918
+f 633 641 635
+f 635 621 633
+f 674 690 641
+f 641 633 674
+f 752 768 690
+f 690 674 752
+f 832 844 768
+f 768 752 832
+f 924 932 844
+f 844 832 924
+f 1022 1028 932
+f 932 924 1022
+f 1117 1123 1028
+f 1028 1022 1117
+f 1245 1249 1123
+f 1123 1117 1245
+f 1443 1445 1249
+f 1249 1245 1443
+f 1916 1918 1445
+f 1445 1443 1916
+f 616 633 621
+f 621 600 616
+f 654 674 633
+f 633 616 654
+f 737 752 674
+f 674 654 737
+f 822 832 752
+f 752 737 822
+f 914 924 832
+f 832 822 914
+f 1014 1022 924
+f 924 914 1014
+f 1104 1117 1022
+f 1022 1014 1104
+f 1237 1245 1117
+f 1117 1104 1237
+f 1433 1443 1245
+f 1245 1237 1433
+f 1819 1916 1443
+f 1443 1433 1819
+f 2159 2163 1816
+f 1816 1822 2159
+f 2359 2363 2163
+f 2163 2159 2359
+f 2477 2481 2363
+f 2363 2359 2477
+f 2568 2576 2481
+f 2481 2477 2568
+f 2670 2674 2576
+f 2576 2568 2670
+f 2738 2748 2674
+f 2674 2670 2738
+f 2820 2828 2748
+f 2748 2738 2820
+f 2870 2878 2828
+f 2828 2820 2870
+f 2910 2922 2878
+f 2878 2870 2910
+f 2932 2940 2922
+f 2922 2910 2932
+f 2153 2159 1822
+f 1822 1830 2153
+f 2351 2359 2159
+f 2159 2153 2351
+f 2469 2477 2359
+f 2359 2351 2469
+f 2562 2568 2477
+f 2477 2469 2562
+f 2664 2670 2568
+f 2568 2562 2664
+f 2730 2738 2670
+f 2670 2664 2730
+f 2814 2820 2738
+f 2738 2730 2814
+f 2864 2870 2820
+f 2820 2814 2864
+f 2902 2910 2870
+f 2870 2864 2902
+f 2918 2932 2910
+f 2910 2902 2918
+f 2154 2153 1830
+f 1830 1836 2154
+f 2355 2351 2153
+f 2153 2154 2355
+f 2472 2469 2351
+f 2351 2355 2472
+f 2563 2562 2469
+f 2469 2472 2563
+f 2666 2664 2562
+f 2562 2563 2666
+f 2734 2730 2664
+f 2664 2666 2734
+f 2816 2814 2730
+f 2730 2734 2816
+f 2866 2864 2814
+f 2814 2816 2866
+f 2904 2902 2864
+f 2864 2866 2904
+f 2924 2918 2902
+f 2902 2904 2924
+f 2161 2154 1836
+f 1836 1840 2161
+f 2361 2355 2154
+f 2154 2161 2361
+f 2479 2472 2355
+f 2355 2361 2479
+f 2572 2563 2472
+f 2472 2479 2572
+f 2672 2666 2563
+f 2563 2572 2672
+f 2742 2734 2666
+f 2666 2672 2742
+f 2824 2816 2734
+f 2734 2742 2824
+f 2876 2866 2816
+f 2816 2824 2876
+f 2912 2904 2866
+f 2866 2876 2912
+f 2936 2924 2904
+f 2904 2912 2936
+f 2165 2161 1840
+f 1840 1844 2165
+f 2365 2361 2161
+f 2161 2165 2365
+f 2483 2479 2361
+f 2361 2365 2483
+f 2578 2572 2479
+f 2479 2483 2578
+f 2678 2672 2572
+f 2572 2578 2678
+f 2752 2742 2672
+f 2672 2678 2752
+f 2830 2824 2742
+f 2742 2752 2830
+f 2882 2876 2824
+f 2824 2830 2882
+f 2930 2912 2876
+f 2876 2882 2930
+f 2948 2936 2912
+f 2912 2930 2948
+f 2173 2165 1844
+f 1844 1841 2173
+f 2369 2365 2165
+f 2165 2173 2369
+f 2487 2483 2365
+f 2365 2369 2487
+f 2580 2578 2483
+f 2483 2487 2580
+f 2680 2678 2578
+f 2578 2580 2680
+f 2762 2752 2678
+f 2678 2680 2762
+f 2836 2830 2752
+f 2752 2762 2836
+f 2898 2882 2830
+f 2830 2836 2898
+f 2946 2930 2882
+f 2882 2898 2946
+f 2960 2948 2930
+f 2930 2946 2960
+f 2175 2173 1841
+f 1841 1837 2175
+f 2371 2369 2173
+f 2173 2175 2371
+f 2490 2487 2369
+f 2369 2371 2490
+f 2588 2580 2487
+f 2487 2490 2588
+f 2686 2680 2580
+f 2580 2588 2686
+f 2770 2762 2680
+f 2680 2686 2770
+f 2846 2836 2762
+f 2762 2770 2846
+f 2908 2898 2836
+f 2836 2846 2908
+f 2966 2946 2898
+f 2898 2908 2966
+f 2981 2960 2946
+f 2946 2966 2981
+f 2179 2175 1837
+f 1837 1831 2179
+f 2375 2371 2175
+f 2175 2179 2375
+f 2501 2490 2371
+f 2371 2375 2501
+f 2596 2588 2490
+f 2490 2501 2596
+f 2692 2686 2588
+f 2588 2596 2692
+f 2780 2770 2686
+f 2686 2692 2780
+f 2856 2846 2770
+f 2770 2780 2856
+f 2934 2908 2846
+f 2846 2856 2934
+f 2983 2966 2908
+f 2908 2934 2983
+f 2989 2981 2966
+f 2966 2983 2989
+f 2181 2179 1831
+f 1831 1823 2181
+f 2379 2375 2179
+f 2179 2181 2379
+f 2507 2501 2375
+f 2375 2379 2507
+f 2602 2596 2501
+f 2501 2507 2602
+f 2700 2692 2596
+f 2596 2602 2700
+f 2792 2780 2692
+f 2692 2700 2792
+f 2872 2856 2780
+f 2780 2792 2872
+f 2950 2934 2856
+f 2856 2872 2950
+f 2991 2983 2934
+f 2934 2950 2991
+f 3003 2989 2983
+f 2983 2991 3003
+f 2194 2181 1823
+f 1823 1818 2194
+f 2391 2379 2181
+f 2181 2194 2391
+f 2518 2507 2379
+f 2379 2391 2518
+f 2614 2602 2507
+f 2507 2518 2614
+f 2712 2700 2602
+f 2602 2614 2712
+f 2806 2792 2700
+f 2700 2712 2806
+f 2890 2872 2792
+f 2792 2806 2890
+f 2974 2950 2872
+f 2872 2890 2974
+f 3009 2991 2950
+f 2950 2974 3009
+f 3025 3003 2991
+f 2991 3009 3025
+f 3040 3008 3024
+f 3024 3048 3040
+f 3018 2973 3008
+f 3008 3040 3018
+f 2943 2889 2973
+f 2973 3018 2943
+f 2841 2805 2889
+f 2889 2943 2841
+f 2731 2711 2805
+f 2805 2841 2731
+f 2645 2611 2711
+f 2711 2731 2645
+f 2529 2521 2611
+f 2611 2645 2529
+f 2402 2387 2521
+f 2521 2529 2402
+f 2208 2191 2387
+f 2387 2402 2208
+f 1806 1810 2191
+f 2191 2208 1806
+f 3072 3040 3048
+f 3048 3078 3072
+f 3044 3018 3040
+f 3040 3072 3044
+f 2994 2943 3018
+f 3018 3044 2994
+f 2883 2841 2943
+f 2943 2994 2883
+f 2773 2731 2841
+f 2841 2883 2773
+f 2659 2645 2731
+f 2731 2773 2659
+f 2539 2529 2645
+f 2645 2659 2539
+f 2410 2402 2529
+f 2529 2539 2410
+f 2222 2208 2402
+f 2402 2410 2222
+f 1694 1806 2208
+f 2208 2222 1694
+f 3092 3072 3078
+f 3078 3116 3092
+f 3074 3044 3072
+f 3072 3092 3074
+f 3030 2994 3044
+f 3044 3074 3030
+f 2937 2883 2994
+f 2994 3030 2937
+f 2810 2773 2883
+f 2883 2937 2810
+f 2683 2659 2773
+f 2773 2810 2683
+f 2554 2539 2659
+f 2659 2683 2554
+f 2420 2410 2539
+f 2539 2554 2420
+f 2238 2222 2410
+f 2410 2420 2238
+f 1930 1694 2222
+f 2222 2238 1930
+f 3132 3092 3116
+f 3116 3142 3132
+f 3090 3074 3092
+f 3092 3132 3090
+f 3054 3030 3074
+f 3074 3090 3054
+f 2984 2937 3030
+f 3030 3054 2984
+f 2837 2810 2937
+f 2937 2984 2837
+f 2705 2683 2810
+f 2810 2837 2705
+f 2574 2554 2683
+f 2683 2705 2574
+f 2430 2420 2554
+f 2554 2574 2430
+f 2247 2238 2420
+f 2420 2430 2247
+f 1913 1930 2238
+f 2238 2247 1913
+f 3150 3132 3142
+f 3142 3156 3150
+f 3128 3090 3132
+f 3132 3150 3128
+f 3076 3054 3090
+f 3090 3128 3076
+f 3014 2984 3054
+f 3054 3076 3014
+f 2861 2837 2984
+f 2984 3014 2861
+f 2723 2705 2837
+f 2837 2861 2723
+f 2585 2574 2705
+f 2705 2723 2585
+f 2438 2430 2574
+f 2574 2585 2438
+f 2253 2247 2430
+f 2430 2438 2253
+f 1711 1913 2247
+f 2247 2253 1711
+f 3162 3150 3156
+f 3156 3172 3162
+f 3148 3128 3150
+f 3150 3162 3148
+f 3088 3076 3128
+f 3128 3148 3088
+f 3036 3014 3076
+f 3076 3088 3036
+f 2893 2861 3014
+f 3014 3036 2893
+f 2743 2723 2861
+f 2861 2893 2743
+f 2599 2585 2723
+f 2723 2743 2599
+f 2450 2438 2585
+f 2585 2599 2450
+f 2267 2253 2438
+f 2438 2450 2267
+f 1794 1711 2253
+f 2253 2267 1794
+f 3178 3162 3172
+f 3172 3184 3178
+f 3154 3148 3162
+f 3162 3178 3154
+f 3118 3088 3148
+f 3148 3154 3118
+f 3046 3036 3088
+f 3088 3118 3046
+f 2915 2893 3036
+f 3036 3046 2915
+f 2763 2743 2893
+f 2893 2915 2763
+f 2615 2599 2743
+f 2743 2763 2615
+f 2452 2450 2599
+f 2599 2615 2452
+f 2277 2267 2450
+f 2450 2452 2277
+f 1710 1794 2267
+f 2267 2277 1710
+f 3188 3178 3184
+f 3184 3200 3188
+f 3164 3154 3178
+f 3178 3188 3164
+f 3130 3118 3154
+f 3154 3164 3130
+f 3058 3046 3118
+f 3118 3130 3058
+f 2941 2915 3046
+f 3046 3058 2941
+f 2775 2763 2915
+f 2915 2941 2775
+f 2627 2615 2763
+f 2763 2775 2627
+f 2458 2452 2615
+f 2615 2627 2458
+f 2287 2277 2452
+f 2452 2458 2287
+f 1910 1710 2277
+f 2277 2287 1910
+f 3198 3188 3200
+f 3200 3209 3198
+f 3170 3164 3188
+f 3188 3198 3170
+f 3136 3130 3164
+f 3164 3170 3136
+f 3064 3058 3130
+f 3130 3136 3064
+f 2955 2941 3058
+f 3058 3064 2955
+f 2781 2775 2941
+f 2941 2955 2781
+f 2636 2627 2775
+f 2775 2781 2636
+f 2462 2458 2627
+f 2627 2636 2462
+f 2295 2287 2458
+f 2458 2462 2295
+f 1909 1910 2287
+f 2287 2295 1909
+f 3202 3198 3209
+f 3209 3213 3202
+f 3174 3170 3198
+f 3198 3202 3174
+f 3138 3136 3170
+f 3170 3174 3138
+f 3066 3064 3136
+f 3136 3138 3066
+f 2961 2955 3064
+f 3064 3066 2961
+f 2783 2781 2955
+f 2955 2961 2783
+f 2642 2636 2781
+f 2781 2783 2642
+f 2464 2462 2636
+f 2636 2642 2464
+f 2297 2295 2462
+f 2462 2464 2297
+f 1784 1909 2295
+f 2295 2297 1784
+f 1414 1429 1811
+f 1811 1807 1414
+f 1220 1233 1429
+f 1429 1414 1220
+f 1093 1106 1233
+f 1233 1220 1093
+f 977 1011 1106
+f 1106 1093 977
+f 891 911 1011
+f 1011 977 891
+f 781 817 911
+f 911 891 781
+f 679 733 817
+f 817 781 679
+f 604 649 733
+f 733 679 604
+f 571 614 649
+f 649 604 571
+f 561 597 614
+f 614 571 561
+f 1400 1414 1807
+f 1807 1804 1400
+f 1212 1220 1414
+f 1414 1400 1212
+f 1083 1093 1220
+f 1220 1212 1083
+f 963 977 1093
+f 1093 1083 963
+f 849 891 977
+f 977 963 849
+f 739 781 891
+f 891 849 739
+f 628 679 781
+f 781 739 628
+f 565 604 679
+f 679 628 565
+f 530 571 604
+f 604 565 530
+f 524 561 571
+f 571 530 524
+f 1386 1400 1804
+f 1804 1802 1386
+f 1202 1212 1400
+f 1400 1386 1202
+f 1070 1083 1212
+f 1212 1202 1070
+f 939 963 1083
+f 1083 1070 939
+f 814 849 963
+f 963 939 814
+f 685 739 849
+f 849 814 685
+f 585 628 739
+f 739 685 585
+f 528 565 628
+f 628 585 528
+f 510 530 565
+f 565 528 510
+f 508 524 530
+f 530 510 508
+f 1375 1386 1802
+f 1802 1800 1375
+f 1192 1202 1386
+f 1386 1375 1192
+f 1050 1070 1202
+f 1202 1192 1050
+f 917 939 1070
+f 1070 1050 917
+f 785 814 939
+f 939 917 785
+f 638 685 814
+f 814 785 638
+f 553 585 685
+f 685 638 553
+f 512 528 585
+f 585 553 512
+f 492 510 528
+f 528 512 492
+f 482 508 510
+f 510 492 482
+f 1369 1375 1800
+f 1800 1798 1369
+f 1184 1192 1375
+f 1375 1369 1184
+f 1037 1050 1192
+f 1192 1184 1037
+f 899 917 1050
+f 1050 1037 899
+f 761 785 917
+f 917 899 761
+f 608 638 785
+f 785 761 608
+f 526 553 638
+f 638 608 526
+f 496 512 553
+f 553 526 496
+f 454 492 512
+f 512 496 454
+f 448 482 492
+f 492 454 448
+f 1355 1369 1798
+f 1798 1795 1355
+f 1172 1184 1369
+f 1369 1355 1172
+f 1023 1037 1184
+f 1184 1172 1023
+f 879 899 1037
+f 1037 1023 879
+f 729 761 899
+f 899 879 729
+f 579 608 761
+f 761 729 579
+f 514 526 608
+f 608 579 514
+f 457 496 526
+f 526 514 457
+f 442 454 496
+f 496 457 442
+f 432 448 454
+f 454 442 432
+f 1345 1355 1795
+f 1795 1792 1345
+f 1170 1172 1355
+f 1355 1345 1170
+f 1007 1023 1172
+f 1172 1170 1007
+f 859 879 1023
+f 1023 1007 859
+f 707 729 879
+f 879 859 707
+f 563 579 729
+f 729 707 563
+f 506 514 579
+f 579 563 506
+f 450 457 514
+f 514 506 450
+f 420 442 457
+f 457 450 420
+f 412 432 442
+f 442 420 412
+f 1335 1345 1792
+f 1792 1790 1335
+f 1164 1170 1345
+f 1345 1335 1164
+f 995 1007 1170
+f 1170 1164 995
+f 847 859 1007
+f 1007 995 847
+f 681 707 859
+f 859 847 681
+f 547 563 707
+f 707 681 547
+f 494 506 563
+f 563 547 494
+f 440 450 506
+f 506 494 440
+f 410 420 450
+f 450 440 410
+f 398 412 420
+f 420 410 398
+f 1327 1335 1790
+f 1790 1788 1327
+f 1160 1164 1335
+f 1335 1327 1160
+f 988 995 1164
+f 1164 1160 988
+f 841 847 995
+f 995 988 841
+f 667 681 847
+f 847 841 667
+f 538 547 681
+f 681 667 538
+f 488 494 547
+f 547 538 488
+f 434 440 494
+f 494 488 434
+f 400 410 440
+f 440 434 400
+f 381 398 410
+f 410 400 381
+f 1324 1327 1788
+f 1788 1785 1324
+f 1156 1160 1327
+f 1327 1324 1156
+f 979 988 1160
+f 1160 1156 979
+f 837 841 988
+f 988 979 837
+f 659 667 841
+f 841 837 659
+f 534 538 667
+f 667 659 534
+f 484 488 538
+f 538 534 484
+f 428 434 488
+f 488 484 428
+f 395 400 434
+f 434 428 395
+f 374 381 400
+f 400 395 374
+f 572 616 600
+f 600 562 572
+f 605 654 616
+f 616 572 605
+f 680 737 654
+f 654 605 680
+f 782 822 737
+f 737 680 782
+f 892 914 822
+f 822 782 892
+f 978 1014 914
+f 914 892 978
+f 1094 1104 1014
+f 1014 978 1094
+f 1221 1237 1104
+f 1104 1094 1221
+f 1415 1433 1237
+f 1237 1221 1415
+f 1809 1819 1433
+f 1433 1415 1809
+f 531 572 562
+f 562 525 531
+f 566 605 572
+f 572 531 566
+f 629 680 605
+f 605 566 629
+f 740 782 680
+f 680 629 740
+f 850 892 782
+f 782 740 850
+f 964 978 892
+f 892 850 964
+f 1084 1094 978
+f 978 964 1084
+f 1213 1221 1094
+f 1094 1084 1213
+f 1401 1415 1221
+f 1221 1213 1401
+f 1931 1809 1415
+f 1415 1401 1931
+f 511 531 525
+f 525 509 511
+f 529 566 531
+f 531 511 529
+f 586 629 566
+f 566 529 586
+f 686 740 629
+f 629 586 686
+f 813 850 740
+f 740 686 813
+f 940 964 850
+f 850 813 940
+f 1069 1084 964
+f 964 940 1069
+f 1203 1213 1084
+f 1084 1069 1203
+f 1385 1401 1213
+f 1213 1203 1385
+f 1693 1931 1401
+f 1401 1385 1693
+f 493 511 509
+f 509 483 493
+f 513 529 511
+f 511 493 513
+f 554 586 529
+f 529 513 554
+f 639 686 586
+f 586 554 639
+f 786 813 686
+f 686 639 786
+f 918 940 813
+f 813 786 918
+f 1049 1069 940
+f 940 918 1049
+f 1193 1203 1069
+f 1069 1049 1193
+f 1376 1385 1203
+f 1203 1193 1376
+f 1712 1693 1385
+f 1385 1376 1712
+f 455 493 483
+f 483 449 455
+f 497 513 493
+f 493 455 497
+f 527 554 513
+f 513 497 527
+f 609 639 554
+f 554 527 609
+f 762 786 639
+f 639 609 762
+f 900 918 786
+f 786 762 900
+f 1038 1049 918
+f 918 900 1038
+f 1185 1193 1049
+f 1049 1038 1185
+f 1370 1376 1193
+f 1193 1185 1370
+f 1912 1712 1376
+f 1376 1370 1912
+f 443 455 449
+f 449 433 443
+f 458 497 455
+f 455 443 458
+f 515 527 497
+f 497 458 515
+f 580 609 527
+f 527 515 580
+f 730 762 609
+f 609 580 730
+f 880 900 762
+f 762 730 880
+f 1024 1038 900
+f 900 880 1024
+f 1173 1185 1038
+f 1038 1024 1173
+f 1356 1370 1185
+f 1185 1173 1356
+f 1797 1912 1370
+f 1370 1356 1797
+f 421 443 433
+f 433 413 421
+f 451 458 443
+f 443 421 451
+f 507 515 458
+f 458 451 507
+f 564 580 515
+f 515 507 564
+f 708 730 580
+f 580 564 708
+f 860 880 730
+f 730 708 860
+f 1008 1024 880
+f 880 860 1008
+f 1171 1173 1024
+f 1024 1008 1171
+f 1346 1356 1173
+f 1173 1171 1346
+f 1911 1797 1356
+f 1356 1346 1911
+f 411 421 413
+f 413 399 411
+f 441 451 421
+f 421 411 441
+f 495 507 451
+f 451 441 495
+f 548 564 507
+f 507 495 548
+f 682 708 564
+f 564 548 682
+f 848 860 708
+f 708 682 848
+f 996 1008 860
+f 860 848 996
+f 1165 1171 1008
+f 1008 996 1165
+f 1336 1346 1171
+f 1171 1165 1336
+f 1709 1911 1346
+f 1346 1336 1709
+f 401 411 399
+f 399 382 401
+f 435 441 411
+f 411 401 435
+f 489 495 441
+f 441 435 489
+f 539 548 495
+f 495 489 539
+f 668 682 548
+f 548 539 668
+f 842 848 682
+f 682 668 842
+f 987 996 848
+f 848 842 987
+f 1161 1165 996
+f 996 987 1161
+f 1328 1336 1165
+f 1165 1161 1328
+f 1708 1709 1336
+f 1336 1328 1708
+f 397 401 382
+f 382 376 397
+f 431 435 401
+f 401 397 431
+f 487 489 435
+f 435 431 487
+f 537 539 489
+f 489 487 537
+f 662 668 539
+f 539 537 662
+f 840 842 668
+f 668 662 840
+f 981 987 842
+f 842 840 981
+f 1159 1161 987
+f 987 981 1159
+f 1326 1328 1161
+f 1161 1159 1326
+f 1787 1708 1328
+f 1328 1326 1787
+f 2209 2194 1818
+f 1818 1808 2209
+f 2403 2391 2194
+f 2194 2209 2403
+f 2530 2518 2391
+f 2391 2403 2530
+f 2646 2614 2518
+f 2518 2530 2646
+f 2732 2712 2614
+f 2614 2646 2732
+f 2842 2806 2712
+f 2712 2732 2842
+f 2944 2890 2806
+f 2806 2842 2944
+f 3019 2974 2890
+f 2890 2944 3019
+f 3041 3009 2974
+f 2974 3019 3041
+f 3049 3025 3009
+f 3009 3041 3049
+f 2223 2209 1808
+f 1808 1805 2223
+f 2411 2403 2209
+f 2209 2223 2411
+f 2540 2530 2403
+f 2403 2411 2540
+f 2660 2646 2530
+f 2530 2540 2660
+f 2774 2732 2646
+f 2646 2660 2774
+f 2884 2842 2732
+f 2732 2774 2884
+f 2995 2944 2842
+f 2842 2884 2995
+f 3045 3019 2944
+f 2944 2995 3045
+f 3073 3041 3019
+f 3019 3045 3073
+f 3079 3049 3041
+f 3041 3073 3079
+f 2237 2223 1805
+f 1805 1803 2237
+f 2421 2411 2223
+f 2223 2237 2421
+f 2553 2540 2411
+f 2411 2421 2553
+f 2684 2660 2540
+f 2540 2553 2684
+f 2809 2774 2660
+f 2660 2684 2809
+f 2938 2884 2774
+f 2774 2809 2938
+f 3031 2995 2884
+f 2884 2938 3031
+f 3075 3045 2995
+f 2995 3031 3075
+f 3093 3073 3045
+f 3045 3075 3093
+f 3117 3079 3073
+f 3073 3093 3117
+f 2248 2237 1803
+f 1803 1801 2248
+f 2431 2421 2237
+f 2237 2248 2431
+f 2573 2553 2421
+f 2421 2431 2573
+f 2706 2684 2553
+f 2553 2573 2706
+f 2838 2809 2684
+f 2684 2706 2838
+f 2985 2938 2809
+f 2809 2838 2985
+f 3055 3031 2938
+f 2938 2985 3055
+f 3091 3075 3031
+f 3031 3055 3091
+f 3133 3093 3075
+f 3075 3091 3133
+f 3143 3117 3093
+f 3093 3133 3143
+f 2254 2248 1801
+f 1801 1799 2254
+f 2439 2431 2248
+f 2248 2254 2439
+f 2586 2573 2431
+f 2431 2439 2586
+f 2724 2706 2573
+f 2573 2586 2724
+f 2862 2838 2706
+f 2706 2724 2862
+f 3015 2985 2838
+f 2838 2862 3015
+f 3077 3055 2985
+f 2985 3015 3077
+f 3129 3091 3055
+f 3055 3077 3129
+f 3151 3133 3091
+f 3091 3129 3151
+f 3157 3143 3133
+f 3133 3151 3157
+f 2268 2254 1799
+f 1799 1796 2268
+f 2451 2439 2254
+f 2254 2268 2451
+f 2600 2586 2439
+f 2439 2451 2600
+f 2744 2724 2586
+f 2586 2600 2744
+f 2894 2862 2724
+f 2724 2744 2894
+f 3037 3015 2862
+f 2862 2894 3037
+f 3089 3077 3015
+f 3015 3037 3089
+f 3149 3129 3077
+f 3077 3089 3149
+f 3163 3151 3129
+f 3129 3149 3163
+f 3173 3157 3151
+f 3151 3163 3173
+f 2278 2268 1796
+f 1796 1793 2278
+f 2453 2451 2268
+f 2268 2278 2453
+f 2616 2600 2451
+f 2451 2453 2616
+f 2764 2744 2600
+f 2600 2616 2764
+f 2916 2894 2744
+f 2744 2764 2916
+f 3047 3037 2894
+f 2894 2916 3047
+f 3119 3089 3037
+f 3037 3047 3119
+f 3155 3149 3089
+f 3089 3119 3155
+f 3179 3163 3149
+f 3149 3155 3179
+f 3185 3173 3163
+f 3163 3179 3185
+f 2288 2278 1793
+f 1793 1791 2288
+f 2459 2453 2278
+f 2278 2288 2459
+f 2628 2616 2453
+f 2453 2459 2628
+f 2776 2764 2616
+f 2616 2628 2776
+f 2942 2916 2764
+f 2764 2776 2942
+f 3059 3047 2916
+f 2916 2942 3059
+f 3131 3119 3047
+f 3047 3059 3131
+f 3165 3155 3119
+f 3119 3131 3165
+f 3189 3179 3155
+f 3155 3165 3189
+f 3201 3185 3179
+f 3179 3189 3201
+f 2296 2288 1791
+f 1791 1789 2296
+f 2463 2459 2288
+f 2288 2296 2463
+f 2635 2628 2459
+f 2459 2463 2635
+f 2782 2776 2628
+f 2628 2635 2782
+f 2956 2942 2776
+f 2776 2782 2956
+f 3065 3059 2942
+f 2942 2956 3065
+f 3137 3131 3059
+f 3059 3065 3137
+f 3171 3165 3131
+f 3131 3137 3171
+f 3199 3189 3165
+f 3165 3171 3199
+f 3210 3201 3189
+f 3189 3199 3210
+f 2299 2296 1789
+f 1789 1786 2299
+f 2467 2463 2296
+f 2296 2299 2467
+f 2644 2635 2463
+f 2463 2467 2644
+f 2786 2782 2635
+f 2635 2644 2786
+f 2964 2956 2782
+f 2782 2786 2964
+f 3069 3065 2956
+f 2956 2964 3069
+f 3141 3137 3065
+f 3065 3069 3141
+f 3177 3171 3137
+f 3137 3141 3177
+f 3204 3199 3171
+f 3171 3177 3204
+f 3214 3210 3199
+f 3199 3204 3214
+f 3194 3202 3213
+f 3213 3207 3194
+f 3166 3175 3202
+f 3202 3194 3166
+f 3134 3139 3175
+f 3175 3166 3134
+f 3060 3067 3139
+f 3139 3134 3060
+f 2953 2962 3067
+f 3067 3060 2953
+f 2777 2784 2962
+f 2962 2953 2777
+f 2629 2643 2784
+f 2784 2777 2629
+f 2460 2465 2643
+f 2643 2629 2460
+f 2293 2298 2465
+f 2465 2460 2293
+f 1696 1785 2298
+f 2298 2293 1696
+f 3180 3194 3207
+f 3207 3190 3180
+f 3158 3166 3194
+f 3194 3180 3158
+f 3124 3134 3166
+f 3166 3158 3124
+f 3050 3060 3134
+f 3134 3124 3050
+f 2927 2953 3060
+f 3060 3050 2927
+f 2767 2777 2953
+f 2953 2927 2767
+f 2619 2629 2777
+f 2777 2767 2619
+f 2454 2460 2629
+f 2629 2619 2454
+f 2283 2293 2460
+f 2460 2454 2283
+f 1695 1696 2293
+f 2293 2283 1695
+f 3160 3180 3190
+f 3190 3168 3160
+f 3144 3158 3180
+f 3180 3160 3144
+f 3086 3124 3158
+f 3158 3144 3086
+f 3032 3050 3124
+f 3124 3086 3032
+f 2891 2927 3050
+f 3050 3032 2891
+f 2739 2767 2927
+f 2927 2891 2739
+f 2597 2619 2767
+f 2767 2739 2597
+f 2448 2454 2619
+f 2619 2597 2448
+f 2265 2283 2454
+f 2454 2448 2265
+f 1707 1695 2283
+f 2283 2265 1707
+f 3146 3160 3168
+f 3168 3152 3146
+f 3122 3144 3160
+f 3160 3146 3122
+f 3070 3086 3144
+f 3144 3122 3070
+f 2998 3032 3086
+f 3086 3070 2998
+f 2853 2891 3032
+f 3032 2998 2853
+f 2717 2739 2891
+f 2891 2853 2717
+f 2582 2597 2739
+f 2739 2717 2582
+f 2434 2448 2597
+f 2597 2582 2434
+f 2251 2265 2448
+f 2448 2434 2251
+f 1907 1707 2265
+f 2265 2251 1907
+f 3120 3146 3152
+f 3152 3126 3120
+f 3082 3122 3146
+f 3146 3120 3082
+f 3042 3070 3122
+f 3122 3082 3042
+f 2957 2998 3070
+f 3070 3042 2957
+f 2825 2853 2998
+f 2998 2957 2825
+f 2693 2717 2853
+f 2853 2825 2693
+f 2556 2582 2717
+f 2717 2693 2556
+f 2424 2434 2582
+f 2582 2556 2424
+f 2239 2251 2434
+f 2434 2424 2239
+f 1906 1907 2251
+f 2251 2239 1906
+f 3080 3120 3126
+f 3126 3084 3080
+f 3056 3082 3120
+f 3120 3080 3056
+f 3012 3042 3082
+f 3082 3056 3012
+f 2899 2957 3042
+f 3042 3012 2899
+f 2789 2825 2957
+f 2957 2899 2789
+f 2675 2693 2825
+f 2825 2789 2675
+f 2545 2556 2693
+f 2693 2675 2545
+f 2416 2424 2556
+f 2556 2545 2416
+f 2228 2239 2424
+f 2424 2416 2228
+f 1770 1906 2239
+f 2239 2228 1770
+f 3053 3080 3084
+f 3084 3062 3053
+f 3028 3056 3080
+f 3080 3053 3028
+f 2978 3012 3056
+f 3056 3028 2978
+f 2860 2899 3012
+f 3012 2978 2860
+f 2754 2789 2899
+f 2899 2860 2754
+f 2652 2675 2789
+f 2789 2754 2652
+f 2534 2545 2675
+f 2675 2652 2534
+f 2406 2416 2545
+f 2545 2534 2406
+f 2217 2228 2416
+f 2416 2406 2217
+f 1929 1770 2228
+f 2228 2217 1929
+f 3035 3053 3062
+f 3062 3039 3035
+f 2997 3028 3053
+f 3053 3035 2997
+f 2920 2978 3028
+f 3028 2997 2920
+f 2832 2860 2978
+f 2978 2920 2832
+f 2728 2754 2860
+f 2860 2832 2728
+f 2634 2652 2754
+f 2754 2728 2634
+f 2528 2534 2652
+f 2652 2634 2528
+f 2396 2406 2534
+f 2534 2528 2396
+f 2202 2217 2406
+f 2406 2396 2202
+f 1765 1929 2217
+f 2217 2202 1765
+f 3017 3035 3039
+f 3039 3027 3017
+f 2980 2997 3035
+f 3035 3017 2980
+f 2896 2920 2997
+f 2997 2980 2896
+f 2812 2832 2920
+f 2920 2896 2812
+f 2715 2728 2832
+f 2832 2812 2715
+f 2618 2634 2728
+f 2728 2715 2618
+f 2523 2528 2634
+f 2634 2618 2523
+f 2392 2396 2528
+f 2528 2523 2392
+f 2196 2202 2396
+f 2396 2392 2196
+f 1724 1765 2202
+f 2202 2196 1724
+f 3007 3017 3027
+f 3027 3023 3007
+f 2969 2980 3017
+f 3017 3007 2969
+f 2887 2896 2980
+f 2980 2969 2887
+f 2802 2812 2896
+f 2896 2887 2802
+f 2709 2715 2812
+f 2812 2802 2709
+f 2609 2618 2715
+f 2715 2709 2609
+f 2519 2523 2618
+f 2618 2609 2519
+f 2386 2392 2523
+f 2523 2519 2386
+f 2190 2196 2392
+f 2392 2386 2190
+f 1759 1724 2196
+f 2196 2190 1759
+f 1329 1324 1785
+f 1785 1782 1329
+f 1162 1157 1324
+f 1324 1329 1162
+f 993 982 1157
+f 1157 1162 993
+f 845 838 982
+f 982 993 845
+f 669 660 838
+f 838 845 669
+f 542 535 660
+f 660 669 542
+f 490 485 535
+f 535 542 490
+f 438 429 485
+f 485 490 438
+f 404 396 429
+f 429 438 404
+f 387 376 396
+f 396 404 387
+f 1339 1329 1782
+f 1782 1780 1339
+f 1168 1162 1329
+f 1329 1339 1168
+f 1003 993 1162
+f 1162 1168 1003
+f 855 845 993
+f 993 1003 855
+f 695 669 845
+f 845 855 695
+f 559 542 669
+f 669 695 559
+f 500 490 542
+f 542 559 500
+f 446 438 490
+f 490 500 446
+f 416 404 438
+f 438 446 416
+f 408 387 404
+f 404 416 408
+f 1357 1339 1780
+f 1780 1778 1357
+f 1174 1168 1339
+f 1339 1357 1174
+f 1025 1003 1168
+f 1168 1174 1025
+f 883 855 1003
+f 1003 1025 883
+f 731 695 855
+f 855 883 731
+f 583 559 695
+f 695 731 583
+f 516 500 559
+f 559 583 516
+f 467 446 500
+f 500 516 467
+f 444 416 446
+f 446 467 444
+f 436 408 416
+f 416 444 436
+f 1371 1357 1778
+f 1778 1776 1371
+f 1188 1174 1357
+f 1357 1371 1188
+f 1042 1025 1174
+f 1174 1188 1042
+f 905 883 1025
+f 1025 1042 905
+f 769 731 883
+f 883 905 769
+f 624 583 731
+f 731 769 624
+f 532 516 583
+f 583 624 532
+f 502 467 516
+f 516 532 502
+f 459 444 467
+f 467 502 459
+f 452 436 444
+f 444 459 452
+f 1383 1371 1776
+f 1776 1774 1383
+f 1198 1188 1371
+f 1371 1383 1198
+f 1068 1042 1188
+f 1188 1198 1068
+f 929 905 1042
+f 1042 1068 929
+f 797 769 905
+f 905 929 797
+f 665 624 769
+f 769 797 665
+f 569 532 624
+f 624 665 569
+f 520 502 532
+f 532 569 520
+f 504 459 502
+f 502 520 504
+f 498 452 459
+f 459 504 498
+f 1394 1383 1774
+f 1774 1771 1394
+f 1206 1198 1383
+f 1383 1394 1206
+f 1077 1068 1198
+f 1198 1206 1077
+f 947 929 1068
+f 1068 1077 947
+f 833 797 929
+f 929 947 833
+f 723 665 797
+f 797 833 723
+f 610 569 665
+f 665 723 610
+f 549 520 569
+f 569 610 549
+f 522 504 520
+f 520 549 522
+f 518 498 504
+f 504 522 518
+f 1407 1394 1771
+f 1771 1768 1407
+f 1216 1206 1394
+f 1394 1407 1216
+f 1090 1077 1206
+f 1206 1216 1090
+f 972 947 1077
+f 1077 1090 972
+f 870 833 947
+f 947 972 870
+f 764 723 833
+f 833 870 764
+f 646 610 723
+f 723 764 646
+f 587 549 610
+f 610 646 587
+f 556 522 549
+f 549 587 556
+f 540 518 522
+f 522 556 540
+f 1420 1407 1768
+f 1768 1764 1420
+f 1226 1216 1407
+f 1407 1420 1226
+f 1096 1090 1216
+f 1216 1226 1096
+f 990 972 1090
+f 1090 1096 990
+f 896 870 972
+f 972 990 896
+f 792 764 870
+f 870 896 792
+f 704 646 764
+f 764 792 704
+f 627 587 646
+f 646 704 627
+f 582 556 587
+f 587 627 582
+f 574 540 556
+f 556 582 574
+f 1426 1420 1764
+f 1764 1762 1426
+f 1230 1226 1420
+f 1420 1426 1230
+f 1101 1096 1226
+f 1226 1230 1101
+f 1006 990 1096
+f 1096 1101 1006
+f 907 896 990
+f 990 1006 907
+f 812 792 896
+f 896 907 812
+f 728 704 792
+f 792 812 728
+f 644 627 704
+f 704 728 644
+f 607 582 627
+f 627 644 607
+f 592 574 582
+f 582 607 592
+f 1430 1426 1762
+f 1762 1758 1430
+f 1234 1230 1426
+f 1426 1430 1234
+f 1107 1101 1230
+f 1230 1234 1107
+f 1012 1006 1101
+f 1101 1107 1012
+f 912 907 1006
+f 1006 1012 912
+f 819 812 907
+f 907 912 819
+f 738 728 812
+f 812 819 738
+f 651 644 728
+f 728 738 651
+f 618 607 644
+f 644 651 618
+f 601 592 607
+f 607 618 601
+f 405 397 376
+f 376 388 405
+f 439 430 397
+f 397 405 439
+f 491 486 430
+f 430 439 491
+f 543 536 486
+f 486 491 543
+f 670 661 536
+f 536 543 670
+f 846 839 661
+f 661 670 846
+f 994 980 839
+f 839 846 994
+f 1163 1158 980
+f 980 994 1163
+f 1330 1325 1158
+f 1158 1163 1330
+f 1926 1786 1325
+f 1325 1330 1926
+f 417 405 388
+f 388 409 417
+f 447 439 405
+f 405 417 447
+f 501 491 439
+f 439 447 501
+f 560 543 491
+f 491 501 560
+f 696 670 543
+f 543 560 696
+f 856 846 670
+f 670 696 856
+f 1004 994 846
+f 846 856 1004
+f 1169 1163 994
+f 994 1004 1169
+f 1340 1330 1163
+f 1163 1169 1340
+f 1925 1926 1330
+f 1330 1340 1925
+f 445 417 409
+f 409 437 445
+f 468 447 417
+f 417 445 468
+f 517 501 447
+f 447 468 517
+f 584 560 501
+f 501 517 584
+f 732 696 560
+f 560 584 732
+f 884 856 696
+f 696 732 884
+f 1026 1004 856
+f 856 884 1026
+f 1175 1169 1004
+f 1004 1026 1175
+f 1358 1340 1169
+f 1169 1175 1358
+f 1908 1925 1340
+f 1340 1358 1908
+f 460 445 437
+f 437 453 460
+f 503 468 445
+f 445 460 503
+f 533 517 468
+f 468 503 533
+f 625 584 517
+f 517 533 625
+f 770 732 584
+f 584 625 770
+f 906 884 732
+f 732 770 906
+f 1041 1026 884
+f 884 906 1041
+f 1189 1175 1026
+f 1026 1041 1189
+f 1372 1358 1175
+f 1175 1189 1372
+f 1706 1908 1358
+f 1358 1372 1706
+f 505 460 453
+f 453 499 505
+f 521 503 460
+f 460 505 521
+f 570 533 503
+f 503 521 570
+f 666 625 533
+f 533 570 666
+f 798 770 625
+f 625 666 798
+f 930 906 770
+f 770 798 930
+f 1067 1041 906
+f 906 930 1067
+f 1199 1189 1041
+f 1041 1067 1199
+f 1384 1372 1189
+f 1189 1199 1384
+f 1705 1706 1372
+f 1372 1384 1705
+f 523 505 499
+f 499 519 523
+f 550 521 505
+f 505 523 550
+f 611 570 521
+f 521 550 611
+f 724 666 570
+f 570 611 724
+f 834 798 666
+f 666 724 834
+f 948 930 798
+f 798 834 948
+f 1078 1067 930
+f 930 948 1078
+f 1207 1199 1067
+f 1067 1078 1207
+f 1395 1384 1199
+f 1199 1207 1395
+f 1773 1705 1384
+f 1384 1395 1773
+f 555 523 519
+f 519 541 555
+f 588 550 523
+f 523 555 588
+f 645 611 550
+f 550 588 645
+f 763 724 611
+f 611 645 763
+f 869 834 724
+f 724 763 869
+f 971 948 834
+f 834 869 971
+f 1089 1078 948
+f 948 971 1089
+f 1217 1207 1078
+f 1078 1089 1217
+f 1406 1395 1207
+f 1207 1217 1406
+f 1692 1773 1395
+f 1395 1406 1692
+f 581 555 541
+f 541 573 581
+f 626 588 555
+f 555 581 626
+f 703 645 588
+f 588 626 703
+f 791 763 645
+f 645 703 791
+f 895 869 763
+f 763 791 895
+f 989 971 869
+f 869 895 989
+f 1095 1089 971
+f 971 989 1095
+f 1227 1217 1089
+f 1089 1095 1227
+f 1421 1406 1217
+f 1217 1227 1421
+f 1766 1692 1406
+f 1406 1421 1766
+f 606 581 573
+f 573 591 606
+f 643 626 581
+f 581 606 643
+f 727 703 626
+f 626 643 727
+f 811 791 703
+f 703 727 811
+f 908 895 791
+f 791 811 908
+f 1005 989 895
+f 895 908 1005
+f 1100 1095 989
+f 989 1005 1100
+f 1231 1227 1095
+f 1095 1100 1231
+f 1427 1421 1227
+f 1227 1231 1427
+f 1897 1766 1421
+f 1421 1427 1897
+f 615 606 591
+f 591 598 615
+f 653 643 606
+f 606 615 653
+f 735 727 643
+f 643 653 735
+f 820 811 727
+f 727 735 820
+f 913 908 811
+f 811 820 913
+f 1013 1005 908
+f 908 913 1013
+f 1103 1100 1005
+f 1005 1013 1103
+f 1236 1231 1100
+f 1100 1103 1236
+f 1432 1427 1231
+f 1231 1236 1432
+f 1760 1897 1427
+f 1427 1432 1760
+f 2294 2299 1786
+f 1786 1783 2294
+f 2461 2466 2299
+f 2299 2294 2461
+f 2630 2641 2466
+f 2466 2461 2630
+f 2778 2785 2641
+f 2641 2630 2778
+f 2954 2963 2785
+f 2785 2778 2954
+f 3061 3068 2963
+f 2963 2954 3061
+f 3135 3140 3068
+f 3068 3061 3135
+f 3167 3176 3140
+f 3140 3135 3167
+f 3195 3203 3176
+f 3176 3167 3195
+f 3208 3213 3203
+f 3203 3195 3208
+f 2284 2294 1783
+f 1783 1781 2284
+f 2455 2461 2294
+f 2294 2284 2455
+f 2620 2630 2461
+f 2461 2455 2620
+f 2768 2778 2630
+f 2630 2620 2768
+f 2928 2954 2778
+f 2778 2768 2928
+f 3051 3061 2954
+f 2954 2928 3051
+f 3125 3135 3061
+f 3061 3051 3125
+f 3159 3167 3135
+f 3135 3125 3159
+f 3181 3195 3167
+f 3167 3159 3181
+f 3191 3208 3195
+f 3195 3181 3191
+f 2266 2284 1781
+f 1781 1779 2266
+f 2449 2455 2284
+f 2284 2266 2449
+f 2598 2620 2455
+f 2455 2449 2598
+f 2740 2768 2620
+f 2620 2598 2740
+f 2892 2928 2768
+f 2768 2740 2892
+f 3033 3051 2928
+f 2928 2892 3033
+f 3087 3125 3051
+f 3051 3033 3087
+f 3145 3159 3125
+f 3125 3087 3145
+f 3161 3181 3159
+f 3159 3145 3161
+f 3169 3191 3181
+f 3181 3161 3169
+f 2252 2266 1779
+f 1779 1777 2252
+f 2435 2449 2266
+f 2266 2252 2435
+f 2581 2598 2449
+f 2449 2435 2581
+f 2718 2740 2598
+f 2598 2581 2718
+f 2854 2892 2740
+f 2740 2718 2854
+f 2999 3033 2892
+f 2892 2854 2999
+f 3071 3087 3033
+f 3033 2999 3071
+f 3123 3145 3087
+f 3087 3071 3123
+f 3147 3161 3145
+f 3145 3123 3147
+f 3153 3169 3161
+f 3161 3147 3153
+f 2240 2252 1777
+f 1777 1775 2240
+f 2425 2435 2252
+f 2252 2240 2425
+f 2555 2581 2435
+f 2435 2425 2555
+f 2694 2718 2581
+f 2581 2555 2694
+f 2826 2854 2718
+f 2718 2694 2826
+f 2958 2999 2854
+f 2854 2826 2958
+f 3043 3071 2999
+f 2999 2958 3043
+f 3083 3123 3071
+f 3071 3043 3083
+f 3121 3147 3123
+f 3123 3083 3121
+f 3127 3153 3147
+f 3147 3121 3127
+f 2229 2240 1775
+f 1775 1772 2229
+f 2417 2425 2240
+f 2240 2229 2417
+f 2546 2555 2425
+f 2425 2417 2546
+f 2676 2694 2555
+f 2555 2546 2676
+f 2790 2826 2694
+f 2694 2676 2790
+f 2900 2958 2826
+f 2826 2790 2900
+f 3013 3043 2958
+f 2958 2900 3013
+f 3057 3083 3043
+f 3043 3013 3057
+f 3081 3121 3083
+f 3083 3057 3081
+f 3085 3127 3121
+f 3121 3081 3085
+f 2216 2229 1772
+f 1772 1769 2216
+f 2407 2417 2229
+f 2229 2216 2407
+f 2533 2546 2417
+f 2417 2407 2533
+f 2651 2676 2546
+f 2546 2533 2651
+f 2753 2790 2676
+f 2676 2651 2753
+f 2859 2900 2790
+f 2790 2753 2859
+f 2977 3013 2900
+f 2900 2859 2977
+f 3029 3057 3013
+f 3013 2977 3029
+f 3052 3081 3057
+f 3057 3029 3052
+f 3063 3085 3081
+f 3081 3052 3063
+f 2203 2216 1769
+f 1769 1767 2203
+f 2397 2407 2216
+f 2216 2203 2397
+f 2527 2533 2407
+f 2407 2397 2527
+f 2633 2651 2533
+f 2533 2527 2633
+f 2727 2753 2651
+f 2651 2633 2727
+f 2831 2859 2753
+f 2753 2727 2831
+f 2919 2977 2859
+f 2859 2831 2919
+f 2996 3029 2977
+f 2977 2919 2996
+f 3034 3052 3029
+f 3029 2996 3034
+f 3038 3063 3052
+f 3052 3034 3038
+f 2197 2203 1767
+f 1767 1763 2197
+f 2393 2397 2203
+f 2203 2197 2393
+f 2522 2527 2397
+f 2397 2393 2522
+f 2617 2633 2527
+f 2527 2522 2617
+f 2716 2727 2633
+f 2633 2617 2716
+f 2811 2831 2727
+f 2727 2716 2811
+f 2895 2919 2831
+f 2831 2811 2895
+f 2979 2996 2919
+f 2919 2895 2979
+f 3016 3034 2996
+f 2996 2979 3016
+f 3026 3038 3034
+f 3034 3016 3026
+f 2193 2197 1763
+f 1763 1761 2193
+f 2389 2393 2197
+f 2197 2193 2389
+f 2516 2522 2393
+f 2393 2389 2516
+f 2610 2617 2522
+f 2522 2516 2610
+f 2710 2716 2617
+f 2617 2610 2710
+f 2803 2811 2716
+f 2716 2710 2803
+f 2885 2895 2811
+f 2811 2803 2885
+f 2971 2979 2895
+f 2895 2885 2971
+f 3005 3016 2979
+f 2979 2971 3005
+f 3022 3026 3016
+f 3016 3005 3022
+f 461 545 544
+f 544 456 461
+f 463 551 545
+f 545 461 463
+f 465 557 551
+f 551 463 465
+f 469 567 557
+f 557 465 469
+f 471 575 567
+f 567 469 471
+f 473 577 575
+f 575 471 473
+f 475 589 577
+f 577 473 475
+f 477 593 589
+f 589 475 477
+f 479 595 593
+f 593 477 479
+f 481 599 595
+f 595 479 481
+f 389 461 456
+f 456 392 389
+f 386 463 461
+f 461 389 386
+f 379 465 463
+f 463 386 379
+f 373 469 465
+f 465 379 373
+f 371 471 469
+f 469 373 371
+f 369 473 471
+f 471 371 369
+f 366 475 473
+f 473 369 366
+f 364 477 475
+f 475 366 364
+f 362 479 477
+f 477 364 362
+f 361 481 479
+f 479 362 361
+f 335 389 392
+f 392 337 335
+f 333 386 389
+f 389 335 333
+f 331 379 386
+f 386 333 331
+f 329 373 379
+f 379 331 329
+f 328 371 373
+f 373 329 328
+f 325 369 371
+f 371 328 325
+f 323 366 369
+f 369 325 323
+f 321 364 366
+f 366 323 321
+f 319 362 364
+f 364 321 319
+f 316 361 362
+f 362 319 316
+f 298 335 337
+f 337 302 298
+f 290 333 335
+f 335 298 290
+f 288 331 333
+f 333 290 288
+f 286 329 331
+f 331 288 286
+f 281 328 329
+f 329 286 281
+f 275 325 328
+f 328 281 275
+f 265 323 325
+f 325 275 265
+f 259 321 323
+f 323 265 259
+f 255 319 321
+f 321 259 255
+f 249 316 319
+f 319 255 249
+f 269 298 302
+f 302 271 269
+f 261 290 298
+f 298 269 261
+f 251 288 290
+f 290 261 251
+f 238 286 288
+f 288 251 238
+f 230 281 286
+f 286 238 230
+f 218 275 281
+f 281 230 218
+f 208 265 275
+f 275 218 208
+f 196 259 265
+f 265 208 196
+f 186 255 259
+f 259 196 186
+f 181 249 255
+f 255 186 181
+f 228 269 271
+f 271 234 228
+f 222 261 269
+f 269 228 222
+f 212 251 261
+f 261 222 212
+f 200 238 251
+f 251 212 200
+f 177 230 238
+f 238 200 177
+f 160 218 230
+f 230 177 160
+f 134 208 218
+f 218 160 134
+f 112 196 208
+f 208 134 112
+f 102 186 196
+f 196 112 102
+f 96 181 186
+f 186 102 96
+f 198 228 234
+f 234 205 198
+f 182 222 228
+f 228 198 182
+f 168 212 222
+f 222 182 168
+f 146 200 212
+f 212 168 146
+f 118 177 200
+f 200 146 118
+f 92 160 177
+f 177 118 92
+f 74 134 160
+f 160 92 74
+f 63 112 134
+f 134 74 63
+f 53 102 112
+f 112 63 53
+f 50 96 102
+f 102 53 50
+f 167 198 205
+f 205 170 167
+f 154 182 198
+f 198 167 154
+f 126 168 182
+f 182 154 126
+f 100 146 168
+f 168 126 100
+f 83 118 146
+f 146 100 83
+f 61 92 118
+f 118 83 61
+f 46 74 92
+f 92 61 46
+f 32 63 74
+f 74 46 32
+f 25 53 63
+f 63 32 25
+f 21 50 53
+f 53 25 21
+f 143 167 170
+f 170 150 143
+f 124 154 167
+f 167 143 124
+f 104 126 154
+f 154 124 104
+f 84 100 126
+f 126 104 84
+f 65 83 100
+f 100 84 65
+f 44 61 83
+f 83 65 44
+f 30 46 61
+f 61 44 30
+f 17 32 46
+f 46 30 17
+f 9 25 32
+f 32 17 9
+f 5 21 25
+f 25 9 5
+f 132 143 150
+f 150 140 132
+f 116 124 143
+f 143 132 116
+f 94 104 124
+f 124 116 94
+f 76 84 104
+f 104 94 76
+f 55 65 84
+f 84 76 55
+f 40 44 65
+f 65 55 40
+f 22 30 44
+f 44 40 22
+f 11 17 30
+f 30 22 11
+f 2 9 17
+f 17 11 2
+f 1 5 9
+f 9 2 1
+f 480 596 599
+f 599 481 480
+f 478 594 596
+f 596 480 478
+f 476 590 594
+f 594 478 476
+f 474 578 590
+f 590 476 474
+f 472 576 578
+f 578 474 472
+f 470 568 576
+f 576 472 470
+f 466 558 568
+f 568 470 466
+f 464 552 558
+f 558 466 464
+f 462 546 552
+f 552 464 462
+f 456 544 546
+f 546 462 456
+f 363 480 481
+f 481 360 363
+f 365 478 480
+f 480 363 365
+f 367 476 478
+f 478 365 367
+f 368 474 476
+f 476 367 368
+f 370 472 474
+f 474 368 370
+f 372 470 472
+f 472 370 372
+f 380 466 470
+f 470 372 380
+f 385 464 466
+f 466 380 385
+f 390 462 464
+f 464 385 390
+f 391 456 462
+f 462 390 391
+f 320 363 360
+f 360 316 320
+f 322 365 363
+f 363 320 322
+f 324 367 365
+f 365 322 324
+f 326 368 367
+f 367 324 326
+f 327 370 368
+f 368 326 327
+f 330 372 370
+f 370 327 330
+f 332 380 372
+f 372 330 332
+f 334 385 380
+f 380 332 334
+f 336 390 385
+f 385 334 336
+f 337 391 390
+f 390 336 337
+f 256 320 316
+f 316 250 256
+f 260 322 320
+f 320 256 260
+f 266 324 322
+f 322 260 266
+f 276 326 324
+f 324 266 276
+f 282 327 326
+f 326 276 282
+f 287 330 327
+f 327 282 287
+f 289 332 330
+f 330 287 289
+f 291 334 332
+f 332 289 291
+f 299 336 334
+f 334 291 299
+f 303 337 336
+f 336 299 303
+f 187 256 250
+f 250 181 187
+f 197 260 256
+f 256 187 197
+f 209 266 260
+f 260 197 209
+f 219 276 266
+f 266 209 219
+f 231 282 276
+f 276 219 231
+f 239 287 282
+f 282 231 239
+f 252 289 287
+f 287 239 252
+f 262 291 289
+f 289 252 262
+f 270 299 291
+f 291 262 270
+f 272 303 299
+f 299 270 272
+f 103 187 181
+f 181 97 103
+f 113 197 187
+f 187 103 113
+f 135 209 197
+f 197 113 135
+f 161 219 209
+f 209 135 161
+f 178 231 219
+f 219 161 178
+f 201 239 231
+f 231 178 201
+f 213 252 239
+f 239 201 213
+f 223 262 252
+f 252 213 223
+f 229 270 262
+f 262 223 229
+f 235 272 270
+f 270 229 235
+f 54 103 97
+f 97 50 54
+f 64 113 103
+f 103 54 64
+f 75 135 113
+f 113 64 75
+f 93 161 135
+f 135 75 93
+f 119 178 161
+f 161 93 119
+f 147 201 178
+f 178 119 147
+f 169 213 201
+f 201 147 169
+f 183 223 213
+f 213 169 183
+f 199 229 223
+f 223 183 199
+f 205 235 229
+f 229 199 205
+f 24 54 50
+f 50 21 24
+f 33 64 54
+f 54 24 33
+f 47 75 64
+f 64 33 47
+f 62 93 75
+f 75 47 62
+f 82 119 93
+f 93 62 82
+f 101 147 119
+f 119 82 101
+f 127 169 147
+f 147 101 127
+f 155 183 169
+f 169 127 155
+f 166 199 183
+f 183 155 166
+f 171 205 199
+f 199 166 171
+f 10 24 21
+f 21 6 10
+f 18 33 24
+f 24 10 18
+f 31 47 33
+f 33 18 31
+f 45 62 47
+f 47 31 45
+f 66 82 62
+f 62 45 66
+f 85 101 82
+f 82 66 85
+f 105 127 101
+f 101 85 105
+f 125 155 127
+f 127 105 125
+f 144 166 155
+f 155 125 144
+f 151 171 166
+f 166 144 151
+f 3 10 6
+f 6 1 3
+f 12 18 10
+f 10 3 12
+f 23 31 18
+f 18 12 23
+f 41 45 31
+f 31 23 41
+f 56 66 45
+f 45 41 56
+f 77 85 66
+f 66 56 77
+f 95 105 85
+f 85 77 95
+f 117 125 105
+f 105 95 117
+f 133 144 125
+f 125 117 133
+f 140 151 144
+f 144 133 140
+f 138 132 140
+f 140 145 138
+f 122 116 132
+f 132 138 122
+f 98 94 116
+f 116 122 98
+f 80 76 94
+f 94 98 80
+f 60 55 76
+f 76 80 60
+f 42 40 55
+f 55 60 42
+f 28 22 40
+f 40 42 28
+f 13 11 22
+f 22 28 13
+f 7 2 11
+f 11 13 7
+f 4 1 2
+f 2 7 4
+f 152 138 145
+f 145 158 152
+f 136 122 138
+f 138 152 136
+f 108 98 122
+f 122 136 108
+f 89 80 98
+f 98 108 89
+f 70 60 80
+f 80 89 70
+f 52 42 60
+f 60 70 52
+f 38 28 42
+f 42 52 38
+f 26 13 28
+f 28 38 26
+f 19 7 13
+f 13 26 19
+f 15 4 7
+f 7 19 15
+f 173 152 158
+f 158 176 173
+f 162 136 152
+f 152 173 162
+f 142 108 136
+f 136 162 142
+f 111 89 108
+f 108 142 111
+f 91 70 89
+f 89 111 91
+f 73 52 70
+f 70 91 73
+f 58 38 52
+f 52 73 58
+f 48 26 38
+f 38 58 48
+f 37 19 26
+f 26 48 37
+f 35 15 19
+f 19 37 35
+f 194 173 176
+f 176 202 194
+f 184 162 173
+f 173 194 184
+f 174 142 162
+f 162 184 174
+f 156 111 142
+f 142 174 156
+f 128 91 111
+f 111 156 128
+f 106 73 91
+f 91 128 106
+f 86 58 73
+f 73 106 86
+f 78 48 58
+f 58 86 78
+f 68 37 48
+f 48 78 68
+f 67 35 37
+f 37 68 67
+f 221 194 202
+f 202 225 221
+f 216 184 194
+f 194 221 216
+f 206 174 184
+f 184 216 206
+f 192 156 174
+f 174 206 192
+f 180 128 156
+f 156 192 180
+f 164 106 128
+f 128 180 164
+f 148 86 106
+f 106 164 148
+f 130 78 86
+f 86 148 130
+f 121 68 78
+f 78 130 121
+f 115 67 68
+f 68 121 115
+f 244 221 225
+f 225 247 244
+f 240 216 221
+f 221 244 240
+f 236 206 216
+f 216 240 236
+f 233 192 206
+f 206 236 233
+f 227 180 192
+f 192 233 227
+f 215 164 180
+f 180 227 215
+f 210 148 164
+f 164 215 210
+f 203 130 148
+f 148 210 203
+f 191 121 130
+f 130 203 191
+f 188 115 121
+f 121 191 188
+f 284 244 247
+f 247 285 284
+f 279 240 244
+f 244 284 279
+f 277 236 240
+f 240 279 277
+f 273 233 236
+f 236 277 273
+f 267 227 233
+f 233 273 267
+f 263 215 227
+f 227 267 263
+f 258 210 215
+f 215 263 258
+f 253 203 210
+f 210 258 253
+f 245 191 203
+f 203 253 245
+f 242 188 191
+f 191 245 242
+f 315 284 285
+f 285 318 315
+f 312 279 284
+f 284 315 312
+f 311 277 279
+f 279 312 311
+f 309 273 277
+f 277 311 309
+f 307 267 273
+f 273 309 307
+f 305 263 267
+f 267 307 305
+f 301 258 263
+f 263 305 301
+f 297 253 258
+f 258 301 297
+f 295 245 253
+f 253 297 295
+f 293 242 245
+f 245 295 293
+f 341 315 318
+f 318 339 341
+f 343 312 315
+f 315 341 343
+f 345 311 312
+f 312 343 345
+f 347 309 311
+f 311 345 347
+f 349 307 309
+f 309 347 349
+f 351 305 307
+f 307 349 351
+f 353 301 305
+f 305 351 353
+f 355 297 301
+f 301 353 355
+f 357 295 297
+f 297 355 357
+f 359 293 295
+f 295 357 359
+f 378 341 339
+f 339 376 378
+f 384 343 341
+f 341 378 384
+f 394 345 343
+f 343 384 394
+f 403 347 345
+f 345 394 403
+f 406 349 347
+f 347 403 406
+f 415 351 349
+f 349 406 415
+f 419 353 351
+f 351 415 419
+f 423 355 353
+f 353 419 423
+f 425 357 355
+f 355 423 425
+f 427 359 357
+f 357 425 427
+f 8 3 1
+f 1 4 8
+f 14 12 3
+f 3 8 14
+f 29 23 12
+f 12 14 29
+f 43 41 23
+f 23 29 43
+f 59 56 41
+f 41 43 59
+f 81 77 56
+f 56 59 81
+f 99 95 77
+f 77 81 99
+f 123 117 95
+f 95 99 123
+f 139 133 117
+f 117 123 139
+f 145 140 133
+f 133 139 145
+f 20 8 4
+f 4 16 20
+f 27 14 8
+f 8 20 27
+f 39 29 14
+f 14 27 39
+f 51 43 29
+f 29 39 51
+f 71 59 43
+f 43 51 71
+f 88 81 59
+f 59 71 88
+f 109 99 81
+f 81 88 109
+f 137 123 99
+f 99 109 137
+f 153 139 123
+f 123 137 153
+f 159 145 139
+f 139 153 159
+f 36 20 16
+f 16 34 36
+f 49 27 20
+f 20 36 49
+f 57 39 27
+f 27 49 57
+f 72 51 39
+f 39 57 72
+f 90 71 51
+f 51 72 90
+f 110 88 71
+f 71 90 110
+f 141 109 88
+f 88 110 141
+f 163 137 109
+f 109 141 163
+f 172 153 137
+f 137 163 172
+f 176 159 153
+f 153 172 176
+f 69 36 34
+f 34 67 69
+f 79 49 36
+f 36 69 79
+f 87 57 49
+f 49 79 87
+f 107 72 57
+f 57 87 107
+f 129 90 72
+f 72 107 129
+f 157 110 90
+f 90 129 157
+f 175 141 110
+f 110 157 175
+f 185 163 141
+f 141 175 185
+f 195 172 163
+f 163 185 195
+f 202 176 172
+f 172 195 202
+f 120 69 67
+f 67 114 120
+f 131 79 69
+f 69 120 131
+f 149 87 79
+f 79 131 149
+f 165 107 87
+f 87 149 165
+f 179 129 107
+f 107 165 179
+f 193 157 129
+f 129 179 193
+f 207 175 157
+f 157 193 207
+f 217 185 175
+f 175 207 217
+f 220 195 185
+f 185 217 220
+f 224 202 195
+f 195 220 224
+f 190 120 114
+f 114 189 190
+f 204 131 120
+f 120 190 204
+f 211 149 131
+f 131 204 211
+f 214 165 149
+f 149 211 214
+f 226 179 165
+f 165 214 226
+f 232 193 179
+f 179 226 232
+f 237 207 193
+f 193 232 237
+f 241 217 207
+f 207 237 241
+f 243 220 217
+f 217 241 243
+f 248 224 220
+f 220 243 248
+f 246 190 189
+f 189 242 246
+f 254 204 190
+f 190 246 254
+f 257 211 204
+f 204 254 257
+f 264 214 211
+f 211 257 264
+f 268 226 214
+f 214 264 268
+f 274 232 226
+f 226 268 274
+f 278 237 232
+f 232 274 278
+f 280 241 237
+f 237 278 280
+f 283 243 241
+f 241 280 283
+f 285 248 243
+f 243 283 285
+f 294 246 242
+f 242 292 294
+f 296 254 246
+f 246 294 296
+f 300 257 254
+f 254 296 300
+f 304 264 257
+f 257 300 304
+f 306 268 264
+f 264 304 306
+f 308 274 268
+f 268 306 308
+f 310 278 274
+f 274 308 310
+f 313 280 278
+f 278 310 313
+f 314 283 280
+f 280 313 314
+f 317 285 283
+f 283 314 317
+f 356 294 292
+f 292 358 356
+f 354 296 294
+f 294 356 354
+f 352 300 296
+f 296 354 352
+f 350 304 300
+f 300 352 350
+f 348 306 304
+f 304 350 348
+f 346 308 306
+f 306 348 346
+f 344 310 308
+f 308 346 344
+f 342 313 310
+f 310 344 342
+f 340 314 313
+f 313 342 340
+f 338 317 314
+f 314 340 338
+f 424 356 358
+f 358 426 424
+f 422 354 356
+f 356 424 422
+f 418 352 354
+f 354 422 418
+f 414 350 352
+f 352 418 414
+f 407 348 350
+f 350 414 407
+f 402 346 348
+f 348 407 402
+f 393 344 346
+f 346 402 393
+f 383 342 344
+f 344 393 383
+f 377 340 342
+f 342 383 377
+f 375 338 340
+f 340 377 375
+f 3186 3113 3115
+f 3115 3182 3186
+f 3192 3110 3113
+f 3113 3186 3192
+f 3196 3109 3110
+f 3110 3192 3196
+f 3205 3106 3109
+f 3109 3196 3205
+f 3211 3104 3106
+f 3106 3205 3211
+f 3215 3102 3104
+f 3104 3211 3215
+f 3217 3101 3102
+f 3102 3215 3217
+f 3220 3098 3101
+f 3101 3217 3220
+f 3222 3097 3098
+f 3098 3220 3222
+f 3223 3095 3097
+f 3097 3222 3223
+f 3227 3186 3182
+f 3182 3225 3227
+f 3229 3192 3186
+f 3186 3227 3229
+f 3231 3196 3192
+f 3192 3229 3231
+f 3233 3205 3196
+f 3196 3231 3233
+f 3235 3211 3205
+f 3205 3233 3235
+f 3241 3215 3211
+f 3211 3235 3241
+f 3245 3217 3215
+f 3215 3241 3245
+f 3249 3220 3217
+f 3217 3245 3249
+f 3251 3222 3220
+f 3220 3249 3251
+f 3253 3223 3222
+f 3222 3251 3253
+f 3239 3227 3225
+f 3225 3237 3239
+f 3243 3229 3227
+f 3227 3239 3243
+f 3247 3231 3229
+f 3229 3243 3247
+f 3257 3233 3231
+f 3231 3247 3257
+f 3263 3235 3233
+f 3233 3257 3263
+f 3271 3241 3235
+f 3235 3263 3271
+f 3279 3245 3241
+f 3241 3271 3279
+f 3285 3249 3245
+f 3245 3279 3285
+f 3293 3251 3249
+f 3249 3285 3293
+f 3297 3253 3251
+f 3251 3293 3297
+f 3259 3239 3237
+f 3237 3255 3259
+f 3261 3243 3239
+f 3239 3259 3261
+f 3265 3247 3243
+f 3243 3261 3265
+f 3275 3257 3247
+f 3247 3265 3275
+f 3287 3263 3257
+f 3257 3275 3287
+f 3303 3271 3263
+f 3263 3287 3303
+f 3314 3279 3271
+f 3271 3303 3314
+f 3320 3285 3279
+f 3279 3314 3320
+f 3330 3293 3285
+f 3285 3320 3330
+f 3332 3297 3293
+f 3293 3330 3332
+f 3270 3259 3255
+f 3255 3268 3270
+f 3273 3261 3259
+f 3259 3270 3273
+f 3283 3265 3261
+f 3261 3273 3283
+f 3299 3275 3265
+f 3265 3283 3299
+f 3308 3287 3275
+f 3275 3299 3308
+f 3322 3303 3287
+f 3287 3308 3322
+f 3338 3314 3303
+f 3303 3322 3338
+f 3346 3320 3314
+f 3314 3338 3346
+f 3351 3330 3320
+f 3320 3346 3351
+f 3355 3332 3330
+f 3330 3351 3355
+f 3282 3270 3268
+f 3268 3278 3282
+f 3290 3273 3270
+f 3270 3282 3290
+f 3302 3283 3273
+f 3273 3290 3302
+f 3312 3299 3283
+f 3283 3302 3312
+f 3324 3308 3299
+f 3299 3312 3324
+f 3340 3322 3308
+f 3308 3324 3340
+f 3353 3338 3322
+f 3322 3340 3353
+f 3368 3346 3338
+f 3338 3353 3368
+f 3373 3351 3346
+f 3346 3368 3373
+f 3379 3355 3351
+f 3351 3373 3379
+f 3295 3282 3278
+f 3278 3292 3295
+f 3306 3290 3282
+f 3282 3295 3306
+f 3316 3302 3290
+f 3290 3306 3316
+f 3326 3312 3302
+f 3302 3316 3326
+f 3345 3324 3312
+f 3312 3326 3345
+f 3359 3340 3324
+f 3324 3345 3359
+f 3376 3353 3340
+f 3340 3359 3376
+f 3394 3368 3353
+f 3353 3376 3394
+f 3404 3373 3368
+f 3368 3394 3404
+f 3406 3379 3373
+f 3373 3404 3406
+f 3310 3295 3292
+f 3292 3307 3310
+f 3318 3306 3295
+f 3295 3310 3318
+f 3336 3316 3306
+f 3306 3318 3336
+f 3348 3326 3316
+f 3316 3336 3348
+f 3369 3345 3326
+f 3326 3348 3369
+f 3389 3359 3345
+f 3345 3369 3389
+f 3425 3376 3359
+f 3359 3389 3425
+f 3449 3394 3376
+f 3376 3425 3449
+f 3468 3404 3394
+f 3394 3449 3468
+f 3472 3406 3404
+f 3404 3468 3472
+f 3335 3310 3307
+f 3307 3329 3335
+f 3343 3318 3310
+f 3310 3335 3343
+f 3362 3336 3318
+f 3318 3343 3362
+f 3386 3348 3336
+f 3336 3362 3386
+f 3422 3369 3348
+f 3348 3386 3422
+f 3464 3389 3369
+f 3369 3422 3464
+f 3490 3425 3389
+f 3389 3464 3490
+f 3505 3449 3425
+f 3425 3490 3505
+f 3521 3468 3449
+f 3449 3505 3521
+f 3523 3472 3468
+f 3468 3521 3523
+f 3364 3335 3329
+f 3329 3357 3364
+f 3382 3343 3335
+f 3335 3364 3382
+f 3416 3362 3343
+f 3343 3382 3416
+f 3465 3386 3362
+f 3362 3416 3465
+f 3495 3422 3386
+f 3386 3465 3495
+f 3528 3464 3422
+f 3422 3495 3528
+f 3553 3490 3464
+f 3464 3528 3553
+f 3579 3505 3490
+f 3490 3553 3579
+f 3592 3521 3505
+f 3505 3579 3592
+f 3604 3523 3521
+f 3521 3592 3604
+f 3221 3096 3094
+f 3094 3224 3221
+f 3219 3099 3096
+f 3096 3221 3219
+f 3218 3100 3099
+f 3099 3219 3218
+f 3216 3103 3100
+f 3100 3218 3216
+f 3212 3105 3103
+f 3103 3216 3212
+f 3206 3107 3105
+f 3105 3212 3206
+f 3197 3108 3107
+f 3107 3206 3197
+f 3193 3111 3108
+f 3108 3197 3193
+f 3187 3112 3111
+f 3111 3193 3187
+f 3183 3114 3112
+f 3112 3187 3183
+f 3252 3221 3224
+f 3224 3254 3252
+f 3250 3219 3221
+f 3221 3252 3250
+f 3246 3218 3219
+f 3219 3250 3246
+f 3242 3216 3218
+f 3218 3246 3242
+f 3236 3212 3216
+f 3216 3242 3236
+f 3234 3206 3212
+f 3212 3236 3234
+f 3232 3197 3206
+f 3206 3234 3232
+f 3230 3193 3197
+f 3197 3232 3230
+f 3228 3187 3193
+f 3193 3230 3228
+f 3226 3183 3187
+f 3187 3228 3226
+f 3294 3252 3254
+f 3254 3298 3294
+f 3286 3250 3252
+f 3252 3294 3286
+f 3280 3246 3250
+f 3250 3286 3280
+f 3272 3242 3246
+f 3246 3280 3272
+f 3264 3236 3242
+f 3242 3272 3264
+f 3258 3234 3236
+f 3236 3264 3258
+f 3248 3232 3234
+f 3234 3258 3248
+f 3244 3230 3232
+f 3232 3248 3244
+f 3240 3228 3230
+f 3230 3244 3240
+f 3238 3226 3228
+f 3228 3240 3238
+f 3331 3294 3298
+f 3298 3333 3331
+f 3321 3286 3294
+f 3294 3331 3321
+f 3315 3280 3286
+f 3286 3321 3315
+f 3304 3272 3280
+f 3280 3315 3304
+f 3288 3264 3272
+f 3272 3304 3288
+f 3276 3258 3264
+f 3264 3288 3276
+f 3266 3248 3258
+f 3258 3276 3266
+f 3262 3244 3248
+f 3248 3266 3262
+f 3260 3240 3244
+f 3244 3262 3260
+f 3256 3238 3240
+f 3240 3260 3256
+f 3350 3331 3333
+f 3333 3354 3350
+f 3347 3321 3331
+f 3331 3350 3347
+f 3339 3315 3321
+f 3321 3347 3339
+f 3323 3304 3315
+f 3315 3339 3323
+f 3309 3288 3304
+f 3304 3323 3309
+f 3300 3276 3288
+f 3288 3309 3300
+f 3284 3266 3276
+f 3276 3300 3284
+f 3274 3262 3266
+f 3266 3284 3274
+f 3269 3260 3262
+f 3262 3274 3269
+f 3267 3256 3260
+f 3260 3269 3267
+f 3372 3350 3354
+f 3354 3378 3372
+f 3367 3347 3350
+f 3350 3372 3367
+f 3352 3339 3347
+f 3347 3367 3352
+f 3341 3323 3339
+f 3339 3352 3341
+f 3325 3309 3323
+f 3323 3341 3325
+f 3313 3300 3309
+f 3309 3325 3313
+f 3301 3284 3300
+f 3300 3313 3301
+f 3289 3274 3284
+f 3284 3301 3289
+f 3281 3269 3274
+f 3274 3289 3281
+f 3277 3267 3269
+f 3269 3281 3277
+f 3403 3372 3378
+f 3378 3405 3403
+f 3393 3367 3372
+f 3372 3403 3393
+f 3377 3352 3367
+f 3367 3393 3377
+f 3360 3341 3352
+f 3352 3377 3360
+f 3344 3325 3341
+f 3341 3360 3344
+f 3327 3313 3325
+f 3325 3344 3327
+f 3317 3301 3313
+f 3313 3327 3317
+f 3305 3289 3301
+f 3301 3317 3305
+f 3296 3281 3289
+f 3289 3305 3296
+f 3291 3277 3281
+f 3281 3296 3291
+f 3469 3403 3405
+f 3405 3472 3469
+f 3450 3393 3403
+f 3403 3469 3450
+f 3426 3377 3393
+f 3393 3450 3426
+f 3390 3360 3377
+f 3377 3426 3390
+f 3370 3344 3360
+f 3360 3390 3370
+f 3349 3327 3344
+f 3344 3370 3349
+f 3337 3317 3327
+f 3327 3349 3337
+f 3319 3305 3317
+f 3317 3337 3319
+f 3311 3296 3305
+f 3305 3319 3311
+f 3307 3291 3296
+f 3296 3311 3307
+f 3520 3469 3472
+f 3472 3522 3520
+f 3504 3450 3469
+f 3469 3520 3504
+f 3489 3426 3450
+f 3450 3504 3489
+f 3463 3390 3426
+f 3426 3489 3463
+f 3421 3370 3390
+f 3390 3463 3421
+f 3385 3349 3370
+f 3370 3421 3385
+f 3361 3337 3349
+f 3349 3385 3361
+f 3342 3319 3337
+f 3337 3361 3342
+f 3334 3311 3319
+f 3319 3342 3334
+f 3328 3307 3311
+f 3311 3334 3328
+f 3591 3520 3522
+f 3522 3603 3591
+f 3578 3504 3520
+f 3520 3591 3578
+f 3552 3489 3504
+f 3504 3578 3552
+f 3530 3463 3489
+f 3489 3552 3530
+f 3499 3421 3463
+f 3463 3530 3499
+f 3467 3385 3421
+f 3421 3499 3467
+f 3415 3361 3385
+f 3385 3467 3415
+f 3381 3342 3361
+f 3361 3415 3381
+f 3363 3334 3342
+f 3342 3381 3363
+f 3356 3328 3334
+f 3334 3363 3356
+f 3374 3365 3358
+f 3358 3371 3374
+f 3395 3383 3365
+f 3365 3374 3395
+f 3443 3417 3383
+f 3383 3395 3443
+f 3481 3466 3417
+f 3417 3443 3481
+f 3514 3496 3466
+f 3466 3481 3514
+f 3545 3529 3496
+f 3496 3514 3545
+f 3573 3551 3529
+f 3529 3545 3573
+f 3597 3577 3551
+f 3551 3573 3597
+f 3613 3590 3577
+f 3577 3597 3613
+f 3619 3603 3590
+f 3590 3613 3619
+f 3387 3374 3371
+f 3371 3380 3387
+f 3413 3395 3374
+f 3374 3387 3413
+f 3461 3443 3395
+f 3395 3413 3461
+f 3493 3481 3443
+f 3443 3461 3493
+f 3524 3514 3481
+f 3481 3493 3524
+f 3556 3545 3514
+f 3514 3524 3556
+f 3584 3573 3545
+f 3545 3556 3584
+f 3611 3597 3573
+f 3573 3584 3611
+f 3628 3613 3597
+f 3597 3611 3628
+f 3632 3619 3613
+f 3613 3628 3632
+f 3398 3387 3380
+f 3380 3391 3398
+f 3435 3413 3387
+f 3387 3398 3435
+f 3473 3461 3413
+f 3413 3435 3473
+f 3500 3493 3461
+f 3461 3473 3500
+f 3531 3524 3493
+f 3493 3500 3531
+f 3562 3556 3524
+f 3524 3531 3562
+f 3595 3584 3556
+f 3556 3562 3595
+f 3617 3611 3584
+f 3584 3595 3617
+f 3633 3628 3611
+f 3611 3617 3633
+f 3641 3632 3628
+f 3628 3633 3641
+f 3409 3398 3391
+f 3391 3400 3409
+f 3447 3435 3398
+f 3398 3409 3447
+f 3477 3473 3435
+f 3435 3447 3477
+f 3506 3500 3473
+f 3473 3477 3506
+f 3540 3531 3500
+f 3500 3506 3540
+f 3567 3562 3531
+f 3531 3540 3567
+f 3601 3595 3562
+f 3562 3567 3601
+f 3624 3617 3595
+f 3595 3601 3624
+f 3639 3633 3617
+f 3617 3624 3639
+f 3644 3641 3633
+f 3633 3639 3644
+f 3433 3409 3400
+f 3400 3411 3433
+f 3453 3447 3409
+f 3409 3433 3453
+f 3483 3477 3447
+f 3447 3453 3483
+f 3510 3506 3477
+f 3477 3483 3510
+f 3543 3540 3506
+f 3506 3510 3543
+f 3569 3567 3540
+f 3540 3543 3569
+f 3599 3601 3567
+f 3567 3569 3599
+f 3622 3624 3601
+f 3601 3599 3622
+f 3637 3639 3624
+f 3624 3622 3637
+f 3642 3644 3639
+f 3639 3637 3642
+f 3439 3433 3411
+f 3411 3424 3439
+f 3458 3453 3433
+f 3433 3439 3458
+f 3487 3483 3453
+f 3453 3458 3487
+f 3513 3510 3483
+f 3483 3487 3513
+f 3542 3543 3510
+f 3510 3513 3542
+f 3566 3569 3543
+f 3543 3542 3566
+f 3593 3599 3569
+f 3569 3566 3593
+f 3616 3622 3599
+f 3599 3593 3616
+f 3630 3637 3622
+f 3622 3616 3630
+f 3636 3642 3637
+f 3637 3630 3636
+f 3441 3439 3424
+f 3424 3429 3441
+f 3459 3458 3439
+f 3439 3441 3459
+f 3485 3487 3458
+f 3458 3459 3485
+f 3508 3513 3487
+f 3487 3485 3508
+f 3533 3542 3513
+f 3513 3508 3533
+f 3558 3566 3542
+f 3542 3533 3558
+f 3582 3593 3566
+f 3566 3558 3582
+f 3607 3616 3593
+f 3593 3582 3607
+f 3620 3630 3616
+f 3616 3607 3620
+f 3626 3636 3630
+f 3630 3620 3626
+f 3437 3441 3429
+f 3429 3427 3437
+f 3455 3459 3441
+f 3441 3437 3455
+f 3479 3485 3459
+f 3459 3455 3479
+f 3502 3508 3485
+f 3485 3479 3502
+f 3526 3533 3508
+f 3508 3502 3526
+f 3547 3558 3533
+f 3533 3526 3547
+f 3571 3582 3558
+f 3558 3547 3571
+f 3588 3607 3582
+f 3582 3571 3588
+f 3605 3620 3607
+f 3607 3588 3605
+f 3609 3626 3620
+f 3620 3605 3609
+f 3419 3437 3427
+f 3427 3408 3419
+f 3445 3455 3437
+f 3437 3419 3445
+f 3470 3479 3455
+f 3455 3445 3470
+f 3492 3502 3479
+f 3479 3470 3492
+f 3517 3526 3502
+f 3502 3492 3517
+f 3536 3547 3526
+f 3526 3517 3536
+f 3554 3571 3547
+f 3547 3536 3554
+f 3575 3588 3571
+f 3571 3554 3575
+f 3580 3605 3588
+f 3588 3575 3580
+f 3587 3609 3605
+f 3605 3580 3587
+f 3401 3419 3408
+f 3408 3397 3401
+f 3431 3445 3419
+f 3419 3401 3431
+f 3451 3470 3445
+f 3445 3431 3451
+f 3475 3492 3470
+f 3470 3451 3475
+f 3497 3517 3492
+f 3492 3475 3497
+f 3518 3536 3517
+f 3517 3497 3518
+f 3537 3554 3536
+f 3536 3518 3537
+f 3549 3575 3554
+f 3554 3537 3549
+f 3560 3580 3575
+f 3575 3549 3560
+f 3564 3587 3580
+f 3580 3560 3564
+f 3614 3591 3603
+f 3603 3619 3614
+f 3598 3578 3591
+f 3591 3614 3598
+f 3574 3552 3578
+f 3578 3598 3574
+f 3546 3530 3552
+f 3552 3574 3546
+f 3515 3499 3530
+f 3530 3546 3515
+f 3482 3467 3499
+f 3499 3515 3482
+f 3444 3418 3467
+f 3467 3482 3444
+f 3396 3384 3418
+f 3418 3444 3396
+f 3375 3366 3384
+f 3384 3396 3375
+f 3371 3358 3366
+f 3366 3375 3371
+f 3629 3614 3619
+f 3619 3632 3629
+f 3612 3598 3614
+f 3614 3629 3612
+f 3585 3574 3598
+f 3598 3612 3585
+f 3557 3546 3574
+f 3574 3585 3557
+f 3525 3515 3546
+f 3546 3557 3525
+f 3494 3482 3515
+f 3515 3525 3494
+f 3462 3444 3482
+f 3482 3494 3462
+f 3414 3396 3444
+f 3444 3462 3414
+f 3388 3375 3396
+f 3396 3414 3388
+f 3380 3371 3375
+f 3375 3388 3380
+f 3634 3629 3632
+f 3632 3641 3634
+f 3618 3612 3629
+f 3629 3634 3618
+f 3596 3585 3612
+f 3612 3618 3596
+f 3563 3557 3585
+f 3585 3596 3563
+f 3532 3525 3557
+f 3557 3563 3532
+f 3501 3494 3525
+f 3525 3532 3501
+f 3474 3462 3494
+f 3494 3501 3474
+f 3436 3414 3462
+f 3462 3474 3436
+f 3399 3388 3414
+f 3414 3436 3399
+f 3392 3380 3388
+f 3388 3399 3392
+f 3640 3634 3641
+f 3641 3644 3640
+f 3625 3618 3634
+f 3634 3640 3625
+f 3602 3596 3618
+f 3618 3625 3602
+f 3568 3563 3596
+f 3596 3602 3568
+f 3539 3532 3563
+f 3563 3568 3539
+f 3507 3501 3532
+f 3532 3539 3507
+f 3478 3474 3501
+f 3501 3507 3478
+f 3448 3436 3474
+f 3474 3478 3448
+f 3410 3399 3436
+f 3436 3448 3410
+f 3400 3392 3399
+f 3399 3410 3400
+f 3638 3640 3644
+f 3644 3643 3638
+f 3623 3625 3640
+f 3640 3638 3623
+f 3600 3602 3625
+f 3625 3623 3600
+f 3570 3568 3602
+f 3602 3600 3570
+f 3544 3539 3568
+f 3568 3570 3544
+f 3511 3507 3539
+f 3539 3544 3511
+f 3484 3478 3507
+f 3507 3511 3484
+f 3454 3448 3478
+f 3478 3484 3454
+f 3434 3410 3448
+f 3448 3454 3434
+f 3412 3400 3410
+f 3410 3434 3412
+f 3631 3638 3643
+f 3643 3635 3631
+f 3615 3623 3638
+f 3638 3631 3615
+f 3594 3600 3623
+f 3623 3615 3594
+f 3565 3570 3600
+f 3600 3594 3565
+f 3541 3544 3570
+f 3570 3565 3541
+f 3512 3511 3544
+f 3544 3541 3512
+f 3488 3484 3511
+f 3511 3512 3488
+f 3457 3454 3484
+f 3484 3488 3457
+f 3440 3434 3454
+f 3454 3457 3440
+f 3423 3412 3434
+f 3434 3440 3423
+f 3621 3631 3635
+f 3635 3627 3621
+f 3608 3615 3631
+f 3631 3621 3608
+f 3583 3594 3615
+f 3615 3608 3583
+f 3559 3565 3594
+f 3594 3583 3559
+f 3534 3541 3565
+f 3565 3559 3534
+f 3509 3512 3541
+f 3541 3534 3509
+f 3486 3488 3512
+f 3512 3509 3486
+f 3460 3457 3488
+f 3488 3486 3460
+f 3442 3440 3457
+f 3457 3460 3442
+f 3430 3423 3440
+f 3440 3442 3430
+f 3606 3621 3627
+f 3627 3610 3606
+f 3589 3608 3621
+f 3621 3606 3589
+f 3572 3583 3608
+f 3608 3589 3572
+f 3548 3559 3583
+f 3583 3572 3548
+f 3527 3534 3559
+f 3559 3548 3527
+f 3503 3509 3534
+f 3534 3527 3503
+f 3480 3486 3509
+f 3509 3503 3480
+f 3456 3460 3486
+f 3486 3480 3456
+f 3438 3442 3460
+f 3460 3456 3438
+f 3428 3430 3442
+f 3442 3438 3428
+f 3581 3606 3610
+f 3610 3586 3581
+f 3576 3589 3606
+f 3606 3581 3576
+f 3555 3572 3589
+f 3589 3576 3555
+f 3535 3548 3572
+f 3572 3555 3535
+f 3516 3527 3548
+f 3548 3535 3516
+f 3491 3503 3527
+f 3527 3516 3491
+f 3471 3480 3503
+f 3503 3491 3471
+f 3446 3456 3480
+f 3480 3471 3446
+f 3420 3438 3456
+f 3456 3446 3420
+f 3407 3428 3438
+f 3438 3420 3407
+f 3561 3581 3586
+f 3586 3564 3561
+f 3550 3576 3581
+f 3581 3561 3550
+f 3538 3555 3576
+f 3576 3550 3538
+f 3519 3535 3555
+f 3555 3538 3519
+f 3498 3516 3535
+f 3535 3519 3498
+f 3476 3491 3516
+f 3516 3498 3476
+f 3452 3471 3491
+f 3491 3476 3452
+f 3432 3446 3471
+f 3471 3452 3432
+f 3402 3420 3446
+f 3446 3432 3402
+f 3397 3407 3420
+f 3420 3402 3397
+f 1888 2110 2104
+f 1888 2104 2096
+f 1888 2096 2076
+f 1888 2076 2048
+f 1888 2048 2030
+f 1888 2030 2006
+f 1888 2006 1982
+f 1888 1982 1960
+f 1888 1960 1936
+f 1888 1936 1732
+f 2257 2104 2110
+f 2110 2261 2257
+f 2249 2096 2104
+f 2104 2257 2249
+f 2226 2076 2096
+f 2096 2249 2226
+f 2200 2048 2076
+f 2076 2226 2200
+f 2142 2030 2048
+f 2048 2200 2142
+f 2094 2006 2030
+f 2030 2142 2094
+f 2036 1982 2006
+f 2006 2094 2036
+f 1988 1960 1982
+f 1982 2036 1988
+f 1948 1936 1960
+f 1960 1988 1948
+f 1728 1732 1936
+f 1936 1948 1728
+f 2310 2257 2261
+f 2261 2315 2310
+f 2300 2249 2257
+f 2257 2310 2300
+f 2279 2226 2249
+f 2249 2300 2279
+f 2243 2200 2226
+f 2226 2279 2243
+f 2204 2142 2200
+f 2200 2243 2204
+f 2132 2094 2142
+f 2142 2204 2132
+f 2067 2036 2094
+f 2094 2132 2067
+f 2000 1988 2036
+f 2036 2067 2000
+f 1956 1948 1988
+f 1988 2000 1956
+f 1734 1728 1948
+f 1948 1956 1734
+f 2312 2310 2315
+f 2315 2316 2312
+f 2302 2300 2310
+f 2310 2312 2302
+f 2281 2279 2300
+f 2300 2302 2281
+f 2245 2243 2279
+f 2279 2281 2245
+f 2206 2204 2243
+f 2243 2245 2206
+f 2134 2132 2204
+f 2204 2206 2134
+f 2068 2067 2132
+f 2132 2134 2068
+f 2002 2000 2067
+f 2067 2068 2002
+f 1958 1956 2000
+f 2000 2002 1958
+f 1878 1734 1956
+f 1956 1958 1878
+f 2285 2312 2316
+f 2316 2289 2285
+f 2259 2302 2312
+f 2312 2285 2259
+f 2241 2281 2302
+f 2302 2259 2241
+f 2214 2245 2281
+f 2281 2241 2214
+f 2168 2206 2245
+f 2245 2214 2168
+f 2106 2134 2206
+f 2206 2168 2106
+f 2042 2068 2134
+f 2134 2106 2042
+f 1994 2002 2068
+f 2068 2042 1994
+f 1952 1958 2002
+f 2002 1994 1952
+f 1731 1878 1958
+f 1958 1952 1731
+f 2220 2285 2289
+f 2289 2225 2220
+f 2210 2259 2285
+f 2285 2220 2210
+f 2186 2241 2259
+f 2259 2210 2186
+f 2146 2214 2241
+f 2241 2186 2146
+f 2108 2168 2214
+f 2214 2146 2108
+f 2060 2106 2168
+f 2168 2108 2060
+f 2018 2042 2106
+f 2106 2060 2018
+f 1978 1994 2042
+f 2042 2018 1978
+f 1944 1952 1994
+f 1994 1978 1944
+f 1727 1731 1952
+f 1952 1944 1727
+f 2141 2220 2225
+f 2225 2145 2141
+f 2127 2210 2220
+f 2220 2141 2127
+f 2112 2186 2210
+f 2210 2127 2112
+f 2084 2146 2186
+f 2186 2112 2084
+f 2044 2108 2146
+f 2146 2084 2044
+f 2024 2060 2108
+f 2108 2044 2024
+f 1992 2018 2060
+f 2060 2024 1992
+f 1970 1978 2018
+f 2018 1992 1970
+f 1942 1944 1978
+f 1978 1970 1942
+f 1721 1727 1944
+f 1944 1942 1721
+f 2079 2141 2145
+f 2145 2087 2079
+f 2075 2127 2141
+f 2141 2079 2075
+f 2055 2112 2127
+f 2127 2075 2055
+f 2039 2084 2112
+f 2112 2055 2039
+f 2021 2044 2084
+f 2084 2039 2021
+f 1996 2024 2044
+f 2044 2021 1996
+f 1974 1992 2024
+f 2024 1996 1974
+f 1954 1970 1992
+f 1992 1974 1954
+f 1934 1942 1970
+f 1970 1954 1934
+f 1720 1721 1942
+f 1942 1934 1720
+f 2063 2079 2087
+f 2087 2071 2063
+f 2051 2075 2079
+f 2079 2063 2051
+f 2041 2055 2075
+f 2075 2051 2041
+f 2029 2039 2055
+f 2055 2041 2029
+f 2013 2021 2039
+f 2039 2029 2013
+f 1991 1996 2021
+f 2021 2013 1991
+f 1972 1974 1996
+f 1996 1991 1972
+f 1950 1954 1974
+f 1974 1972 1950
+f 1932 1934 1954
+f 1954 1950 1932
+f 1701 1720 1934
+f 1934 1932 1701
+f 2115 2063 2071
+f 2071 2123 2115
+f 2101 2051 2063
+f 2063 2115 2101
+f 2081 2041 2051
+f 2051 2101 2081
+f 2057 2029 2041
+f 2041 2081 2057
+f 2033 2013 2029
+f 2029 2057 2033
+f 2009 1991 2013
+f 2013 2033 2009
+f 1984 1972 1991
+f 1991 2009 1984
+f 1964 1950 1972
+f 1972 1984 1964
+f 1938 1932 1950
+f 1950 1964 1938
+f 1698 1701 1932
+f 1932 1938 1698
+f 1888 1886 1686
+f 1888 1686 1662
+f 1888 1662 1640
+f 1888 1640 1616
+f 1888 1616 1592
+f 1888 1592 1574
+f 1888 1574 1546
+f 1888 1546 1526
+f 1888 1526 1518
+f 1888 1518 1512
+f 1674 1686 1886
+f 1886 1884 1674
+f 1634 1662 1686
+f 1686 1674 1634
+f 1586 1640 1662
+f 1662 1634 1586
+f 1528 1616 1640
+f 1640 1586 1528
+f 1480 1592 1616
+f 1616 1528 1480
+f 1422 1574 1592
+f 1592 1480 1422
+f 1396 1546 1574
+f 1574 1422 1396
+f 1373 1526 1546
+f 1546 1396 1373
+f 1365 1518 1526
+f 1526 1373 1365
+f 1361 1512 1518
+f 1518 1365 1361
+f 1666 1674 1884
+f 1884 1882 1666
+f 1622 1634 1674
+f 1674 1666 1622
+f 1557 1586 1634
+f 1634 1622 1557
+f 1490 1528 1586
+f 1586 1557 1490
+f 1418 1480 1528
+f 1528 1490 1418
+f 1379 1422 1480
+f 1480 1418 1379
+f 1343 1396 1422
+f 1422 1379 1343
+f 1322 1373 1396
+f 1396 1343 1322
+f 1312 1365 1373
+f 1373 1322 1312
+f 1309 1361 1365
+f 1365 1312 1309
+f 1664 1666 1882
+f 1882 1879 1664
+f 1620 1622 1666
+f 1666 1664 1620
+f 1554 1557 1622
+f 1622 1620 1554
+f 1488 1490 1557
+f 1557 1554 1488
+f 1416 1418 1490
+f 1490 1488 1416
+f 1377 1379 1418
+f 1418 1416 1377
+f 1341 1343 1379
+f 1379 1377 1341
+f 1320 1322 1343
+f 1343 1341 1320
+f 1310 1312 1322
+f 1322 1320 1310
+f 1306 1309 1312
+f 1312 1310 1306
+f 1670 1664 1879
+f 1879 1876 1670
+f 1628 1620 1664
+f 1664 1670 1628
+f 1580 1554 1620
+f 1620 1628 1580
+f 1516 1488 1554
+f 1554 1580 1516
+f 1454 1416 1488
+f 1488 1516 1454
+f 1408 1377 1416
+f 1416 1454 1408
+f 1381 1341 1377
+f 1377 1408 1381
+f 1363 1320 1341
+f 1341 1381 1363
+f 1337 1310 1320
+f 1320 1363 1337
+f 1333 1306 1310
+f 1310 1337 1333
+f 1678 1670 1876
+f 1876 1874 1678
+f 1644 1628 1670
+f 1670 1678 1644
+f 1604 1580 1628
+f 1628 1644 1604
+f 1562 1516 1580
+f 1580 1604 1562
+f 1514 1454 1516
+f 1516 1562 1514
+f 1476 1408 1454
+f 1454 1514 1476
+f 1436 1381 1408
+f 1408 1476 1436
+f 1412 1363 1381
+f 1381 1436 1412
+f 1402 1337 1363
+f 1363 1412 1402
+f 1399 1333 1337
+f 1337 1402 1399
+f 1680 1678 1874
+f 1874 1872 1680
+f 1652 1644 1678
+f 1678 1680 1652
+f 1630 1604 1644
+f 1644 1652 1630
+f 1598 1562 1604
+f 1604 1630 1598
+f 1578 1514 1562
+f 1562 1598 1578
+f 1538 1476 1514
+f 1514 1578 1538
+f 1510 1436 1476
+f 1476 1538 1510
+f 1497 1412 1436
+f 1436 1510 1497
+f 1483 1402 1412
+f 1412 1497 1483
+f 1479 1399 1402
+f 1402 1483 1479
+f 1688 1680 1872
+f 1872 1870 1688
+f 1668 1652 1680
+f 1680 1688 1668
+f 1648 1630 1652
+f 1652 1668 1648
+f 1626 1598 1630
+f 1630 1648 1626
+f 1603 1578 1598
+f 1598 1626 1603
+f 1585 1538 1578
+f 1578 1603 1585
+f 1569 1510 1538
+f 1538 1585 1569
+f 1549 1497 1510
+f 1510 1569 1549
+f 1545 1483 1497
+f 1497 1549 1545
+f 1537 1479 1483
+f 1483 1545 1537
+f 1690 1688 1870
+f 1870 1868 1690
+f 1672 1668 1688
+f 1688 1690 1672
+f 1650 1648 1668
+f 1668 1672 1650
+f 1633 1626 1648
+f 1648 1650 1633
+f 1611 1603 1626
+f 1626 1633 1611
+f 1595 1585 1603
+f 1603 1611 1595
+f 1583 1569 1585
+f 1585 1595 1583
+f 1573 1549 1569
+f 1569 1583 1573
+f 1561 1545 1549
+f 1549 1573 1561
+f 1553 1537 1545
+f 1545 1561 1553
+f 1684 1690 1868
+f 1868 1865 1684
+f 1658 1672 1690
+f 1690 1684 1658
+f 1638 1650 1672
+f 1672 1658 1638
+f 1615 1633 1650
+f 1650 1638 1615
+f 1591 1611 1633
+f 1633 1615 1591
+f 1567 1595 1611
+f 1611 1591 1567
+f 1543 1583 1595
+f 1595 1567 1543
+f 1523 1573 1583
+f 1583 1543 1523
+f 1509 1561 1573
+f 1573 1523 1509
+f 1501 1553 1561
+f 1561 1509 1501
+f 1888 1513 1519
+f 1888 1519 1527
+f 1888 1527 1547
+f 1888 1547 1575
+f 1888 1575 1593
+f 1888 1593 1617
+f 1888 1617 1641
+f 1888 1641 1663
+f 1888 1663 1687
+f 1888 1687 1894
+f 1366 1519 1513
+f 1513 1362 1366
+f 1374 1527 1519
+f 1519 1366 1374
+f 1397 1547 1527
+f 1527 1374 1397
+f 1423 1575 1547
+f 1547 1397 1423
+f 1481 1593 1575
+f 1575 1423 1481
+f 1529 1617 1593
+f 1593 1481 1529
+f 1587 1641 1617
+f 1617 1529 1587
+f 1635 1663 1641
+f 1641 1587 1635
+f 1675 1687 1663
+f 1663 1635 1675
+f 1895 1894 1687
+f 1687 1675 1895
+f 1313 1366 1362
+f 1362 1308 1313
+f 1323 1374 1366
+f 1366 1313 1323
+f 1344 1397 1374
+f 1374 1323 1344
+f 1380 1423 1397
+f 1397 1344 1380
+f 1419 1481 1423
+f 1423 1380 1419
+f 1491 1529 1481
+f 1481 1419 1491
+f 1556 1587 1529
+f 1529 1491 1556
+f 1623 1635 1587
+f 1587 1556 1623
+f 1667 1675 1635
+f 1635 1623 1667
+f 1890 1895 1675
+f 1675 1667 1890
+f 1311 1313 1308
+f 1308 1307 1311
+f 1321 1323 1313
+f 1313 1311 1321
+f 1342 1344 1323
+f 1323 1321 1342
+f 1378 1380 1344
+f 1344 1342 1378
+f 1417 1419 1380
+f 1380 1378 1417
+f 1489 1491 1419
+f 1419 1417 1489
+f 1555 1556 1491
+f 1491 1489 1555
+f 1621 1623 1556
+f 1556 1555 1621
+f 1665 1667 1623
+f 1623 1621 1665
+f 1881 1890 1667
+f 1667 1665 1881
+f 1338 1311 1307
+f 1307 1334 1338
+f 1364 1321 1311
+f 1311 1338 1364
+f 1382 1342 1321
+f 1321 1364 1382
+f 1409 1378 1342
+f 1342 1382 1409
+f 1455 1417 1378
+f 1378 1409 1455
+f 1517 1489 1417
+f 1417 1455 1517
+f 1581 1555 1489
+f 1489 1517 1581
+f 1629 1621 1555
+f 1555 1581 1629
+f 1671 1665 1621
+f 1621 1629 1671
+f 1893 1881 1665
+f 1665 1671 1893
+f 1403 1338 1334
+f 1334 1398 1403
+f 1413 1364 1338
+f 1338 1403 1413
+f 1437 1382 1364
+f 1364 1413 1437
+f 1477 1409 1382
+f 1382 1437 1477
+f 1515 1455 1409
+f 1409 1477 1515
+f 1563 1517 1455
+f 1455 1515 1563
+f 1605 1581 1517
+f 1517 1563 1605
+f 1645 1629 1581
+f 1581 1605 1645
+f 1679 1671 1629
+f 1629 1645 1679
+f 1900 1893 1671
+f 1671 1679 1900
+f 1482 1403 1398
+f 1398 1478 1482
+f 1496 1413 1403
+f 1403 1482 1496
+f 1511 1437 1413
+f 1413 1496 1511
+f 1539 1477 1437
+f 1437 1511 1539
+f 1579 1515 1477
+f 1477 1539 1579
+f 1599 1563 1515
+f 1515 1579 1599
+f 1631 1605 1563
+f 1563 1599 1631
+f 1653 1645 1605
+f 1605 1631 1653
+f 1681 1679 1645
+f 1645 1653 1681
+f 1902 1900 1679
+f 1679 1681 1902
+f 1544 1482 1478
+f 1478 1536 1544
+f 1548 1496 1482
+f 1482 1544 1548
+f 1568 1511 1496
+f 1496 1548 1568
+f 1584 1539 1511
+f 1511 1568 1584
+f 1602 1579 1539
+f 1539 1584 1602
+f 1627 1599 1579
+f 1579 1602 1627
+f 1649 1631 1599
+f 1599 1627 1649
+f 1669 1653 1631
+f 1631 1649 1669
+f 1689 1681 1653
+f 1653 1669 1689
+f 1921 1902 1681
+f 1681 1689 1921
+f 1560 1544 1536
+f 1536 1552 1560
+f 1572 1548 1544
+f 1544 1560 1572
+f 1582 1568 1548
+f 1548 1572 1582
+f 1594 1584 1568
+f 1568 1582 1594
+f 1610 1602 1584
+f 1584 1594 1610
+f 1632 1627 1602
+f 1602 1610 1632
+f 1651 1649 1627
+f 1627 1632 1651
+f 1673 1669 1649
+f 1649 1651 1673
+f 1691 1689 1669
+f 1669 1673 1691
+f 1922 1921 1689
+f 1689 1691 1922
+f 1508 1560 1552
+f 1552 1500 1508
+f 1522 1572 1560
+f 1560 1508 1522
+f 1542 1582 1572
+f 1572 1522 1542
+f 1566 1594 1582
+f 1582 1542 1566
+f 1590 1610 1594
+f 1594 1566 1590
+f 1614 1632 1610
+f 1610 1590 1614
+f 1639 1651 1632
+f 1632 1614 1639
+f 1659 1673 1651
+f 1651 1639 1659
+f 1685 1691 1673
+f 1673 1659 1685
+f 1928 1922 1691
+f 1691 1685 1928
+f 1888 1887 1937
+f 1888 1937 1961
+f 1888 1961 1983
+f 1888 1983 2007
+f 1888 2007 2031
+f 1888 2031 2049
+f 1888 2049 2077
+f 1888 2077 2097
+f 1888 2097 2105
+f 1888 2105 2111
+f 1949 1937 1887
+f 1887 1885 1949
+f 1989 1961 1937
+f 1937 1949 1989
+f 2037 1983 1961
+f 1961 1989 2037
+f 2095 2007 1983
+f 1983 2037 2095
+f 2143 2031 2007
+f 2007 2095 2143
+f 2201 2049 2031
+f 2031 2143 2201
+f 2227 2077 2049
+f 2049 2201 2227
+f 2250 2097 2077
+f 2077 2227 2250
+f 2258 2105 2097
+f 2097 2250 2258
+f 2262 2111 2105
+f 2105 2258 2262
+f 1957 1949 1885
+f 1885 1883 1957
+f 2001 1989 1949
+f 1949 1957 2001
+f 2066 2037 1989
+f 1989 2001 2066
+f 2133 2095 2037
+f 2037 2066 2133
+f 2205 2143 2095
+f 2095 2133 2205
+f 2244 2201 2143
+f 2143 2205 2244
+f 2280 2227 2201
+f 2201 2244 2280
+f 2301 2250 2227
+f 2227 2280 2301
+f 2311 2258 2250
+f 2250 2301 2311
+f 2314 2262 2258
+f 2258 2311 2314
+f 1959 1957 1883
+f 1883 1880 1959
+f 2003 2001 1957
+f 1957 1959 2003
+f 2069 2066 2001
+f 2001 2003 2069
+f 2135 2133 2066
+f 2066 2069 2135
+f 2207 2205 2133
+f 2133 2135 2207
+f 2246 2244 2205
+f 2205 2207 2246
+f 2282 2280 2244
+f 2244 2246 2282
+f 2303 2301 2280
+f 2280 2282 2303
+f 2313 2311 2301
+f 2301 2303 2313
+f 2317 2314 2311
+f 2311 2313 2317
+f 1953 1959 1880
+f 1880 1877 1953
+f 1995 2003 1959
+f 1959 1953 1995
+f 2043 2069 2003
+f 2003 1995 2043
+f 2107 2135 2069
+f 2069 2043 2107
+f 2169 2207 2135
+f 2135 2107 2169
+f 2215 2246 2207
+f 2207 2169 2215
+f 2242 2282 2246
+f 2246 2215 2242
+f 2260 2303 2282
+f 2282 2242 2260
+f 2286 2313 2303
+f 2303 2260 2286
+f 2290 2317 2313
+f 2313 2286 2290
+f 1945 1953 1877
+f 1877 1875 1945
+f 1979 1995 1953
+f 1953 1945 1979
+f 2019 2043 1995
+f 1995 1979 2019
+f 2061 2107 2043
+f 2043 2019 2061
+f 2109 2169 2107
+f 2107 2061 2109
+f 2147 2215 2169
+f 2169 2109 2147
+f 2187 2242 2215
+f 2215 2147 2187
+f 2211 2260 2242
+f 2242 2187 2211
+f 2221 2286 2260
+f 2260 2211 2221
+f 2224 2290 2286
+f 2286 2221 2224
+f 1943 1945 1875
+f 1875 1873 1943
+f 1971 1979 1945
+f 1945 1943 1971
+f 1993 2019 1979
+f 1979 1971 1993
+f 2025 2061 2019
+f 2019 1993 2025
+f 2045 2109 2061
+f 2061 2025 2045
+f 2085 2147 2109
+f 2109 2045 2085
+f 2113 2187 2147
+f 2147 2085 2113
+f 2126 2211 2187
+f 2187 2113 2126
+f 2140 2221 2211
+f 2211 2126 2140
+f 2144 2224 2221
+f 2221 2140 2144
+f 1935 1943 1873
+f 1873 1871 1935
+f 1955 1971 1943
+f 1943 1935 1955
+f 1975 1993 1971
+f 1971 1955 1975
+f 1997 2025 1993
+f 1993 1975 1997
+f 2020 2045 2025
+f 2025 1997 2020
+f 2038 2085 2045
+f 2045 2020 2038
+f 2054 2113 2085
+f 2085 2038 2054
+f 2074 2126 2113
+f 2113 2054 2074
+f 2078 2140 2126
+f 2126 2074 2078
+f 2086 2144 2140
+f 2140 2078 2086
+f 1933 1935 1871
+f 1871 1869 1933
+f 1951 1955 1935
+f 1935 1933 1951
+f 1973 1975 1955
+f 1955 1951 1973
+f 1990 1997 1975
+f 1975 1973 1990
+f 2012 2020 1997
+f 1997 1990 2012
+f 2028 2038 2020
+f 2020 2012 2028
+f 2040 2054 2038
+f 2038 2028 2040
+f 2050 2074 2054
+f 2054 2040 2050
+f 2062 2078 2074
+f 2074 2050 2062
+f 2070 2086 2078
+f 2078 2062 2070
+f 1939 1933 1869
+f 1869 1866 1939
+f 1965 1951 1933
+f 1933 1939 1965
+f 1985 1973 1951
+f 1951 1965 1985
+f 2008 1990 1973
+f 1973 1985 2008
+f 2032 2012 1990
+f 1990 2008 2032
+f 2056 2028 2012
+f 2012 2032 2056
+f 2080 2040 2028
+f 2028 2056 2080
+f 2100 2050 2040
+f 2040 2080 2100
+f 2114 2062 2050
+f 2050 2100 2114
+f 2122 2070 2062
+f 2062 2114 2122
+f 2232 2116 2124
+f 2124 2236 2232
+f 2218 2102 2116
+f 2116 2232 2218
+f 2199 2082 2102
+f 2102 2218 2199
+f 2150 2058 2082
+f 2082 2199 2150
+f 2120 2034 2058
+f 2058 2150 2120
+f 2064 2010 2034
+f 2034 2120 2064
+f 2023 1986 2010
+f 2010 2064 2023
+f 1980 1966 1986
+f 1986 2023 1980
+f 1946 1940 1966
+f 1966 1980 1946
+f 1862 1730 1940
+f 1940 1946 1862
+f 2332 2232 2236
+f 2236 2336 2332
+f 2322 2218 2232
+f 2232 2332 2322
+f 2306 2199 2218
+f 2218 2322 2306
+f 2275 2150 2199
+f 2199 2306 2275
+f 2234 2120 2150
+f 2150 2275 2234
+f 2170 2064 2120
+f 2120 2234 2170
+f 2093 2023 2064
+f 2064 2170 2093
+f 2016 1980 2023
+f 2023 2093 2016
+f 1968 1946 1980
+f 1980 2016 1968
+f 1858 1862 1946
+f 1946 1968 1858
+f 2409 2332 2336
+f 2336 2413 2409
+f 2400 2322 2332
+f 2332 2409 2400
+f 2376 2306 2322
+f 2322 2400 2376
+f 2349 2275 2306
+f 2306 2376 2349
+f 2324 2234 2275
+f 2275 2349 2324
+f 2271 2170 2234
+f 2234 2324 2271
+f 2185 2093 2170
+f 2170 2271 2185
+f 2072 2016 2093
+f 2093 2185 2072
+f 1976 1968 2016
+f 2016 2072 1976
+f 1729 1858 1968
+f 1968 1976 1729
+f 2488 2409 2413
+f 2413 2498 2488
+f 2470 2400 2409
+f 2409 2488 2470
+f 2444 2376 2400
+f 2400 2470 2444
+f 2418 2349 2376
+f 2376 2444 2418
+f 2384 2324 2349
+f 2349 2418 2384
+f 2338 2271 2324
+f 2324 2384 2338
+f 2269 2185 2271
+f 2271 2338 2269
+f 2138 2072 2185
+f 2185 2269 2138
+f 1998 1976 2072
+f 2072 2138 1998
+f 1722 1729 1976
+f 1976 1998 1722
+f 2559 2488 2498
+f 2498 2569 2559
+f 2549 2470 2488
+f 2488 2559 2549
+f 2531 2444 2470
+f 2470 2549 2531
+f 2492 2418 2444
+f 2444 2531 2492
+f 2436 2384 2418
+f 2418 2492 2436
+f 2394 2338 2384
+f 2384 2436 2394
+f 2326 2269 2338
+f 2338 2394 2326
+f 2212 2138 2269
+f 2269 2326 2212
+f 2026 1998 2138
+f 2138 2212 2026
+f 1850 1722 1998
+f 1998 2026 1850
+f 2653 2559 2569
+f 2569 2655 2653
+f 2631 2549 2559
+f 2559 2653 2631
+f 2593 2531 2549
+f 2549 2631 2593
+f 2551 2492 2531
+f 2531 2593 2551
+f 2510 2436 2492
+f 2492 2551 2510
+f 2432 2394 2436
+f 2436 2510 2432
+f 2366 2326 2394
+f 2394 2432 2366
+f 2263 2212 2326
+f 2326 2366 2263
+f 2052 2026 2212
+f 2212 2263 2052
+f 1726 1850 2026
+f 2026 2052 1726
+f 2720 2653 2655
+f 2655 2726 2720
+f 2697 2631 2653
+f 2653 2720 2697
+f 2662 2593 2631
+f 2631 2697 2662
+f 2607 2551 2593
+f 2593 2662 2607
+f 2547 2510 2551
+f 2551 2607 2547
+f 2484 2432 2510
+f 2510 2547 2484
+f 2405 2366 2432
+f 2432 2484 2405
+f 2308 2263 2366
+f 2366 2405 2308
+f 2090 2052 2263
+f 2263 2308 2090
+f 1719 1726 2052
+f 2052 2090 1719
+f 2787 2720 2726
+f 2726 2795 2787
+f 2759 2697 2720
+f 2720 2787 2759
+f 2713 2662 2697
+f 2697 2759 2713
+f 2657 2607 2662
+f 2662 2713 2657
+f 2589 2547 2607
+f 2607 2657 2589
+f 2525 2484 2547
+f 2547 2589 2525
+f 2422 2405 2484
+f 2484 2525 2422
+f 2330 2308 2405
+f 2405 2422 2330
+f 2118 2090 2308
+f 2308 2330 2118
+f 1700 1719 2090
+f 2090 2118 1700
+f 2834 2787 2795
+f 2795 2844 2834
+f 2798 2759 2787
+f 2787 2834 2798
+f 2750 2713 2759
+f 2759 2798 2750
+f 2690 2657 2713
+f 2713 2750 2690
+f 2624 2589 2657
+f 2657 2690 2624
+f 2536 2525 2589
+f 2589 2624 2536
+f 2441 2422 2525
+f 2525 2536 2441
+f 2340 2330 2422
+f 2422 2441 2340
+f 2128 2118 2330
+f 2330 2340 2128
+f 1825 1700 2118
+f 2118 2128 1825
+f 2847 2834 2844
+f 2844 2857 2847
+f 2821 2798 2834
+f 2834 2847 2821
+f 2765 2750 2798
+f 2798 2821 2765
+f 2703 2690 2750
+f 2750 2765 2703
+f 2637 2624 2690
+f 2690 2703 2637
+f 2543 2536 2624
+f 2624 2637 2543
+f 2446 2441 2536
+f 2536 2543 2446
+f 2344 2340 2441
+f 2441 2446 2344
+f 2136 2128 2340
+f 2340 2344 2136
+f 1713 1825 2128
+f 2128 2136 1713
+f 1676 1682 1864
+f 1864 1862 1676
+f 1642 1656 1682
+f 1682 1676 1642
+f 1601 1636 1656
+f 1656 1642 1601
+f 1558 1612 1636
+f 1636 1601 1558
+f 1502 1588 1612
+f 1612 1558 1502
+f 1472 1564 1588
+f 1588 1502 1472
+f 1425 1540 1564
+f 1564 1472 1425
+f 1404 1520 1540
+f 1540 1425 1404
+f 1390 1506 1520
+f 1520 1404 1390
+f 1387 1498 1506
+f 1506 1390 1387
+f 1654 1676 1862
+f 1862 1859 1654
+f 1606 1642 1676
+f 1676 1654 1606
+f 1531 1601 1642
+f 1642 1606 1531
+f 1452 1558 1601
+f 1601 1531 1452
+f 1388 1502 1558
+f 1558 1452 1388
+f 1347 1472 1502
+f 1502 1388 1347
+f 1316 1425 1472
+f 1472 1347 1316
+f 1300 1404 1425
+f 1425 1316 1300
+f 1290 1390 1404
+f 1404 1300 1290
+f 1286 1387 1390
+f 1390 1290 1286
+f 1646 1654 1859
+f 1859 1856 1646
+f 1550 1606 1654
+f 1654 1646 1550
+f 1439 1531 1606
+f 1606 1550 1439
+f 1351 1452 1531
+f 1531 1439 1351
+f 1298 1388 1452
+f 1452 1351 1298
+f 1275 1347 1388
+f 1388 1298 1275
+f 1246 1316 1347
+f 1347 1275 1246
+f 1222 1300 1316
+f 1316 1246 1222
+f 1215 1290 1300
+f 1300 1222 1215
+f 1211 1286 1290
+f 1290 1215 1211
+f 1624 1646 1856
+f 1856 1854 1624
+f 1484 1550 1646
+f 1646 1624 1484
+f 1353 1439 1550
+f 1550 1484 1353
+f 1284 1351 1439
+f 1439 1353 1284
+f 1238 1298 1351
+f 1351 1284 1238
+f 1204 1275 1298
+f 1298 1238 1204
+f 1178 1246 1275
+f 1275 1204 1178
+f 1152 1222 1246
+f 1246 1178 1152
+f 1134 1215 1222
+f 1222 1152 1134
+f 1124 1211 1215
+f 1215 1134 1124
+f 1596 1624 1854
+f 1854 1851 1596
+f 1410 1484 1624
+f 1624 1596 1410
+f 1296 1353 1484
+f 1484 1410 1296
+f 1228 1284 1353
+f 1353 1296 1228
+f 1186 1238 1284
+f 1284 1228 1186
+f 1130 1204 1238
+f 1238 1186 1130
+f 1091 1178 1204
+f 1204 1130 1091
+f 1073 1152 1178
+f 1178 1091 1073
+f 1063 1134 1152
+f 1152 1073 1063
+f 1053 1124 1134
+f 1134 1063 1053
+f 1570 1596 1851
+f 1851 1848 1570
+f 1359 1410 1596
+f 1596 1570 1359
+f 1256 1296 1410
+f 1410 1359 1256
+f 1190 1228 1296
+f 1296 1256 1190
+f 1112 1186 1228
+f 1228 1190 1112
+f 1071 1130 1186
+f 1186 1112 1071
+f 1029 1091 1130
+f 1130 1071 1029
+f 991 1073 1091
+f 1091 1029 991
+f 969 1063 1073
+f 1073 991 969
+f 967 1053 1063
+f 1063 969 967
+f 1532 1570 1848
+f 1848 1846 1532
+f 1314 1359 1570
+f 1570 1532 1314
+f 1219 1256 1359
+f 1359 1314 1219
+f 1138 1190 1256
+f 1256 1219 1138
+f 1075 1112 1190
+f 1190 1138 1075
+f 1015 1071 1112
+f 1112 1075 1015
+f 962 1029 1071
+f 1071 1015 962
+f 925 991 1029
+f 1029 962 925
+f 904 969 991
+f 991 925 904
+f 898 967 969
+f 969 904 898
+f 1504 1532 1846
+f 1846 1832 1504
+f 1292 1314 1532
+f 1532 1504 1292
+f 1200 1219 1314
+f 1314 1292 1200
+f 1097 1138 1219
+f 1219 1200 1097
+f 1033 1075 1138
+f 1138 1097 1033
+f 965 1015 1075
+f 1075 1033 965
+f 909 962 1015
+f 1015 965 909
+f 863 925 962
+f 962 909 863
+f 835 904 925
+f 925 863 835
+f 827 898 904
+f 904 835 827
+f 1494 1504 1832
+f 1832 1824 1494
+f 1282 1292 1504
+f 1504 1494 1282
+f 1183 1200 1292
+f 1292 1282 1183
+f 1088 1097 1200
+f 1200 1183 1088
+f 1000 1033 1097
+f 1097 1088 1000
+f 934 965 1033
+f 1033 1000 934
+f 874 909 965
+f 965 934 874
+f 826 863 909
+f 909 874 826
+f 790 835 863
+f 863 826 790
+f 780 827 835
+f 835 790 780
+f 1486 1494 1824
+f 1824 1814 1486
+f 1278 1282 1494
+f 1494 1486 1278
+f 1176 1183 1282
+f 1282 1278 1176
+f 1079 1088 1183
+f 1183 1176 1079
+f 985 1000 1088
+f 1088 1079 985
+f 919 934 1000
+f 1000 985 919
+f 857 874 934
+f 934 919 857
+f 801 826 874
+f 874 857 801
+f 775 790 826
+f 826 801 775
+f 765 780 790
+f 790 775 765
+f 1391 1507 1499
+f 1499 1387 1391
+f 1405 1521 1507
+f 1507 1391 1405
+f 1424 1541 1521
+f 1521 1405 1424
+f 1473 1565 1541
+f 1541 1424 1473
+f 1503 1589 1565
+f 1565 1473 1503
+f 1559 1613 1589
+f 1589 1503 1559
+f 1600 1637 1613
+f 1613 1559 1600
+f 1643 1657 1637
+f 1637 1600 1643
+f 1677 1683 1657
+f 1657 1643 1677
+f 1863 1892 1683
+f 1683 1677 1863
+f 1291 1391 1387
+f 1387 1287 1291
+f 1301 1405 1391
+f 1391 1291 1301
+f 1317 1424 1405
+f 1405 1301 1317
+f 1348 1473 1424
+f 1424 1317 1348
+f 1389 1503 1473
+f 1473 1348 1389
+f 1453 1559 1503
+f 1503 1389 1453
+f 1530 1600 1559
+f 1559 1453 1530
+f 1607 1643 1600
+f 1600 1530 1607
+f 1655 1677 1643
+f 1643 1607 1655
+f 1861 1863 1677
+f 1677 1655 1861
+f 1214 1291 1287
+f 1287 1210 1214
+f 1223 1301 1291
+f 1291 1214 1223
+f 1247 1317 1301
+f 1301 1223 1247
+f 1274 1348 1317
+f 1317 1247 1274
+f 1299 1389 1348
+f 1348 1274 1299
+f 1352 1453 1389
+f 1389 1299 1352
+f 1438 1530 1453
+f 1453 1352 1438
+f 1551 1607 1530
+f 1530 1438 1551
+f 1647 1655 1607
+f 1607 1551 1647
+f 1891 1861 1655
+f 1655 1647 1891
+f 1135 1214 1210
+f 1210 1125 1135
+f 1153 1223 1214
+f 1214 1135 1153
+f 1179 1247 1223
+f 1223 1153 1179
+f 1205 1274 1247
+f 1247 1179 1205
+f 1239 1299 1274
+f 1274 1205 1239
+f 1285 1352 1299
+f 1299 1239 1285
+f 1354 1438 1352
+f 1352 1285 1354
+f 1485 1551 1438
+f 1438 1354 1485
+f 1625 1647 1551
+f 1551 1485 1625
+f 1901 1891 1647
+f 1647 1625 1901
+f 1064 1135 1125
+f 1125 1054 1064
+f 1074 1153 1135
+f 1135 1064 1074
+f 1092 1179 1153
+f 1153 1074 1092
+f 1131 1205 1179
+f 1179 1092 1131
+f 1187 1239 1205
+f 1205 1131 1187
+f 1229 1285 1239
+f 1239 1187 1229
+f 1297 1354 1285
+f 1285 1229 1297
+f 1411 1485 1354
+f 1354 1297 1411
+f 1597 1625 1485
+f 1485 1411 1597
+f 1853 1901 1625
+f 1625 1597 1853
+f 970 1064 1054
+f 1054 968 970
+f 992 1074 1064
+f 1064 970 992
+f 1030 1092 1074
+f 1074 992 1030
+f 1072 1131 1092
+f 1092 1030 1072
+f 1113 1187 1131
+f 1131 1072 1113
+f 1191 1229 1187
+f 1187 1113 1191
+f 1257 1297 1229
+f 1229 1191 1257
+f 1360 1411 1297
+f 1297 1257 1360
+f 1571 1597 1411
+f 1411 1360 1571
+f 1899 1853 1597
+f 1597 1571 1899
+f 903 970 968
+f 968 897 903
+f 926 992 970
+f 970 903 926
+f 961 1030 992
+f 992 926 961
+f 1016 1072 1030
+f 1030 961 1016
+f 1076 1113 1072
+f 1072 1016 1076
+f 1139 1191 1113
+f 1113 1076 1139
+f 1218 1257 1191
+f 1191 1139 1218
+f 1315 1360 1257
+f 1257 1218 1315
+f 1533 1571 1360
+f 1360 1315 1533
+f 1920 1899 1571
+f 1571 1533 1920
+f 836 903 897
+f 897 828 836
+f 864 926 903
+f 903 836 864
+f 910 961 926
+f 926 864 910
+f 966 1016 961
+f 961 910 966
+f 1034 1076 1016
+f 1016 966 1034
+f 1098 1139 1076
+f 1076 1034 1098
+f 1201 1218 1139
+f 1139 1098 1201
+f 1293 1315 1218
+f 1218 1201 1293
+f 1505 1533 1315
+f 1315 1293 1505
+f 1924 1920 1533
+f 1533 1505 1924
+f 789 836 828
+f 828 779 789
+f 825 864 836
+f 836 789 825
+f 873 910 864
+f 864 825 873
+f 933 966 910
+f 910 873 933
+f 999 1034 966
+f 966 933 999
+f 1087 1098 1034
+f 1034 999 1087
+f 1182 1201 1098
+f 1098 1087 1182
+f 1283 1293 1201
+f 1201 1182 1283
+f 1495 1505 1293
+f 1293 1283 1495
+f 1826 1924 1505
+f 1505 1495 1826
+f 776 789 779
+f 779 766 776
+f 802 825 789
+f 789 776 802
+f 858 873 825
+f 825 802 858
+f 920 933 873
+f 873 858 920
+f 986 999 933
+f 933 920 986
+f 1080 1087 999
+f 999 986 1080
+f 1177 1182 1087
+f 1087 1080 1177
+f 1279 1283 1182
+f 1182 1177 1279
+f 1487 1495 1283
+f 1283 1279 1487
+f 1914 1826 1495
+f 1495 1487 1914
+f 1947 1941 1867
+f 1867 1863 1947
+f 1981 1967 1941
+f 1941 1947 1981
+f 2022 1987 1967
+f 1967 1981 2022
+f 2065 2011 1987
+f 1987 2022 2065
+f 2121 2035 2011
+f 2011 2065 2121
+f 2151 2059 2035
+f 2035 2121 2151
+f 2198 2083 2059
+f 2059 2151 2198
+f 2219 2103 2083
+f 2083 2198 2219
+f 2233 2117 2103
+f 2103 2219 2233
+f 2236 2125 2117
+f 2117 2233 2236
+f 1969 1947 1863
+f 1863 1860 1969
+f 2017 1981 1947
+f 1947 1969 2017
+f 2092 2022 1981
+f 1981 2017 2092
+f 2171 2065 2022
+f 2022 2092 2171
+f 2235 2121 2065
+f 2065 2171 2235
+f 2276 2151 2121
+f 2121 2235 2276
+f 2307 2198 2151
+f 2151 2276 2307
+f 2323 2219 2198
+f 2198 2307 2323
+f 2333 2233 2219
+f 2219 2323 2333
+f 2337 2236 2233
+f 2233 2333 2337
+f 1977 1969 1860
+f 1860 1857 1977
+f 2073 2017 1969
+f 1969 1977 2073
+f 2184 2092 2017
+f 2017 2073 2184
+f 2272 2171 2092
+f 2092 2184 2272
+f 2325 2235 2171
+f 2171 2272 2325
+f 2348 2276 2235
+f 2235 2325 2348
+f 2377 2307 2276
+f 2276 2348 2377
+f 2401 2323 2307
+f 2307 2377 2401
+f 2408 2333 2323
+f 2323 2401 2408
+f 2412 2337 2333
+f 2333 2408 2412
+f 1999 1977 1857
+f 1857 1855 1999
+f 2139 2073 1977
+f 1977 1999 2139
+f 2270 2184 2073
+f 2073 2139 2270
+f 2339 2272 2184
+f 2184 2270 2339
+f 2385 2325 2272
+f 2272 2339 2385
+f 2419 2348 2325
+f 2325 2385 2419
+f 2445 2377 2348
+f 2348 2419 2445
+f 2471 2401 2377
+f 2377 2445 2471
+f 2489 2408 2401
+f 2401 2471 2489
+f 2499 2412 2408
+f 2408 2489 2499
+f 2027 1999 1855
+f 1855 1852 2027
+f 2213 2139 1999
+f 1999 2027 2213
+f 2327 2270 2139
+f 2139 2213 2327
+f 2395 2339 2270
+f 2270 2327 2395
+f 2437 2385 2339
+f 2339 2395 2437
+f 2493 2419 2385
+f 2385 2437 2493
+f 2532 2445 2419
+f 2419 2493 2532
+f 2550 2471 2445
+f 2445 2532 2550
+f 2560 2489 2471
+f 2471 2550 2560
+f 2570 2499 2489
+f 2489 2560 2570
+f 2053 2027 1852
+f 1852 1849 2053
+f 2264 2213 2027
+f 2027 2053 2264
+f 2367 2327 2213
+f 2213 2264 2367
+f 2433 2395 2327
+f 2327 2367 2433
+f 2511 2437 2395
+f 2395 2433 2511
+f 2552 2493 2437
+f 2437 2511 2552
+f 2594 2532 2493
+f 2493 2552 2594
+f 2632 2550 2532
+f 2532 2594 2632
+f 2654 2560 2550
+f 2550 2632 2654
+f 2656 2570 2560
+f 2560 2654 2656
+f 2091 2053 1849
+f 1849 1847 2091
+f 2309 2264 2053
+f 2053 2091 2309
+f 2404 2367 2264
+f 2264 2309 2404
+f 2485 2433 2367
+f 2367 2404 2485
+f 2548 2511 2433
+f 2433 2485 2548
+f 2608 2552 2511
+f 2511 2548 2608
+f 2661 2594 2552
+f 2552 2608 2661
+f 2698 2632 2594
+f 2594 2661 2698
+f 2719 2654 2632
+f 2632 2698 2719
+f 2725 2656 2654
+f 2654 2719 2725
+f 2119 2091 1847
+f 1847 1833 2119
+f 2331 2309 2091
+f 2091 2119 2331
+f 2423 2404 2309
+f 2309 2331 2423
+f 2526 2485 2404
+f 2404 2423 2526
+f 2590 2548 2485
+f 2485 2526 2590
+f 2658 2608 2548
+f 2548 2590 2658
+f 2714 2661 2608
+f 2608 2658 2714
+f 2760 2698 2661
+f 2661 2714 2760
+f 2788 2719 2698
+f 2698 2760 2788
+f 2796 2725 2719
+f 2719 2788 2796
+f 2129 2119 1833
+f 1833 1827 2129
+f 2341 2331 2119
+f 2119 2129 2341
+f 2440 2423 2331
+f 2331 2341 2440
+f 2535 2526 2423
+f 2423 2440 2535
+f 2623 2590 2526
+f 2526 2535 2623
+f 2689 2658 2590
+f 2590 2623 2689
+f 2749 2714 2658
+f 2658 2689 2749
+f 2797 2760 2714
+f 2714 2749 2797
+f 2833 2788 2760
+f 2760 2797 2833
+f 2843 2796 2788
+f 2788 2833 2843
+f 2137 2129 1827
+f 1827 1815 2137
+f 2345 2341 2129
+f 2129 2137 2345
+f 2447 2440 2341
+f 2341 2345 2447
+f 2544 2535 2440
+f 2440 2447 2544
+f 2638 2623 2535
+f 2535 2544 2638
+f 2704 2689 2623
+f 2623 2638 2704
+f 2766 2749 2689
+f 2689 2704 2766
+f 2822 2797 2749
+f 2749 2766 2822
+f 2848 2833 2797
+f 2797 2822 2848
+f 2858 2843 2833
+f 2833 2848 2858
+f 1735 2334 2329
+f 1735 2329 2321
+f 1735 2321 2305
+f 1735 2305 2274
+f 1735 2274 2231
+f 1735 2231 2167
+f 1735 2167 2089
+f 1735 2089 2014
+f 1735 2014 1962
+f 1735 1962 1733
+f 2515 2329 2334
+f 2334 2524 2515
+f 2495 2321 2329
+f 2329 2515 2495
+f 2456 2305 2321
+f 2321 2495 2456
+f 2429 2274 2305
+f 2305 2456 2429
+f 2399 2231 2274
+f 2274 2429 2399
+f 2347 2167 2231
+f 2231 2399 2347
+f 2292 2089 2167
+f 2167 2347 2292
+f 2148 2014 2089
+f 2089 2292 2148
+f 2004 1962 2014
+f 2014 2148 2004
+f 1739 1733 1962
+f 1962 2004 1739
+f 2647 2515 2524
+f 2524 2649 2647
+f 2621 2495 2515
+f 2515 2647 2621
+f 2584 2456 2495
+f 2495 2621 2584
+f 2541 2429 2456
+f 2456 2584 2541
+f 2502 2399 2429
+f 2429 2541 2502
+f 2426 2347 2399
+f 2399 2502 2426
+f 2352 2292 2347
+f 2347 2426 2352
+f 2255 2148 2292
+f 2292 2352 2255
+f 2046 2004 2148
+f 2148 2255 2046
+f 1702 1739 2004
+f 2004 2046 1702
+f 2746 2647 2649
+f 2649 2757 2746
+f 2721 2621 2647
+f 2647 2746 2721
+f 2681 2584 2621
+f 2621 2721 2681
+f 2639 2541 2584
+f 2584 2681 2639
+f 2557 2502 2541
+f 2541 2639 2557
+f 2505 2426 2502
+f 2502 2557 2505
+f 2415 2352 2426
+f 2426 2505 2415
+f 2318 2255 2352
+f 2352 2415 2318
+f 2098 2046 2255
+f 2255 2318 2098
+f 1745 1702 2046
+f 2046 2098 1745
+f 2840 2746 2757
+f 2757 2849 2840
+f 2808 2721 2746
+f 2746 2840 2808
+f 2756 2681 2721
+f 2721 2808 2756
+f 2696 2639 2681
+f 2681 2756 2696
+f 2626 2557 2639
+f 2639 2696 2626
+f 2538 2505 2557
+f 2557 2626 2538
+f 2443 2415 2505
+f 2505 2538 2443
+f 2342 2318 2415
+f 2415 2443 2342
+f 2131 2098 2318
+f 2318 2342 2131
+f 1904 1745 2098
+f 2098 2131 1904
+f 2906 2840 2849
+f 2849 2925 2906
+f 2867 2808 2840
+f 2840 2906 2867
+f 2818 2756 2808
+f 2808 2867 2818
+f 2736 2696 2756
+f 2756 2818 2736
+f 2667 2626 2696
+f 2696 2736 2667
+f 2565 2538 2626
+f 2626 2667 2565
+f 2475 2443 2538
+f 2538 2565 2475
+f 2356 2342 2443
+f 2443 2475 2356
+f 2156 2131 2342
+f 2342 2356 2156
+f 1704 1904 2131
+f 2131 2156 1704
+f 2976 2906 2925
+f 2925 2987 2976
+f 2914 2867 2906
+f 2906 2976 2914
+f 2852 2818 2867
+f 2867 2914 2852
+f 2772 2736 2818
+f 2818 2852 2772
+f 2688 2667 2736
+f 2736 2772 2688
+f 2592 2565 2667
+f 2667 2688 2592
+f 2497 2475 2565
+f 2565 2592 2497
+f 2372 2356 2475
+f 2475 2497 2372
+f 2176 2156 2356
+f 2356 2372 2176
+f 1752 1704 2156
+f 2156 2176 1752
+f 2993 2976 2987
+f 2987 3011 2993
+f 2952 2914 2976
+f 2976 2993 2952
+f 2874 2852 2914
+f 2914 2952 2874
+f 2794 2772 2852
+f 2852 2874 2794
+f 2702 2688 2772
+f 2772 2794 2702
+f 2604 2592 2688
+f 2688 2702 2604
+f 2509 2497 2592
+f 2592 2604 2509
+f 2380 2372 2497
+f 2497 2509 2380
+f 2182 2176 2372
+f 2372 2380 2182
+f 1723 1752 2176
+f 2176 2182 1723
+f 3000 2993 3011
+f 3011 3020 3000
+f 2967 2952 2993
+f 2993 3000 2967
+f 2879 2874 2952
+f 2952 2967 2879
+f 2799 2794 2874
+f 2874 2879 2799
+f 2707 2702 2794
+f 2794 2799 2707
+f 2605 2604 2702
+f 2702 2707 2605
+f 2512 2509 2604
+f 2604 2605 2512
+f 2382 2380 2509
+f 2509 2512 2382
+f 2188 2182 2380
+f 2380 2382 2188
+f 1699 1723 2182
+f 2182 2188 1699
+f 3006 3000 3020
+f 3020 3022 3006
+f 2972 2967 3000
+f 3000 3006 2972
+f 2888 2879 2967
+f 2967 2972 2888
+f 2804 2799 2879
+f 2879 2888 2804
+f 2710 2707 2799
+f 2799 2804 2710
+f 2613 2605 2707
+f 2707 2710 2613
+f 2520 2512 2605
+f 2605 2613 2520
+f 2388 2382 2512
+f 2512 2520 2388
+f 2192 2188 2382
+f 2382 2388 2192
+f 1760 1699 2188
+f 2188 2192 1760
+f 1735 1737 1660
+f 1735 1660 1608
+f 1735 1608 1535
+f 1735 1535 1457
+f 1735 1457 1393
+f 1735 1393 1350
+f 1735 1350 1319
+f 1735 1319 1303
+f 1735 1303 1295
+f 1735 1295 1288
+f 1618 1660 1737
+f 1737 1739 1618
+f 1474 1608 1660
+f 1660 1618 1474
+f 1332 1535 1608
+f 1608 1474 1332
+f 1277 1457 1535
+f 1535 1332 1277
+f 1225 1393 1457
+f 1457 1277 1225
+f 1195 1350 1393
+f 1393 1225 1195
+f 1166 1319 1350
+f 1350 1195 1166
+f 1129 1303 1319
+f 1319 1166 1129
+f 1109 1295 1303
+f 1303 1129 1109
+f 1099 1288 1295
+f 1295 1109 1099
+f 1576 1618 1739
+f 1739 1741 1576
+f 1367 1474 1618
+f 1618 1576 1367
+f 1270 1332 1474
+f 1474 1367 1270
+f 1196 1277 1332
+f 1332 1270 1196
+f 1120 1225 1277
+f 1277 1196 1120
+f 1081 1195 1225
+f 1225 1120 1081
+f 1040 1166 1195
+f 1195 1081 1040
+f 1001 1129 1166
+f 1166 1040 1001
+f 975 1109 1129
+f 1129 1001 975
+f 973 1099 1109
+f 1109 975 973
+f 1524 1576 1741
+f 1741 1744 1524
+f 1304 1367 1576
+f 1576 1524 1304
+f 1209 1270 1367
+f 1367 1304 1209
+f 1119 1196 1270
+f 1270 1209 1119
+f 1065 1120 1196
+f 1196 1119 1065
+f 983 1081 1120
+f 1120 1065 983
+f 941 1040 1081
+f 1081 983 941
+f 901 1001 1040
+f 1040 941 901
+f 878 975 1001
+f 1001 901 878
+f 865 973 975
+f 975 878 865
+f 1493 1524 1744
+f 1744 1747 1493
+f 1280 1304 1524
+f 1524 1493 1280
+f 1181 1209 1304
+f 1304 1280 1181
+f 1086 1119 1209
+f 1209 1181 1086
+f 998 1065 1119
+f 1119 1086 998
+f 928 983 1065
+f 1065 998 928
+f 868 941 983
+f 983 928 868
+f 816 901 941
+f 941 868 816
+f 784 878 901
+f 901 816 784
+f 773 865 878
+f 878 784 773
+f 1466 1493 1747
+f 1747 1749 1466
+f 1266 1280 1493
+f 1493 1466 1266
+f 1149 1181 1280
+f 1280 1266 1149
+f 1057 1086 1181
+f 1181 1149 1057
+f 955 998 1086
+f 1086 1057 955
+f 888 928 998
+f 998 955 888
+f 806 868 928
+f 928 888 806
+f 755 816 868
+f 868 806 755
+f 718 784 816
+f 816 755 718
+f 697 773 784
+f 784 718 697
+f 1446 1466 1749
+f 1749 1753 1446
+f 1250 1266 1466
+f 1466 1446 1250
+f 1127 1149 1266
+f 1266 1250 1127
+f 1032 1057 1149
+f 1149 1127 1032
+f 936 955 1057
+f 1057 1032 936
+f 852 888 955
+f 955 936 852
+f 772 806 888
+f 888 852 772
+f 710 755 806
+f 806 772 710
+f 648 718 755
+f 755 710 648
+f 637 697 718
+f 718 648 637
+f 1440 1446 1753
+f 1753 1755 1440
+f 1242 1250 1446
+f 1446 1440 1242
+f 1115 1127 1250
+f 1250 1242 1115
+f 1020 1032 1127
+f 1127 1115 1020
+f 922 936 1032
+f 1032 1020 922
+f 830 852 936
+f 936 922 830
+f 750 772 852
+f 852 830 750
+f 672 710 772
+f 772 750 672
+f 631 648 710
+f 710 672 631
+f 613 637 648
+f 648 631 613
+f 1434 1440 1755
+f 1755 1757 1434
+f 1240 1242 1440
+f 1440 1434 1240
+f 1110 1115 1242
+f 1242 1240 1110
+f 1017 1020 1115
+f 1115 1110 1017
+f 915 922 1020
+f 1020 1017 915
+f 823 830 922
+f 922 915 823
+f 743 750 830
+f 830 823 743
+f 655 672 750
+f 750 743 655
+f 622 631 672
+f 672 655 622
+f 602 613 631
+f 631 622 602
+f 1428 1434 1757
+f 1757 1760 1428
+f 1232 1240 1434
+f 1434 1428 1232
+f 1105 1110 1240
+f 1240 1232 1105
+f 1010 1017 1110
+f 1110 1105 1010
+f 913 915 1017
+f 1017 1010 913
+f 821 823 915
+f 915 913 821
+f 736 743 823
+f 823 821 736
+f 652 655 743
+f 743 736 652
+f 619 622 655
+f 655 652 619
+f 601 602 622
+f 622 619 601
+f 1735 1289 1294
+f 1735 1294 1302
+f 1735 1302 1318
+f 1735 1318 1349
+f 1735 1349 1392
+f 1735 1392 1456
+f 1735 1456 1534
+f 1735 1534 1609
+f 1735 1609 1661
+f 1735 1661 1889
+f 1108 1294 1289
+f 1289 1099 1108
+f 1128 1302 1294
+f 1294 1108 1128
+f 1167 1318 1302
+f 1302 1128 1167
+f 1194 1349 1318
+f 1318 1167 1194
+f 1224 1392 1349
+f 1349 1194 1224
+f 1276 1456 1392
+f 1392 1224 1276
+f 1331 1534 1456
+f 1456 1276 1331
+f 1475 1609 1534
+f 1534 1331 1475
+f 1619 1661 1609
+f 1609 1475 1619
+f 1738 1889 1661
+f 1661 1619 1738
+f 976 1108 1099
+f 1099 974 976
+f 1002 1128 1108
+f 1108 976 1002
+f 1039 1167 1128
+f 1128 1002 1039
+f 1082 1194 1167
+f 1167 1039 1082
+f 1121 1224 1194
+f 1194 1082 1121
+f 1197 1276 1224
+f 1224 1121 1197
+f 1271 1331 1276
+f 1276 1197 1271
+f 1368 1475 1331
+f 1331 1271 1368
+f 1577 1619 1475
+f 1475 1368 1577
+f 1903 1738 1619
+f 1619 1577 1903
+f 877 976 974
+f 974 866 877
+f 902 1002 976
+f 976 877 902
+f 942 1039 1002
+f 1002 902 942
+f 984 1082 1039
+f 1039 942 984
+f 1066 1121 1082
+f 1082 984 1066
+f 1118 1197 1121
+f 1121 1066 1118
+f 1208 1271 1197
+f 1197 1118 1208
+f 1305 1368 1271
+f 1271 1208 1305
+f 1525 1577 1368
+f 1368 1305 1525
+f 1742 1903 1577
+f 1577 1525 1742
+f 783 877 866
+f 866 774 783
+f 815 902 877
+f 877 783 815
+f 867 942 902
+f 902 815 867
+f 927 984 942
+f 942 867 927
+f 997 1066 984
+f 984 927 997
+f 1085 1118 1066
+f 1066 997 1085
+f 1180 1208 1118
+f 1118 1085 1180
+f 1281 1305 1208
+f 1208 1180 1281
+f 1492 1525 1305
+f 1305 1281 1492
+f 1703 1742 1525
+f 1525 1492 1703
+f 717 783 774
+f 774 698 717
+f 756 815 783
+f 783 717 756
+f 805 867 815
+f 815 756 805
+f 887 927 867
+f 867 805 887
+f 956 997 927
+f 927 887 956
+f 1058 1085 997
+f 997 956 1058
+f 1148 1180 1085
+f 1085 1058 1148
+f 1267 1281 1180
+f 1180 1148 1267
+f 1467 1492 1281
+f 1281 1267 1467
+f 1905 1703 1492
+f 1492 1467 1905
+f 647 717 698
+f 698 636 647
+f 709 756 717
+f 717 647 709
+f 771 805 756
+f 756 709 771
+f 851 887 805
+f 805 771 851
+f 935 956 887
+f 887 851 935
+f 1031 1058 956
+f 956 935 1031
+f 1126 1148 1058
+f 1058 1031 1126
+f 1251 1267 1148
+f 1148 1126 1251
+f 1447 1467 1267
+f 1267 1251 1447
+f 1751 1905 1467
+f 1467 1447 1751
+f 630 647 636
+f 636 612 630
+f 671 709 647
+f 647 630 671
+f 749 771 709
+f 709 671 749
+f 829 851 771
+f 771 749 829
+f 921 935 851
+f 851 829 921
+f 1019 1031 935
+f 935 921 1019
+f 1114 1126 1031
+f 1031 1019 1114
+f 1243 1251 1126
+f 1126 1114 1243
+f 1441 1447 1251
+f 1251 1243 1441
+f 1896 1751 1447
+f 1447 1441 1896
+f 623 630 612
+f 612 603 623
+f 656 671 630
+f 630 623 656
+f 744 749 671
+f 671 656 744
+f 824 829 749
+f 749 744 824
+f 916 921 829
+f 829 824 916
+f 1018 1019 921
+f 921 916 1018
+f 1111 1114 1019
+f 1019 1018 1111
+f 1241 1243 1114
+f 1114 1111 1241
+f 1435 1441 1243
+f 1243 1241 1435
+f 1923 1896 1441
+f 1441 1435 1923
+f 617 623 603
+f 603 601 617
+f 650 656 623
+f 623 617 650
+f 734 744 656
+f 656 650 734
+f 818 824 744
+f 744 734 818
+f 912 916 824
+f 824 818 912
+f 1009 1018 916
+f 916 912 1009
+f 1102 1111 1018
+f 1018 1009 1102
+f 1235 1241 1111
+f 1111 1102 1235
+f 1431 1435 1241
+f 1241 1235 1431
+f 1759 1923 1435
+f 1435 1431 1759
+f 1735 1736 1963
+f 1735 1963 2015
+f 1735 2015 2088
+f 1735 2088 2166
+f 1735 2166 2230
+f 1735 2230 2273
+f 1735 2273 2304
+f 1735 2304 2320
+f 1735 2320 2328
+f 1735 2328 2335
+f 2005 1963 1736
+f 1736 1738 2005
+f 2149 2015 1963
+f 1963 2005 2149
+f 2291 2088 2015
+f 2015 2149 2291
+f 2346 2166 2088
+f 2088 2291 2346
+f 2398 2230 2166
+f 2166 2346 2398
+f 2428 2273 2230
+f 2230 2398 2428
+f 2457 2304 2273
+f 2273 2428 2457
+f 2494 2320 2304
+f 2304 2457 2494
+f 2514 2328 2320
+f 2320 2494 2514
+f 2524 2335 2328
+f 2328 2514 2524
+f 2047 2005 1738
+f 1738 1740 2047
+f 2256 2149 2005
+f 2005 2047 2256
+f 2353 2291 2149
+f 2149 2256 2353
+f 2427 2346 2291
+f 2291 2353 2427
+f 2503 2398 2346
+f 2346 2427 2503
+f 2542 2428 2398
+f 2398 2503 2542
+f 2583 2457 2428
+f 2428 2542 2583
+f 2622 2494 2457
+f 2457 2583 2622
+f 2648 2514 2494
+f 2494 2622 2648
+f 2650 2524 2514
+f 2514 2648 2650
+f 2099 2047 1740
+f 1740 1743 2099
+f 2319 2256 2047
+f 2047 2099 2319
+f 2414 2353 2256
+f 2256 2319 2414
+f 2504 2427 2353
+f 2353 2414 2504
+f 2558 2503 2427
+f 2427 2504 2558
+f 2640 2542 2503
+f 2503 2558 2640
+f 2682 2583 2542
+f 2542 2640 2682
+f 2722 2622 2583
+f 2583 2682 2722
+f 2745 2648 2622
+f 2622 2722 2745
+f 2758 2650 2648
+f 2648 2745 2758
+f 2130 2099 1743
+f 1743 1746 2130
+f 2343 2319 2099
+f 2099 2130 2343
+f 2442 2414 2319
+f 2319 2343 2442
+f 2537 2504 2414
+f 2414 2442 2537
+f 2625 2558 2504
+f 2504 2537 2625
+f 2695 2640 2558
+f 2558 2625 2695
+f 2755 2682 2640
+f 2640 2695 2755
+f 2807 2722 2682
+f 2682 2755 2807
+f 2839 2745 2722
+f 2722 2807 2839
+f 2850 2758 2745
+f 2745 2839 2850
+f 2157 2130 1746
+f 1746 1748 2157
+f 2357 2343 2130
+f 2130 2157 2357
+f 2474 2442 2343
+f 2343 2357 2474
+f 2566 2537 2442
+f 2442 2474 2566
+f 2668 2625 2537
+f 2537 2566 2668
+f 2735 2695 2625
+f 2625 2668 2735
+f 2817 2755 2695
+f 2695 2735 2817
+f 2868 2807 2755
+f 2755 2817 2868
+f 2905 2839 2807
+f 2807 2868 2905
+f 2926 2850 2839
+f 2839 2905 2926
+f 2177 2157 1748
+f 1748 1750 2177
+f 2373 2357 2157
+f 2157 2177 2373
+f 2496 2474 2357
+f 2357 2373 2496
+f 2591 2566 2474
+f 2474 2496 2591
+f 2687 2668 2566
+f 2566 2591 2687
+f 2771 2735 2668
+f 2668 2687 2771
+f 2851 2817 2735
+f 2735 2771 2851
+f 2913 2868 2817
+f 2817 2851 2913
+f 2975 2905 2868
+f 2868 2913 2975
+f 2986 2926 2905
+f 2905 2975 2986
+f 2183 2177 1750
+f 1750 1754 2183
+f 2381 2373 2177
+f 2177 2183 2381
+f 2508 2496 2373
+f 2373 2381 2508
+f 2603 2591 2496
+f 2496 2508 2603
+f 2701 2687 2591
+f 2591 2603 2701
+f 2793 2771 2687
+f 2687 2701 2793
+f 2873 2851 2771
+f 2771 2793 2873
+f 2951 2913 2851
+f 2851 2873 2951
+f 2992 2975 2913
+f 2913 2951 2992
+f 3010 2986 2975
+f 2975 2992 3010
+f 2189 2183 1754
+f 1754 1756 2189
+f 2383 2381 2183
+f 2183 2189 2383
+f 2513 2508 2381
+f 2381 2383 2513
+f 2606 2603 2508
+f 2508 2513 2606
+f 2708 2701 2603
+f 2603 2606 2708
+f 2800 2793 2701
+f 2701 2708 2800
+f 2880 2873 2793
+f 2793 2800 2880
+f 2968 2951 2873
+f 2873 2880 2968
+f 3001 2992 2951
+f 2951 2968 3001
+f 3021 3010 2992
+f 2992 3001 3021
+f 2195 2189 1756
+f 1756 1759 2195
+f 2390 2383 2189
+f 2189 2195 2390
+f 2517 2513 2383
+f 2383 2390 2517
+f 2612 2606 2513
+f 2513 2517 2612
+f 2709 2708 2606
+f 2606 2612 2709
+f 2801 2800 2708
+f 2708 2709 2801
+f 2886 2880 2800
+f 2800 2801 2886
+f 2970 2968 2880
+f 2880 2886 2970
+f 3004 3001 2968
+f 2968 2970 3004
+f 3022 3021 3001
+f 3001 3004 3022
\ No newline at end of file
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_06/data/teapot.obj b/content/handbook_2e/examples/17 Shapes/Ex_06/data/teapot.obj
new file mode 100644
index 000000000..f1ac38adc
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_06/data/teapot.obj
@@ -0,0 +1,9965 @@
+v -3.000000 -1.8 0.000000
+v -2.991600 -1.8 -0.081000
+v -2.991600 -1.8 0.081000
+v -2.989450 -1.666162 0.000000
+v -2.985000 -1.92195 0.000000
+v -2.985000 -1.92195 0.000000
+v -2.981175 -1.667844 -0.081000
+v -2.981175 -1.667844 0.081000
+v -2.976687 -1.920243 -0.081000
+v -2.976687 -1.920243 0.081000
+v -2.968800 -1.8 -0.144000
+v -2.968800 -1.8 0.144000
+v -2.958713 -1.672406 -0.144000
+v -2.958713 -1.672406 0.144000
+v -2.957600 -1.5348 0.000000
+v -2.957600 -1.5348 0.000000
+v -2.954122 -1.915609 -0.144000
+v -2.954122 -1.915609 0.144000
+v -2.949693 -1.53779 -0.081000
+v -2.949693 -1.53779 0.081000
+v -2.940000 -2.0196 0.000000
+v -2.935200 -1.8 -0.189000
+v -2.935200 -1.8 0.189000
+v -2.931958 -2.016526 0.081000
+v -2.931958 -2.016526 -0.081000
+v -2.928230 -1.545907 -0.144000
+v -2.928230 -1.545907 0.144000
+v -2.925611 -1.679131 -0.189000
+v -2.925611 -1.679131 0.189000
+v -2.920870 -1.908779 -0.189000
+v -2.920870 -1.908779 0.189000
+v -2.910131 -2.008181 -0.144000
+v -2.910131 -2.008181 0.144000
+v -2.904150 -1.406137 0.000000
+v -2.904150 -1.406137 0.000000
+v -2.896846 -1.410135 0.081000
+v -2.896846 -1.410135 -0.081000
+v -2.896602 -1.557869 -0.189000
+v -2.896602 -1.557869 0.189000
+v -2.894400 -1.8 -0.216000
+v -2.894400 -1.8 0.216000
+v -2.885416 -1.687296 -0.216000
+v -2.885416 -1.687296 0.216000
+v -2.880491 -1.900487 -0.216000
+v -2.880491 -1.900487 0.216000
+v -2.877965 -1.995883 -0.189000
+v -2.877965 -1.995883 0.189000
+v -2.877022 -1.420985 -0.144000
+v -2.877022 -1.420985 0.144000
+v -2.865000 -2.09565 0.000000
+v -2.858195 -1.572394 0.216000
+v -2.858195 -1.572394 -0.216000
+v -2.857432 -2.091511 -0.081000
+v -2.857432 -2.091511 0.081000
+v -2.850000 -1.8 -0.225000
+v -2.850000 -1.8 0.225000
+v -2.847806 -1.436974 0.189000
+v -2.847806 -1.436974 -0.189000
+v -2.841675 -1.696181 0.225000
+v -2.841675 -1.696181 -0.225000
+v -2.838906 -1.98095 -0.216000
+v -2.838906 -1.98095 0.216000
+v -2.836889 -2.080276 -0.144000
+v -2.836889 -2.080276 0.144000
+v -2.836550 -1.891463 -0.225000
+v -2.836550 -1.891463 0.225000
+v -2.828800 -1.2804 0.000000
+v -2.822326 -1.285171 -0.081000
+v -2.822326 -1.285171 0.081000
+v -2.816400 -1.5882 -0.225000
+v -2.816400 -1.5882 0.225000
+v -2.812331 -1.45639 0.216000
+v -2.812331 -1.45639 -0.216000
+v -2.806615 -2.06372 -0.189000
+v -2.806615 -2.06372 0.189000
+v -2.805600 -1.8 -0.216000
+v -2.805600 -1.8 0.216000
+v -2.804755 -1.298122 -0.144000
+v -2.804755 -1.298122 0.144000
+v -2.797934 -1.705067 -0.216000
+v -2.797934 -1.705067 0.216000
+v -2.796400 -1.9647 0.225000
+v -2.796400 -1.9647 -0.225000
+v -2.792609 -1.882438 -0.216000
+v -2.792609 -1.882438 0.216000
+v -2.778861 -1.317206 -0.189000
+v -2.778861 -1.317206 0.189000
+v -2.774605 -1.604006 0.216000
+v -2.774605 -1.604006 -0.216000
+v -2.773725 -1.477519 0.225000
+v -2.773725 -1.477519 -0.225000
+v -2.769854 -2.043616 -0.216000
+v -2.769854 -2.043616 0.216000
+v -2.764800 -1.8 -0.189000
+v -2.764800 -1.8 0.189000
+v -2.760000 -2.1528 0.000000
+v -2.760000 -2.1528 0.000000
+v -2.757739 -1.713232 -0.189000
+v -2.757739 -1.713232 0.189000
+v -2.753894 -1.94845 -0.216000
+v -2.753894 -1.94845 0.216000
+v -2.753123 -2.147861 -0.081000
+v -2.753123 -2.147861 0.081000
+v -2.752230 -1.874146 -0.189000
+v -2.752230 -1.874146 0.189000
+v -2.747418 -1.340381 -0.216000
+v -2.747418 -1.340381 0.216000
+v -2.736198 -1.618531 -0.189000
+v -2.736198 -1.618531 0.189000
+v -2.735119 -1.498648 0.216000
+v -2.735119 -1.498648 -0.216000
+v -2.734458 -2.134454 -0.144000
+v -2.734458 -2.134454 0.144000
+v -2.731250 -1.157813 0.000000
+v -2.731250 -1.157813 0.000000
+v -2.731200 -1.8 -0.144000
+v -2.731200 -1.8 0.144000
+v -2.729850 -2.021737 -0.225000
+v -2.729850 -2.021737 0.225000
+v -2.725825 -1.163194 0.081000
+v -2.725825 -1.163194 -0.081000
+v -2.724637 -1.719956 -0.144000
+v -2.724637 -1.719956 0.144000
+v -2.718978 -1.867316 -0.144000
+v -2.718978 -1.867316 0.144000
+v -2.714835 -1.933517 -0.189000
+v -2.714835 -1.933517 0.189000
+v -2.713200 -1.3656 -0.225000
+v -2.713200 -1.3656 0.225000
+v -2.711100 -1.1778 -0.144000
+v -2.711100 -1.1778 0.144000
+v -2.708400 -1.8 -0.081000
+v -2.708400 -1.8 0.081000
+v -2.706950 -2.114698 -0.189000
+v -2.706950 -2.114698 0.189000
+v -2.704570 -1.630493 -0.144000
+v -2.704570 -1.630493 0.144000
+v -2.702175 -1.724519 -0.081000
+v -2.702175 -1.724519 0.081000
+v -2.700000 -1.8 0.000000
+v -2.699644 -1.518063 0.189000
+v -2.699644 -1.518063 -0.189000
+v -2.696413 -1.862682 -0.081000
+v -2.696413 -1.862682 0.081000
+v -2.693900 -1.7262 0.000000
+v -2.689846 -1.999859 -0.216000
+v -2.689846 -1.999859 0.216000
+v -2.689400 -1.199325 -0.189000
+v -2.689400 -1.199325 0.189000
+v -2.688100 -1.860975 0.000000
+v -2.688100 -1.860975 0.000000
+v -2.683107 -1.63861 -0.081000
+v -2.683107 -1.63861 0.081000
+v -2.682669 -1.921219 -0.144000
+v -2.682669 -1.921219 0.144000
+v -2.678982 -1.390819 -0.216000
+v -2.678982 -1.390819 0.216000
+v -2.675200 -1.6416 0.000000
+v -2.675200 -1.6416 0.000000
+v -2.673549 -2.090707 -0.216000
+v -2.673549 -2.090707 0.216000
+v -2.670428 -1.534053 -0.144000
+v -2.670428 -1.534053 0.144000
+v -2.663050 -1.225463 -0.216000
+v -2.663050 -1.225463 0.216000
+v -2.660842 -1.912874 0.081000
+v -2.660842 -1.912874 -0.081000
+v -2.653085 -1.979755 -0.189000
+v -2.653085 -1.979755 0.189000
+v -2.652800 -1.9098 0.000000
+v -2.652800 -1.9098 0.000000
+v -2.650604 -1.544903 0.081000
+v -2.650604 -1.544903 -0.081000
+v -2.647539 -1.413994 -0.189000
+v -2.647539 -1.413994 0.189000
+v -2.643300 -1.5489 0.000000
+v -2.637200 -2.0646 -0.225000
+v -2.637200 -2.0646 0.225000
+v -2.634375 -1.253906 0.225000
+v -2.634375 -1.253906 -0.225000
+v -2.625000 -2.19375 0.000000
+v -2.622811 -1.963199 -0.144000
+v -2.622811 -1.963199 0.144000
+v -2.621645 -1.433078 -0.144000
+v -2.621645 -1.433078 0.144000
+v -2.619050 -2.188238 -0.081000
+v -2.619050 -2.188238 0.081000
+v -2.611200 -1.0386 0.000000
+v -2.611200 -1.0386 0.000000
+v -2.607034 -1.044497 0.081000
+v -2.607034 -1.044497 -0.081000
+v -2.605700 -1.28235 -0.216000
+v -2.605700 -1.28235 0.216000
+v -2.604074 -1.446029 -0.081000
+v -2.604074 -1.446029 0.081000
+v -2.602900 -2.173275 -0.144000
+v -2.602900 -2.173275 0.144000
+v -2.602268 -1.951964 -0.081000
+v -2.602268 -1.951964 0.081000
+v -2.600851 -2.038493 -0.216000
+v -2.600851 -2.038493 0.216000
+v -2.597600 -1.4508 0.000000
+v -2.595725 -1.060502 -0.144000
+v -2.595725 -1.060502 0.144000
+v -2.594700 -1.947825 0.000000
+v -2.579350 -1.308488 -0.189000
+v -2.579350 -1.308488 0.189000
+v -2.579100 -2.151225 -0.189000
+v -2.579100 -2.151225 0.189000
+v -2.579059 -1.08409 -0.189000
+v -2.579059 -1.08409 0.189000
+v -2.567450 -2.014502 -0.189000
+v -2.567450 -2.014502 0.189000
+v -2.558822 -1.112731 0.216000
+v -2.558822 -1.112731 -0.216000
+v -2.557650 -1.330013 -0.144000
+v -2.557650 -1.330013 0.144000
+v -2.550200 -2.12445 -0.216000
+v -2.550200 -2.12445 0.216000
+v -2.542925 -1.344619 0.081000
+v -2.542925 -1.344619 -0.081000
+v -2.539942 -1.994746 -0.144000
+v -2.539942 -1.994746 0.144000
+v -2.537500 -1.35 0.000000
+v -2.537500 -1.35 0.000000
+v -2.536800 -1.1439 0.225000
+v -2.536800 -1.1439 -0.225000
+v -2.521277 -1.981339 -0.081000
+v -2.521277 -1.981339 0.081000
+v -2.518750 -2.095312 -0.225000
+v -2.518750 -2.095312 0.225000
+v -2.514778 -1.175069 0.216000
+v -2.514778 -1.175069 -0.216000
+v -2.514400 -1.9764 0.000000
+v -2.514400 -1.9764 0.000000
+v -2.494541 -1.20371 -0.189000
+v -2.494541 -1.20371 0.189000
+v -2.487300 -2.066175 -0.216000
+v -2.487300 -2.066175 0.216000
+v -2.477875 -1.227298 -0.144000
+v -2.477875 -1.227298 0.144000
+v -2.468350 -0.922987 0.000000
+v -2.466566 -1.243303 0.081000
+v -2.466566 -1.243303 -0.081000
+v -2.465644 -0.929375 -0.081000
+v -2.465644 -0.929375 0.081000
+v -2.462400 -1.2492 0.000000
+v -2.462400 -1.2492 0.000000
+v -2.460000 -2.2212 0.000000
+v -2.460000 -2.2212 0.000000
+v -2.458400 -2.0394 -0.189000
+v -2.458400 -2.0394 0.189000
+v -2.458298 -0.946711 -0.144000
+v -2.458298 -0.946711 0.144000
+v -2.455229 -2.215303 -0.081000
+v -2.455229 -2.215303 0.081000
+v -2.447474 -0.97226 0.189000
+v -2.447474 -0.97226 -0.189000
+v -2.442278 -2.199298 -0.144000
+v -2.442278 -2.199298 0.144000
+v -2.434600 -2.01735 -0.144000
+v -2.434600 -2.01735 0.144000
+v -2.434329 -1.003283 -0.216000
+v -2.434329 -1.003283 0.216000
+v -2.423194 -2.17571 -0.189000
+v -2.423194 -2.17571 0.189000
+v -2.420025 -1.037044 -0.225000
+v -2.420025 -1.037044 0.225000
+v -2.418450 -2.002387 -0.081000
+v -2.418450 -2.002388 0.081000
+v -2.412500 -1.996875 0.000000
+v -2.412500 -1.996875 0.000000
+v -2.405721 -1.070804 -0.216000
+v -2.405721 -1.070804 0.216000
+v -2.400019 -2.147069 -0.216000
+v -2.400019 -2.147069 0.216000
+v -2.392576 -1.101828 -0.189000
+v -2.392576 -1.101828 0.189000
+v -2.381752 -1.127376 -0.144000
+v -2.381752 -1.127376 0.144000
+v -2.374800 -2.1159 -0.225000
+v -2.374800 -2.1159 0.225000
+v -2.374406 -1.144713 0.081000
+v -2.374406 -1.144713 -0.081000
+v -2.371700 -1.1511 0.000000
+v -2.349581 -2.084731 -0.216000
+v -2.349581 -2.084731 0.216000
+v -2.326406 -2.05609 -0.189000
+v -2.326406 -2.05609 0.189000
+v -2.307322 -2.032502 -0.144000
+v -2.307322 -2.032502 0.144000
+v -2.302400 -0.8112 0.000000
+v -2.302400 -0.8112 0.000000
+v -2.301347 -0.818122 0.081000
+v -2.301347 -0.818122 -0.081000
+v -2.298490 -0.836909 0.144000
+v -2.298490 -0.836909 -0.144000
+v -2.294371 -2.016497 -0.081000
+v -2.294371 -2.016497 0.081000
+v -2.294278 -0.864595 0.189000
+v -2.294278 -0.864595 -0.189000
+v -2.289600 -2.0106 0.000000
+v -2.289600 -2.0106 0.000000
+v -2.289165 -0.898214 0.216000
+v -2.289165 -0.898214 -0.216000
+v -2.283600 -0.9348 0.225000
+v -2.283600 -0.9348 -0.225000
+v -2.278035 -0.971386 0.216000
+v -2.278035 -0.971386 -0.216000
+v -2.272922 -1.005005 0.189000
+v -2.272922 -1.005005 -0.189000
+v -2.268710 -1.032691 -0.144000
+v -2.268710 -1.032691 0.144000
+v -2.265853 -1.051478 0.081000
+v -2.265853 -1.051478 -0.081000
+v -2.265000 -2.23785 0.000000
+v -2.264800 -1.0584 0.000000
+v -2.264800 -1.0584 0.000000
+v -2.261676 -2.23172 -0.081000
+v -2.261676 -2.23172 0.081000
+v -2.252655 -2.215082 -0.144000
+v -2.252655 -2.215082 0.144000
+v -2.239361 -2.190562 -0.189000
+v -2.239361 -2.190562 0.189000
+v -2.223218 -2.160788 -0.216000
+v -2.223218 -2.160788 0.216000
+v -2.205650 -2.128387 0.225000
+v -2.205650 -2.128388 -0.225000
+v -2.188082 -2.095987 -0.216000
+v -2.188082 -2.095987 0.216000
+v -2.171939 -2.066213 -0.189000
+v -2.171939 -2.066213 0.189000
+v -2.158645 -2.041693 -0.144000
+v -2.158645 -2.041693 0.144000
+v -2.149624 -2.025055 -0.081000
+v -2.149624 -2.025055 0.081000
+v -2.146300 -2.018925 0.000000
+v -2.141100 -0.9738 0.000000
+v -2.141100 -0.9738 0.000000
+v -2.140315 -0.966231 0.081000
+v -2.140315 -0.966231 -0.081000
+v -2.138183 -0.945685 0.144000
+v -2.138183 -0.945685 -0.144000
+v -2.135041 -0.915407 0.189000
+v -2.135041 -0.915407 -0.189000
+v -2.131226 -0.878641 0.216000
+v -2.131226 -0.878641 -0.216000
+v -2.127075 -0.838631 0.225000
+v -2.127075 -0.838631 -0.225000
+v -2.122924 -0.798621 0.216000
+v -2.122924 -0.798621 -0.216000
+v -2.119109 -0.761855 0.189000
+v -2.119109 -0.761855 -0.189000
+v -2.115967 -0.731578 0.144000
+v -2.115967 -0.731578 -0.144000
+v -2.113835 -0.711032 0.081000
+v -2.113835 -0.711032 -0.081000
+v -2.113050 -0.703463 0.000000
+v -2.113050 -0.703463 0.000000
+v -2.040000 -2.2464 0.000000
+v -2.040000 -2.2464 0.000000
+v -2.038410 -2.24015 -0.081000
+v -2.038410 -2.24015 0.081000
+v -2.034093 -2.223187 -0.144000
+v -2.034093 -2.223187 0.144000
+v -2.027731 -2.198189 -0.189000
+v -2.027731 -2.198189 0.189000
+v -2.020006 -2.167834 0.216000
+v -2.020006 -2.167834 -0.216000
+v -2.011600 -2.1348 0.225000
+v -2.011600 -2.1348 -0.225000
+v -2.003194 -2.101766 0.216000
+v -2.003194 -2.101766 -0.216000
+v -2.000000 -0.9 0.000000
+v -2.000000 -0.9 0.000000
+v -2.000000 -0.9 0.000000
+v -1.997200 -0.8916 0.081000
+v -1.997200 -0.8916 -0.081000
+v -1.995469 -2.071411 -0.189000
+v -1.995469 -2.071411 0.189000
+v -1.992750 -1.037175 -0.000000
+v -1.992750 -1.037175 0.000000
+v -1.989600 -0.8688 0.144000
+v -1.989600 -0.8688 -0.144000
+v -1.989107 -2.046413 0.144000
+v -1.989107 -2.046413 -0.144000
+v -1.986000 -0.771675 0.000000
+v -1.986000 -0.771675 0.000000
+v -1.984790 -2.02945 -0.081000
+v -1.984790 -2.02945 0.081000
+v -1.983200 -2.0232 0.000000
+v -1.983200 -2.0232 0.000000
+v -1.978400 -0.8352 0.189000
+v -1.978400 -0.8352 -0.189000
+v -1.974240 -0.9 -0.328160
+v -1.974240 -0.9 -0.328160
+v -1.974240 -0.9 0.328160
+v -1.972000 -1.1784 -0.000000
+v -1.972000 -1.1784 0.000000
+v -1.967083 -1.037175 -0.326970
+v -1.967083 -1.037175 0.326970
+v -1.964800 -0.7944 0.216000
+v -1.964800 -0.7944 -0.216000
+v -1.960420 -0.771675 -0.325863
+v -1.960420 -0.771675 0.325863
+v -1.950000 -0.75 -0.225000
+v -1.950000 -0.75 0.225000
+v -1.948000 -0.6564 0.000000
+v -1.948000 -0.6564 0.000000
+v -1.946601 -1.1784 -0.323566
+v -1.946601 -1.1784 0.323566
+v -1.939250 -1.323225 0.000000
+v -1.939250 -1.323225 0.000000
+v -1.935200 -0.7056 0.216000
+v -1.935200 -0.7056 -0.216000
+v -1.922910 -0.6564 -0.319628
+v -1.922910 -0.6564 0.319628
+v -1.921600 -0.6648 0.189000
+v -1.921600 -0.6648 -0.189000
+v -1.914272 -1.323225 -0.318192
+v -1.914272 -1.323225 0.318192
+v -1.910400 -0.6312 0.144000
+v -1.910400 -0.6312 -0.144000
+v -1.902800 -0.6084 0.081000
+v -1.902800 -0.6084 -0.081000
+v -1.900000 -0.6 0.000000
+v -1.900000 -0.6 0.000000
+v -1.899520 -0.9 -0.638080
+v -1.899520 -0.9 -0.638080
+v -1.899520 -0.9 0.638080
+v -1.899520 -0.9 0.638080
+v -1.896000 -1.4712 0.000000
+v -1.896000 -1.4712 0.000000
+v -1.892634 -1.037175 -0.635767
+v -1.892634 -1.037175 0.635767
+v -1.892000 -0.553725 0.000000
+v -1.892000 -0.553725 0.000000
+v -1.886223 -0.771675 -0.633613
+v -1.886223 -0.771675 0.633613
+v -1.872927 -1.1784 -0.629147
+v -1.872927 -1.1784 0.629147
+v -1.871580 -1.4712 -0.311096
+v -1.871580 -1.4712 0.311096
+v -1.867631 -0.553725 -0.310439
+v -1.867631 -0.553725 0.310439
+v -1.850132 -0.6564 -0.621490
+v -1.850132 -0.6564 0.621490
+v -1.843750 -1.621875 0.000000
+v -1.843750 -1.621875 0.000000
+v -1.841822 -1.323225 -0.618698
+v -1.841822 -1.323225 0.618698
+v -1.824000 -0.4632 -0.000000
+v -1.824000 -0.4632 0.000000
+v -1.820003 -1.621875 -0.302522
+v -1.820003 -1.621875 0.302523
+v -1.800900 -2.024775 0.000000
+v -1.800745 -1.4712 -0.604900
+v -1.800745 -1.4712 0.604900
+v -1.800507 -0.4632 -0.299282
+v -1.800507 -0.4632 0.299282
+v -1.800455 -2.031069 -0.081000
+v -1.800455 -2.031069 0.081000
+v -1.799246 -2.048152 -0.144000
+v -1.799246 -2.048152 0.144000
+v -1.797466 -2.073326 -0.189000
+v -1.797466 -2.073326 0.189000
+v -1.796946 -0.553725 -0.603624
+v -1.796946 -0.553725 0.603624
+v -1.795303 -2.103896 -0.216000
+v -1.795303 -2.103896 0.216000
+v -1.792950 -2.137163 -0.225000
+v -1.792950 -2.137163 0.225000
+v -1.790597 -2.170429 -0.216000
+v -1.790597 -2.170429 0.216000
+v -1.788434 -2.200999 -0.189000
+v -1.788434 -2.200999 0.189000
+v -1.786654 -2.226173 -0.144000
+v -1.786654 -2.226173 0.144000
+v -1.785445 -2.243256 -0.081000
+v -1.785445 -2.243256 0.081000
+v -1.785000 -2.24955 0.000000
+v -1.784000 -1.7748 -0.000000
+v -1.784000 -1.7748 0.000000
+v -1.779680 -0.9 -0.925920
+v -1.779680 -0.9 -0.925920
+v -1.779680 -0.9 0.925920
+v -1.779680 -0.9 0.925920
+v -1.773229 -1.037175 -0.922564
+v -1.773229 -1.037175 0.922564
+v -1.767222 -0.771675 -0.919439
+v -1.767222 -0.771675 0.919439
+v -1.761022 -1.7748 -0.292719
+v -1.761022 -1.7748 0.292719
+v -1.754764 -1.1784 -0.912957
+v -1.754764 -1.1784 0.912957
+v -1.751120 -1.621875 -0.588230
+v -1.751120 -1.621875 0.588230
+v -1.750000 -0.384375 -0.000000
+v -1.750000 -0.384375 0.000000
+v -1.733408 -0.6564 -0.901846
+v -1.733408 -0.6564 0.901846
+v -1.732362 -0.4632 -0.581929
+v -1.732362 -0.4632 0.581929
+v -1.727460 -0.384375 -0.287140
+v -1.727460 -0.384375 0.287140
+v -1.725622 -1.323225 -0.897795
+v -1.725622 -1.323225 0.897795
+v -1.718250 -1.929525 -0.000000
+v -1.718250 -1.929525 0.000000
+v -1.696119 -1.929525 -0.281930
+v -1.696119 -1.929525 0.281930
+v -1.694372 -1.7748 -0.569167
+v -1.694372 -1.7748 0.569167
+v -1.687137 -1.4712 -0.877772
+v -1.687137 -1.4712 0.877772
+v -1.683577 -0.553725 -0.875920
+v -1.683577 -0.553725 0.875920
+v -1.676000 -0.3168 0.000000
+v -1.676000 -0.3168 0.000000
+v -1.662080 -0.384375 -0.558320
+v -1.662080 -0.384375 0.558320
+v -1.654413 -0.3168 -0.274998
+v -1.654413 -0.3168 0.274998
+v -1.648000 -2.0856 0.000000
+v -1.648000 -2.0856 0.000000
+v -1.640643 -1.621875 -0.853583
+v -1.640643 -1.621875 0.853583
+v -1.631925 -1.929525 -0.548190
+v -1.631925 -1.929525 0.548190
+v -1.626774 -2.0856 -0.270404
+v -1.626774 -2.0856 0.270404
+v -1.623068 -0.4632 -0.844439
+v -1.623068 -0.4632 0.844439
+v -1.618560 -0.9 -1.187840
+v -1.618560 -0.9 -1.187840
+v -1.618560 -0.9 1.187840
+v -1.618560 -0.9 1.187840
+v -1.612693 -1.037175 -1.183534
+v -1.612693 -1.037175 1.183534
+v -1.608000 -0.260025 -0.000000
+v -1.608000 -0.260025 0.000000
+v -1.607230 -0.771675 -1.179525
+v -1.607230 -0.771675 1.179525
+v -1.600000 -2.025 0.000000
+v -1.597200 -2.0313 -0.081000
+v -1.597200 -2.0313 0.081000
+v -1.595900 -1.1784 -1.171210
+v -1.595900 -1.1784 1.171210
+v -1.591798 -0.3168 -0.534711
+v -1.591798 -0.3168 0.534711
+v -1.589600 -2.0484 -0.144000
+v -1.589600 -2.0484 0.144000
+v -1.587475 -1.7748 -0.825921
+v -1.587475 -1.7748 0.825921
+v -1.587289 -0.260025 0.263841
+v -1.587289 -0.260025 -0.263841
+v -1.578400 -2.0736 -0.189000
+v -1.578400 -2.0736 0.189000
+v -1.576477 -0.6564 -1.156956
+v -1.576477 -0.6564 1.156956
+v -1.574750 -2.242575 0.000000
+v -1.574750 -2.242575 0.000000
+v -1.569396 -1.323225 -1.151759
+v -1.569396 -1.323225 1.151759
+v -1.565204 -2.0856 -0.525778
+v -1.565204 -2.0856 0.525778
+v -1.564800 -2.1042 -0.216000
+v -1.564800 -2.1042 0.216000
+v -1.557220 -0.384375 -0.810180
+v -1.557220 -0.384375 0.810180
+v -1.554467 -2.242575 -0.258385
+v -1.554467 -2.242575 0.258385
+v -1.552000 -0.2136 0.000000
+v -1.552000 -0.2136 0.000000
+v -1.550000 -2.1375 -0.225000
+v -1.550000 -2.1375 0.225000
+v -1.535200 -2.1708 -0.216000
+v -1.535200 -2.1708 0.216000
+v -1.534395 -1.4712 -1.126072
+v -1.534395 -1.4712 1.126072
+v -1.532010 -0.2136 0.254652
+v -1.532010 -0.2136 -0.254652
+v -1.531158 -0.553725 -1.123697
+v -1.531158 -0.553725 1.123697
+v -1.528968 -1.929525 -0.795481
+v -1.528968 -1.929525 0.795481
+v -1.527214 -0.260025 -0.513016
+v -1.527214 -0.260025 0.513016
+v -1.521600 -2.2014 -0.189000
+v -1.521600 -2.2014 0.189000
+v -1.514000 -0.177075 0.000000
+v -1.514000 -0.177075 0.000000
+v -1.510400 -2.2266 -0.144000
+v -1.510400 -2.2266 0.144000
+v -1.502800 -2.2437 -0.081000
+v -1.502800 -2.2437 0.081000
+v -1.500000 -2.4 0.000000
+v -1.500000 -0.15 0.000000
+v -1.500000 -2.25 0.000000
+v -1.500000 -2.4 0.000000
+v -1.500000 -0.15 0.000000
+v -1.496475 -0.127575 -0.000000
+v -1.496475 -0.127575 0.000000
+v -1.495635 -2.242575 -0.502408
+v -1.495635 -2.242575 0.502408
+v -1.494500 -0.177075 0.248417
+v -1.494500 -0.177075 -0.248417
+v -1.492110 -1.621875 -1.095040
+v -1.492110 -1.621875 1.095040
+v -1.491372 -0.3168 -0.775921
+v -1.491372 -0.3168 0.775921
+v -1.480800 -0.1056 0.000000
+v -1.480800 -0.1056 -0.000000
+v -1.480680 -2.4 -0.246120
+v -1.480680 -0.15 0.246120
+v -1.480680 -2.4 0.246120
+v -1.480680 -0.15 -0.246120
+v -1.480680 -0.15 -0.246120
+v -1.480680 -0.15 0.246120
+v -1.480325 -2.435437 0.000000
+v -1.480325 -2.435437 0.000000
+v -1.477200 -0.127575 0.245542
+v -1.477200 -0.127575 -0.245542
+v -1.476127 -0.4632 -1.083310
+v -1.476127 -0.4632 1.083310
+v -1.474028 -0.2136 0.495150
+v -1.474028 -0.2136 -0.495150
+v -1.466456 -2.0856 -0.762958
+v -1.466456 -2.0856 0.762958
+v -1.461727 -0.1056 -0.242970
+v -1.461727 -0.1056 0.242970
+v -1.461258 -2.435437 -0.242892
+v -1.461258 -2.435437 0.242892
+v -1.459600 -2.463 0.000000
+v -1.459600 -2.463 0.000000
+v -1.445325 -0.084525 0.000000
+v -1.445325 -0.084525 0.000000
+v -1.443756 -1.7748 -1.059553
+v -1.443756 -1.7748 1.059553
+v -1.440800 -2.463 -0.239491
+v -1.440800 -2.463 0.239491
+v -1.439025 -2.482687 0.000000
+v -1.437937 -0.177075 0.483027
+v -1.437937 -0.177075 -0.483027
+v -1.430863 -0.260025 0.744440
+v -1.430863 -0.260025 -0.744440
+v -1.426709 -0.084525 -0.237149
+v -1.426709 -0.084525 0.237149
+v -1.424640 -2.4 -0.478560
+v -1.424640 -0.15 -0.478560
+v -1.424640 -0.15 -0.478560
+v -1.424640 -0.15 0.478560
+v -1.424640 -0.15 0.478560
+v -1.424640 -2.4 0.478560
+v -1.421292 -0.127575 0.477435
+v -1.421292 -0.127575 -0.477435
+v -1.420490 -2.482687 -0.236115
+v -1.420490 -2.482687 0.236115
+v -1.420000 -0.9 -1.420000
+v -1.420000 -0.9 -1.420000
+v -1.420000 -0.9 1.420000
+v -1.420000 -0.9 1.420000
+v -1.419800 -2.4945 0.000000
+v -1.419800 -2.4945 0.000000
+v -1.416240 -0.384375 -1.039360
+v -1.416240 -0.384375 1.039360
+v -1.414853 -1.037175 -1.414853
+v -1.414853 -1.037175 1.414853
+v -1.410060 -0.771675 -1.410060
+v -1.410060 -0.771675 1.410060
+v -1.406405 -0.1056 -0.472434
+v -1.406405 -0.1056 0.472434
+v -1.405953 -2.435437 -0.472283
+v -1.405953 -2.435437 0.472283
+v -1.403125 -2.498438 0.000000
+v -1.403125 -2.498438 0.000000
+v -1.401513 -2.4945 -0.232961
+v -1.401513 -2.4945 0.232961
+v -1.401276 -2.242575 -0.729046
+v -1.401276 -2.242575 0.729046
+v -1.400120 -1.1784 -1.400120
+v -1.400120 -1.1784 1.400120
+v -1.400000 -2.4 0.000000
+v -1.400000 -2.4 0.000000
+v -1.390545 -1.929525 -1.020503
+v -1.390545 -1.929525 1.020503
+v -1.390200 -2.4945 0.000000
+v -1.390200 -2.4945 0.000000
+v -1.386270 -2.463 -0.465671
+v -1.386270 -2.463 0.465671
+v -1.385925 -2.435437 0.000000
+v -1.385925 -2.435437 0.000000
+v -1.385053 -2.498438 -0.230225
+v -1.385053 -2.498438 0.230225
+v -1.383080 -0.6564 -1.383080
+v -1.383080 -0.6564 1.383080
+v -1.382400 -0.0648 -0.000000
+v -1.382400 -0.0648 0.000000
+v -1.382225 -2.482687 -0.000000
+v -1.382225 -2.482687 0.000000
+v -1.381968 -2.4 -0.229712
+v -1.381968 -2.4 0.229712
+v -1.381032 -0.2136 0.718514
+v -1.381032 -0.2136 -0.718514
+v -1.380400 -2.463 0.000000
+v -1.380400 -2.463 0.000000
+v -1.376868 -1.323225 -1.376867
+v -1.376867 -1.323225 1.376868
+v -1.372712 -0.084525 -0.461116
+v -1.372712 -0.084525 0.461116
+v -1.372294 -2.4945 -0.228104
+v -1.372294 -2.4945 0.228104
+v -1.368074 -2.435437 -0.227403
+v -1.368074 -2.435437 0.227403
+v -1.366728 -2.482687 -0.459107
+v -1.366728 -2.482687 0.459107
+v -1.364595 -0.0648 -0.226824
+v -1.364595 -0.0648 0.226824
+v -1.364422 -2.482687 -0.226795
+v -1.364422 -2.482687 0.226795
+v -1.362620 -2.463 -0.226496
+v -1.362620 -2.463 0.226496
+v -1.356353 -0.3168 -0.995410
+v -1.356353 -0.3168 0.995410
+v -1.348469 -2.4945 -0.452973
+v -1.348469 -2.4945 0.452973
+v -1.347218 -0.177075 0.700921
+v -1.347218 -0.177075 -0.700921
+v -1.346160 -1.4712 -1.346160
+v -1.346160 -1.4712 1.346160
+v -1.343320 -0.553725 -1.343320
+v -1.343320 -0.553725 1.343320
+v -1.334760 -2.4 -0.694440
+v -1.334760 -0.15 -0.694440
+v -1.334760 -0.15 0.694440
+v -1.334760 -0.15 0.694440
+v -1.334760 -2.4 0.694440
+v -1.334760 -0.15 -0.694440
+v -1.333693 -2.0856 -0.978780
+v -1.333693 -2.0856 0.978780
+v -1.332632 -2.498438 -0.447653
+v -1.332632 -2.498438 0.447653
+v -1.331623 -0.127575 0.692808
+v -1.331623 -0.127575 -0.692808
+v -1.329664 -2.4 -0.446656
+v -1.329664 -2.4 0.446656
+v -1.320356 -2.4945 -0.443529
+v -1.320356 -2.4945 0.443529
+v -1.317675 -0.1056 -0.685551
+v -1.317675 -0.1056 0.685551
+v -1.317252 -2.435437 -0.685331
+v -1.317252 -2.435437 0.685331
+v -1.316296 -2.435437 -0.442166
+v -1.316296 -2.435437 0.442166
+v -1.312948 -0.0648 0.441041
+v -1.312948 -0.0648 -0.441041
+v -1.312782 -2.482687 -0.440985
+v -1.312782 -2.482687 0.440985
+v -1.311049 -2.463 -0.440403
+v -1.311049 -2.463 0.440403
+v -1.309063 -1.621875 -1.309063
+v -1.309063 -1.621875 1.309063
+v -1.301322 -0.260025 0.955023
+v -1.301322 -0.260025 -0.955023
+v -1.300000 -2.4 0.000000
+v -1.300000 -2.4 0.000000
+v -1.298810 -2.463 -0.675736
+v -1.298810 -2.463 0.675736
+v -1.295040 -0.4632 -1.295040
+v -1.295040 -0.4632 1.295040
+v -1.286108 -0.084525 -0.669128
+v -1.286108 -0.084525 0.669128
+v -1.284375 -0.046875 0.000000
+v -1.284375 -0.046875 0.000000
+v -1.283256 -2.4 -0.213304
+v -1.283256 -2.4 0.213304
+v -1.280502 -2.482687 -0.666211
+v -1.280502 -2.482687 0.666211
+v -1.274600 -2.4408 0.000000
+v -1.274600 -2.4408 0.000000
+v -1.274414 -2.242575 -0.935276
+v -1.274414 -2.242575 0.935276
+v -1.267832 -0.046875 -0.210740
+v -1.267832 -0.046875 0.210740
+v -1.266640 -1.7748 -1.266640
+v -1.266640 -1.7748 1.266640
+v -1.263395 -2.4945 -0.657311
+v -1.263395 -2.4945 0.657311
+v -1.258183 -2.4408 0.209136
+v -1.258183 -2.4408 -0.209136
+v -1.256003 -0.2136 0.921764
+v -1.256003 -0.2136 -0.921764
+v -1.248557 -2.498438 -0.649591
+v -1.248557 -2.498438 0.649591
+v -1.245776 -2.4 -0.648144
+v -1.245776 -2.4 0.648144
+v -1.242500 -0.384375 -1.242500
+v -1.242500 -0.384375 1.242500
+v -1.237056 -2.4945 -0.643607
+v -1.237056 -2.4945 0.643607
+v -1.234688 -2.4 -0.414752
+v -1.234688 -2.4 0.414752
+v -1.233252 -2.435437 -0.641628
+v -1.233252 -2.435437 0.641628
+v -1.230115 -0.0648 -0.639996
+v -1.230115 -0.0648 0.639996
+v -1.229959 -2.482687 -0.639915
+v -1.229959 -2.482687 0.639915
+v -1.228335 -2.463 -0.639070
+v -1.228335 -2.463 0.639070
+v -1.225250 -0.177075 0.899195
+v -1.225250 -0.177075 -0.899195
+v -1.219958 -1.929525 1.219958
+v -1.219958 -1.929525 -1.219958
+v -1.219848 -0.046875 -0.409767
+v -1.219848 -0.046875 0.409767
+v -1.213920 -2.4 -0.890880
+v -1.213920 -0.15 -0.890880
+v -1.213920 -0.15 -0.890880
+v -1.213920 -0.15 0.890880
+v -1.213920 -0.15 0.890880
+v -1.213920 -2.4 0.890880
+v -1.211067 -0.127575 0.888786
+v -1.211067 -0.127575 -0.888786
+v -1.210564 -2.4408 0.406648
+v -1.210564 -2.4408 -0.406648
+v -1.204800 -2.4744 0.000000
+v -1.204800 -2.4744 0.000000
+v -1.198382 -0.1056 -0.879477
+v -1.198382 -0.1056 0.879477
+v -1.197997 -2.435437 -0.879195
+v -1.197997 -2.435437 0.879195
+v -1.189960 -0.3168 -1.189960
+v -1.189960 -0.3168 1.189960
+v -1.189282 -2.4744 -0.197684
+v -1.189282 -2.4744 0.197684
+v -1.187840 -0.9 -1.618560
+v -1.187840 -0.9 -1.618560
+v -1.187840 -0.9 1.618560
+v -1.187840 -0.9 1.618560
+v -1.183534 -1.037175 -1.612693
+v -1.183534 -1.037175 1.612693
+v -1.181225 -2.463 -0.866886
+v -1.181225 -2.463 0.866886
+v -1.179525 -0.771675 -1.607230
+v -1.179525 -0.771675 1.607230
+v -1.171210 -1.1784 -1.595900
+v -1.171210 -1.1784 1.595900
+v -1.170080 -2.0856 -1.170080
+v -1.170080 -2.0856 1.170080
+v -1.169673 -0.084525 -0.858407
+v -1.169673 -0.084525 0.858407
+v -1.164574 -2.482687 -0.854666
+v -1.164574 -2.482687 0.854666
+v -1.156956 -0.6564 -1.576477
+v -1.156956 -0.6564 1.576477
+v -1.156792 -2.4 -0.601848
+v -1.156792 -2.4 0.601848
+v -1.151759 -1.323225 -1.569396
+v -1.151759 -1.323225 1.569396
+v -1.149016 -2.4945 -0.843248
+v -1.149016 -2.4945 0.843248
+v -1.144271 -2.4744 -0.384379
+v -1.144271 -2.4744 0.384379
+v -1.143600 -0.0312 0.000000
+v -1.143600 -0.0312 0.000000
+v -1.142888 -0.046875 -0.594614
+v -1.142888 -0.046875 0.594614
+v -1.141680 -0.260025 1.141680
+v -1.141680 -0.260025 -1.141680
+v -1.135521 -2.498438 -0.833344
+v -1.135521 -2.498438 0.833344
+v -1.134190 -2.4408 0.590089
+v -1.134190 -2.4408 -0.590089
+v -1.132992 -2.4 -0.831488
+v -1.132992 -2.4 0.831488
+v -1.128870 -0.0312 -0.187642
+v -1.128870 -0.0312 0.187642
+v -1.126072 -1.4712 -1.534395
+v -1.126072 -1.4712 1.534395
+v -1.125061 -2.4945 -0.825668
+v -1.125061 -2.4945 0.825668
+v -1.123697 -0.553725 -1.531158
+v -1.123697 -0.553725 1.531158
+v -1.121601 -2.435437 -0.823129
+v -1.121601 -2.435437 0.823129
+v -1.118749 -0.0648 -0.821035
+v -1.118749 -0.0648 0.821035
+v -1.118607 -2.482687 -0.820931
+v -1.118607 -2.482687 0.820931
+v -1.118073 -2.242575 -1.118073
+v -1.118073 -2.242575 1.118073
+v -1.117130 -2.463 -0.819847
+v -1.117130 -2.463 0.819847
+v -1.101920 -0.2136 1.101920
+v -1.101920 -0.2136 -1.101920
+v -1.100200 -2.5026 0.000000
+v -1.100200 -2.5026 0.000000
+v -1.095040 -1.621875 -1.492110
+v -1.095040 -1.621875 1.492110
+v -1.086146 -0.0312 0.364854
+v -1.086146 -0.0312 -0.364854
+v -1.086029 -2.5026 0.180521
+v -1.086029 -2.5026 -0.180521
+v -1.083310 -0.4632 -1.476127
+v -1.083310 -0.4632 1.476127
+v -1.074940 -0.177075 -1.074940
+v -1.074940 -0.177075 1.074940
+v -1.072079 -2.4744 -0.557774
+v -1.072079 -2.4744 0.557774
+v -1.065000 -2.4 -1.065000
+v -1.065000 -0.15 -1.065000
+v -1.065000 -0.15 1.065000
+v -1.065000 -2.4 1.065000
+v -1.062497 -0.127575 1.062497
+v -1.062497 -0.127575 -1.062497
+v -1.059553 -1.7748 -1.443756
+v -1.059553 -1.7748 1.443756
+v -1.052064 -2.4 -0.772096
+v -1.052064 -2.4 0.772096
+v -1.051368 -0.1056 -1.051368
+v -1.051368 -0.1056 1.051368
+v -1.051031 -2.435437 -1.051031
+v -1.051031 -2.435437 1.051031
+v -1.044926 -2.5026 -0.351008
+v -1.044926 -2.5026 0.351008
+v -1.039419 -0.046875 -0.762816
+v -1.039419 -0.046875 0.762816
+v -1.039360 -0.384375 -1.416240
+v -1.039360 -0.384375 1.416240
+v -1.036316 -2.463 -1.036316
+v -1.036316 -2.463 1.036316
+v -1.031508 -2.4408 0.757010
+v -1.031508 -2.4408 -0.757010
+v -1.026181 -0.084525 -1.026181
+v -1.026181 -0.084525 1.026181
+v -1.021708 -2.482687 -1.021708
+v -1.021708 -2.482687 1.021708
+v -1.020503 -1.929525 -1.390545
+v -1.020503 -1.929525 1.390545
+v -1.017621 -0.0312 0.529441
+v -1.017621 -0.0312 -0.529441
+v -1.008058 -2.4945 -1.008058
+v -1.008058 -2.4945 1.008058
+v -0.996219 -2.498438 -0.996219
+v -0.996219 -2.498438 0.996219
+v -0.995410 -0.3168 -1.356353
+v -0.995410 -0.3168 1.356353
+v -0.994000 -2.4 -0.994000
+v -0.994000 -2.4 0.994000
+v -0.987042 -2.4945 -0.987042
+v -0.987042 -2.4945 0.987042
+v -0.984007 -2.435437 -0.984007
+v -0.984007 -2.435437 0.984007
+v -0.981504 -0.0648 0.981504
+v -0.981504 -0.0648 -0.981504
+v -0.981380 -2.482687 -0.981380
+v -0.981380 -2.482687 0.981380
+v -0.980084 -2.463 -0.980084
+v -0.980084 -2.463 0.980084
+v -0.979002 -2.5026 0.509349
+v -0.979002 -2.5026 -0.509349
+v -0.978780 -2.0856 -1.333693
+v -0.978780 -2.0856 1.333693
+v -0.975021 -2.4744 -0.715555
+v -0.975021 -2.4744 0.715555
+v -0.970400 -2.5272 0.000000
+v -0.970400 -2.5272 0.000000
+v -0.957901 -2.5272 -0.159223
+v -0.957901 -2.5272 0.159223
+v -0.955023 -0.260025 1.301322
+v -0.955023 -0.260025 -1.301322
+v -0.952425 -0.018225 -0.000000
+v -0.952425 -0.018225 0.000000
+v -0.940158 -0.018225 0.156274
+v -0.940158 -0.018225 -0.156274
+v -0.935276 -2.242575 -1.274414
+v -0.935276 -2.242575 1.274414
+v -0.925920 -0.9 -1.779680
+v -0.925920 -0.9 1.779680
+v -0.925920 -0.9 1.779680
+v -0.925920 -0.9 -1.779680
+v -0.925493 -0.0312 0.679207
+v -0.925493 -0.0312 -0.679207
+v -0.923000 -2.4 -0.923000
+v -0.923000 -2.4 0.923000
+v -0.922564 -1.037175 1.773229
+v -0.922564 -1.037175 -1.773229
+v -0.921764 -0.2136 1.256003
+v -0.921764 -0.2136 -1.256003
+v -0.921647 -2.5272 -0.309596
+v -0.921647 -2.5272 0.309596
+v -0.919439 -0.771675 -1.767222
+v -0.919439 -0.771675 1.767222
+v -0.912957 -1.1784 -1.754764
+v -0.912957 -1.1784 1.754764
+v -0.911906 -0.046875 -0.911906
+v -0.911906 -0.046875 0.911906
+v -0.904966 -2.4408 0.904966
+v -0.904966 -2.4408 -0.904966
+v -0.904575 -0.018225 0.303862
+v -0.904575 -0.018225 -0.303862
+v -0.901846 -0.6564 -1.733408
+v -0.901846 -0.6564 1.733408
+v -0.899195 -0.177075 1.225250
+v -0.899195 -0.177075 -1.225250
+v -0.897795 -1.323225 -1.725622
+v -0.897795 -1.323225 1.725622
+v -0.890880 -0.15 -1.213920
+v -0.890880 -0.15 1.213920
+v -0.890880 -2.4 -1.213920
+v -0.890880 -0.15 -1.213920
+v -0.890880 -0.15 1.213920
+v -0.890880 -2.4 1.213920
+v -0.890370 -2.5026 -0.653431
+v -0.890370 -2.5026 0.653431
+v -0.888786 -0.127575 1.211067
+v -0.888786 -0.127575 -1.211067
+v -0.879477 -0.1056 -1.198382
+v -0.879477 -0.1056 1.198382
+v -0.879195 -2.435437 -1.197997
+v -0.879195 -2.435437 1.197997
+v -0.877772 -1.4712 -1.687137
+v -0.877772 -1.4712 1.687137
+v -0.875920 -0.553725 -1.683577
+v -0.875920 -0.553725 1.683577
+v -0.866886 -2.463 -1.181225
+v -0.866886 -2.463 1.181225
+v -0.863501 -2.5272 -0.449256
+v -0.863501 -2.5272 0.449256
+v -0.858407 -0.084525 -1.169673
+v -0.858407 -0.084525 1.169673
+v -0.855408 -2.4744 -0.855408
+v -0.855408 -2.4744 0.855408
+v -0.854666 -2.482687 -1.164574
+v -0.854666 -2.482687 1.164574
+v -0.853583 -1.621875 -1.640643
+v -0.853583 -1.621875 1.640643
+v -0.847506 -0.018225 -0.440935
+v -0.847506 -0.018225 0.440935
+v -0.844439 -0.4632 1.623068
+v -0.844439 -0.4632 -1.623068
+v -0.843248 -2.4945 -1.149016
+v -0.843248 -2.4945 1.149016
+v -0.833344 -2.498438 -1.135521
+v -0.833344 -2.498438 1.135521
+v -0.831488 -2.4 -1.132992
+v -0.831488 -2.4 1.132992
+v -0.825921 -1.7748 1.587475
+v -0.825921 -1.7748 -1.587475
+v -0.825668 -2.4945 -1.125061
+v -0.825668 -2.4945 1.125061
+v -0.825000 -2.55 0.000000
+v -0.825000 -2.55 0.000000
+v -0.823129 -2.435437 -1.121601
+v -0.823129 -2.435437 1.121601
+v -0.821035 -0.0648 1.118749
+v -0.821035 -0.0648 -1.118749
+v -0.820931 -2.482687 1.118607
+v -0.820931 -2.482687 -1.118607
+v -0.819847 -2.463 -1.117130
+v -0.819847 -2.463 1.117130
+v -0.814374 -2.55 -0.135366
+v -0.814374 -2.55 0.135366
+v -0.811956 -0.0312 0.811956
+v -0.811956 -0.0312 -0.811956
+v -0.810180 -0.384375 1.557220
+v -0.810180 -0.384375 -1.557220
+v -0.795481 -1.929525 1.528968
+v -0.795481 -1.929525 -1.528968
+v -0.785325 -2.5272 -0.576340
+v -0.785325 -2.5272 0.576340
+v -0.783552 -2.55 -0.263208
+v -0.783552 -2.55 0.263208
+v -0.781142 -2.5026 -0.781142
+v -0.781142 -2.5026 0.781142
+v -0.775921 -0.3168 -1.491372
+v -0.775921 -0.3168 1.491372
+v -0.772096 -2.4 -1.052064
+v -0.772096 -2.4 1.052064
+v -0.770779 -0.018225 0.565664
+v -0.770779 -0.018225 -0.565664
+v -0.762958 -2.0856 -1.466456
+v -0.762958 -2.0856 1.466456
+v -0.762816 -0.046875 -1.039419
+v -0.762816 -0.046875 1.039419
+v -0.757010 -2.4408 1.031508
+v -0.757010 -2.4408 -1.031508
+v -0.744440 -0.260025 1.430863
+v -0.744440 -0.260025 -1.430863
+v -0.734118 -2.55 -0.381942
+v -0.734118 -2.55 0.381942
+v -0.729046 -2.242575 -1.401276
+v -0.729046 -2.242575 1.401276
+v -0.718514 -0.2136 1.381032
+v -0.718514 -0.2136 -1.381032
+v -0.715555 -2.4744 -0.975021
+v -0.715555 -2.4744 0.975021
+v -0.703200 -0.0084 0.000000
+v -0.700921 -0.177075 1.347218
+v -0.700921 -0.177075 -1.347218
+v -0.694440 -0.15 -1.334760
+v -0.694440 -0.15 1.334760
+v -0.694440 -2.4 1.334760
+v -0.694440 -0.15 1.334760
+v -0.694440 -2.4 -1.334760
+v -0.694440 -0.15 -1.334760
+v -0.694143 -0.0084 -0.115381
+v -0.694143 -0.0084 0.115381
+v -0.692808 -0.127575 1.331623
+v -0.692808 -0.127575 -1.331623
+v -0.688984 -2.5272 -0.688984
+v -0.688984 -2.5272 0.688984
+v -0.685551 -0.1056 -1.317675
+v -0.685551 -0.1056 1.317675
+v -0.685331 -2.435437 -1.317252
+v -0.685331 -2.435437 1.317252
+v -0.679207 -0.0312 -0.925493
+v -0.679207 -0.0312 0.925493
+v -0.676222 -0.018225 0.676222
+v -0.676222 -0.018225 -0.676222
+v -0.675736 -2.463 -1.298810
+v -0.675736 -2.463 1.298810
+v -0.673600 -2.5728 0.000000
+v -0.673600 -2.5728 0.000000
+v -0.669128 -0.084525 -1.286108
+v -0.669128 -0.084525 1.286108
+v -0.667871 -0.0084 -0.224349
+v -0.667871 -0.0084 0.224349
+v -0.667656 -2.55 -0.489984
+v -0.667656 -2.55 0.489984
+v -0.666211 -2.482687 1.280502
+v -0.666211 -2.482687 -1.280502
+v -0.664924 -2.5728 -0.110524
+v -0.664924 -2.5728 0.110524
+v -0.657311 -2.4945 -1.263395
+v -0.657311 -2.4945 1.263395
+v -0.653431 -2.5026 -0.890370
+v -0.653431 -2.5026 0.890370
+v -0.649591 -2.498438 -1.248557
+v -0.649591 -2.498438 1.248557
+v -0.648144 -2.4 -1.245776
+v -0.648144 -2.4 1.245776
+v -0.643607 -2.4945 -1.237056
+v -0.643607 -2.4945 1.237056
+v -0.641628 -2.435437 -1.233252
+v -0.641628 -2.435437 1.233252
+v -0.639996 -0.0648 -1.230115
+v -0.639996 -0.0648 1.230115
+v -0.639915 -2.482687 1.229959
+v -0.639915 -2.482687 -1.229959
+v -0.639758 -2.5728 -0.214905
+v -0.639758 -2.5728 0.214905
+v -0.639070 -2.463 -1.228335
+v -0.639070 -2.463 1.228335
+v -0.638080 -0.9 -1.899520
+v -0.638080 -0.9 -1.899520
+v -0.638080 -0.9 1.899520
+v -0.638080 -0.9 1.899520
+v -0.635767 -1.037175 -1.892634
+v -0.635767 -1.037175 1.892634
+v -0.633613 -0.771675 -1.886223
+v -0.633613 -0.771675 1.886223
+v -0.629147 -1.1784 -1.872927
+v -0.629147 -1.1784 1.872927
+v -0.625735 -0.0084 0.325553
+v -0.625735 -0.0084 -0.325553
+v -0.621490 -0.6564 -1.850132
+v -0.621490 -0.6564 1.850132
+v -0.618698 -1.323225 -1.841822
+v -0.618698 -1.323225 1.841822
+v -0.604900 -1.4712 -1.800745
+v -0.604900 -1.4712 1.800745
+v -0.603624 -0.553725 -1.796946
+v -0.603624 -0.553725 1.796946
+v -0.601848 -2.4 -1.156792
+v -0.601848 -2.4 1.156792
+v -0.599396 -2.5728 -0.311850
+v -0.599396 -2.5728 0.311850
+v -0.594614 -0.046875 -1.142888
+v -0.594614 -0.046875 1.142888
+v -0.590089 -2.4408 1.134190
+v -0.590089 -2.4408 -1.134190
+v -0.588230 -1.621875 -1.751120
+v -0.588230 -1.621875 1.751120
+v -0.585750 -2.55 -0.585750
+v -0.585750 -2.55 0.585750
+v -0.581929 -0.4632 -1.732362
+v -0.581929 -0.4632 1.732362
+v -0.576340 -2.5272 -0.785325
+v -0.576340 -2.5272 0.785325
+v -0.569167 -1.7748 -1.694372
+v -0.569167 -1.7748 1.694372
+v -0.569086 -0.0084 -0.417645
+v -0.569086 -0.0084 0.417645
+v -0.565664 -0.018225 0.770779
+v -0.565664 -0.018225 -0.770779
+v -0.558320 -0.384375 -1.662080
+v -0.558320 -0.384375 1.662080
+v -0.557774 -2.4744 -1.072079
+v -0.557774 -2.4744 1.072079
+v -0.548190 -1.929525 -1.631925
+v -0.548190 -1.929525 1.631925
+v -0.545131 -2.5728 -0.400065
+v -0.545131 -2.5728 0.400065
+v -0.534711 -0.3168 -1.591798
+v -0.534711 -0.3168 1.591798
+v -0.529441 -0.0312 -1.017621
+v -0.529441 -0.0312 1.017621
+v -0.525800 -2.5974 0.000000
+v -0.525800 -2.5974 0.000000
+v -0.525778 -2.0856 -1.565204
+v -0.525778 -2.0856 1.565204
+v -0.519028 -2.5974 0.086273
+v -0.519028 -2.5974 -0.086273
+v -0.513016 -0.260025 -1.527214
+v -0.513016 -0.260025 1.527214
+v -0.509349 -2.5026 0.979002
+v -0.509349 -2.5026 -0.979002
+v -0.502408 -2.242575 -1.495635
+v -0.502408 -2.242575 1.495635
+v -0.499384 -2.5974 -0.167751
+v -0.499384 -2.5974 0.167751
+v -0.499272 -0.0084 -0.499272
+v -0.499272 -0.0084 0.499272
+v -0.495150 -0.2136 -1.474028
+v -0.495150 -0.2136 1.474028
+v -0.489984 -2.55 -0.667656
+v -0.489984 -2.55 0.667656
+v -0.483027 -0.177075 -1.437937
+v -0.483027 -0.177075 1.437937
+v -0.478560 -0.15 1.424640
+v -0.478560 -2.4 -1.424640
+v -0.478560 -0.15 -1.424640
+v -0.478560 -0.15 -1.424640
+v -0.478560 -0.15 1.424640
+v -0.478560 -2.4 1.424640
+v -0.478256 -2.5728 -0.478256
+v -0.478256 -2.5728 0.478256
+v -0.477435 -0.127575 1.421292
+v -0.477435 -0.127575 -1.421292
+v -0.472434 -0.1056 1.406405
+v -0.472434 -0.1056 -1.406405
+v -0.472283 -2.435437 -1.405953
+v -0.472283 -2.435437 1.405953
+v -0.467878 -2.5974 -0.243424
+v -0.467878 -2.5974 0.243424
+v -0.465671 -2.463 -1.386270
+v -0.465671 -2.463 1.386270
+v -0.461116 -0.084525 1.372712
+v -0.461116 -0.084525 -1.372712
+v -0.459107 -2.482687 -1.366728
+v -0.459107 -2.482687 1.366728
+v -0.452973 -2.4945 -1.348469
+v -0.452973 -2.4945 1.348469
+v -0.449256 -2.5272 -0.863501
+v -0.449256 -2.5272 0.863501
+v -0.447653 -2.498438 -1.332632
+v -0.447653 -2.498438 1.332632
+v -0.446656 -2.4 -1.329664
+v -0.446656 -2.4 1.329664
+v -0.443529 -2.4945 -1.320356
+v -0.443529 -2.4945 1.320356
+v -0.442166 -2.435437 -1.316296
+v -0.442166 -2.435437 1.316296
+v -0.441041 -0.0648 1.312948
+v -0.441041 -0.0648 -1.312948
+v -0.440985 -2.482687 -1.312782
+v -0.440985 -2.482687 1.312782
+v -0.440935 -0.018225 0.847506
+v -0.440935 -0.018225 -0.847506
+v -0.440403 -2.463 -1.311049
+v -0.440403 -2.463 1.311049
+v -0.425519 -2.5974 0.312283
+v -0.425519 -2.5974 -0.312283
+v -0.417645 -0.0084 -0.569086
+v -0.417645 -0.0084 0.569086
+v -0.414752 -2.4 -1.234688
+v -0.414752 -2.4 1.234688
+v -0.409767 -0.046875 1.219848
+v -0.409767 -0.046875 -1.219848
+v -0.406648 -2.4408 -1.210564
+v -0.406648 -2.4408 1.210564
+v -0.400065 -2.5728 -0.545131
+v -0.400065 -2.5728 0.545131
+v -0.391200 -2.6256 0.000000
+v -0.391200 -2.6256 0.000000
+v -0.388275 -0.002175 -0.000000
+v -0.388275 -0.002175 0.000000
+v -0.386161 -2.6256 -0.064188
+v -0.386161 -2.6256 0.064188
+v -0.384379 -2.4744 -1.144271
+v -0.384379 -2.4744 1.144271
+v -0.383274 -0.002175 -0.063708
+v -0.383274 -0.002175 0.063708
+v -0.381942 -2.55 -0.734118
+v -0.381942 -2.55 0.734118
+v -0.373318 -2.5974 -0.373318
+v -0.373318 -2.5974 0.373318
+v -0.371546 -2.6256 -0.124808
+v -0.371546 -2.6256 0.124808
+v -0.368768 -0.002175 -0.123875
+v -0.368768 -0.002175 0.123875
+v -0.364854 -0.0312 1.086146
+v -0.364854 -0.0312 -1.086146
+v -0.358400 -3.0348 0.000000
+v -0.358400 -3.0348 0.000000
+v -0.358200 -3.08115 0.000000
+v -0.358200 -3.08115 0.000000
+v -0.353807 -3.0348 -0.059016
+v -0.353807 -3.0348 0.059016
+v -0.353610 -3.08115 -0.058988
+v -0.353610 -3.08115 0.058988
+v -0.351008 -2.5026 -1.044926
+v -0.351008 -2.5026 1.044926
+v -0.348105 -2.6256 -0.181110
+v -0.348105 -2.6256 0.181110
+v -0.345503 -0.002175 -0.179756
+v -0.345503 -0.002175 0.179756
+v -0.340477 -3.0348 -0.114676
+v -0.340477 -3.0348 0.114676
+v -0.340289 -3.08115 -0.114619
+v -0.340289 -3.08115 0.114619
+v -0.328160 -0.9 -1.974240
+v -0.328160 -0.9 1.974240
+v -0.328160 -0.9 1.974240
+v -0.326970 -1.037175 -1.967083
+v -0.326970 -1.037175 1.967083
+v -0.325863 -0.771675 -1.960420
+v -0.325863 -0.771675 1.960420
+v -0.325553 -0.0084 -0.625735
+v -0.325553 -0.0084 0.625735
+v -0.325000 -2.98125 0.000000
+v -0.325000 -2.98125 0.000000
+v -0.323566 -1.1784 -1.946601
+v -0.323566 -1.1784 1.946601
+v -0.320834 -2.98125 -0.053508
+v -0.320834 -2.98125 0.053508
+v -0.319628 -0.6564 -1.922910
+v -0.319628 -0.6564 1.922910
+v -0.319082 -3.0348 -0.166306
+v -0.319082 -3.0348 0.166306
+v -0.318907 -3.08115 -0.166221
+v -0.318907 -3.08115 0.166221
+v -0.318192 -1.323225 -1.914272
+v -0.318192 -1.323225 1.914272
+v -0.316590 -2.6256 -0.232342
+v -0.316590 -2.6256 0.232342
+v -0.314223 -0.002175 -0.230604
+v -0.314223 -0.002175 0.230604
+v -0.312283 -2.5974 -0.425519
+v -0.312283 -2.5974 0.425519
+v -0.311850 -2.5728 -0.599396
+v -0.311850 -2.5728 0.599396
+v -0.311096 -1.4712 -1.871580
+v -0.311096 -1.4712 1.871580
+v -0.310439 -0.553725 -1.867631
+v -0.310439 -0.553725 1.867631
+v -0.309596 -2.5272 -0.921647
+v -0.309596 -2.5272 0.921647
+v -0.308800 -3.1176 0.000000
+v -0.308800 -3.1176 0.000000
+v -0.308744 -2.98125 -0.103976
+v -0.308744 -2.98125 0.103976
+v -0.304843 -3.1176 -0.050855
+v -0.304843 -3.1176 0.050855
+v -0.303862 -0.018225 0.904575
+v -0.303862 -0.018225 -0.904575
+v -0.302523 -1.621875 -1.820003
+v -0.302522 -1.621875 1.820003
+v -0.299282 -0.4632 -1.800507
+v -0.299282 -0.4632 1.800507
+v -0.293360 -3.1176 -0.098814
+v -0.293360 -3.1176 0.098814
+v -0.292719 -1.7748 -1.761022
+v -0.292719 -1.7748 1.761022
+v -0.290295 -3.0348 -0.213234
+v -0.290295 -3.0348 0.213234
+v -0.290138 -3.08115 -0.213123
+v -0.290138 -3.08115 0.213123
+v -0.289340 -2.98125 -0.150793
+v -0.289340 -2.98125 0.150793
+v -0.287140 -0.384375 -1.727460
+v -0.287140 -0.384375 1.727460
+v -0.281930 -1.929525 1.696119
+v -0.281930 -1.929525 -1.696119
+v -0.279400 -2.6592 0.000000
+v -0.277752 -2.6256 -0.277752
+v -0.277752 -2.6256 0.277752
+v -0.275801 -2.6592 -0.045844
+v -0.275801 -2.6592 0.045844
+v -0.275675 -0.002175 -0.275675
+v -0.275675 -0.002175 0.275675
+v -0.274998 -0.3168 -1.654413
+v -0.274998 -0.3168 1.654413
+v -0.274928 -3.1176 -0.143301
+v -0.274928 -3.1176 0.143301
+v -0.273600 -2.9232 0.000000
+v -0.273600 -2.9232 0.000000
+v -0.270404 -2.0856 -1.626774
+v -0.270404 -2.0856 1.626774
+v -0.270092 -2.9232 -0.045032
+v -0.270092 -2.9232 0.045032
+v -0.265363 -2.6592 -0.089140
+v -0.265363 -2.6592 0.089140
+v -0.263841 -0.260025 1.587289
+v -0.263841 -0.260025 -1.587289
+v -0.263232 -2.98125 -0.193348
+v -0.263232 -2.98125 0.193348
+v -0.263208 -2.55 -0.783552
+v -0.263208 -2.55 0.783552
+v -0.259910 -2.9232 -0.087511
+v -0.259910 -2.9232 0.087511
+v -0.258385 -2.242575 -1.554467
+v -0.258385 -2.242575 1.554467
+v -0.254788 -3.0348 -0.254788
+v -0.254788 -3.0348 0.254788
+v -0.254653 -3.08115 -0.254653
+v -0.254653 -3.08115 0.254653
+v -0.254652 -0.2136 -1.532010
+v -0.254652 -0.2136 1.532010
+v -0.250127 -3.1176 -0.183734
+v -0.250127 -3.1176 0.183734
+v -0.248621 -2.6592 0.129351
+v -0.248621 -2.6592 -0.129351
+v -0.248417 -0.177075 -1.494500
+v -0.248417 -0.177075 1.494500
+v -0.246120 -0.15 1.480680
+v -0.246120 -2.4 -1.480680
+v -0.246120 -0.15 -1.480680
+v -0.246120 -0.15 -1.480680
+v -0.246120 -0.15 1.480680
+v -0.246120 -2.4 1.480680
+v -0.245542 -0.127575 1.477200
+v -0.245542 -0.127575 -1.477200
+v -0.243569 -2.9232 -0.126920
+v -0.243569 -2.9232 0.126920
+v -0.243424 -2.5974 0.467878
+v -0.243424 -2.5974 -0.467878
+v -0.242970 -0.1056 1.461727
+v -0.242970 -0.1056 -1.461727
+v -0.242892 -2.435437 -1.461258
+v -0.242892 -2.435437 1.461258
+v -0.239491 -2.463 -1.440800
+v -0.239491 -2.463 1.440800
+v -0.237149 -0.084525 1.426709
+v -0.237149 -0.084525 -1.426709
+v -0.236115 -2.482687 -1.420490
+v -0.236115 -2.482687 1.420490
+v -0.232961 -2.4945 -1.401513
+v -0.232961 -2.4945 1.401513
+v -0.232342 -2.6256 -0.316590
+v -0.232342 -2.6256 0.316590
+v -0.231031 -2.98125 -0.231031
+v -0.231031 -2.98125 0.231031
+v -0.230604 -0.002175 -0.314223
+v -0.230604 -0.002175 0.314223
+v -0.230225 -2.498438 -1.385053
+v -0.230225 -2.498438 1.385053
+v -0.229712 -2.4 -1.381968
+v -0.229712 -2.4 1.381968
+v -0.228104 -2.4945 -1.372294
+v -0.228104 -2.4945 1.372294
+v -0.227403 -2.435437 -1.368074
+v -0.227403 -2.435437 1.368074
+v -0.226824 -0.0648 1.364595
+v -0.226824 -0.0648 -1.364595
+v -0.226795 -2.482687 1.364422
+v -0.226795 -2.482687 -1.364422
+v -0.226496 -2.463 -1.362620
+v -0.226496 -2.463 1.362620
+v -0.226113 -2.6592 -0.165941
+v -0.226113 -2.6592 0.165941
+v -0.224349 -0.0084 0.667871
+v -0.224349 -0.0084 -0.667871
+v -0.221585 -2.9232 -0.162745
+v -0.221585 -2.9232 0.162745
+v -0.219800 -2.86335 0.000000
+v -0.219800 -2.86335 0.000000
+v -0.219536 -3.1176 -0.219536
+v -0.219536 -3.1176 0.219536
+v -0.216979 -2.86335 0.036157
+v -0.216979 -2.86335 -0.036157
+v -0.214905 -2.5728 -0.639758
+v -0.214905 -2.5728 0.639758
+v -0.213304 -2.4 -1.283256
+v -0.213304 -2.4 1.283256
+v -0.213234 -3.0348 -0.290295
+v -0.213234 -3.0348 0.290295
+v -0.213123 -3.08115 -0.290138
+v -0.213123 -3.08115 0.290138
+v -0.210740 -0.046875 -1.267832
+v -0.210740 -0.046875 1.267832
+v -0.209136 -2.4408 -1.258183
+v -0.209136 -2.4408 1.258183
+v -0.208794 -2.86335 0.070270
+v -0.208794 -2.86335 -0.070270
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.198374 -2.6592 -0.198374
+v -0.198374 -2.6592 0.198374
+v -0.197684 -2.4744 -1.189282
+v -0.197684 -2.4744 1.189282
+v -0.197424 -2.7 -0.032816
+v -0.197424 -2.7 0.032816
+v -0.197424 -2.7 0.032816
+v -0.197424 -2.7 -0.032816
+v -0.195658 -2.86335 -0.101925
+v -0.195658 -2.86335 0.101925
+v -0.194600 -3.14145 0.000000
+v -0.194600 -3.14145 0.000000
+v -0.194472 -2.9232 -0.194472
+v -0.194472 -2.9232 0.194472
+v -0.193348 -2.98125 -0.263232
+v -0.193348 -2.98125 0.263232
+v -0.192107 -3.14145 -0.032048
+v -0.192107 -3.14145 0.032048
+v -0.189952 -2.7 -0.063808
+v -0.189952 -2.7 0.063808
+v -0.189952 -2.7 0.063808
+v -0.189952 -2.7 -0.063808
+v -0.187642 -0.0312 1.128870
+v -0.187642 -0.0312 -1.128870
+v -0.184870 -3.14145 -0.062272
+v -0.184870 -3.14145 0.062272
+v -0.183734 -3.1176 -0.250127
+v -0.183734 -3.1176 0.250127
+v -0.181110 -2.6256 0.348105
+v -0.181110 -2.6256 -0.348105
+v -0.180521 -2.5026 -1.086029
+v -0.180521 -2.5026 1.086029
+v -0.179756 -0.002175 -0.345503
+v -0.179756 -0.002175 0.345503
+v -0.179200 -2.8044 0.000000
+v -0.179200 -2.8044 0.000000
+v -0.177989 -2.86335 -0.130707
+v -0.177989 -2.86335 0.130707
+v -0.177968 -2.7 -0.092592
+v -0.177968 -2.7 0.092592
+v -0.177968 -2.7 0.092592
+v -0.177968 -2.7 -0.092592
+v -0.176897 -2.8044 0.029450
+v -0.176897 -2.8044 -0.029450
+v -0.173255 -3.14145 -0.090306
+v -0.173255 -3.14145 0.090306
+v -0.170215 -2.8044 0.057246
+v -0.170215 -2.8044 -0.057246
+v -0.167751 -2.5974 -0.499384
+v -0.167751 -2.5974 0.499384
+v -0.167400 -2.74905 0.000000
+v -0.167400 -2.74905 0.000000
+v -0.166306 -3.0348 -0.319082
+v -0.166306 -3.0348 0.319082
+v -0.166221 -3.08115 0.318907
+v -0.166221 -3.08115 -0.318907
+v -0.165941 -2.6592 -0.226113
+v -0.165941 -2.6592 0.226113
+v -0.165245 -2.74905 0.027480
+v -0.165245 -2.74905 -0.027480
+v -0.162745 -2.9232 -0.221585
+v -0.162745 -2.9232 0.221585
+v -0.161856 -2.7 -0.118784
+v -0.161856 -2.7 0.118784
+v -0.161856 -2.7 0.118784
+v -0.161856 -2.7 -0.118784
+v -0.159496 -2.8044 0.083047
+v -0.159496 -2.8044 -0.083047
+v -0.159223 -2.5272 -0.957901
+v -0.159223 -2.5272 0.957901
+v -0.158995 -2.74905 0.053428
+v -0.158995 -2.74905 -0.053428
+v -0.157626 -3.14145 -0.115787
+v -0.157626 -3.14145 0.115787
+v -0.156274 -0.018225 0.940158
+v -0.156274 -0.018225 -0.940158
+v -0.156200 -2.86335 -0.156200
+v -0.156200 -2.86335 0.156200
+v -0.150793 -2.98125 -0.289340
+v -0.150793 -2.98125 0.289340
+v -0.148969 -2.74905 0.077523
+v -0.148969 -2.74905 -0.077523
+v -0.145078 -2.8044 0.106513
+v -0.145078 -2.8044 -0.106513
+v -0.143301 -3.1176 -0.274928
+v -0.143301 -3.1176 0.274928
+v -0.142000 -2.7 -0.142000
+v -0.142000 -2.7 0.142000
+v -0.142000 -2.7 0.142000
+v -0.142000 -2.7 -0.142000
+v -0.138348 -3.14145 -0.138348
+v -0.138348 -3.14145 0.138348
+v -0.135489 -2.74905 0.099446
+v -0.135489 -2.74905 -0.099446
+v -0.135366 -2.55 -0.814374
+v -0.135366 -2.55 0.814374
+v -0.130707 -2.86335 -0.177989
+v -0.130707 -2.86335 0.177989
+v -0.129351 -2.6592 0.248621
+v -0.129351 -2.6592 -0.248621
+v -0.127304 -2.8044 0.127304
+v -0.127304 -2.8044 -0.127304
+v -0.126920 -2.9232 -0.243569
+v -0.126920 -2.9232 0.243569
+v -0.124808 -2.6256 -0.371546
+v -0.124808 -2.6256 0.371546
+v -0.123875 -0.002175 0.368768
+v -0.123875 -0.002175 -0.368768
+v -0.118874 -2.74905 0.118874
+v -0.118874 -2.74905 -0.118874
+v -0.118784 -2.7 -0.161856
+v -0.118784 -2.7 0.161856
+v -0.118784 -2.7 0.161856
+v -0.118784 -2.7 -0.161856
+v -0.115787 -3.14145 -0.157626
+v -0.115787 -3.14145 0.157626
+v -0.115381 -0.0084 0.694143
+v -0.115381 -0.0084 -0.694143
+v -0.114676 -3.0348 -0.340477
+v -0.114676 -3.0348 0.340477
+v -0.114619 -3.08115 -0.340289
+v -0.114619 -3.08115 0.340289
+v -0.110524 -2.5728 -0.664924
+v -0.110524 -2.5728 0.664924
+v -0.106513 -2.8044 -0.145078
+v -0.106513 -2.8044 0.145078
+v -0.103976 -2.98125 -0.308744
+v -0.103976 -2.98125 0.308744
+v -0.101925 -2.86335 -0.195658
+v -0.101925 -2.86335 0.195658
+v -0.099446 -2.74905 0.135489
+v -0.099446 -2.74905 -0.135489
+v -0.098814 -3.1176 -0.293360
+v -0.098814 -3.1176 0.293360
+v -0.092592 -2.7 -0.177968
+v -0.092592 -2.7 0.177968
+v -0.092592 -2.7 -0.177968
+v -0.092592 -2.7 0.177968
+v -0.090306 -3.14145 -0.173255
+v -0.090306 -3.14145 0.173255
+v -0.089140 -2.6592 -0.265363
+v -0.089140 -2.6592 0.265363
+v -0.087511 -2.9232 -0.259910
+v -0.087511 -2.9232 0.259910
+v -0.086273 -2.5974 -0.519028
+v -0.086273 -2.5974 0.519028
+v -0.083047 -2.8044 -0.159496
+v -0.083047 -2.8044 0.159496
+v -0.077523 -2.74905 -0.148969
+v -0.077523 -2.74905 0.148969
+v -0.070270 -2.86335 -0.208794
+v -0.070270 -2.86335 0.208794
+v -0.064188 -2.6256 -0.386161
+v -0.064188 -2.6256 0.386161
+v -0.063808 -2.7 -0.189952
+v -0.063808 -2.7 0.189952
+v -0.063808 -2.7 -0.189952
+v -0.063808 -2.7 0.189952
+v -0.063708 -0.002175 0.383274
+v -0.063708 -0.002175 -0.383274
+v -0.062272 -3.14145 -0.184870
+v -0.062272 -3.14145 0.184870
+v -0.059016 -3.0348 -0.353807
+v -0.059016 -3.0348 0.353807
+v -0.058988 -3.08115 -0.353610
+v -0.058988 -3.08115 0.353610
+v -0.057246 -2.8044 -0.170215
+v -0.057246 -2.8044 0.170215
+v -0.053508 -2.98125 -0.320834
+v -0.053508 -2.98125 0.320834
+v -0.053428 -2.74905 -0.158995
+v -0.053428 -2.74905 0.158995
+v -0.050855 -3.1176 -0.304843
+v -0.050855 -3.1176 0.304843
+v -0.045844 -2.6592 -0.275801
+v -0.045844 -2.6592 0.275801
+v -0.045032 -2.9232 -0.270092
+v -0.045032 -2.9232 0.270092
+v -0.036157 -2.86335 -0.216979
+v -0.036157 -2.86335 0.216979
+v -0.032816 -2.7 -0.197424
+v -0.032816 -2.7 0.197424
+v -0.032816 -2.7 -0.197424
+v -0.032816 -2.7 0.197424
+v -0.032048 -3.14145 -0.192107
+v -0.032048 -3.14145 0.192107
+v -0.029450 -2.8044 -0.176897
+v -0.029450 -2.8044 0.176897
+v -0.027480 -2.74905 -0.165245
+v -0.027480 -2.74905 0.165245
+v -0.000000 -0.260025 1.608000
+v -0.000000 -1.929525 1.718250
+v -0.000000 -2.0856 -1.648000
+v -0.000000 -0.6564 -1.948000
+v -0.000000 -0.771675 -1.986000
+v -0.000000 -2.482687 1.382225
+v -0.000000 -2.7 -0.200000
+v -0.000000 -0.127575 1.496475
+v -0.000000 -2.4744 -1.204800
+v -0.000000 -2.74905 -0.167400
+v -0.000000 -0.018225 0.952425
+v -0.000000 -0.046875 -1.284375
+v -0.000000 -0.0648 1.382400
+v -0.000000 -0.384375 1.750000
+v -0.000000 -0.4632 1.824000
+v -0.000000 -0.553725 -1.892000
+v -0.000000 -1.037175 1.992750
+v -0.000000 -1.1784 1.972000
+v -0.000000 -1.323225 -1.939250
+v -0.000000 -1.621875 -1.843750
+v -0.000000 -1.7748 1.784000
+v -0.000000 -2.4 -1.300000
+v -0.000000 -2.435437 -1.480325
+v -0.000000 -2.435437 -1.385925
+v -0.000000 -2.463 -1.459600
+v -0.000000 -2.463 -1.380400
+v -0.000000 -2.4945 -1.390200
+v -0.000000 -2.5026 -1.100200
+v -0.000000 -2.8044 -0.179200
+v -0.000000 -2.86335 -0.219800
+v -0.000000 -2.5728 -0.673600
+v -0.000000 -0.1056 1.480800
+v -0.000000 -0.177075 -1.514000
+v -0.000000 -2.4945 -1.419800
+v -0.000000 -2.5272 -0.970400
+v -0.000000 -2.9232 -0.273600
+v -0.000000 -3.1176 -0.308800
+v -0.000000 -2.5974 -0.525800
+v -0.000000 -2.7 -0.200000
+v -0.000000 -2.98125 -0.325000
+v -0.000000 -3.14145 -0.194600
+v -0.000000 -0.002175 0.388275
+v -0.000000 -3.08115 -0.358200
+v 0.000000 -0.0 0.000000
+v 0.000000 -0.002175 -0.388275
+v 0.000000 -0.002175 0.388275
+v 0.000000 -0.0084 -0.703200
+v 0.000000 -0.0084 0.703200
+v 0.000000 -0.018225 -0.952425
+v 0.000000 -0.018225 0.952425
+v 0.000000 -0.0312 -1.143600
+v 0.000000 -0.0312 -1.143600
+v 0.000000 -0.0312 1.143600
+v 0.000000 -0.0312 1.143600
+v 0.000000 -0.046875 -1.284375
+v 0.000000 -0.046875 1.284375
+v 0.000000 -0.0648 -1.382400
+v 0.000000 -0.0648 1.382400
+v 0.000000 -0.084525 -1.445325
+v 0.000000 -0.084525 -1.445325
+v 0.000000 -0.084525 1.445325
+v 0.000000 -0.084525 1.445325
+v 0.000000 -0.1056 -1.480800
+v 0.000000 -0.1056 1.480800
+v 0.000000 -0.127575 -1.496475
+v 0.000000 -0.127575 1.496475
+v 0.000000 -0.15 -1.500000
+v 0.000000 -0.15 -1.500000
+v 0.000000 -0.15 1.500000
+v 0.000000 -0.15 1.500000
+v 0.000000 -0.177075 -1.514000
+v 0.000000 -0.177075 1.514000
+v 0.000000 -0.2136 -1.552000
+v 0.000000 -0.2136 -1.552000
+v 0.000000 -0.2136 1.552000
+v 0.000000 -0.2136 1.552000
+v 0.000000 -0.260025 -1.608000
+v 0.000000 -0.260025 1.608000
+v 0.000000 -0.3168 -1.676000
+v 0.000000 -0.3168 -1.676000
+v 0.000000 -0.3168 1.676000
+v 0.000000 -0.3168 1.676000
+v 0.000000 -0.384375 -1.750000
+v 0.000000 -0.384375 1.750000
+v 0.000000 -0.4632 -1.824000
+v 0.000000 -0.4632 1.824000
+v 0.000000 -0.553725 -1.892000
+v 0.000000 -0.553725 1.892000
+v 0.000000 -0.6564 -1.948000
+v 0.000000 -0.6564 1.948000
+v 0.000000 -0.771675 -1.986000
+v 0.000000 -0.771675 1.986000
+v 0.000000 -0.9 -2.000000
+v 0.000000 -0.9 -2.000000
+v 0.000000 -0.9 2.000000
+v 0.000000 -0.9 2.000000
+v 0.000000 -1.037175 -1.992750
+v 0.000000 -1.037175 1.992750
+v 0.000000 -1.1784 -1.972000
+v 0.000000 -1.1784 1.972000
+v 0.000000 -1.323225 -1.939250
+v 0.000000 -1.323225 1.939250
+v 0.000000 -1.4712 -1.896000
+v 0.000000 -1.4712 -1.896000
+v 0.000000 -1.4712 1.896000
+v 0.000000 -1.4712 1.896000
+v 0.000000 -1.621875 -1.843750
+v 0.000000 -1.621875 1.843750
+v 0.000000 -1.7748 -1.784000
+v 0.000000 -1.7748 1.784000
+v 0.000000 -1.929525 -1.718250
+v 0.000000 -1.929525 1.718250
+v 0.000000 -2.0856 -1.648000
+v 0.000000 -2.0856 1.648000
+v 0.000000 -2.242575 -1.574750
+v 0.000000 -2.242575 -1.574750
+v 0.000000 -2.242575 1.574750
+v 0.000000 -2.242575 1.574750
+v 0.000000 -2.4 -1.500000
+v 0.000000 -2.4 -1.500000
+v 0.000000 -2.4 -1.400000
+v 0.000000 -2.4 -1.400000
+v 0.000000 -2.4 -1.300000
+v 0.000000 -2.4 1.300000
+v 0.000000 -2.4 1.400000
+v 0.000000 -2.4 1.400000
+v 0.000000 -2.4 1.500000
+v 0.000000 -2.4 1.500000
+v 0.000000 -2.435437 -1.480325
+v 0.000000 -2.435437 -1.385925
+v 0.000000 -2.435437 1.385925
+v 0.000000 -2.435437 1.480325
+v 0.000000 -2.4408 -1.274600
+v 0.000000 -2.4408 -1.274600
+v 0.000000 -2.4408 1.274600
+v 0.000000 -2.4408 1.274600
+v 0.000000 -2.463 -1.459600
+v 0.000000 -2.463 -1.380400
+v 0.000000 -2.463 1.380400
+v 0.000000 -2.463 1.459600
+v 0.000000 -2.4744 -1.204800
+v 0.000000 -2.4744 1.204800
+v 0.000000 -2.482687 -1.439025
+v 0.000000 -2.482687 -1.382225
+v 0.000000 -2.482687 1.382225
+v 0.000000 -2.482687 1.439025
+v 0.000000 -2.4945 -1.419800
+v 0.000000 -2.4945 -1.390200
+v 0.000000 -2.4945 1.390200
+v 0.000000 -2.4945 1.419800
+v 0.000000 -2.498438 -1.403125
+v 0.000000 -2.498438 -1.403125
+v 0.000000 -2.498438 1.403125
+v 0.000000 -2.498438 1.403125
+v 0.000000 -2.5026 -1.100200
+v 0.000000 -2.5026 1.100200
+v 0.000000 -2.5272 -0.970400
+v 0.000000 -2.5272 0.970400
+v 0.000000 -2.55 -0.825000
+v 0.000000 -2.55 -0.825000
+v 0.000000 -2.55 0.825000
+v 0.000000 -2.55 0.825000
+v 0.000000 -2.5728 -0.673600
+v 0.000000 -2.5728 0.673600
+v 0.000000 -2.5974 -0.525800
+v 0.000000 -2.5974 0.525800
+v 0.000000 -2.6256 -0.391200
+v 0.000000 -2.6256 -0.391200
+v 0.000000 -2.6256 0.391200
+v 0.000000 -2.6256 0.391200
+v 0.000000 -2.6592 -0.279400
+v 0.000000 -2.6592 0.279400
+v 0.000000 -2.7 -0.200000
+v 0.000000 -2.7 -0.200000
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.74905 -0.167400
+v 0.000000 -2.74905 0.167400
+v 0.000000 -2.8044 -0.179200
+v 0.000000 -2.8044 0.179200
+v 0.000000 -2.86335 -0.219800
+v 0.000000 -2.86335 0.219800
+v 0.000000 -2.9232 -0.273600
+v 0.000000 -2.9232 0.273600
+v 0.000000 -2.98125 -0.325000
+v 0.000000 -2.98125 0.325000
+v 0.000000 -3.0348 -0.358400
+v 0.000000 -3.0348 -0.358400
+v 0.000000 -3.0348 0.358400
+v 0.000000 -3.0348 0.358400
+v 0.000000 -3.08115 -0.358200
+v 0.000000 -3.08115 0.358200
+v 0.000000 -3.1176 -0.308800
+v 0.000000 -3.1176 0.308800
+v 0.000000 -3.14145 -0.194600
+v 0.000000 -3.14145 0.194600
+v 0.000000 -3.15 0.000000
+v 0.000000 -0.002175 -0.388275
+v 0.000000 -3.08115 0.358200
+v 0.000000 -2.5974 0.525800
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.98125 0.325000
+v 0.000000 -3.14145 0.194600
+v 0.000000 -3.1176 0.308800
+v 0.000000 -0.1056 -1.480800
+v 0.000000 -0.177075 1.514000
+v 0.000000 -2.4945 1.419800
+v 0.000000 -2.5272 0.970400
+v 0.000000 -2.9232 0.273600
+v 0.000000 -2.5728 0.673600
+v 0.000000 -2.86335 0.219800
+v 0.000000 -0.018225 -0.952425
+v 0.000000 -0.046875 1.284375
+v 0.000000 -0.0648 -1.382400
+v 0.000000 -0.384375 -1.750000
+v 0.000000 -0.4632 -1.824000
+v 0.000000 -0.553725 1.892000
+v 0.000000 -1.037175 -1.992750
+v 0.000000 -1.1784 -1.972000
+v 0.000000 -1.323225 1.939250
+v 0.000000 -1.621875 1.843750
+v 0.000000 -1.7748 -1.784000
+v 0.000000 -2.4 1.300000
+v 0.000000 -2.435437 1.385925
+v 0.000000 -2.435437 1.480325
+v 0.000000 -2.463 1.380400
+v 0.000000 -2.463 1.459600
+v 0.000000 -2.4945 1.390200
+v 0.000000 -2.5026 1.100200
+v 0.000000 -2.8044 0.179200
+v 0.000000 -2.74905 0.167400
+v 0.000000 -0.127575 -1.496475
+v 0.000000 -2.4744 1.204800
+v 0.000000 -0.6564 1.948000
+v 0.000000 -0.771675 1.986000
+v 0.000000 -2.482687 -1.382225
+v 0.000000 -2.7 0.200000
+v 0.000000 -0.260025 -1.608000
+v 0.000000 -1.929525 -1.718250
+v 0.000000 -2.0856 1.648000
+v 0.027480 -2.74905 -0.165245
+v 0.027480 -2.74905 0.165245
+v 0.029450 -2.8044 -0.176897
+v 0.029450 -2.8044 0.176897
+v 0.032048 -3.14145 -0.192107
+v 0.032048 -3.14145 0.192107
+v 0.032816 -2.7 -0.197424
+v 0.032816 -2.7 0.197424
+v 0.032816 -2.7 -0.197424
+v 0.032816 -2.7 0.197424
+v 0.036157 -2.86335 -0.216979
+v 0.036157 -2.86335 0.216979
+v 0.045032 -2.9232 -0.270092
+v 0.045032 -2.9232 0.270092
+v 0.045844 -2.6592 -0.275801
+v 0.045844 -2.6592 0.275801
+v 0.050855 -3.1176 -0.304843
+v 0.050855 -3.1176 0.304843
+v 0.053428 -2.74905 -0.158995
+v 0.053428 -2.74905 0.158995
+v 0.053508 -2.98125 -0.320834
+v 0.053508 -2.98125 0.320834
+v 0.057246 -2.8044 -0.170215
+v 0.057246 -2.8044 0.170215
+v 0.058988 -3.08115 -0.353610
+v 0.058988 -3.08115 0.353610
+v 0.059016 -3.0348 -0.353807
+v 0.059016 -3.0348 0.353807
+v 0.062272 -3.14145 -0.184870
+v 0.062272 -3.14145 0.184870
+v 0.063708 -0.002175 0.383274
+v 0.063708 -0.002175 -0.383274
+v 0.063808 -2.7 -0.189952
+v 0.063808 -2.7 0.189952
+v 0.063808 -2.7 -0.189952
+v 0.063808 -2.7 0.189952
+v 0.064188 -2.6256 -0.386161
+v 0.064188 -2.6256 0.386161
+v 0.070270 -2.86335 -0.208794
+v 0.070270 -2.86335 0.208794
+v 0.077523 -2.74905 -0.148969
+v 0.077523 -2.74905 0.148969
+v 0.083047 -2.8044 -0.159496
+v 0.083047 -2.8044 0.159496
+v 0.086273 -2.5974 -0.519028
+v 0.086273 -2.5974 0.519028
+v 0.087511 -2.9232 -0.259910
+v 0.087511 -2.9232 0.259910
+v 0.089140 -2.6592 -0.265363
+v 0.089140 -2.6592 0.265363
+v 0.090306 -3.14145 -0.173255
+v 0.090306 -3.14145 0.173255
+v 0.092592 -2.7 -0.177968
+v 0.092592 -2.7 0.177968
+v 0.092592 -2.7 -0.177968
+v 0.092592 -2.7 0.177968
+v 0.098814 -3.1176 -0.293360
+v 0.098814 -3.1176 0.293360
+v 0.099446 -2.74905 0.135489
+v 0.099446 -2.74905 -0.135489
+v 0.101925 -2.86335 -0.195658
+v 0.101925 -2.86335 0.195658
+v 0.103976 -2.98125 -0.308744
+v 0.103976 -2.98125 0.308744
+v 0.106513 -2.8044 -0.145078
+v 0.106513 -2.8044 0.145078
+v 0.110524 -2.5728 -0.664924
+v 0.110524 -2.5728 0.664924
+v 0.114619 -3.08115 -0.340289
+v 0.114619 -3.08115 0.340289
+v 0.114676 -3.0348 -0.340477
+v 0.114676 -3.0348 0.340477
+v 0.115381 -0.0084 0.694143
+v 0.115381 -0.0084 -0.694143
+v 0.115787 -3.14145 -0.157626
+v 0.115787 -3.14145 0.157626
+v 0.118784 -2.7 0.161856
+v 0.118784 -2.7 -0.161856
+v 0.118784 -2.7 -0.161856
+v 0.118784 -2.7 0.161856
+v 0.118874 -2.74905 0.118874
+v 0.118874 -2.74905 -0.118874
+v 0.123875 -0.002175 0.368768
+v 0.123875 -0.002175 -0.368768
+v 0.124808 -2.6256 -0.371546
+v 0.124808 -2.6256 0.371546
+v 0.126920 -2.9232 -0.243569
+v 0.126920 -2.9232 0.243569
+v 0.127304 -2.8044 0.127304
+v 0.127304 -2.8044 -0.127304
+v 0.129351 -2.6592 0.248621
+v 0.129351 -2.6592 -0.248621
+v 0.130707 -2.86335 -0.177989
+v 0.130707 -2.86335 0.177989
+v 0.135366 -2.55 -0.814374
+v 0.135366 -2.55 0.814374
+v 0.135489 -2.74905 0.099446
+v 0.135489 -2.74905 -0.099446
+v 0.138348 -3.14145 -0.138348
+v 0.138348 -3.14145 0.138348
+v 0.142000 -2.7 0.142000
+v 0.142000 -2.7 -0.142000
+v 0.142000 -2.7 -0.142000
+v 0.142000 -2.7 0.142000
+v 0.143301 -3.1176 -0.274928
+v 0.143301 -3.1176 0.274928
+v 0.145078 -2.8044 0.106513
+v 0.145078 -2.8044 -0.106513
+v 0.148969 -2.74905 0.077523
+v 0.148969 -2.74905 -0.077523
+v 0.150793 -2.98125 -0.289340
+v 0.150793 -2.98125 0.289340
+v 0.156200 -2.86335 -0.156200
+v 0.156200 -2.86335 0.156200
+v 0.156274 -0.018225 0.940158
+v 0.156274 -0.018225 -0.940158
+v 0.157626 -3.14145 -0.115787
+v 0.157626 -3.14145 0.115787
+v 0.158995 -2.74905 0.053428
+v 0.158995 -2.74905 -0.053428
+v 0.159223 -2.5272 -0.957901
+v 0.159223 -2.5272 0.957901
+v 0.159496 -2.8044 0.083047
+v 0.159496 -2.8044 -0.083047
+v 0.161856 -2.7 0.118784
+v 0.161856 -2.7 -0.118784
+v 0.161856 -2.7 -0.118784
+v 0.161856 -2.7 0.118784
+v 0.162745 -2.9232 -0.221585
+v 0.162745 -2.9232 0.221585
+v 0.165245 -2.74905 0.027480
+v 0.165245 -2.74905 -0.027480
+v 0.165941 -2.6592 -0.226113
+v 0.165941 -2.6592 0.226113
+v 0.166221 -3.08115 0.318907
+v 0.166221 -3.08115 -0.318907
+v 0.166306 -3.0348 -0.319082
+v 0.166306 -3.0348 0.319082
+v 0.167400 -2.74905 -0.000000
+v 0.167400 -2.74905 0.000000
+v 0.167751 -2.5974 -0.499384
+v 0.167751 -2.5974 0.499384
+v 0.170215 -2.8044 0.057246
+v 0.170215 -2.8044 -0.057246
+v 0.173255 -3.14145 -0.090306
+v 0.173255 -3.14145 0.090306
+v 0.176897 -2.8044 0.029450
+v 0.176897 -2.8044 -0.029450
+v 0.177968 -2.7 0.092592
+v 0.177968 -2.7 -0.092592
+v 0.177968 -2.7 -0.092592
+v 0.177968 -2.7 0.092592
+v 0.177989 -2.86335 -0.130707
+v 0.177989 -2.86335 0.130707
+v 0.179200 -2.8044 -0.000000
+v 0.179200 -2.8044 0.000000
+v 0.179756 -0.002175 -0.345503
+v 0.179756 -0.002175 0.345503
+v 0.180521 -2.5026 -1.086029
+v 0.180521 -2.5026 1.086029
+v 0.181110 -2.6256 0.348105
+v 0.181110 -2.6256 -0.348105
+v 0.183734 -3.1176 -0.250127
+v 0.183734 -3.1176 0.250127
+v 0.184870 -3.14145 -0.062272
+v 0.184870 -3.14145 0.062272
+v 0.187642 -0.0312 1.128870
+v 0.187642 -0.0312 -1.128870
+v 0.189952 -2.7 0.063808
+v 0.189952 -2.7 -0.063808
+v 0.189952 -2.7 -0.063808
+v 0.189952 -2.7 0.063808
+v 0.192107 -3.14145 -0.032048
+v 0.192107 -3.14145 0.032048
+v 0.193348 -2.98125 -0.263232
+v 0.193348 -2.98125 0.263232
+v 0.194472 -2.9232 -0.194472
+v 0.194472 -2.9232 0.194472
+v 0.194600 -3.14145 0.000000
+v 0.194600 -3.14145 -0.000000
+v 0.195658 -2.86335 -0.101925
+v 0.195658 -2.86335 0.101925
+v 0.197424 -2.7 0.032816
+v 0.197424 -2.7 -0.032816
+v 0.197424 -2.7 -0.032816
+v 0.197424 -2.7 0.032816
+v 0.197684 -2.4744 -1.189282
+v 0.197684 -2.4744 1.189282
+v 0.198374 -2.6592 -0.198374
+v 0.198374 -2.6592 0.198374
+v 0.200000 -2.7 -0.000000
+v 0.200000 -2.7 0.000000
+v 0.200000 -2.7 0.000000
+v 0.200000 -2.7 -0.000000
+v 0.208794 -2.86335 0.070270
+v 0.208794 -2.86335 -0.070270
+v 0.209136 -2.4408 -1.258183
+v 0.209136 -2.4408 1.258183
+v 0.210740 -0.046875 -1.267832
+v 0.210740 -0.046875 1.267832
+v 0.213123 -3.08115 -0.290138
+v 0.213123 -3.08115 0.290138
+v 0.213234 -3.0348 -0.290295
+v 0.213234 -3.0348 0.290295
+v 0.213304 -2.4 -1.283256
+v 0.213304 -2.4 1.283256
+v 0.214905 -2.5728 -0.639758
+v 0.214905 -2.5728 0.639758
+v 0.216979 -2.86335 0.036157
+v 0.216979 -2.86335 -0.036157
+v 0.219536 -3.1176 -0.219536
+v 0.219536 -3.1176 0.219536
+v 0.219800 -2.86335 -0.000000
+v 0.219800 -2.86335 0.000000
+v 0.221585 -2.9232 -0.162745
+v 0.221585 -2.9232 0.162745
+v 0.224349 -0.0084 0.667871
+v 0.224349 -0.0084 -0.667871
+v 0.226113 -2.6592 -0.165941
+v 0.226113 -2.6592 0.165941
+v 0.226496 -2.463 -1.362620
+v 0.226496 -2.463 1.362620
+v 0.226795 -2.482687 1.364422
+v 0.226795 -2.482687 -1.364422
+v 0.226824 -0.0648 1.364595
+v 0.226824 -0.0648 -1.364595
+v 0.227403 -2.435437 -1.368074
+v 0.227403 -2.435437 1.368074
+v 0.228104 -2.4945 -1.372294
+v 0.228104 -2.4945 1.372294
+v 0.229712 -2.4 -1.381968
+v 0.229712 -2.4 1.381968
+v 0.230225 -2.498438 -1.385053
+v 0.230225 -2.498438 1.385053
+v 0.230604 -0.002175 -0.314223
+v 0.230604 -0.002175 0.314223
+v 0.231031 -2.98125 -0.231031
+v 0.231031 -2.98125 0.231031
+v 0.232342 -2.6256 -0.316590
+v 0.232342 -2.6256 0.316590
+v 0.232961 -2.4945 -1.401513
+v 0.232961 -2.4945 1.401513
+v 0.236115 -2.482687 -1.420490
+v 0.236115 -2.482687 1.420490
+v 0.237149 -0.084525 1.426709
+v 0.237149 -0.084525 -1.426709
+v 0.239491 -2.463 -1.440800
+v 0.239491 -2.463 1.440800
+v 0.242892 -2.435437 -1.461258
+v 0.242892 -2.435437 1.461258
+v 0.242970 -0.1056 1.461727
+v 0.242970 -0.1056 -1.461727
+v 0.243424 -2.5974 0.467878
+v 0.243424 -2.5974 -0.467878
+v 0.243569 -2.9232 -0.126920
+v 0.243569 -2.9232 0.126920
+v 0.245542 -0.127575 1.477200
+v 0.245542 -0.127575 -1.477200
+v 0.246120 -0.15 -1.480680
+v 0.246120 -2.4 -1.480680
+v 0.246120 -0.15 1.480680
+v 0.246120 -0.15 1.480680
+v 0.246120 -2.4 1.480680
+v 0.246120 -0.15 -1.480680
+v 0.248417 -0.177075 -1.494500
+v 0.248417 -0.177075 1.494500
+v 0.248621 -2.6592 0.129351
+v 0.248621 -2.6592 -0.129351
+v 0.250127 -3.1176 -0.183734
+v 0.250127 -3.1176 0.183734
+v 0.254652 -0.2136 -1.532010
+v 0.254652 -0.2136 1.532010
+v 0.254653 -3.08115 -0.254653
+v 0.254653 -3.08115 0.254653
+v 0.254788 -3.0348 -0.254788
+v 0.254788 -3.0348 0.254788
+v 0.258385 -2.242575 -1.554467
+v 0.258385 -2.242575 1.554467
+v 0.259910 -2.9232 -0.087511
+v 0.259910 -2.9232 0.087511
+v 0.263208 -2.55 -0.783552
+v 0.263208 -2.55 0.783552
+v 0.263232 -2.98125 -0.193348
+v 0.263232 -2.98125 0.193348
+v 0.263841 -0.260025 1.587289
+v 0.263841 -0.260025 -1.587289
+v 0.265363 -2.6592 -0.089140
+v 0.265363 -2.6592 0.089140
+v 0.270092 -2.9232 -0.045032
+v 0.270092 -2.9232 0.045032
+v 0.270404 -2.0856 -1.626774
+v 0.270404 -2.0856 1.626774
+v 0.273600 -2.9232 -0.000000
+v 0.273600 -2.9232 0.000000
+v 0.274928 -3.1176 -0.143301
+v 0.274928 -3.1176 0.143301
+v 0.274998 -0.3168 -1.654413
+v 0.274998 -0.3168 1.654413
+v 0.275675 -0.002175 -0.275675
+v 0.275675 -0.002175 0.275675
+v 0.275801 -2.6592 -0.045844
+v 0.275801 -2.6592 0.045844
+v 0.277752 -2.6256 -0.277752
+v 0.277752 -2.6256 0.277752
+v 0.279400 -2.6592 0.000000
+v 0.281930 -1.929525 1.696119
+v 0.281930 -1.929525 -1.696119
+v 0.287140 -0.384375 -1.727460
+v 0.287140 -0.384375 1.727460
+v 0.289340 -2.98125 -0.150793
+v 0.289340 -2.98125 0.150793
+v 0.290138 -3.08115 -0.213123
+v 0.290138 -3.08115 0.213123
+v 0.290295 -3.0348 -0.213234
+v 0.290295 -3.0348 0.213234
+v 0.292719 -1.7748 -1.761022
+v 0.292719 -1.7748 1.761022
+v 0.293360 -3.1176 -0.098814
+v 0.293360 -3.1176 0.098814
+v 0.299282 -0.4632 -1.800507
+v 0.299282 -0.4632 1.800507
+v 0.302522 -1.621875 -1.820003
+v 0.302523 -1.621875 1.820003
+v 0.303862 -0.018225 0.904575
+v 0.303862 -0.018225 -0.904575
+v 0.304843 -3.1176 -0.050855
+v 0.304843 -3.1176 0.050855
+v 0.308744 -2.98125 -0.103976
+v 0.308744 -2.98125 0.103976
+v 0.308800 -3.1176 0.000000
+v 0.308800 -3.1176 -0.000000
+v 0.309596 -2.5272 -0.921647
+v 0.309596 -2.5272 0.921647
+v 0.310439 -0.553725 -1.867631
+v 0.310439 -0.553725 1.867631
+v 0.311096 -1.4712 -1.871580
+v 0.311096 -1.4712 1.871580
+v 0.311850 -2.5728 -0.599396
+v 0.311850 -2.5728 0.599396
+v 0.312283 -2.5974 -0.425519
+v 0.312283 -2.5974 0.425519
+v 0.314223 -0.002175 -0.230604
+v 0.314223 -0.002175 0.230604
+v 0.316590 -2.6256 -0.232342
+v 0.316590 -2.6256 0.232342
+v 0.318192 -1.323225 -1.914272
+v 0.318192 -1.323225 1.914272
+v 0.318907 -3.08115 -0.166221
+v 0.318907 -3.08115 0.166221
+v 0.319082 -3.0348 -0.166306
+v 0.319082 -3.0348 0.166306
+v 0.319628 -0.6564 -1.922910
+v 0.319628 -0.6564 1.922910
+v 0.320834 -2.98125 -0.053508
+v 0.320834 -2.98125 0.053508
+v 0.323566 -1.1784 -1.946601
+v 0.323566 -1.1784 1.946601
+v 0.325000 -2.98125 0.000000
+v 0.325000 -2.98125 -0.000000
+v 0.325553 -0.0084 -0.625735
+v 0.325553 -0.0084 0.625735
+v 0.325863 -0.771675 -1.960420
+v 0.325863 -0.771675 1.960420
+v 0.326970 -1.037175 -1.967083
+v 0.326970 -1.037175 1.967083
+v 0.328160 -0.9 -1.974240
+v 0.328160 -0.9 -1.974240
+v 0.328160 -0.9 1.974240
+v 0.340289 -3.08115 -0.114619
+v 0.340289 -3.08115 0.114619
+v 0.340477 -3.0348 -0.114676
+v 0.340477 -3.0348 0.114676
+v 0.345503 -0.002175 -0.179756
+v 0.345503 -0.002175 0.179756
+v 0.348105 -2.6256 -0.181110
+v 0.348105 -2.6256 0.181110
+v 0.351008 -2.5026 -1.044926
+v 0.351008 -2.5026 1.044926
+v 0.353610 -3.08115 -0.058988
+v 0.353610 -3.08115 0.058988
+v 0.353807 -3.0348 -0.059016
+v 0.353807 -3.0348 0.059016
+v 0.358200 -3.08115 -0.000000
+v 0.358200 -3.08115 0.000000
+v 0.358400 -3.0348 0.000000
+v 0.358400 -3.0348 0.000000
+v 0.364854 -0.0312 1.086146
+v 0.364854 -0.0312 -1.086146
+v 0.368768 -0.002175 -0.123875
+v 0.368768 -0.002175 0.123875
+v 0.371546 -2.6256 -0.124808
+v 0.371546 -2.6256 0.124808
+v 0.373318 -2.5974 -0.373318
+v 0.373318 -2.5974 0.373318
+v 0.381942 -2.55 -0.734118
+v 0.381942 -2.55 0.734118
+v 0.383274 -0.002175 -0.063708
+v 0.383274 -0.002175 0.063708
+v 0.384379 -2.4744 -1.144271
+v 0.384379 -2.4744 1.144271
+v 0.386161 -2.6256 -0.064188
+v 0.386161 -2.6256 0.064188
+v 0.388275 -0.002175 0.000000
+v 0.388275 -0.002175 0.000000
+v 0.391200 -2.6256 0.000000
+v 0.391200 -2.6256 0.000000
+v 0.400065 -2.5728 -0.545131
+v 0.400065 -2.5728 0.545131
+v 0.406648 -2.4408 -1.210564
+v 0.406648 -2.4408 1.210564
+v 0.409767 -0.046875 1.219848
+v 0.409767 -0.046875 -1.219848
+v 0.414752 -2.4 -1.234688
+v 0.414752 -2.4 1.234688
+v 0.417645 -0.0084 -0.569086
+v 0.417645 -0.0084 0.569086
+v 0.425519 -2.5974 0.312283
+v 0.425519 -2.5974 -0.312283
+v 0.440403 -2.463 -1.311049
+v 0.440403 -2.463 1.311049
+v 0.440935 -0.018225 0.847506
+v 0.440935 -0.018225 -0.847506
+v 0.440985 -2.482687 -1.312782
+v 0.440985 -2.482687 1.312782
+v 0.441041 -0.0648 1.312948
+v 0.441041 -0.0648 -1.312948
+v 0.442166 -2.435437 -1.316296
+v 0.442166 -2.435437 1.316296
+v 0.443529 -2.4945 -1.320356
+v 0.443529 -2.4945 1.320356
+v 0.446656 -2.4 -1.329664
+v 0.446656 -2.4 1.329664
+v 0.447653 -2.498438 -1.332632
+v 0.447653 -2.498438 1.332632
+v 0.449256 -2.5272 -0.863501
+v 0.449256 -2.5272 0.863501
+v 0.452973 -2.4945 -1.348469
+v 0.452973 -2.4945 1.348469
+v 0.459107 -2.482687 -1.366728
+v 0.459107 -2.482687 1.366728
+v 0.461116 -0.084525 1.372712
+v 0.461116 -0.084525 -1.372712
+v 0.465671 -2.463 -1.386270
+v 0.465671 -2.463 1.386270
+v 0.467878 -2.5974 -0.243424
+v 0.467878 -2.5974 0.243424
+v 0.472283 -2.435437 -1.405953
+v 0.472283 -2.435437 1.405953
+v 0.472434 -0.1056 1.406405
+v 0.472434 -0.1056 -1.406405
+v 0.477435 -0.127575 1.421292
+v 0.477435 -0.127575 -1.421292
+v 0.478256 -2.5728 -0.478256
+v 0.478256 -2.5728 0.478256
+v 0.478560 -0.15 -1.424640
+v 0.478560 -2.4 -1.424640
+v 0.478560 -0.15 1.424640
+v 0.478560 -0.15 1.424640
+v 0.478560 -0.15 -1.424640
+v 0.478560 -2.4 1.424640
+v 0.483027 -0.177075 -1.437937
+v 0.483027 -0.177075 1.437937
+v 0.489984 -2.55 -0.667656
+v 0.489984 -2.55 0.667656
+v 0.495150 -0.2136 -1.474028
+v 0.495150 -0.2136 1.474028
+v 0.499272 -0.0084 -0.499272
+v 0.499272 -0.0084 0.499272
+v 0.499384 -2.5974 -0.167751
+v 0.499384 -2.5974 0.167751
+v 0.502408 -2.242575 -1.495635
+v 0.502408 -2.242575 1.495635
+v 0.509349 -2.5026 0.979002
+v 0.509349 -2.5026 -0.979002
+v 0.513016 -0.260025 -1.527214
+v 0.513016 -0.260025 1.527214
+v 0.519028 -2.5974 0.086273
+v 0.519028 -2.5974 -0.086273
+v 0.525778 -2.0856 -1.565204
+v 0.525778 -2.0856 1.565204
+v 0.525800 -2.5974 -0.000000
+v 0.525800 -2.5974 0.000000
+v 0.529441 -0.0312 -1.017621
+v 0.529441 -0.0312 1.017621
+v 0.534711 -0.3168 -1.591798
+v 0.534711 -0.3168 1.591798
+v 0.545131 -2.5728 -0.400065
+v 0.545131 -2.5728 0.400065
+v 0.548190 -1.929525 -1.631925
+v 0.548190 -1.929525 1.631925
+v 0.557774 -2.4744 -1.072079
+v 0.557774 -2.4744 1.072079
+v 0.558320 -0.384375 -1.662080
+v 0.558320 -0.384375 1.662080
+v 0.565664 -0.018225 0.770779
+v 0.565664 -0.018225 -0.770779
+v 0.569086 -0.0084 -0.417645
+v 0.569086 -0.0084 0.417645
+v 0.569167 -1.7748 -1.694372
+v 0.569167 -1.7748 1.694372
+v 0.576340 -2.5272 -0.785325
+v 0.576340 -2.5272 0.785325
+v 0.581929 -0.4632 -1.732362
+v 0.581929 -0.4632 1.732362
+v 0.585750 -2.55 -0.585750
+v 0.585750 -2.55 0.585750
+v 0.588230 -1.621875 -1.751120
+v 0.588230 -1.621875 1.751120
+v 0.590089 -2.4408 1.134190
+v 0.590089 -2.4408 -1.134190
+v 0.594614 -0.046875 -1.142888
+v 0.594614 -0.046875 1.142888
+v 0.599396 -2.5728 -0.311850
+v 0.599396 -2.5728 0.311850
+v 0.601848 -2.4 -1.156792
+v 0.601848 -2.4 1.156792
+v 0.603624 -0.553725 -1.796946
+v 0.603624 -0.553725 1.796946
+v 0.604900 -1.4712 -1.800745
+v 0.604900 -1.4712 1.800745
+v 0.618698 -1.323225 -1.841822
+v 0.618698 -1.323225 1.841822
+v 0.621490 -0.6564 -1.850132
+v 0.621490 -0.6564 1.850132
+v 0.625735 -0.0084 0.325553
+v 0.625735 -0.0084 -0.325553
+v 0.629147 -1.1784 -1.872927
+v 0.629147 -1.1784 1.872927
+v 0.633613 -0.771675 -1.886223
+v 0.633613 -0.771675 1.886223
+v 0.635767 -1.037175 -1.892634
+v 0.635767 -1.037175 1.892634
+v 0.638080 -0.9 -1.899520
+v 0.638080 -0.9 -1.899520
+v 0.638080 -0.9 1.899520
+v 0.638080 -0.9 1.899520
+v 0.639070 -2.463 -1.228335
+v 0.639070 -2.463 1.228335
+v 0.639758 -2.5728 -0.214905
+v 0.639758 -2.5728 0.214905
+v 0.639915 -2.482687 1.229959
+v 0.639915 -2.482687 -1.229959
+v 0.639996 -0.0648 -1.230115
+v 0.639996 -0.0648 1.230115
+v 0.641628 -2.435437 -1.233252
+v 0.641628 -2.435437 1.233252
+v 0.643607 -2.4945 -1.237056
+v 0.643607 -2.4945 1.237056
+v 0.648144 -2.4 -1.245776
+v 0.648144 -2.4 1.245776
+v 0.649591 -2.498438 -1.248557
+v 0.649591 -2.498438 1.248557
+v 0.653431 -2.5026 -0.890370
+v 0.653431 -2.5026 0.890370
+v 0.657311 -2.4945 -1.263395
+v 0.657311 -2.4945 1.263395
+v 0.664924 -2.5728 -0.110524
+v 0.664924 -2.5728 0.110524
+v 0.666211 -2.482687 1.280502
+v 0.666211 -2.482687 -1.280502
+v 0.667656 -2.55 -0.489984
+v 0.667656 -2.55 0.489984
+v 0.667871 -0.0084 -0.224349
+v 0.667871 -0.0084 0.224349
+v 0.669128 -0.084525 -1.286108
+v 0.669128 -0.084525 1.286108
+v 0.673600 -2.5728 0.000000
+v 0.673600 -2.5728 -0.000000
+v 0.675736 -2.463 -1.298810
+v 0.675736 -2.463 1.298810
+v 0.676222 -0.018225 0.676222
+v 0.676222 -0.018225 -0.676222
+v 0.679207 -0.0312 -0.925493
+v 0.679207 -0.0312 0.925493
+v 0.685331 -2.435437 -1.317252
+v 0.685331 -2.435437 1.317252
+v 0.685551 -0.1056 -1.317675
+v 0.685551 -0.1056 1.317675
+v 0.688984 -2.5272 -0.688984
+v 0.688984 -2.5272 0.688984
+v 0.692808 -0.127575 1.331623
+v 0.692808 -0.127575 -1.331623
+v 0.694143 -0.0084 -0.115381
+v 0.694143 -0.0084 0.115381
+v 0.694440 -0.15 1.334760
+v 0.694440 -0.15 -1.334760
+v 0.694440 -2.4 1.334760
+v 0.694440 -0.15 -1.334760
+v 0.694440 -0.15 1.334760
+v 0.694440 -2.4 -1.334760
+v 0.700921 -0.177075 1.347218
+v 0.700921 -0.177075 -1.347218
+v 0.703200 -0.0084 0.000000
+v 0.715555 -2.4744 -0.975021
+v 0.715555 -2.4744 0.975021
+v 0.718514 -0.2136 1.381032
+v 0.718514 -0.2136 -1.381032
+v 0.729046 -2.242575 -1.401276
+v 0.729046 -2.242575 1.401276
+v 0.734118 -2.55 -0.381942
+v 0.734118 -2.55 0.381942
+v 0.744440 -0.260025 1.430863
+v 0.744440 -0.260025 -1.430863
+v 0.757010 -2.4408 1.031508
+v 0.757010 -2.4408 -1.031508
+v 0.762816 -0.046875 -1.039419
+v 0.762816 -0.046875 1.039419
+v 0.762958 -2.0856 -1.466456
+v 0.762958 -2.0856 1.466456
+v 0.770779 -0.018225 0.565664
+v 0.770779 -0.018225 -0.565664
+v 0.772096 -2.4 -1.052064
+v 0.772096 -2.4 1.052064
+v 0.775921 -0.3168 -1.491372
+v 0.775921 -0.3168 1.491372
+v 0.781142 -2.5026 -0.781142
+v 0.781142 -2.5026 0.781142
+v 0.783552 -2.55 -0.263208
+v 0.783552 -2.55 0.263208
+v 0.785325 -2.5272 -0.576340
+v 0.785325 -2.5272 0.576340
+v 0.795481 -1.929525 1.528968
+v 0.795481 -1.929525 -1.528968
+v 0.810180 -0.384375 1.557220
+v 0.810180 -0.384375 -1.557220
+v 0.811956 -0.0312 0.811956
+v 0.811956 -0.0312 -0.811956
+v 0.814374 -2.55 -0.135366
+v 0.814374 -2.55 0.135366
+v 0.819847 -2.463 -1.117130
+v 0.819847 -2.463 1.117130
+v 0.820931 -2.482687 1.118607
+v 0.820931 -2.482687 -1.118607
+v 0.821035 -0.0648 1.118749
+v 0.821035 -0.0648 -1.118749
+v 0.823129 -2.435437 -1.121601
+v 0.823129 -2.435437 1.121601
+v 0.825000 -2.55 0.000000
+v 0.825000 -2.55 0.000000
+v 0.825668 -2.4945 -1.125061
+v 0.825668 -2.4945 1.125061
+v 0.825921 -1.7748 1.587475
+v 0.825921 -1.7748 -1.587475
+v 0.831488 -2.4 -1.132992
+v 0.831488 -2.4 1.132992
+v 0.833344 -2.498438 -1.135521
+v 0.833344 -2.498438 1.135521
+v 0.843248 -2.4945 -1.149016
+v 0.843248 -2.4945 1.149016
+v 0.844439 -0.4632 1.623068
+v 0.844439 -0.4632 -1.623068
+v 0.847506 -0.018225 -0.440935
+v 0.847506 -0.018225 0.440935
+v 0.853583 -1.621875 -1.640643
+v 0.853583 -1.621875 1.640643
+v 0.854666 -2.482687 -1.164574
+v 0.854666 -2.482687 1.164574
+v 0.855408 -2.4744 -0.855408
+v 0.855408 -2.4744 0.855408
+v 0.858407 -0.084525 -1.169673
+v 0.858407 -0.084525 1.169673
+v 0.863501 -2.5272 -0.449256
+v 0.863501 -2.5272 0.449256
+v 0.866886 -2.463 -1.181225
+v 0.866886 -2.463 1.181225
+v 0.875920 -0.553725 -1.683577
+v 0.875920 -0.553725 1.683577
+v 0.877772 -1.4712 -1.687137
+v 0.877772 -1.4712 1.687137
+v 0.879195 -2.435437 -1.197997
+v 0.879195 -2.435437 1.197997
+v 0.879477 -0.1056 -1.198382
+v 0.879477 -0.1056 1.198382
+v 0.888786 -0.127575 1.211067
+v 0.888786 -0.127575 -1.211067
+v 0.890370 -2.5026 -0.653431
+v 0.890370 -2.5026 0.653431
+v 0.890880 -0.15 -1.213920
+v 0.890880 -0.15 1.213920
+v 0.890880 -2.4 -1.213920
+v 0.890880 -0.15 -1.213920
+v 0.890880 -0.15 1.213920
+v 0.890880 -2.4 1.213920
+v 0.897795 -1.323225 -1.725622
+v 0.897795 -1.323225 1.725622
+v 0.899195 -0.177075 1.225250
+v 0.899195 -0.177075 -1.225250
+v 0.901846 -0.6564 -1.733408
+v 0.901846 -0.6564 1.733408
+v 0.904575 -0.018225 0.303862
+v 0.904575 -0.018225 -0.303862
+v 0.904966 -2.4408 0.904966
+v 0.904966 -2.4408 -0.904966
+v 0.911906 -0.046875 -0.911906
+v 0.911906 -0.046875 0.911906
+v 0.912957 -1.1784 -1.754764
+v 0.912957 -1.1784 1.754764
+v 0.919439 -0.771675 -1.767222
+v 0.919439 -0.771675 1.767222
+v 0.921647 -2.5272 -0.309596
+v 0.921647 -2.5272 0.309596
+v 0.921764 -0.2136 1.256003
+v 0.921764 -0.2136 -1.256003
+v 0.922564 -1.037175 1.773229
+v 0.922564 -1.037175 -1.773229
+v 0.923000 -2.4 -0.923000
+v 0.923000 -2.4 0.923000
+v 0.925493 -0.0312 0.679207
+v 0.925493 -0.0312 -0.679207
+v 0.925920 -0.9 1.779680
+v 0.925920 -0.9 -1.779680
+v 0.925920 -0.9 -1.779680
+v 0.925920 -0.9 1.779680
+v 0.935276 -2.242575 -1.274414
+v 0.935276 -2.242575 1.274414
+v 0.940158 -0.018225 0.156274
+v 0.940158 -0.018225 -0.156274
+v 0.952425 -0.018225 0.000000
+v 0.952425 -0.018225 0.000000
+v 0.955023 -0.260025 1.301322
+v 0.955023 -0.260025 -1.301322
+v 0.957901 -2.5272 -0.159223
+v 0.957901 -2.5272 0.159223
+v 0.970400 -2.5272 0.000000
+v 0.970400 -2.5272 -0.000000
+v 0.975021 -2.4744 -0.715555
+v 0.975021 -2.4744 0.715555
+v 0.978780 -2.0856 -1.333693
+v 0.978780 -2.0856 1.333693
+v 0.979002 -2.5026 0.509349
+v 0.979002 -2.5026 -0.509349
+v 0.980084 -2.463 -0.980084
+v 0.980084 -2.463 0.980084
+v 0.981380 -2.482687 -0.981380
+v 0.981380 -2.482687 0.981380
+v 0.981504 -0.0648 0.981504
+v 0.981504 -0.0648 -0.981504
+v 0.984007 -2.435437 -0.984007
+v 0.984007 -2.435437 0.984007
+v 0.987042 -2.4945 -0.987042
+v 0.987042 -2.4945 0.987042
+v 0.994000 -2.4 -0.994000
+v 0.994000 -2.4 0.994000
+v 0.995410 -0.3168 -1.356353
+v 0.995410 -0.3168 1.356353
+v 0.996219 -2.498438 -0.996219
+v 0.996219 -2.498438 0.996219
+v 1.008058 -2.4945 -1.008058
+v 1.008058 -2.4945 1.008058
+v 1.017621 -0.0312 0.529441
+v 1.017621 -0.0312 -0.529441
+v 1.020503 -1.929525 -1.390545
+v 1.020503 -1.929525 1.390545
+v 1.021708 -2.482687 -1.021708
+v 1.021708 -2.482687 1.021708
+v 1.026181 -0.084525 -1.026181
+v 1.026181 -0.084525 1.026181
+v 1.031508 -2.4408 0.757010
+v 1.031508 -2.4408 -0.757010
+v 1.036316 -2.463 -1.036316
+v 1.036316 -2.463 1.036316
+v 1.039360 -0.384375 -1.416240
+v 1.039360 -0.384375 1.416240
+v 1.039419 -0.046875 -0.762816
+v 1.039419 -0.046875 0.762816
+v 1.044926 -2.5026 -0.351008
+v 1.044926 -2.5026 0.351008
+v 1.051031 -2.435437 -1.051031
+v 1.051031 -2.435437 1.051031
+v 1.051368 -0.1056 -1.051368
+v 1.051368 -0.1056 1.051368
+v 1.052064 -2.4 -0.772096
+v 1.052064 -2.4 0.772096
+v 1.059553 -1.7748 -1.443756
+v 1.059553 -1.7748 1.443756
+v 1.062497 -0.127575 1.062497
+v 1.062497 -0.127575 -1.062497
+v 1.065000 -0.15 -1.065000
+v 1.065000 -0.15 1.065000
+v 1.065000 -2.4 -1.065000
+v 1.065000 -2.4 1.065000
+v 1.072079 -2.4744 -0.557774
+v 1.072079 -2.4744 0.557774
+v 1.074940 -0.177075 -1.074940
+v 1.074940 -0.177075 1.074940
+v 1.083310 -0.4632 -1.476127
+v 1.083310 -0.4632 1.476127
+v 1.086029 -2.5026 0.180521
+v 1.086029 -2.5026 -0.180521
+v 1.086146 -0.0312 0.364854
+v 1.086146 -0.0312 -0.364854
+v 1.095040 -1.621875 -1.492110
+v 1.095040 -1.621875 1.492110
+v 1.100200 -2.5026 -0.000000
+v 1.100200 -2.5026 0.000000
+v 1.101920 -0.2136 1.101920
+v 1.101920 -0.2136 -1.101920
+v 1.117130 -2.463 -0.819847
+v 1.117130 -2.463 0.819847
+v 1.118073 -2.242575 -1.118073
+v 1.118073 -2.242575 1.118073
+v 1.118607 -2.482687 -0.820931
+v 1.118607 -2.482687 0.820931
+v 1.118749 -0.0648 -0.821035
+v 1.118749 -0.0648 0.821035
+v 1.121601 -2.435437 -0.823129
+v 1.121601 -2.435437 0.823129
+v 1.123697 -0.553725 -1.531158
+v 1.123697 -0.553725 1.531158
+v 1.125061 -2.4945 -0.825668
+v 1.125061 -2.4945 0.825668
+v 1.126072 -1.4712 -1.534395
+v 1.126072 -1.4712 1.534395
+v 1.128870 -0.0312 -0.187642
+v 1.128870 -0.0312 0.187642
+v 1.132992 -2.4 -0.831488
+v 1.132992 -2.4 0.831488
+v 1.134190 -2.4408 0.590089
+v 1.134190 -2.4408 -0.590089
+v 1.135521 -2.498438 -0.833344
+v 1.135521 -2.498438 0.833344
+v 1.141680 -0.260025 1.141680
+v 1.141680 -0.260025 -1.141680
+v 1.142888 -0.046875 -0.594614
+v 1.142888 -0.046875 0.594614
+v 1.143600 -0.0312 0.000000
+v 1.143600 -0.0312 0.000000
+v 1.144271 -2.4744 -0.384379
+v 1.144271 -2.4744 0.384379
+v 1.149016 -2.4945 -0.843248
+v 1.149016 -2.4945 0.843248
+v 1.151759 -1.323225 -1.569396
+v 1.151759 -1.323225 1.569396
+v 1.156792 -2.4 -0.601848
+v 1.156792 -2.4 0.601848
+v 1.156956 -0.6564 -1.576477
+v 1.156956 -0.6564 1.576477
+v 1.164574 -2.482687 -0.854666
+v 1.164574 -2.482687 0.854666
+v 1.169673 -0.084525 -0.858407
+v 1.169673 -0.084525 0.858407
+v 1.170080 -2.0856 -1.170080
+v 1.170080 -2.0856 1.170080
+v 1.171210 -1.1784 -1.595900
+v 1.171210 -1.1784 1.595900
+v 1.179525 -0.771675 -1.607230
+v 1.179525 -0.771675 1.607230
+v 1.181225 -2.463 -0.866886
+v 1.181225 -2.463 0.866886
+v 1.183534 -1.037175 -1.612693
+v 1.183534 -1.037175 1.612693
+v 1.187840 -0.9 -1.618560
+v 1.187840 -0.9 -1.618560
+v 1.187840 -0.9 1.618560
+v 1.187840 -0.9 1.618560
+v 1.189282 -2.4744 -0.197684
+v 1.189282 -2.4744 0.197684
+v 1.189960 -0.3168 -1.189960
+v 1.189960 -0.3168 1.189960
+v 1.197997 -2.435437 -0.879195
+v 1.197997 -2.435437 0.879195
+v 1.198382 -0.1056 -0.879477
+v 1.198382 -0.1056 0.879477
+v 1.204800 -2.4744 0.000000
+v 1.204800 -2.4744 -0.000000
+v 1.210564 -2.4408 0.406648
+v 1.210564 -2.4408 -0.406648
+v 1.211067 -0.127575 0.888786
+v 1.211067 -0.127575 -0.888786
+v 1.213920 -0.15 -0.890880
+v 1.213920 -0.15 -0.890880
+v 1.213920 -0.15 0.890880
+v 1.213920 -0.15 0.890880
+v 1.213920 -2.4 -0.890880
+v 1.213920 -2.4 0.890880
+v 1.219848 -0.046875 -0.409767
+v 1.219848 -0.046875 0.409767
+v 1.219958 -1.929525 1.219958
+v 1.219958 -1.929525 -1.219958
+v 1.225250 -0.177075 0.899195
+v 1.225250 -0.177075 -0.899195
+v 1.228335 -2.463 -0.639070
+v 1.228335 -2.463 0.639070
+v 1.229959 -2.482687 -0.639915
+v 1.229959 -2.482687 0.639915
+v 1.230115 -0.0648 -0.639996
+v 1.230115 -0.0648 0.639996
+v 1.233252 -2.435437 -0.641628
+v 1.233252 -2.435437 0.641628
+v 1.234688 -2.4 -0.414752
+v 1.234688 -2.4 0.414752
+v 1.237056 -2.4945 -0.643607
+v 1.237056 -2.4945 0.643607
+v 1.242500 -0.384375 -1.242500
+v 1.242500 -0.384375 1.242500
+v 1.245776 -2.4 -0.648144
+v 1.245776 -2.4 0.648144
+v 1.248557 -2.498438 -0.649591
+v 1.248557 -2.498438 0.649591
+v 1.256003 -0.2136 0.921764
+v 1.256003 -0.2136 -0.921764
+v 1.258183 -2.4408 0.209136
+v 1.258183 -2.4408 -0.209136
+v 1.263395 -2.4945 -0.657311
+v 1.263395 -2.4945 0.657311
+v 1.266640 -1.7748 -1.266640
+v 1.266640 -1.7748 1.266640
+v 1.267832 -0.046875 -0.210740
+v 1.267832 -0.046875 0.210740
+v 1.274414 -2.242575 -0.935276
+v 1.274414 -2.242575 0.935276
+v 1.274600 -2.4408 0.000000
+v 1.274600 -2.4408 0.000000
+v 1.280502 -2.482687 -0.666211
+v 1.280502 -2.482687 0.666211
+v 1.283256 -2.4 -0.213304
+v 1.283256 -2.4 0.213304
+v 1.284375 -0.046875 0.000000
+v 1.284375 -0.046875 -0.000000
+v 1.286108 -0.084525 -0.669128
+v 1.286108 -0.084525 0.669128
+v 1.295040 -0.4632 -1.295040
+v 1.295040 -0.4632 1.295040
+v 1.298810 -2.463 -0.675736
+v 1.298810 -2.463 0.675736
+v 1.300000 -2.4 0.000000
+v 1.300000 -2.4 -0.000000
+v 1.301322 -0.260025 0.955023
+v 1.301322 -0.260025 -0.955023
+v 1.309063 -1.621875 -1.309063
+v 1.309063 -1.621875 1.309063
+v 1.311049 -2.463 -0.440403
+v 1.311049 -2.463 0.440403
+v 1.312782 -2.482687 -0.440985
+v 1.312782 -2.482687 0.440985
+v 1.312948 -0.0648 0.441041
+v 1.312948 -0.0648 -0.441041
+v 1.316296 -2.435437 -0.442166
+v 1.316296 -2.435437 0.442166
+v 1.317252 -2.435437 -0.685331
+v 1.317252 -2.435437 0.685331
+v 1.317675 -0.1056 -0.685551
+v 1.317675 -0.1056 0.685551
+v 1.320356 -2.4945 -0.443529
+v 1.320356 -2.4945 0.443529
+v 1.329664 -2.4 -0.446656
+v 1.329664 -2.4 0.446656
+v 1.331623 -0.127575 0.692808
+v 1.331623 -0.127575 -0.692808
+v 1.332632 -2.498438 -0.447653
+v 1.332632 -2.498438 0.447653
+v 1.333693 -2.0856 -0.978780
+v 1.333693 -2.0856 0.978780
+v 1.334760 -0.15 0.694440
+v 1.334760 -0.15 -0.694440
+v 1.334760 -0.15 -0.694440
+v 1.334760 -0.15 0.694440
+v 1.334760 -2.4 -0.694440
+v 1.334760 -2.4 0.694440
+v 1.343320 -0.553725 -1.343320
+v 1.343320 -0.553725 1.343320
+v 1.346160 -1.4712 -1.346160
+v 1.346160 -1.4712 1.346160
+v 1.347218 -0.177075 0.700921
+v 1.347218 -0.177075 -0.700921
+v 1.348469 -2.4945 -0.452973
+v 1.348469 -2.4945 0.452973
+v 1.356353 -0.3168 -0.995410
+v 1.356353 -0.3168 0.995410
+v 1.362620 -2.463 -0.226496
+v 1.362620 -2.463 0.226496
+v 1.364422 -2.482687 -0.226795
+v 1.364422 -2.482687 0.226795
+v 1.364595 -0.0648 -0.226824
+v 1.364595 -0.0648 0.226824
+v 1.366728 -2.482687 -0.459107
+v 1.366728 -2.482687 0.459107
+v 1.368074 -2.435437 -0.227403
+v 1.368074 -2.435437 0.227403
+v 1.372294 -2.4945 -0.228104
+v 1.372294 -2.4945 0.228104
+v 1.372712 -0.084525 -0.461116
+v 1.372712 -0.084525 0.461116
+v 1.376867 -1.323225 -1.376868
+v 1.376868 -1.323225 1.376867
+v 1.380400 -2.463 0.000000
+v 1.380400 -2.463 -0.000000
+v 1.381032 -0.2136 0.718514
+v 1.381032 -0.2136 -0.718514
+v 1.381968 -2.4 -0.229712
+v 1.381968 -2.4 0.229712
+v 1.382225 -2.482687 0.000000
+v 1.382225 -2.482687 0.000000
+v 1.382400 -0.0648 0.000000
+v 1.382400 -0.0648 0.000000
+v 1.383080 -0.6564 -1.383080
+v 1.383080 -0.6564 1.383080
+v 1.385053 -2.498438 -0.230225
+v 1.385053 -2.498438 0.230225
+v 1.385925 -2.435437 0.000000
+v 1.385925 -2.435437 -0.000000
+v 1.386270 -2.463 -0.465671
+v 1.386270 -2.463 0.465671
+v 1.390200 -2.4945 0.000000
+v 1.390200 -2.4945 -0.000000
+v 1.390545 -1.929525 -1.020503
+v 1.390545 -1.929525 1.020503
+v 1.400000 -2.4 0.000000
+v 1.400000 -2.4 0.000000
+v 1.400120 -1.1784 -1.400120
+v 1.400120 -1.1784 1.400120
+v 1.401276 -2.242575 -0.729046
+v 1.401276 -2.242575 0.729046
+v 1.401513 -2.4945 -0.232961
+v 1.401513 -2.4945 0.232961
+v 1.403125 -2.498438 0.000000
+v 1.403125 -2.498438 0.000000
+v 1.405953 -2.435437 -0.472283
+v 1.405953 -2.435437 0.472283
+v 1.406405 -0.1056 -0.472434
+v 1.406405 -0.1056 0.472434
+v 1.410060 -0.771675 -1.410060
+v 1.410060 -0.771675 1.410060
+v 1.414853 -1.037175 -1.414853
+v 1.414853 -1.037175 1.414853
+v 1.416240 -0.384375 -1.039360
+v 1.416240 -0.384375 1.039360
+v 1.419800 -2.4945 0.000000
+v 1.419800 -2.4945 -0.000000
+v 1.420000 -0.9 -1.420000
+v 1.420000 -0.9 -1.420000
+v 1.420000 -0.9 1.420000
+v 1.420000 -0.9 1.420000
+v 1.420490 -2.482687 -0.236115
+v 1.420490 -2.482687 0.236115
+v 1.421292 -0.127575 0.477435
+v 1.421292 -0.127575 -0.477435
+v 1.424640 -0.15 -0.478560
+v 1.424640 -0.15 -0.478560
+v 1.424640 -0.15 0.478560
+v 1.424640 -0.15 0.478560
+v 1.424640 -2.4 -0.478560
+v 1.424640 -2.4 0.478560
+v 1.426709 -0.084525 -0.237149
+v 1.426709 -0.084525 0.237149
+v 1.430863 -0.260025 0.744440
+v 1.430863 -0.260025 -0.744440
+v 1.437937 -0.177075 0.483027
+v 1.437937 -0.177075 -0.483027
+v 1.439025 -2.482687 0.000000
+v 1.440800 -2.463 -0.239491
+v 1.440800 -2.463 0.239491
+v 1.443756 -1.7748 -1.059553
+v 1.443756 -1.7748 1.059553
+v 1.445325 -0.084525 0.000000
+v 1.445325 -0.084525 0.000000
+v 1.459600 -2.463 0.000000
+v 1.459600 -2.463 -0.000000
+v 1.461258 -2.435437 -0.242892
+v 1.461258 -2.435437 0.242892
+v 1.461727 -0.1056 -0.242970
+v 1.461727 -0.1056 0.242970
+v 1.466456 -2.0856 -0.762958
+v 1.466456 -2.0856 0.762958
+v 1.474028 -0.2136 0.495150
+v 1.474028 -0.2136 -0.495150
+v 1.476127 -0.4632 -1.083310
+v 1.476127 -0.4632 1.083310
+v 1.477200 -0.127575 0.245542
+v 1.477200 -0.127575 -0.245542
+v 1.480325 -2.435437 0.000000
+v 1.480325 -2.435437 -0.000000
+v 1.480680 -0.15 -0.246120
+v 1.480680 -0.15 0.246120
+v 1.480680 -0.15 0.246120
+v 1.480680 -0.15 -0.246120
+v 1.480680 -2.4 -0.246120
+v 1.480680 -2.4 0.246120
+v 1.480800 -0.1056 0.000000
+v 1.480800 -0.1056 0.000000
+v 1.491372 -0.3168 -0.775921
+v 1.491372 -0.3168 0.775921
+v 1.492110 -1.621875 -1.095040
+v 1.492110 -1.621875 1.095040
+v 1.494500 -0.177075 0.248417
+v 1.494500 -0.177075 -0.248417
+v 1.495635 -2.242575 -0.502408
+v 1.495635 -2.242575 0.502408
+v 1.496475 -0.127575 0.000000
+v 1.496475 -0.127575 0.000000
+v 1.500000 -0.15 0.000000
+v 1.500000 -0.15 0.000000
+v 1.500000 -2.4 0.000000
+v 1.500000 -2.4 0.000000
+v 1.514000 -0.177075 -0.000000
+v 1.514000 -0.177075 0.000000
+v 1.527214 -0.260025 -0.513016
+v 1.527214 -0.260025 0.513016
+v 1.528968 -1.929525 -0.795481
+v 1.528968 -1.929525 0.795481
+v 1.531158 -0.553725 -1.123697
+v 1.531158 -0.553725 1.123697
+v 1.532010 -0.2136 0.254652
+v 1.532010 -0.2136 -0.254652
+v 1.534395 -1.4712 -1.126072
+v 1.534395 -1.4712 1.126072
+v 1.552000 -0.2136 0.000000
+v 1.552000 -0.2136 0.000000
+v 1.554467 -2.242575 -0.258385
+v 1.554467 -2.242575 0.258385
+v 1.557220 -0.384375 -0.810180
+v 1.557220 -0.384375 0.810180
+v 1.565204 -2.0856 -0.525778
+v 1.565204 -2.0856 0.525778
+v 1.569396 -1.323225 -1.151759
+v 1.569396 -1.323225 1.151759
+v 1.574750 -2.242575 0.000000
+v 1.574750 -2.242575 0.000000
+v 1.576477 -0.6564 -1.156956
+v 1.576477 -0.6564 1.156956
+v 1.587289 -0.260025 0.263841
+v 1.587289 -0.260025 -0.263841
+v 1.587475 -1.7748 -0.825921
+v 1.587475 -1.7748 0.825921
+v 1.591798 -0.3168 -0.534711
+v 1.591798 -0.3168 0.534711
+v 1.595900 -1.1784 -1.171210
+v 1.595900 -1.1784 1.171210
+v 1.607230 -0.771675 -1.179525
+v 1.607230 -0.771675 1.179525
+v 1.608000 -0.260025 0.000000
+v 1.608000 -0.260025 0.000000
+v 1.612693 -1.037175 -1.183534
+v 1.612693 -1.037175 1.183534
+v 1.618560 -0.9 -1.187840
+v 1.618560 -0.9 -1.187840
+v 1.618560 -0.9 1.187840
+v 1.618560 -0.9 1.187840
+v 1.623068 -0.4632 -0.844439
+v 1.623068 -0.4632 0.844439
+v 1.626774 -2.0856 -0.270404
+v 1.626774 -2.0856 0.270404
+v 1.631925 -1.929525 -0.548190
+v 1.631925 -1.929525 0.548190
+v 1.640643 -1.621875 -0.853583
+v 1.640643 -1.621875 0.853583
+v 1.648000 -2.0856 0.000000
+v 1.648000 -2.0856 -0.000000
+v 1.654413 -0.3168 -0.274998
+v 1.654413 -0.3168 0.274998
+v 1.662080 -0.384375 -0.558320
+v 1.662080 -0.384375 0.558320
+v 1.676000 -0.3168 0.000000
+v 1.676000 -0.3168 0.000000
+v 1.683577 -0.553725 -0.875920
+v 1.683577 -0.553725 0.875920
+v 1.687137 -1.4712 -0.877772
+v 1.687137 -1.4712 0.877772
+v 1.694372 -1.7748 -0.569167
+v 1.694372 -1.7748 0.569167
+v 1.696119 -1.929525 -0.281930
+v 1.696119 -1.929525 0.281930
+v 1.700000 -0.6 0.000000
+v 1.700000 -0.6 0.000000
+v 1.700000 -0.6231 0.178200
+v 1.700000 -0.6231 -0.178200
+v 1.700000 -0.6858 -0.316800
+v 1.700000 -0.6858 0.316800
+v 1.700000 -0.7782 0.415800
+v 1.700000 -0.7782 -0.415800
+v 1.700000 -0.8904 -0.475200
+v 1.700000 -0.8904 0.475200
+v 1.700000 -1.0125 -0.495000
+v 1.700000 -1.0125 0.495000
+v 1.700000 -1.1346 -0.475200
+v 1.700000 -1.1346 0.475200
+v 1.700000 -1.2468 0.415800
+v 1.700000 -1.2468 -0.415800
+v 1.700000 -1.3392 -0.316800
+v 1.700000 -1.3392 0.316800
+v 1.700000 -1.4019 0.178200
+v 1.700000 -1.4019 -0.178200
+v 1.700000 -1.425 0.000000
+v 1.700000 -1.425 0.000000
+v 1.718250 -1.929525 0.000000
+v 1.718250 -1.929525 0.000000
+v 1.725622 -1.323225 -0.897795
+v 1.725622 -1.323225 0.897795
+v 1.727460 -0.384375 -0.287140
+v 1.727460 -0.384375 0.287140
+v 1.732362 -0.4632 -0.581929
+v 1.732362 -0.4632 0.581929
+v 1.733408 -0.6564 -0.901846
+v 1.733408 -0.6564 0.901846
+v 1.750000 -0.384375 0.000000
+v 1.750000 -0.384375 0.000000
+v 1.751120 -1.621875 -0.588230
+v 1.751120 -1.621875 0.588230
+v 1.754764 -1.1784 -0.912957
+v 1.754764 -1.1784 0.912957
+v 1.761022 -1.7748 -0.292719
+v 1.761022 -1.7748 0.292719
+v 1.767222 -0.771675 -0.919439
+v 1.767222 -0.771675 0.919439
+v 1.773229 -1.037175 -0.922564
+v 1.773229 -1.037175 0.922564
+v 1.779680 -0.9 -0.925920
+v 1.779680 -0.9 -0.925920
+v 1.779680 -0.9 0.925920
+v 1.779680 -0.9 0.925920
+v 1.784000 -1.7748 0.000000
+v 1.784000 -1.7748 0.000000
+v 1.796946 -0.553725 -0.603624
+v 1.796946 -0.553725 0.603624
+v 1.800507 -0.4632 -0.299282
+v 1.800507 -0.4632 0.299282
+v 1.800745 -1.4712 -0.604900
+v 1.800745 -1.4712 0.604900
+v 1.820003 -1.621875 -0.302523
+v 1.820003 -1.621875 0.302522
+v 1.824000 -0.4632 0.000000
+v 1.824000 -0.4632 0.000000
+v 1.841822 -1.323225 -0.618698
+v 1.841822 -1.323225 0.618698
+v 1.843750 -1.621875 0.000000
+v 1.843750 -1.621875 -0.000000
+v 1.850132 -0.6564 -0.621490
+v 1.850132 -0.6564 0.621490
+v 1.867631 -0.553725 -0.310439
+v 1.867631 -0.553725 0.310439
+v 1.871580 -1.4712 -0.311096
+v 1.871580 -1.4712 0.311096
+v 1.872927 -1.1784 -0.629147
+v 1.872927 -1.1784 0.629147
+v 1.886223 -0.771675 -0.633613
+v 1.886223 -0.771675 0.633613
+v 1.892000 -0.553725 0.000000
+v 1.892000 -0.553725 -0.000000
+v 1.892634 -1.037175 -0.635767
+v 1.892634 -1.037175 0.635767
+v 1.896000 -1.4712 0.000000
+v 1.896000 -1.4712 0.000000
+v 1.899520 -0.9 -0.638080
+v 1.899520 -0.9 -0.638080
+v 1.899520 -0.9 0.638080
+v 1.899520 -0.9 0.638080
+v 1.914272 -1.323225 -0.318192
+v 1.914272 -1.323225 0.318192
+v 1.922910 -0.6564 -0.319628
+v 1.922910 -0.6564 0.319628
+v 1.935900 -1.4442 0.000000
+v 1.935900 -1.4442 0.000000
+v 1.939250 -1.323225 0.000000
+v 1.939250 -1.323225 -0.000000
+v 1.939394 -1.423221 -0.175100
+v 1.939394 -1.423221 0.175100
+v 1.946601 -1.1784 -0.323566
+v 1.946601 -1.1784 0.323566
+v 1.948000 -0.6564 0.000000
+v 1.948000 -0.6564 -0.000000
+v 1.948879 -1.366278 -0.311290
+v 1.948879 -1.366278 0.311290
+v 1.960420 -0.771675 -0.325863
+v 1.960420 -0.771675 0.325863
+v 1.962857 -1.282362 -0.408568
+v 1.962857 -1.282362 0.408568
+v 1.967083 -1.037175 -0.326970
+v 1.967083 -1.037175 0.326970
+v 1.972000 -1.1784 0.000000
+v 1.972000 -1.1784 0.000000
+v 1.974240 -0.9 -0.328160
+v 1.974240 -0.9 0.328160
+v 1.974240 -0.9 0.328160
+v 1.979830 -1.180464 -0.466934
+v 1.979830 -1.180464 0.466934
+v 1.986000 -0.771675 0.000000
+v 1.986000 -0.771675 -0.000000
+v 1.992750 -1.037175 0.000000
+v 1.992750 -1.037175 0.000000
+v 1.998300 -1.069575 -0.486390
+v 1.998300 -1.069575 0.486390
+v 2.000000 -0.9 0.000000
+v 2.000000 -0.9 0.000000
+v 2.016770 -0.958686 -0.466934
+v 2.016770 -0.958686 0.466934
+v 2.033743 -0.856788 -0.408568
+v 2.033743 -0.856788 0.408568
+v 2.047721 -0.772872 0.311290
+v 2.047721 -0.772872 -0.311290
+v 2.057206 -0.715929 0.175100
+v 2.057206 -0.715929 -0.175100
+v 2.060700 -0.69495 0.000000
+v 2.060700 -0.69495 0.000000
+v 2.111200 -1.4976 0.000000
+v 2.111200 -1.4976 0.000000
+v 2.116979 -1.47912 -0.166687
+v 2.116979 -1.47912 0.166687
+v 2.132666 -1.42896 -0.296333
+v 2.132666 -1.42896 0.296333
+v 2.155782 -1.35504 -0.388937
+v 2.155782 -1.35504 0.388937
+v 2.183853 -1.26528 -0.444499
+v 2.183853 -1.26528 0.444499
+v 2.214400 -1.1676 -0.463020
+v 2.214400 -1.1676 0.463020
+v 2.237300 -1.5789 0.000000
+v 2.237300 -1.5789 0.000000
+v 2.244457 -1.563171 -0.154289
+v 2.244457 -1.563171 0.154289
+v 2.244947 -1.06992 -0.444499
+v 2.244947 -1.06992 0.444499
+v 2.263882 -1.520478 -0.274291
+v 2.263882 -1.520478 0.274291
+v 2.273018 -0.98016 -0.388937
+v 2.273018 -0.98016 0.388937
+v 2.292510 -1.457562 -0.360007
+v 2.292510 -1.457562 0.360007
+v 2.296134 -0.90624 -0.296333
+v 2.296134 -0.90624 0.296333
+v 2.311821 -0.85608 -0.166687
+v 2.311821 -0.85608 0.166687
+v 2.317600 -0.8376 0.000000
+v 2.317600 -0.8376 0.000000
+v 2.325600 -1.6818 0.000000
+v 2.325600 -1.6818 0.000000
+v 2.327271 -1.381164 -0.411437
+v 2.327271 -1.381164 0.411437
+v 2.333530 -1.668948 -0.139234
+v 2.333530 -1.668948 0.139234
+v 2.355053 -1.634064 -0.247526
+v 2.355053 -1.634064 0.247526
+v 2.365100 -1.298025 -0.428580
+v 2.365100 -1.298025 0.428580
+v 2.386771 -1.582656 -0.324878
+v 2.386771 -1.582656 0.324878
+v 2.387500 -1.8 0.000000
+v 2.387500 -1.8 0.000000
+v 2.395900 -1.790025 0.122850
+v 2.395900 -1.790025 -0.122850
+v 2.402929 -1.214886 -0.411437
+v 2.402929 -1.214886 0.411437
+v 2.418700 -1.76295 -0.218400
+v 2.418700 -1.76295 0.218400
+v 2.425286 -1.520232 -0.371290
+v 2.425286 -1.520232 0.371290
+v 2.434400 -1.9272 0.000000
+v 2.434400 -1.9272 0.000000
+v 2.437690 -1.138488 -0.360007
+v 2.437690 -1.138488 0.360007
+v 2.443270 -1.919976 0.106466
+v 2.443270 -1.919976 -0.106466
+v 2.452300 -1.72305 -0.286650
+v 2.452300 -1.72305 0.286650
+v 2.466318 -1.075572 -0.274291
+v 2.466318 -1.075572 0.274291
+v 2.467200 -1.4523 -0.386760
+v 2.467200 -1.4523 0.386760
+v 2.467347 -1.900368 0.189274
+v 2.467347 -1.900368 -0.189274
+v 2.477700 -2.0571 0.000000
+v 2.477700 -2.0571 0.000000
+v 2.485743 -1.032879 -0.154289
+v 2.485743 -1.032879 0.154289
+v 2.487343 -2.052375 -0.091411
+v 2.487343 -2.052375 0.091411
+v 2.492900 -1.01715 0.000000
+v 2.492900 -1.01715 0.000000
+v 2.493100 -1.6746 -0.327600
+v 2.493100 -1.6746 0.327600
+v 2.502829 -1.871472 0.248422
+v 2.502829 -1.871472 -0.248422
+v 2.509114 -1.384368 -0.371290
+v 2.509114 -1.384368 0.371290
+v 2.513518 -2.03955 0.162509
+v 2.513518 -2.03955 -0.162509
+v 2.528800 -2.1834 0.000000
+v 2.537500 -1.621875 -0.341250
+v 2.537500 -1.621875 0.341250
+v 2.539821 -2.180796 -0.079013
+v 2.539821 -2.180796 0.079013
+v 2.545914 -1.836384 -0.283910
+v 2.545914 -1.836384 0.283910
+v 2.547629 -1.321944 -0.324878
+v 2.547629 -1.321944 0.324878
+v 2.552090 -2.02065 -0.213293
+v 2.552090 -2.02065 0.213293
+v 2.569734 -2.173728 -0.140467
+v 2.569734 -2.173728 0.140467
+v 2.579347 -1.270536 -0.247526
+v 2.579347 -1.270536 0.247526
+v 2.581900 -1.56915 -0.327600
+v 2.581900 -1.56915 0.327600
+v 2.592800 -1.7982 -0.295740
+v 2.592800 -1.7982 0.295740
+v 2.598929 -1.9977 -0.243763
+v 2.598929 -1.9977 0.243763
+v 2.599100 -2.2998 0.000000
+v 2.599100 -2.2998 0.000000
+v 2.600870 -1.235652 -0.139234
+v 2.600870 -1.235652 0.139234
+v 2.608800 -1.2228 0.000000
+v 2.608800 -1.2228 0.000000
+v 2.612406 -2.298813 0.070600
+v 2.612406 -2.298813 -0.070600
+v 2.613818 -2.163312 -0.184363
+v 2.613818 -2.163312 0.184363
+v 2.622700 -1.5207 -0.286650
+v 2.622700 -1.5207 0.286650
+v 2.639686 -1.760016 -0.283910
+v 2.639686 -1.760016 0.283910
+v 2.648521 -2.296134 0.125510
+v 2.648521 -2.296134 -0.125510
+v 2.649900 -1.972725 0.253920
+v 2.649900 -1.972725 -0.253920
+v 2.656300 -1.4808 -0.218400
+v 2.656300 -1.4808 0.218400
+v 2.667347 -2.150664 -0.210701
+v 2.667347 -2.150664 0.210701
+v 2.679100 -1.453725 0.122850
+v 2.679100 -1.453725 -0.122850
+v 2.682771 -1.724928 0.248422
+v 2.682771 -1.724928 -0.248422
+v 2.687500 -1.44375 0.000000
+v 2.687500 -1.44375 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700871 -1.94775 -0.243763
+v 2.700871 -1.94775 0.243763
+v 2.701743 -2.292186 0.164732
+v 2.701743 -2.292186 -0.164732
+v 2.716800 -2.4 0.067500
+v 2.716800 -2.4 -0.067500
+v 2.716800 -2.4 -0.067500
+v 2.716800 -2.4 0.067500
+v 2.718253 -1.696032 0.189274
+v 2.718253 -1.696032 -0.189274
+v 2.725600 -2.1369 -0.219480
+v 2.725600 -2.1369 0.219480
+v 2.729800 -2.42025 0.000000
+v 2.742330 -1.676424 0.106466
+v 2.742330 -1.676424 -0.106466
+v 2.747407 -2.420406 -0.066744
+v 2.747407 -2.420406 0.066744
+v 2.747710 -1.9248 -0.213293
+v 2.747710 -1.9248 0.213293
+v 2.751200 -1.6692 0.000000
+v 2.751200 -1.6692 0.000000
+v 2.758400 -2.436 0.000000
+v 2.762400 -2.4 0.120000
+v 2.762400 -2.4 -0.120000
+v 2.762400 -2.4 -0.120000
+v 2.762400 -2.4 0.120000
+v 2.766370 -2.287392 0.188266
+v 2.766370 -2.287392 -0.188266
+v 2.776365 -2.436302 -0.064692
+v 2.776365 -2.436302 0.064692
+v 2.783853 -2.123136 -0.210701
+v 2.783853 -2.123136 0.210701
+v 2.784600 -2.44725 0.000000
+v 2.784600 -2.44725 0.000000
+v 2.786282 -1.9059 0.162509
+v 2.786282 -1.9059 -0.162509
+v 2.795198 -2.420829 -0.118656
+v 2.795198 -2.420829 0.118656
+v 2.800000 -2.4 0.000000
+v 2.802528 -2.44768 -0.061668
+v 2.802528 -2.44768 0.061668
+v 2.807200 -2.454 0.000000
+v 2.811200 -2.4 -0.040500
+v 2.811200 -2.4 0.040500
+v 2.812457 -1.893075 0.091411
+v 2.812457 -1.893075 -0.091411
+v 2.822100 -1.88835 0.000000
+v 2.822100 -1.88835 0.000000
+v 2.824200 -2.42025 0.000000
+v 2.824200 -2.42025 0.000000
+v 2.824750 -2.454529 -0.057996
+v 2.824750 -2.454529 0.057996
+v 2.825000 -2.45625 0.000000
+v 2.825000 -2.45625 0.000000
+v 2.825126 -2.437123 -0.115008
+v 2.825126 -2.437123 0.115008
+v 2.829600 -2.4 0.157500
+v 2.829600 -2.4 -0.157500
+v 2.829600 -2.4 -0.157500
+v 2.829600 -2.4 0.157500
+v 2.836672 -2.420519 -0.041256
+v 2.836672 -2.420519 0.041256
+v 2.836700 -2.282175 0.196110
+v 2.836700 -2.282175 -0.196110
+v 2.836800 -2.454 0.000000
+v 2.836800 -2.454 0.000000
+v 2.837382 -2.110488 -0.184363
+v 2.837382 -2.110488 0.184363
+v 2.837600 -2.436 0.000000
+v 2.837600 -2.436 0.000000
+v 2.841400 -2.44725 0.000000
+v 2.841400 -2.44725 0.000000
+v 2.841600 -2.4 -0.072000
+v 2.841600 -2.4 0.072000
+v 2.841887 -2.456841 -0.054000
+v 2.841887 -2.456841 0.054000
+v 2.851189 -2.448847 -0.109632
+v 2.851189 -2.448847 0.109632
+v 2.851331 -2.436454 -0.043308
+v 2.851331 -2.436454 0.043308
+v 2.852794 -2.454605 -0.050004
+v 2.852794 -2.454605 0.050004
+v 2.856323 -2.447812 -0.046332
+v 2.856323 -2.447812 0.046332
+v 2.865626 -2.421453 -0.155736
+v 2.865626 -2.421453 0.155736
+v 2.870524 -2.42125 -0.073344
+v 2.870524 -2.42125 0.073344
+v 2.872387 -2.455966 -0.103104
+v 2.872387 -2.455966 0.103104
+v 2.881466 -2.100072 -0.140467
+v 2.881466 -2.100072 0.140467
+v 2.886400 -2.4 -0.094500
+v 2.886400 -2.4 0.094500
+v 2.887725 -2.458444 -0.096000
+v 2.887725 -2.458444 0.096000
+v 2.888602 -2.437685 -0.076992
+v 2.888602 -2.437685 0.076992
+v 2.896205 -2.456246 0.088896
+v 2.896205 -2.456246 -0.088896
+v 2.896829 -2.449338 -0.082368
+v 2.896829 -2.449338 0.082368
+v 2.896986 -2.438333 -0.150948
+v 2.896986 -2.438333 0.150948
+v 2.907030 -2.276958 0.188266
+v 2.907030 -2.276958 -0.188266
+v 2.911200 -2.4 -0.180000
+v 2.911200 -2.4 -0.180000
+v 2.911200 -2.4 0.180000
+v 2.911379 -2.093004 -0.079013
+v 2.911379 -2.093004 0.079013
+v 2.920412 -2.422328 -0.096264
+v 2.920412 -2.422328 0.096264
+v 2.922400 -2.0904 0.000000
+v 2.922899 -2.450567 -0.143892
+v 2.922899 -2.450567 0.143892
+v 2.940800 -2.4 -0.108000
+v 2.940800 -2.4 0.108000
+v 2.942589 -2.458082 -0.135324
+v 2.942589 -2.458082 0.135324
+v 2.943526 -2.439499 -0.101052
+v 2.943526 -2.439499 0.101052
+v 2.951146 -2.42221 -0.177984
+v 2.951146 -2.42221 0.177984
+v 2.955275 -2.460806 -0.126000
+v 2.955275 -2.460806 0.126000
+v 2.956523 -2.451588 -0.108108
+v 2.956523 -2.451588 0.108108
+v 2.960179 -2.458666 -0.116676
+v 2.960179 -2.458666 0.116676
+v 2.971657 -2.272164 0.164732
+v 2.971657 -2.272164 -0.164732
+v 2.980990 -2.423636 0.110016
+v 2.980990 -2.423636 -0.110016
+v 2.984243 -2.439802 -0.172512
+v 2.984243 -2.439802 0.172512
+v 3.000000 -2.4 -0.187500
+v 3.000000 -2.4 -0.187500
+v 3.000000 -2.4 -0.112500
+v 3.000000 -2.4 0.112500
+v 3.000000 -2.4 0.187500
+v 3.009977 -2.452655 -0.164448
+v 3.009977 -2.452655 0.164448
+v 3.010221 -2.441702 -0.115488
+v 3.010221 -2.441702 0.115488
+v 3.024879 -2.268216 0.125510
+v 3.024879 -2.268216 -0.125510
+v 3.027834 -2.460653 -0.154656
+v 3.027834 -2.460653 0.154656
+v 3.029007 -2.454319 -0.123552
+v 3.029007 -2.454319 0.123552
+v 3.037300 -2.463675 -0.144000
+v 3.037300 -2.463675 0.144000
+v 3.037862 -2.461603 0.133344
+v 3.037862 -2.461603 -0.133344
+v 3.044212 -2.423034 -0.185400
+v 3.044212 -2.423034 0.185400
+v 3.046912 -2.425059 0.114600
+v 3.046912 -2.425059 -0.114600
+v 3.059200 -2.4 -0.108000
+v 3.059200 -2.4 0.108000
+v 3.060994 -2.265537 0.070600
+v 3.060994 -2.265537 -0.070600
+v 3.074300 -2.26455 0.000000
+v 3.074300 -2.26455 0.000000
+v 3.079200 -2.4414 -0.179700
+v 3.079200 -2.4414 0.179700
+v 3.082800 -2.4441 -0.120300
+v 3.082800 -2.4441 0.120300
+v 3.088800 -2.4 -0.180000
+v 3.088800 -2.4 -0.180000
+v 3.088800 -2.4 0.180000
+v 3.104737 -2.454928 -0.171300
+v 3.104738 -2.454928 0.171300
+v 3.107887 -2.457291 -0.128700
+v 3.107887 -2.457291 0.128700
+v 3.112835 -2.426483 0.110016
+v 3.112835 -2.426483 -0.110016
+v 3.113600 -2.4 -0.094500
+v 3.113600 -2.4 0.094500
+v 3.120600 -2.46345 0.161100
+v 3.120600 -2.46345 -0.161100
+v 3.122400 -2.4648 0.138900
+v 3.122400 -2.4648 -0.138900
+v 3.126562 -2.466797 -0.150000
+v 3.126562 -2.466797 0.150000
+v 3.137279 -2.423859 -0.177984
+v 3.137279 -2.423859 0.177984
+v 3.155379 -2.446498 -0.115488
+v 3.155379 -2.446498 0.115488
+v 3.158400 -2.4 -0.072000
+v 3.158400 -2.4 0.072000
+v 3.170400 -2.4 -0.157500
+v 3.170400 -2.4 0.157500
+v 3.170400 -2.4 -0.157500
+v 3.173413 -2.427791 -0.096264
+v 3.173413 -2.427791 0.096264
+v 3.174157 -2.442998 -0.172512
+v 3.174157 -2.442998 0.172512
+v 3.186768 -2.460263 -0.123552
+v 3.186768 -2.460263 0.123552
+v 3.188800 -2.4 -0.040500
+v 3.188800 -2.4 0.040500
+v 3.199498 -2.457201 -0.164448
+v 3.199498 -2.457201 0.164448
+v 3.200000 -2.4 0.000000
+v 3.206938 -2.467997 0.133344
+v 3.206938 -2.467997 -0.133344
+v 3.213366 -2.466247 -0.154656
+v 3.213366 -2.466247 0.154656
+v 3.215825 -2.469919 -0.144000
+v 3.215825 -2.469919 0.144000
+v 3.222074 -2.448701 -0.101052
+v 3.222074 -2.448701 0.101052
+v 3.222799 -2.424616 -0.155736
+v 3.222799 -2.424616 0.155736
+v 3.223301 -2.428868 -0.073344
+v 3.223301 -2.428868 0.073344
+v 3.237600 -2.4 -0.120000
+v 3.237600 -2.4 0.120000
+v 3.237600 -2.4 -0.120000
+v 3.257153 -2.429599 -0.041256
+v 3.257153 -2.429599 0.041256
+v 3.259252 -2.462994 -0.108108
+v 3.259252 -2.462994 0.108108
+v 3.261414 -2.444467 -0.150948
+v 3.261414 -2.444467 0.150948
+v 3.269625 -2.429869 0.000000
+v 3.269625 -2.429869 0.000000
+v 3.276998 -2.450515 -0.076992
+v 3.276998 -2.450515 0.076992
+v 3.283200 -2.4 -0.067500
+v 3.283200 -2.4 0.067500
+v 3.283200 -2.4 -0.067500
+v 3.284621 -2.470934 -0.116676
+v 3.284621 -2.470934 0.116676
+v 3.286576 -2.459289 -0.143892
+v 3.286576 -2.459289 0.143892
+v 3.293227 -2.42524 -0.118656
+v 3.293227 -2.42524 0.118656
+v 3.297850 -2.472787 -0.126000
+v 3.297850 -2.472788 0.126000
+v 3.298611 -2.468818 -0.135324
+v 3.298611 -2.468818 0.135324
+v 3.300000 -2.4 0.000000
+v 3.300000 -2.4 0.000000
+v 3.314269 -2.451746 -0.043308
+v 3.314269 -2.451746 0.043308
+v 3.318946 -2.465243 -0.082368
+v 3.318946 -2.465243 0.082368
+v 3.328000 -2.4522 0.000000
+v 3.328000 -2.4522 0.000000
+v 3.333274 -2.445677 -0.115008
+v 3.333274 -2.445677 0.115008
+v 3.341018 -2.425663 -0.066744
+v 3.341018 -2.425663 0.066744
+v 3.348595 -2.473354 0.088896
+v 3.348595 -2.473354 -0.088896
+v 3.358286 -2.461009 -0.109632
+v 3.358286 -2.461009 0.109632
+v 3.358625 -2.425819 0.000000
+v 3.359452 -2.466769 -0.046332
+v 3.359452 -2.466769 0.046332
+v 3.365400 -2.47515 -0.096000
+v 3.365400 -2.47515 0.096000
+v 3.368813 -2.470934 -0.103104
+v 3.368813 -2.470934 0.103104
+v 3.374375 -2.467331 0.000000
+v 3.374375 -2.467331 0.000000
+v 3.382035 -2.446498 -0.064692
+v 3.382035 -2.446498 0.064692
+v 3.392006 -2.474995 -0.050004
+v 3.392006 -2.474995 0.050004
+v 3.400000 -2.4468 0.000000
+v 3.406947 -2.462176 -0.061668
+v 3.406947 -2.462176 0.061668
+v 3.408000 -2.4756 0.000000
+v 3.408000 -2.4756 0.000000
+v 3.411237 -2.476753 -0.054000
+v 3.411237 -2.476753 0.054000
+v 3.416450 -2.472371 -0.057996
+v 3.416450 -2.472371 0.057996
+v 3.424875 -2.462606 0.000000
+v 3.428125 -2.477344 0.000000
+v 3.428125 -2.477344 0.000000
+v 3.434000 -2.4729 0.000000
+
+f 2909 2921 2939
+f 2939 2931 2909
+f 2869 2877 2921
+f 2921 2909 2869
+f 2819 2827 2877
+f 2877 2869 2819
+f 2737 2747 2827
+f 2827 2819 2737
+f 2669 2673 2747
+f 2747 2737 2669
+f 2567 2575 2673
+f 2673 2669 2567
+f 2476 2480 2575
+f 2575 2567 2476
+f 2358 2362 2480
+f 2480 2476 2358
+f 2158 2162 2362
+f 2362 2358 2158
+f 1715 1812 2162
+f 2162 2158 1715
+f 2901 2909 2931
+f 2931 2917 2901
+f 2863 2869 2909
+f 2909 2901 2863
+f 2813 2819 2869
+f 2869 2863 2813
+f 2729 2737 2819
+f 2819 2813 2729
+f 2663 2669 2737
+f 2737 2729 2663
+f 2561 2567 2669
+f 2669 2663 2561
+f 2468 2476 2567
+f 2567 2561 2468
+f 2350 2358 2476
+f 2476 2468 2350
+f 2152 2158 2358
+f 2358 2350 2152
+f 1717 1715 2158
+f 2158 2152 1717
+f 2903 2901 2917
+f 2917 2923 2903
+f 2865 2863 2901
+f 2901 2903 2865
+f 2815 2813 2863
+f 2863 2865 2815
+f 2733 2729 2813
+f 2813 2815 2733
+f 2665 2663 2729
+f 2729 2733 2665
+f 2564 2561 2663
+f 2663 2665 2564
+f 2473 2468 2561
+f 2561 2564 2473
+f 2354 2350 2468
+f 2468 2473 2354
+f 2155 2152 2350
+f 2350 2354 2155
+f 1927 1717 2152
+f 2152 2155 1927
+f 2911 2903 2923
+f 2923 2935 2911
+f 2875 2865 2903
+f 2903 2911 2875
+f 2823 2815 2865
+f 2865 2875 2823
+f 2741 2733 2815
+f 2815 2823 2741
+f 2671 2665 2733
+f 2733 2741 2671
+f 2571 2564 2665
+f 2665 2671 2571
+f 2478 2473 2564
+f 2564 2571 2478
+f 2360 2354 2473
+f 2473 2478 2360
+f 2160 2155 2354
+f 2354 2360 2160
+f 1718 1927 2155
+f 2155 2160 1718
+f 2929 2911 2935
+f 2935 2947 2929
+f 2881 2875 2911
+f 2911 2929 2881
+f 2829 2823 2875
+f 2875 2881 2829
+f 2751 2741 2823
+f 2823 2829 2751
+f 2677 2671 2741
+f 2741 2751 2677
+f 2577 2571 2671
+f 2671 2677 2577
+f 2482 2478 2571
+f 2571 2577 2482
+f 2364 2360 2478
+f 2478 2482 2364
+f 2164 2160 2360
+f 2360 2364 2164
+f 1842 1718 2160
+f 2160 2164 1842
+f 2945 2929 2947
+f 2947 2959 2945
+f 2897 2881 2929
+f 2929 2945 2897
+f 2835 2829 2881
+f 2881 2897 2835
+f 2761 2751 2829
+f 2829 2835 2761
+f 2679 2677 2751
+f 2751 2761 2679
+f 2579 2577 2677
+f 2677 2679 2579
+f 2486 2482 2577
+f 2577 2579 2486
+f 2368 2364 2482
+f 2482 2486 2368
+f 2172 2164 2364
+f 2364 2368 2172
+f 1725 1842 2164
+f 2164 2172 1725
+f 2965 2945 2959
+f 2959 2981 2965
+f 2907 2897 2945
+f 2945 2965 2907
+f 2845 2835 2897
+f 2897 2907 2845
+f 2769 2761 2835
+f 2835 2845 2769
+f 2685 2679 2761
+f 2761 2769 2685
+f 2587 2579 2679
+f 2679 2685 2587
+f 2491 2486 2579
+f 2579 2587 2491
+f 2370 2368 2486
+f 2486 2491 2370
+f 2174 2172 2368
+f 2368 2370 2174
+f 1834 1725 2172
+f 2172 2174 1834
+f 2982 2965 2981
+f 2981 2988 2982
+f 2933 2907 2965
+f 2965 2982 2933
+f 2855 2845 2907
+f 2907 2933 2855
+f 2779 2769 2845
+f 2845 2855 2779
+f 2691 2685 2769
+f 2769 2779 2691
+f 2595 2587 2685
+f 2685 2691 2595
+f 2500 2491 2587
+f 2587 2595 2500
+f 2374 2370 2491
+f 2491 2500 2374
+f 2178 2174 2370
+f 2370 2374 2178
+f 1716 1834 2174
+f 2174 2178 1716
+f 2990 2982 2988
+f 2988 3002 2990
+f 2949 2933 2982
+f 2982 2990 2949
+f 2871 2855 2933
+f 2933 2949 2871
+f 2791 2779 2855
+f 2855 2871 2791
+f 2699 2691 2779
+f 2779 2791 2699
+f 2601 2595 2691
+f 2691 2699 2601
+f 2506 2500 2595
+f 2595 2601 2506
+f 2378 2374 2500
+f 2500 2506 2378
+f 2180 2178 2374
+f 2374 2378 2180
+f 1714 1716 2178
+f 2178 2180 1714
+f 3008 2990 3002
+f 3002 3024 3008
+f 2973 2949 2990
+f 2990 3008 2973
+f 2889 2871 2949
+f 2949 2973 2889
+f 2805 2791 2871
+f 2871 2889 2805
+f 2711 2699 2791
+f 2791 2805 2711
+f 2611 2601 2699
+f 2699 2711 2611
+f 2521 2506 2601
+f 2601 2611 2521
+f 2387 2378 2506
+f 2506 2521 2387
+f 2191 2180 2378
+f 2378 2387 2191
+f 1810 1714 2180
+f 2180 2191 1810
+f 1464 1460 1813
+f 1813 1821 1464
+f 1264 1260 1460
+f 1460 1464 1264
+f 1146 1142 1260
+f 1260 1264 1146
+f 1055 1047 1142
+f 1142 1146 1055
+f 953 949 1047
+f 1047 1055 953
+f 885 875 949
+f 949 953 885
+f 803 795 875
+f 875 885 803
+f 753 745 795
+f 795 803 753
+f 713 701 745
+f 745 753 713
+f 691 683 701
+f 701 713 691
+f 1470 1464 1821
+f 1821 1829 1470
+f 1272 1264 1464
+f 1464 1470 1272
+f 1154 1146 1264
+f 1264 1272 1154
+f 1061 1055 1146
+f 1146 1154 1061
+f 959 953 1055
+f 1055 1061 959
+f 893 885 953
+f 953 959 893
+f 809 803 885
+f 885 893 809
+f 759 753 803
+f 803 809 759
+f 721 713 753
+f 753 759 721
+f 705 691 713
+f 713 721 705
+f 1469 1470 1829
+f 1829 1835 1469
+f 1268 1272 1470
+f 1470 1469 1268
+f 1151 1154 1272
+f 1272 1268 1151
+f 1060 1061 1154
+f 1154 1151 1060
+f 957 959 1061
+f 1061 1060 957
+f 889 893 959
+f 959 957 889
+f 807 809 893
+f 893 889 807
+f 757 759 809
+f 809 807 757
+f 719 721 759
+f 759 757 719
+f 699 705 721
+f 721 719 699
+f 1462 1469 1835
+f 1835 1839 1462
+f 1262 1268 1469
+f 1469 1462 1262
+f 1144 1151 1268
+f 1268 1262 1144
+f 1051 1060 1151
+f 1151 1144 1051
+f 951 957 1060
+f 1060 1051 951
+f 881 889 957
+f 957 951 881
+f 799 807 889
+f 889 881 799
+f 747 757 807
+f 807 799 747
+f 711 719 757
+f 757 747 711
+f 687 699 719
+f 719 711 687
+f 1458 1462 1839
+f 1839 1843 1458
+f 1258 1262 1462
+f 1462 1458 1258
+f 1140 1144 1262
+f 1262 1258 1140
+f 1045 1051 1144
+f 1144 1140 1045
+f 945 951 1051
+f 1051 1045 945
+f 871 881 951
+f 951 945 871
+f 793 799 881
+f 881 871 793
+f 741 747 799
+f 799 793 741
+f 693 711 747
+f 747 741 693
+f 675 687 711
+f 711 693 675
+f 1450 1458 1843
+f 1843 1838 1450
+f 1254 1258 1458
+f 1458 1450 1254
+f 1136 1140 1258
+f 1258 1254 1136
+f 1043 1045 1140
+f 1140 1136 1043
+f 943 945 1045
+f 1045 1043 943
+f 861 871 945
+f 945 943 861
+f 787 793 871
+f 871 861 787
+f 725 741 793
+f 793 787 725
+f 677 693 741
+f 741 725 677
+f 663 675 693
+f 693 677 663
+f 1448 1450 1838
+f 1838 1834 1448
+f 1252 1254 1450
+f 1450 1448 1252
+f 1133 1136 1254
+f 1254 1252 1133
+f 1035 1043 1136
+f 1136 1133 1035
+f 937 943 1043
+f 1043 1035 937
+f 853 861 943
+f 943 937 853
+f 777 787 861
+f 861 853 777
+f 715 725 787
+f 787 777 715
+f 657 677 725
+f 725 715 657
+f 642 663 677
+f 677 657 642
+f 1444 1448 1834
+f 1834 1828 1444
+f 1248 1252 1448
+f 1448 1444 1248
+f 1122 1133 1252
+f 1252 1248 1122
+f 1027 1035 1133
+f 1133 1122 1027
+f 931 937 1035
+f 1035 1027 931
+f 843 853 937
+f 937 931 843
+f 767 777 853
+f 853 843 767
+f 689 715 777
+f 777 767 689
+f 640 657 715
+f 715 689 640
+f 634 642 657
+f 657 640 634
+f 1442 1444 1828
+f 1828 1820 1442
+f 1244 1248 1444
+f 1444 1442 1244
+f 1116 1122 1248
+f 1248 1244 1116
+f 1021 1027 1122
+f 1122 1116 1021
+f 923 931 1027
+f 1027 1021 923
+f 831 843 931
+f 931 923 831
+f 751 767 843
+f 843 831 751
+f 673 689 767
+f 767 751 673
+f 632 640 689
+f 689 673 632
+f 620 634 640
+f 640 632 620
+f 1429 1442 1820
+f 1820 1811 1429
+f 1233 1244 1442
+f 1442 1429 1233
+f 1106 1116 1244
+f 1244 1233 1106
+f 1011 1021 1116
+f 1116 1106 1011
+f 911 923 1021
+f 1021 1011 911
+f 817 831 923
+f 923 911 817
+f 733 751 831
+f 831 817 733
+f 649 673 751
+f 751 733 649
+f 614 632 673
+f 673 649 614
+f 597 620 632
+f 632 614 597
+f 714 702 684
+f 684 692 714
+f 754 746 702
+f 702 714 754
+f 804 796 746
+f 746 754 804
+f 886 876 796
+f 796 804 886
+f 954 950 876
+f 876 886 954
+f 1056 1048 950
+f 950 954 1056
+f 1147 1143 1048
+f 1048 1056 1147
+f 1265 1261 1143
+f 1143 1147 1265
+f 1465 1461 1261
+f 1261 1265 1465
+f 1915 1817 1461
+f 1461 1465 1915
+f 722 714 692
+f 692 706 722
+f 760 754 714
+f 714 722 760
+f 810 804 754
+f 754 760 810
+f 894 886 804
+f 804 810 894
+f 960 954 886
+f 886 894 960
+f 1062 1056 954
+f 954 960 1062
+f 1155 1147 1056
+f 1056 1062 1155
+f 1273 1265 1147
+f 1147 1155 1273
+f 1471 1465 1265
+f 1265 1273 1471
+f 1917 1915 1465
+f 1465 1471 1917
+f 720 722 706
+f 706 700 720
+f 758 760 722
+f 722 720 758
+f 808 810 760
+f 760 758 808
+f 890 894 810
+f 810 808 890
+f 958 960 894
+f 894 890 958
+f 1059 1062 960
+f 960 958 1059
+f 1150 1155 1062
+f 1062 1059 1150
+f 1269 1273 1155
+f 1155 1150 1269
+f 1468 1471 1273
+f 1273 1269 1468
+f 1697 1917 1471
+f 1471 1468 1697
+f 712 720 700
+f 700 688 712
+f 748 758 720
+f 720 712 748
+f 800 808 758
+f 758 748 800
+f 882 890 808
+f 808 800 882
+f 952 958 890
+f 890 882 952
+f 1052 1059 958
+f 958 952 1052
+f 1145 1150 1059
+f 1059 1052 1145
+f 1263 1269 1150
+f 1150 1145 1263
+f 1463 1468 1269
+f 1269 1263 1463
+f 1919 1697 1468
+f 1468 1463 1919
+f 694 712 688
+f 688 676 694
+f 742 748 712
+f 712 694 742
+f 794 800 748
+f 748 742 794
+f 872 882 800
+f 800 794 872
+f 946 952 882
+f 882 872 946
+f 1046 1052 952
+f 952 946 1046
+f 1141 1145 1052
+f 1052 1046 1141
+f 1259 1263 1145
+f 1145 1141 1259
+f 1459 1463 1263
+f 1263 1259 1459
+f 1845 1919 1463
+f 1463 1459 1845
+f 678 694 676
+f 676 664 678
+f 726 742 694
+f 694 678 726
+f 788 794 742
+f 742 726 788
+f 862 872 794
+f 794 788 862
+f 944 946 872
+f 872 862 944
+f 1044 1046 946
+f 946 944 1044
+f 1137 1141 1046
+f 1046 1044 1137
+f 1255 1259 1141
+f 1141 1137 1255
+f 1451 1459 1259
+f 1259 1255 1451
+f 1898 1845 1459
+f 1459 1451 1898
+f 658 678 664
+f 664 642 658
+f 716 726 678
+f 678 658 716
+f 778 788 726
+f 726 716 778
+f 854 862 788
+f 788 778 854
+f 938 944 862
+f 862 854 938
+f 1036 1044 944
+f 944 938 1036
+f 1132 1137 1044
+f 1044 1036 1132
+f 1253 1255 1137
+f 1137 1132 1253
+f 1449 1451 1255
+f 1255 1253 1449
+f 1837 1898 1451
+f 1451 1449 1837
+f 641 658 642
+f 642 635 641
+f 690 716 658
+f 658 641 690
+f 768 778 716
+f 716 690 768
+f 844 854 778
+f 778 768 844
+f 932 938 854
+f 854 844 932
+f 1028 1036 938
+f 938 932 1028
+f 1123 1132 1036
+f 1036 1028 1123
+f 1249 1253 1132
+f 1132 1123 1249
+f 1445 1449 1253
+f 1253 1249 1445
+f 1918 1837 1449
+f 1449 1445 1918
+f 633 641 635
+f 635 621 633
+f 674 690 641
+f 641 633 674
+f 752 768 690
+f 690 674 752
+f 832 844 768
+f 768 752 832
+f 924 932 844
+f 844 832 924
+f 1022 1028 932
+f 932 924 1022
+f 1117 1123 1028
+f 1028 1022 1117
+f 1245 1249 1123
+f 1123 1117 1245
+f 1443 1445 1249
+f 1249 1245 1443
+f 1916 1918 1445
+f 1445 1443 1916
+f 616 633 621
+f 621 600 616
+f 654 674 633
+f 633 616 654
+f 737 752 674
+f 674 654 737
+f 822 832 752
+f 752 737 822
+f 914 924 832
+f 832 822 914
+f 1014 1022 924
+f 924 914 1014
+f 1104 1117 1022
+f 1022 1014 1104
+f 1237 1245 1117
+f 1117 1104 1237
+f 1433 1443 1245
+f 1245 1237 1433
+f 1819 1916 1443
+f 1443 1433 1819
+f 2159 2163 1816
+f 1816 1822 2159
+f 2359 2363 2163
+f 2163 2159 2359
+f 2477 2481 2363
+f 2363 2359 2477
+f 2568 2576 2481
+f 2481 2477 2568
+f 2670 2674 2576
+f 2576 2568 2670
+f 2738 2748 2674
+f 2674 2670 2738
+f 2820 2828 2748
+f 2748 2738 2820
+f 2870 2878 2828
+f 2828 2820 2870
+f 2910 2922 2878
+f 2878 2870 2910
+f 2932 2940 2922
+f 2922 2910 2932
+f 2153 2159 1822
+f 1822 1830 2153
+f 2351 2359 2159
+f 2159 2153 2351
+f 2469 2477 2359
+f 2359 2351 2469
+f 2562 2568 2477
+f 2477 2469 2562
+f 2664 2670 2568
+f 2568 2562 2664
+f 2730 2738 2670
+f 2670 2664 2730
+f 2814 2820 2738
+f 2738 2730 2814
+f 2864 2870 2820
+f 2820 2814 2864
+f 2902 2910 2870
+f 2870 2864 2902
+f 2918 2932 2910
+f 2910 2902 2918
+f 2154 2153 1830
+f 1830 1836 2154
+f 2355 2351 2153
+f 2153 2154 2355
+f 2472 2469 2351
+f 2351 2355 2472
+f 2563 2562 2469
+f 2469 2472 2563
+f 2666 2664 2562
+f 2562 2563 2666
+f 2734 2730 2664
+f 2664 2666 2734
+f 2816 2814 2730
+f 2730 2734 2816
+f 2866 2864 2814
+f 2814 2816 2866
+f 2904 2902 2864
+f 2864 2866 2904
+f 2924 2918 2902
+f 2902 2904 2924
+f 2161 2154 1836
+f 1836 1840 2161
+f 2361 2355 2154
+f 2154 2161 2361
+f 2479 2472 2355
+f 2355 2361 2479
+f 2572 2563 2472
+f 2472 2479 2572
+f 2672 2666 2563
+f 2563 2572 2672
+f 2742 2734 2666
+f 2666 2672 2742
+f 2824 2816 2734
+f 2734 2742 2824
+f 2876 2866 2816
+f 2816 2824 2876
+f 2912 2904 2866
+f 2866 2876 2912
+f 2936 2924 2904
+f 2904 2912 2936
+f 2165 2161 1840
+f 1840 1844 2165
+f 2365 2361 2161
+f 2161 2165 2365
+f 2483 2479 2361
+f 2361 2365 2483
+f 2578 2572 2479
+f 2479 2483 2578
+f 2678 2672 2572
+f 2572 2578 2678
+f 2752 2742 2672
+f 2672 2678 2752
+f 2830 2824 2742
+f 2742 2752 2830
+f 2882 2876 2824
+f 2824 2830 2882
+f 2930 2912 2876
+f 2876 2882 2930
+f 2948 2936 2912
+f 2912 2930 2948
+f 2173 2165 1844
+f 1844 1841 2173
+f 2369 2365 2165
+f 2165 2173 2369
+f 2487 2483 2365
+f 2365 2369 2487
+f 2580 2578 2483
+f 2483 2487 2580
+f 2680 2678 2578
+f 2578 2580 2680
+f 2762 2752 2678
+f 2678 2680 2762
+f 2836 2830 2752
+f 2752 2762 2836
+f 2898 2882 2830
+f 2830 2836 2898
+f 2946 2930 2882
+f 2882 2898 2946
+f 2960 2948 2930
+f 2930 2946 2960
+f 2175 2173 1841
+f 1841 1837 2175
+f 2371 2369 2173
+f 2173 2175 2371
+f 2490 2487 2369
+f 2369 2371 2490
+f 2588 2580 2487
+f 2487 2490 2588
+f 2686 2680 2580
+f 2580 2588 2686
+f 2770 2762 2680
+f 2680 2686 2770
+f 2846 2836 2762
+f 2762 2770 2846
+f 2908 2898 2836
+f 2836 2846 2908
+f 2966 2946 2898
+f 2898 2908 2966
+f 2981 2960 2946
+f 2946 2966 2981
+f 2179 2175 1837
+f 1837 1831 2179
+f 2375 2371 2175
+f 2175 2179 2375
+f 2501 2490 2371
+f 2371 2375 2501
+f 2596 2588 2490
+f 2490 2501 2596
+f 2692 2686 2588
+f 2588 2596 2692
+f 2780 2770 2686
+f 2686 2692 2780
+f 2856 2846 2770
+f 2770 2780 2856
+f 2934 2908 2846
+f 2846 2856 2934
+f 2983 2966 2908
+f 2908 2934 2983
+f 2989 2981 2966
+f 2966 2983 2989
+f 2181 2179 1831
+f 1831 1823 2181
+f 2379 2375 2179
+f 2179 2181 2379
+f 2507 2501 2375
+f 2375 2379 2507
+f 2602 2596 2501
+f 2501 2507 2602
+f 2700 2692 2596
+f 2596 2602 2700
+f 2792 2780 2692
+f 2692 2700 2792
+f 2872 2856 2780
+f 2780 2792 2872
+f 2950 2934 2856
+f 2856 2872 2950
+f 2991 2983 2934
+f 2934 2950 2991
+f 3003 2989 2983
+f 2983 2991 3003
+f 2194 2181 1823
+f 1823 1818 2194
+f 2391 2379 2181
+f 2181 2194 2391
+f 2518 2507 2379
+f 2379 2391 2518
+f 2614 2602 2507
+f 2507 2518 2614
+f 2712 2700 2602
+f 2602 2614 2712
+f 2806 2792 2700
+f 2700 2712 2806
+f 2890 2872 2792
+f 2792 2806 2890
+f 2974 2950 2872
+f 2872 2890 2974
+f 3009 2991 2950
+f 2950 2974 3009
+f 3025 3003 2991
+f 2991 3009 3025
+f 3040 3008 3024
+f 3024 3048 3040
+f 3018 2973 3008
+f 3008 3040 3018
+f 2943 2889 2973
+f 2973 3018 2943
+f 2841 2805 2889
+f 2889 2943 2841
+f 2731 2711 2805
+f 2805 2841 2731
+f 2645 2611 2711
+f 2711 2731 2645
+f 2529 2521 2611
+f 2611 2645 2529
+f 2402 2387 2521
+f 2521 2529 2402
+f 2208 2191 2387
+f 2387 2402 2208
+f 1806 1810 2191
+f 2191 2208 1806
+f 3072 3040 3048
+f 3048 3078 3072
+f 3044 3018 3040
+f 3040 3072 3044
+f 2994 2943 3018
+f 3018 3044 2994
+f 2883 2841 2943
+f 2943 2994 2883
+f 2773 2731 2841
+f 2841 2883 2773
+f 2659 2645 2731
+f 2731 2773 2659
+f 2539 2529 2645
+f 2645 2659 2539
+f 2410 2402 2529
+f 2529 2539 2410
+f 2222 2208 2402
+f 2402 2410 2222
+f 1694 1806 2208
+f 2208 2222 1694
+f 3092 3072 3078
+f 3078 3116 3092
+f 3074 3044 3072
+f 3072 3092 3074
+f 3030 2994 3044
+f 3044 3074 3030
+f 2937 2883 2994
+f 2994 3030 2937
+f 2810 2773 2883
+f 2883 2937 2810
+f 2683 2659 2773
+f 2773 2810 2683
+f 2554 2539 2659
+f 2659 2683 2554
+f 2420 2410 2539
+f 2539 2554 2420
+f 2238 2222 2410
+f 2410 2420 2238
+f 1930 1694 2222
+f 2222 2238 1930
+f 3132 3092 3116
+f 3116 3142 3132
+f 3090 3074 3092
+f 3092 3132 3090
+f 3054 3030 3074
+f 3074 3090 3054
+f 2984 2937 3030
+f 3030 3054 2984
+f 2837 2810 2937
+f 2937 2984 2837
+f 2705 2683 2810
+f 2810 2837 2705
+f 2574 2554 2683
+f 2683 2705 2574
+f 2430 2420 2554
+f 2554 2574 2430
+f 2247 2238 2420
+f 2420 2430 2247
+f 1913 1930 2238
+f 2238 2247 1913
+f 3150 3132 3142
+f 3142 3156 3150
+f 3128 3090 3132
+f 3132 3150 3128
+f 3076 3054 3090
+f 3090 3128 3076
+f 3014 2984 3054
+f 3054 3076 3014
+f 2861 2837 2984
+f 2984 3014 2861
+f 2723 2705 2837
+f 2837 2861 2723
+f 2585 2574 2705
+f 2705 2723 2585
+f 2438 2430 2574
+f 2574 2585 2438
+f 2253 2247 2430
+f 2430 2438 2253
+f 1711 1913 2247
+f 2247 2253 1711
+f 3162 3150 3156
+f 3156 3172 3162
+f 3148 3128 3150
+f 3150 3162 3148
+f 3088 3076 3128
+f 3128 3148 3088
+f 3036 3014 3076
+f 3076 3088 3036
+f 2893 2861 3014
+f 3014 3036 2893
+f 2743 2723 2861
+f 2861 2893 2743
+f 2599 2585 2723
+f 2723 2743 2599
+f 2450 2438 2585
+f 2585 2599 2450
+f 2267 2253 2438
+f 2438 2450 2267
+f 1794 1711 2253
+f 2253 2267 1794
+f 3178 3162 3172
+f 3172 3184 3178
+f 3154 3148 3162
+f 3162 3178 3154
+f 3118 3088 3148
+f 3148 3154 3118
+f 3046 3036 3088
+f 3088 3118 3046
+f 2915 2893 3036
+f 3036 3046 2915
+f 2763 2743 2893
+f 2893 2915 2763
+f 2615 2599 2743
+f 2743 2763 2615
+f 2452 2450 2599
+f 2599 2615 2452
+f 2277 2267 2450
+f 2450 2452 2277
+f 1710 1794 2267
+f 2267 2277 1710
+f 3188 3178 3184
+f 3184 3200 3188
+f 3164 3154 3178
+f 3178 3188 3164
+f 3130 3118 3154
+f 3154 3164 3130
+f 3058 3046 3118
+f 3118 3130 3058
+f 2941 2915 3046
+f 3046 3058 2941
+f 2775 2763 2915
+f 2915 2941 2775
+f 2627 2615 2763
+f 2763 2775 2627
+f 2458 2452 2615
+f 2615 2627 2458
+f 2287 2277 2452
+f 2452 2458 2287
+f 1910 1710 2277
+f 2277 2287 1910
+f 3198 3188 3200
+f 3200 3209 3198
+f 3170 3164 3188
+f 3188 3198 3170
+f 3136 3130 3164
+f 3164 3170 3136
+f 3064 3058 3130
+f 3130 3136 3064
+f 2955 2941 3058
+f 3058 3064 2955
+f 2781 2775 2941
+f 2941 2955 2781
+f 2636 2627 2775
+f 2775 2781 2636
+f 2462 2458 2627
+f 2627 2636 2462
+f 2295 2287 2458
+f 2458 2462 2295
+f 1909 1910 2287
+f 2287 2295 1909
+f 3202 3198 3209
+f 3209 3213 3202
+f 3174 3170 3198
+f 3198 3202 3174
+f 3138 3136 3170
+f 3170 3174 3138
+f 3066 3064 3136
+f 3136 3138 3066
+f 2961 2955 3064
+f 3064 3066 2961
+f 2783 2781 2955
+f 2955 2961 2783
+f 2642 2636 2781
+f 2781 2783 2642
+f 2464 2462 2636
+f 2636 2642 2464
+f 2297 2295 2462
+f 2462 2464 2297
+f 1784 1909 2295
+f 2295 2297 1784
+f 1414 1429 1811
+f 1811 1807 1414
+f 1220 1233 1429
+f 1429 1414 1220
+f 1093 1106 1233
+f 1233 1220 1093
+f 977 1011 1106
+f 1106 1093 977
+f 891 911 1011
+f 1011 977 891
+f 781 817 911
+f 911 891 781
+f 679 733 817
+f 817 781 679
+f 604 649 733
+f 733 679 604
+f 571 614 649
+f 649 604 571
+f 561 597 614
+f 614 571 561
+f 1400 1414 1807
+f 1807 1804 1400
+f 1212 1220 1414
+f 1414 1400 1212
+f 1083 1093 1220
+f 1220 1212 1083
+f 963 977 1093
+f 1093 1083 963
+f 849 891 977
+f 977 963 849
+f 739 781 891
+f 891 849 739
+f 628 679 781
+f 781 739 628
+f 565 604 679
+f 679 628 565
+f 530 571 604
+f 604 565 530
+f 524 561 571
+f 571 530 524
+f 1386 1400 1804
+f 1804 1802 1386
+f 1202 1212 1400
+f 1400 1386 1202
+f 1070 1083 1212
+f 1212 1202 1070
+f 939 963 1083
+f 1083 1070 939
+f 814 849 963
+f 963 939 814
+f 685 739 849
+f 849 814 685
+f 585 628 739
+f 739 685 585
+f 528 565 628
+f 628 585 528
+f 510 530 565
+f 565 528 510
+f 508 524 530
+f 530 510 508
+f 1375 1386 1802
+f 1802 1800 1375
+f 1192 1202 1386
+f 1386 1375 1192
+f 1050 1070 1202
+f 1202 1192 1050
+f 917 939 1070
+f 1070 1050 917
+f 785 814 939
+f 939 917 785
+f 638 685 814
+f 814 785 638
+f 553 585 685
+f 685 638 553
+f 512 528 585
+f 585 553 512
+f 492 510 528
+f 528 512 492
+f 482 508 510
+f 510 492 482
+f 1369 1375 1800
+f 1800 1798 1369
+f 1184 1192 1375
+f 1375 1369 1184
+f 1037 1050 1192
+f 1192 1184 1037
+f 899 917 1050
+f 1050 1037 899
+f 761 785 917
+f 917 899 761
+f 608 638 785
+f 785 761 608
+f 526 553 638
+f 638 608 526
+f 496 512 553
+f 553 526 496
+f 454 492 512
+f 512 496 454
+f 448 482 492
+f 492 454 448
+f 1355 1369 1798
+f 1798 1795 1355
+f 1172 1184 1369
+f 1369 1355 1172
+f 1023 1037 1184
+f 1184 1172 1023
+f 879 899 1037
+f 1037 1023 879
+f 729 761 899
+f 899 879 729
+f 579 608 761
+f 761 729 579
+f 514 526 608
+f 608 579 514
+f 457 496 526
+f 526 514 457
+f 442 454 496
+f 496 457 442
+f 432 448 454
+f 454 442 432
+f 1345 1355 1795
+f 1795 1792 1345
+f 1170 1172 1355
+f 1355 1345 1170
+f 1007 1023 1172
+f 1172 1170 1007
+f 859 879 1023
+f 1023 1007 859
+f 707 729 879
+f 879 859 707
+f 563 579 729
+f 729 707 563
+f 506 514 579
+f 579 563 506
+f 450 457 514
+f 514 506 450
+f 420 442 457
+f 457 450 420
+f 412 432 442
+f 442 420 412
+f 1335 1345 1792
+f 1792 1790 1335
+f 1164 1170 1345
+f 1345 1335 1164
+f 995 1007 1170
+f 1170 1164 995
+f 847 859 1007
+f 1007 995 847
+f 681 707 859
+f 859 847 681
+f 547 563 707
+f 707 681 547
+f 494 506 563
+f 563 547 494
+f 440 450 506
+f 506 494 440
+f 410 420 450
+f 450 440 410
+f 398 412 420
+f 420 410 398
+f 1327 1335 1790
+f 1790 1788 1327
+f 1160 1164 1335
+f 1335 1327 1160
+f 988 995 1164
+f 1164 1160 988
+f 841 847 995
+f 995 988 841
+f 667 681 847
+f 847 841 667
+f 538 547 681
+f 681 667 538
+f 488 494 547
+f 547 538 488
+f 434 440 494
+f 494 488 434
+f 400 410 440
+f 440 434 400
+f 381 398 410
+f 410 400 381
+f 1324 1327 1788
+f 1788 1785 1324
+f 1156 1160 1327
+f 1327 1324 1156
+f 979 988 1160
+f 1160 1156 979
+f 837 841 988
+f 988 979 837
+f 659 667 841
+f 841 837 659
+f 534 538 667
+f 667 659 534
+f 484 488 538
+f 538 534 484
+f 428 434 488
+f 488 484 428
+f 395 400 434
+f 434 428 395
+f 374 381 400
+f 400 395 374
+f 572 616 600
+f 600 562 572
+f 605 654 616
+f 616 572 605
+f 680 737 654
+f 654 605 680
+f 782 822 737
+f 737 680 782
+f 892 914 822
+f 822 782 892
+f 978 1014 914
+f 914 892 978
+f 1094 1104 1014
+f 1014 978 1094
+f 1221 1237 1104
+f 1104 1094 1221
+f 1415 1433 1237
+f 1237 1221 1415
+f 1809 1819 1433
+f 1433 1415 1809
+f 531 572 562
+f 562 525 531
+f 566 605 572
+f 572 531 566
+f 629 680 605
+f 605 566 629
+f 740 782 680
+f 680 629 740
+f 850 892 782
+f 782 740 850
+f 964 978 892
+f 892 850 964
+f 1084 1094 978
+f 978 964 1084
+f 1213 1221 1094
+f 1094 1084 1213
+f 1401 1415 1221
+f 1221 1213 1401
+f 1931 1809 1415
+f 1415 1401 1931
+f 511 531 525
+f 525 509 511
+f 529 566 531
+f 531 511 529
+f 586 629 566
+f 566 529 586
+f 686 740 629
+f 629 586 686
+f 813 850 740
+f 740 686 813
+f 940 964 850
+f 850 813 940
+f 1069 1084 964
+f 964 940 1069
+f 1203 1213 1084
+f 1084 1069 1203
+f 1385 1401 1213
+f 1213 1203 1385
+f 1693 1931 1401
+f 1401 1385 1693
+f 493 511 509
+f 509 483 493
+f 513 529 511
+f 511 493 513
+f 554 586 529
+f 529 513 554
+f 639 686 586
+f 586 554 639
+f 786 813 686
+f 686 639 786
+f 918 940 813
+f 813 786 918
+f 1049 1069 940
+f 940 918 1049
+f 1193 1203 1069
+f 1069 1049 1193
+f 1376 1385 1203
+f 1203 1193 1376
+f 1712 1693 1385
+f 1385 1376 1712
+f 455 493 483
+f 483 449 455
+f 497 513 493
+f 493 455 497
+f 527 554 513
+f 513 497 527
+f 609 639 554
+f 554 527 609
+f 762 786 639
+f 639 609 762
+f 900 918 786
+f 786 762 900
+f 1038 1049 918
+f 918 900 1038
+f 1185 1193 1049
+f 1049 1038 1185
+f 1370 1376 1193
+f 1193 1185 1370
+f 1912 1712 1376
+f 1376 1370 1912
+f 443 455 449
+f 449 433 443
+f 458 497 455
+f 455 443 458
+f 515 527 497
+f 497 458 515
+f 580 609 527
+f 527 515 580
+f 730 762 609
+f 609 580 730
+f 880 900 762
+f 762 730 880
+f 1024 1038 900
+f 900 880 1024
+f 1173 1185 1038
+f 1038 1024 1173
+f 1356 1370 1185
+f 1185 1173 1356
+f 1797 1912 1370
+f 1370 1356 1797
+f 421 443 433
+f 433 413 421
+f 451 458 443
+f 443 421 451
+f 507 515 458
+f 458 451 507
+f 564 580 515
+f 515 507 564
+f 708 730 580
+f 580 564 708
+f 860 880 730
+f 730 708 860
+f 1008 1024 880
+f 880 860 1008
+f 1171 1173 1024
+f 1024 1008 1171
+f 1346 1356 1173
+f 1173 1171 1346
+f 1911 1797 1356
+f 1356 1346 1911
+f 411 421 413
+f 413 399 411
+f 441 451 421
+f 421 411 441
+f 495 507 451
+f 451 441 495
+f 548 564 507
+f 507 495 548
+f 682 708 564
+f 564 548 682
+f 848 860 708
+f 708 682 848
+f 996 1008 860
+f 860 848 996
+f 1165 1171 1008
+f 1008 996 1165
+f 1336 1346 1171
+f 1171 1165 1336
+f 1709 1911 1346
+f 1346 1336 1709
+f 401 411 399
+f 399 382 401
+f 435 441 411
+f 411 401 435
+f 489 495 441
+f 441 435 489
+f 539 548 495
+f 495 489 539
+f 668 682 548
+f 548 539 668
+f 842 848 682
+f 682 668 842
+f 987 996 848
+f 848 842 987
+f 1161 1165 996
+f 996 987 1161
+f 1328 1336 1165
+f 1165 1161 1328
+f 1708 1709 1336
+f 1336 1328 1708
+f 397 401 382
+f 382 376 397
+f 431 435 401
+f 401 397 431
+f 487 489 435
+f 435 431 487
+f 537 539 489
+f 489 487 537
+f 662 668 539
+f 539 537 662
+f 840 842 668
+f 668 662 840
+f 981 987 842
+f 842 840 981
+f 1159 1161 987
+f 987 981 1159
+f 1326 1328 1161
+f 1161 1159 1326
+f 1787 1708 1328
+f 1328 1326 1787
+f 2209 2194 1818
+f 1818 1808 2209
+f 2403 2391 2194
+f 2194 2209 2403
+f 2530 2518 2391
+f 2391 2403 2530
+f 2646 2614 2518
+f 2518 2530 2646
+f 2732 2712 2614
+f 2614 2646 2732
+f 2842 2806 2712
+f 2712 2732 2842
+f 2944 2890 2806
+f 2806 2842 2944
+f 3019 2974 2890
+f 2890 2944 3019
+f 3041 3009 2974
+f 2974 3019 3041
+f 3049 3025 3009
+f 3009 3041 3049
+f 2223 2209 1808
+f 1808 1805 2223
+f 2411 2403 2209
+f 2209 2223 2411
+f 2540 2530 2403
+f 2403 2411 2540
+f 2660 2646 2530
+f 2530 2540 2660
+f 2774 2732 2646
+f 2646 2660 2774
+f 2884 2842 2732
+f 2732 2774 2884
+f 2995 2944 2842
+f 2842 2884 2995
+f 3045 3019 2944
+f 2944 2995 3045
+f 3073 3041 3019
+f 3019 3045 3073
+f 3079 3049 3041
+f 3041 3073 3079
+f 2237 2223 1805
+f 1805 1803 2237
+f 2421 2411 2223
+f 2223 2237 2421
+f 2553 2540 2411
+f 2411 2421 2553
+f 2684 2660 2540
+f 2540 2553 2684
+f 2809 2774 2660
+f 2660 2684 2809
+f 2938 2884 2774
+f 2774 2809 2938
+f 3031 2995 2884
+f 2884 2938 3031
+f 3075 3045 2995
+f 2995 3031 3075
+f 3093 3073 3045
+f 3045 3075 3093
+f 3117 3079 3073
+f 3073 3093 3117
+f 2248 2237 1803
+f 1803 1801 2248
+f 2431 2421 2237
+f 2237 2248 2431
+f 2573 2553 2421
+f 2421 2431 2573
+f 2706 2684 2553
+f 2553 2573 2706
+f 2838 2809 2684
+f 2684 2706 2838
+f 2985 2938 2809
+f 2809 2838 2985
+f 3055 3031 2938
+f 2938 2985 3055
+f 3091 3075 3031
+f 3031 3055 3091
+f 3133 3093 3075
+f 3075 3091 3133
+f 3143 3117 3093
+f 3093 3133 3143
+f 2254 2248 1801
+f 1801 1799 2254
+f 2439 2431 2248
+f 2248 2254 2439
+f 2586 2573 2431
+f 2431 2439 2586
+f 2724 2706 2573
+f 2573 2586 2724
+f 2862 2838 2706
+f 2706 2724 2862
+f 3015 2985 2838
+f 2838 2862 3015
+f 3077 3055 2985
+f 2985 3015 3077
+f 3129 3091 3055
+f 3055 3077 3129
+f 3151 3133 3091
+f 3091 3129 3151
+f 3157 3143 3133
+f 3133 3151 3157
+f 2268 2254 1799
+f 1799 1796 2268
+f 2451 2439 2254
+f 2254 2268 2451
+f 2600 2586 2439
+f 2439 2451 2600
+f 2744 2724 2586
+f 2586 2600 2744
+f 2894 2862 2724
+f 2724 2744 2894
+f 3037 3015 2862
+f 2862 2894 3037
+f 3089 3077 3015
+f 3015 3037 3089
+f 3149 3129 3077
+f 3077 3089 3149
+f 3163 3151 3129
+f 3129 3149 3163
+f 3173 3157 3151
+f 3151 3163 3173
+f 2278 2268 1796
+f 1796 1793 2278
+f 2453 2451 2268
+f 2268 2278 2453
+f 2616 2600 2451
+f 2451 2453 2616
+f 2764 2744 2600
+f 2600 2616 2764
+f 2916 2894 2744
+f 2744 2764 2916
+f 3047 3037 2894
+f 2894 2916 3047
+f 3119 3089 3037
+f 3037 3047 3119
+f 3155 3149 3089
+f 3089 3119 3155
+f 3179 3163 3149
+f 3149 3155 3179
+f 3185 3173 3163
+f 3163 3179 3185
+f 2288 2278 1793
+f 1793 1791 2288
+f 2459 2453 2278
+f 2278 2288 2459
+f 2628 2616 2453
+f 2453 2459 2628
+f 2776 2764 2616
+f 2616 2628 2776
+f 2942 2916 2764
+f 2764 2776 2942
+f 3059 3047 2916
+f 2916 2942 3059
+f 3131 3119 3047
+f 3047 3059 3131
+f 3165 3155 3119
+f 3119 3131 3165
+f 3189 3179 3155
+f 3155 3165 3189
+f 3201 3185 3179
+f 3179 3189 3201
+f 2296 2288 1791
+f 1791 1789 2296
+f 2463 2459 2288
+f 2288 2296 2463
+f 2635 2628 2459
+f 2459 2463 2635
+f 2782 2776 2628
+f 2628 2635 2782
+f 2956 2942 2776
+f 2776 2782 2956
+f 3065 3059 2942
+f 2942 2956 3065
+f 3137 3131 3059
+f 3059 3065 3137
+f 3171 3165 3131
+f 3131 3137 3171
+f 3199 3189 3165
+f 3165 3171 3199
+f 3210 3201 3189
+f 3189 3199 3210
+f 2299 2296 1789
+f 1789 1786 2299
+f 2467 2463 2296
+f 2296 2299 2467
+f 2644 2635 2463
+f 2463 2467 2644
+f 2786 2782 2635
+f 2635 2644 2786
+f 2964 2956 2782
+f 2782 2786 2964
+f 3069 3065 2956
+f 2956 2964 3069
+f 3141 3137 3065
+f 3065 3069 3141
+f 3177 3171 3137
+f 3137 3141 3177
+f 3204 3199 3171
+f 3171 3177 3204
+f 3214 3210 3199
+f 3199 3204 3214
+f 3194 3202 3213
+f 3213 3207 3194
+f 3166 3175 3202
+f 3202 3194 3166
+f 3134 3139 3175
+f 3175 3166 3134
+f 3060 3067 3139
+f 3139 3134 3060
+f 2953 2962 3067
+f 3067 3060 2953
+f 2777 2784 2962
+f 2962 2953 2777
+f 2629 2643 2784
+f 2784 2777 2629
+f 2460 2465 2643
+f 2643 2629 2460
+f 2293 2298 2465
+f 2465 2460 2293
+f 1696 1785 2298
+f 2298 2293 1696
+f 3180 3194 3207
+f 3207 3190 3180
+f 3158 3166 3194
+f 3194 3180 3158
+f 3124 3134 3166
+f 3166 3158 3124
+f 3050 3060 3134
+f 3134 3124 3050
+f 2927 2953 3060
+f 3060 3050 2927
+f 2767 2777 2953
+f 2953 2927 2767
+f 2619 2629 2777
+f 2777 2767 2619
+f 2454 2460 2629
+f 2629 2619 2454
+f 2283 2293 2460
+f 2460 2454 2283
+f 1695 1696 2293
+f 2293 2283 1695
+f 3160 3180 3190
+f 3190 3168 3160
+f 3144 3158 3180
+f 3180 3160 3144
+f 3086 3124 3158
+f 3158 3144 3086
+f 3032 3050 3124
+f 3124 3086 3032
+f 2891 2927 3050
+f 3050 3032 2891
+f 2739 2767 2927
+f 2927 2891 2739
+f 2597 2619 2767
+f 2767 2739 2597
+f 2448 2454 2619
+f 2619 2597 2448
+f 2265 2283 2454
+f 2454 2448 2265
+f 1707 1695 2283
+f 2283 2265 1707
+f 3146 3160 3168
+f 3168 3152 3146
+f 3122 3144 3160
+f 3160 3146 3122
+f 3070 3086 3144
+f 3144 3122 3070
+f 2998 3032 3086
+f 3086 3070 2998
+f 2853 2891 3032
+f 3032 2998 2853
+f 2717 2739 2891
+f 2891 2853 2717
+f 2582 2597 2739
+f 2739 2717 2582
+f 2434 2448 2597
+f 2597 2582 2434
+f 2251 2265 2448
+f 2448 2434 2251
+f 1907 1707 2265
+f 2265 2251 1907
+f 3120 3146 3152
+f 3152 3126 3120
+f 3082 3122 3146
+f 3146 3120 3082
+f 3042 3070 3122
+f 3122 3082 3042
+f 2957 2998 3070
+f 3070 3042 2957
+f 2825 2853 2998
+f 2998 2957 2825
+f 2693 2717 2853
+f 2853 2825 2693
+f 2556 2582 2717
+f 2717 2693 2556
+f 2424 2434 2582
+f 2582 2556 2424
+f 2239 2251 2434
+f 2434 2424 2239
+f 1906 1907 2251
+f 2251 2239 1906
+f 3080 3120 3126
+f 3126 3084 3080
+f 3056 3082 3120
+f 3120 3080 3056
+f 3012 3042 3082
+f 3082 3056 3012
+f 2899 2957 3042
+f 3042 3012 2899
+f 2789 2825 2957
+f 2957 2899 2789
+f 2675 2693 2825
+f 2825 2789 2675
+f 2545 2556 2693
+f 2693 2675 2545
+f 2416 2424 2556
+f 2556 2545 2416
+f 2228 2239 2424
+f 2424 2416 2228
+f 1770 1906 2239
+f 2239 2228 1770
+f 3053 3080 3084
+f 3084 3062 3053
+f 3028 3056 3080
+f 3080 3053 3028
+f 2978 3012 3056
+f 3056 3028 2978
+f 2860 2899 3012
+f 3012 2978 2860
+f 2754 2789 2899
+f 2899 2860 2754
+f 2652 2675 2789
+f 2789 2754 2652
+f 2534 2545 2675
+f 2675 2652 2534
+f 2406 2416 2545
+f 2545 2534 2406
+f 2217 2228 2416
+f 2416 2406 2217
+f 1929 1770 2228
+f 2228 2217 1929
+f 3035 3053 3062
+f 3062 3039 3035
+f 2997 3028 3053
+f 3053 3035 2997
+f 2920 2978 3028
+f 3028 2997 2920
+f 2832 2860 2978
+f 2978 2920 2832
+f 2728 2754 2860
+f 2860 2832 2728
+f 2634 2652 2754
+f 2754 2728 2634
+f 2528 2534 2652
+f 2652 2634 2528
+f 2396 2406 2534
+f 2534 2528 2396
+f 2202 2217 2406
+f 2406 2396 2202
+f 1765 1929 2217
+f 2217 2202 1765
+f 3017 3035 3039
+f 3039 3027 3017
+f 2980 2997 3035
+f 3035 3017 2980
+f 2896 2920 2997
+f 2997 2980 2896
+f 2812 2832 2920
+f 2920 2896 2812
+f 2715 2728 2832
+f 2832 2812 2715
+f 2618 2634 2728
+f 2728 2715 2618
+f 2523 2528 2634
+f 2634 2618 2523
+f 2392 2396 2528
+f 2528 2523 2392
+f 2196 2202 2396
+f 2396 2392 2196
+f 1724 1765 2202
+f 2202 2196 1724
+f 3007 3017 3027
+f 3027 3023 3007
+f 2969 2980 3017
+f 3017 3007 2969
+f 2887 2896 2980
+f 2980 2969 2887
+f 2802 2812 2896
+f 2896 2887 2802
+f 2709 2715 2812
+f 2812 2802 2709
+f 2609 2618 2715
+f 2715 2709 2609
+f 2519 2523 2618
+f 2618 2609 2519
+f 2386 2392 2523
+f 2523 2519 2386
+f 2190 2196 2392
+f 2392 2386 2190
+f 1759 1724 2196
+f 2196 2190 1759
+f 1329 1324 1785
+f 1785 1782 1329
+f 1162 1157 1324
+f 1324 1329 1162
+f 993 982 1157
+f 1157 1162 993
+f 845 838 982
+f 982 993 845
+f 669 660 838
+f 838 845 669
+f 542 535 660
+f 660 669 542
+f 490 485 535
+f 535 542 490
+f 438 429 485
+f 485 490 438
+f 404 396 429
+f 429 438 404
+f 387 376 396
+f 396 404 387
+f 1339 1329 1782
+f 1782 1780 1339
+f 1168 1162 1329
+f 1329 1339 1168
+f 1003 993 1162
+f 1162 1168 1003
+f 855 845 993
+f 993 1003 855
+f 695 669 845
+f 845 855 695
+f 559 542 669
+f 669 695 559
+f 500 490 542
+f 542 559 500
+f 446 438 490
+f 490 500 446
+f 416 404 438
+f 438 446 416
+f 408 387 404
+f 404 416 408
+f 1357 1339 1780
+f 1780 1778 1357
+f 1174 1168 1339
+f 1339 1357 1174
+f 1025 1003 1168
+f 1168 1174 1025
+f 883 855 1003
+f 1003 1025 883
+f 731 695 855
+f 855 883 731
+f 583 559 695
+f 695 731 583
+f 516 500 559
+f 559 583 516
+f 467 446 500
+f 500 516 467
+f 444 416 446
+f 446 467 444
+f 436 408 416
+f 416 444 436
+f 1371 1357 1778
+f 1778 1776 1371
+f 1188 1174 1357
+f 1357 1371 1188
+f 1042 1025 1174
+f 1174 1188 1042
+f 905 883 1025
+f 1025 1042 905
+f 769 731 883
+f 883 905 769
+f 624 583 731
+f 731 769 624
+f 532 516 583
+f 583 624 532
+f 502 467 516
+f 516 532 502
+f 459 444 467
+f 467 502 459
+f 452 436 444
+f 444 459 452
+f 1383 1371 1776
+f 1776 1774 1383
+f 1198 1188 1371
+f 1371 1383 1198
+f 1068 1042 1188
+f 1188 1198 1068
+f 929 905 1042
+f 1042 1068 929
+f 797 769 905
+f 905 929 797
+f 665 624 769
+f 769 797 665
+f 569 532 624
+f 624 665 569
+f 520 502 532
+f 532 569 520
+f 504 459 502
+f 502 520 504
+f 498 452 459
+f 459 504 498
+f 1394 1383 1774
+f 1774 1771 1394
+f 1206 1198 1383
+f 1383 1394 1206
+f 1077 1068 1198
+f 1198 1206 1077
+f 947 929 1068
+f 1068 1077 947
+f 833 797 929
+f 929 947 833
+f 723 665 797
+f 797 833 723
+f 610 569 665
+f 665 723 610
+f 549 520 569
+f 569 610 549
+f 522 504 520
+f 520 549 522
+f 518 498 504
+f 504 522 518
+f 1407 1394 1771
+f 1771 1768 1407
+f 1216 1206 1394
+f 1394 1407 1216
+f 1090 1077 1206
+f 1206 1216 1090
+f 972 947 1077
+f 1077 1090 972
+f 870 833 947
+f 947 972 870
+f 764 723 833
+f 833 870 764
+f 646 610 723
+f 723 764 646
+f 587 549 610
+f 610 646 587
+f 556 522 549
+f 549 587 556
+f 540 518 522
+f 522 556 540
+f 1420 1407 1768
+f 1768 1764 1420
+f 1226 1216 1407
+f 1407 1420 1226
+f 1096 1090 1216
+f 1216 1226 1096
+f 990 972 1090
+f 1090 1096 990
+f 896 870 972
+f 972 990 896
+f 792 764 870
+f 870 896 792
+f 704 646 764
+f 764 792 704
+f 627 587 646
+f 646 704 627
+f 582 556 587
+f 587 627 582
+f 574 540 556
+f 556 582 574
+f 1426 1420 1764
+f 1764 1762 1426
+f 1230 1226 1420
+f 1420 1426 1230
+f 1101 1096 1226
+f 1226 1230 1101
+f 1006 990 1096
+f 1096 1101 1006
+f 907 896 990
+f 990 1006 907
+f 812 792 896
+f 896 907 812
+f 728 704 792
+f 792 812 728
+f 644 627 704
+f 704 728 644
+f 607 582 627
+f 627 644 607
+f 592 574 582
+f 582 607 592
+f 1430 1426 1762
+f 1762 1758 1430
+f 1234 1230 1426
+f 1426 1430 1234
+f 1107 1101 1230
+f 1230 1234 1107
+f 1012 1006 1101
+f 1101 1107 1012
+f 912 907 1006
+f 1006 1012 912
+f 819 812 907
+f 907 912 819
+f 738 728 812
+f 812 819 738
+f 651 644 728
+f 728 738 651
+f 618 607 644
+f 644 651 618
+f 601 592 607
+f 607 618 601
+f 405 397 376
+f 376 388 405
+f 439 430 397
+f 397 405 439
+f 491 486 430
+f 430 439 491
+f 543 536 486
+f 486 491 543
+f 670 661 536
+f 536 543 670
+f 846 839 661
+f 661 670 846
+f 994 980 839
+f 839 846 994
+f 1163 1158 980
+f 980 994 1163
+f 1330 1325 1158
+f 1158 1163 1330
+f 1926 1786 1325
+f 1325 1330 1926
+f 417 405 388
+f 388 409 417
+f 447 439 405
+f 405 417 447
+f 501 491 439
+f 439 447 501
+f 560 543 491
+f 491 501 560
+f 696 670 543
+f 543 560 696
+f 856 846 670
+f 670 696 856
+f 1004 994 846
+f 846 856 1004
+f 1169 1163 994
+f 994 1004 1169
+f 1340 1330 1163
+f 1163 1169 1340
+f 1925 1926 1330
+f 1330 1340 1925
+f 445 417 409
+f 409 437 445
+f 468 447 417
+f 417 445 468
+f 517 501 447
+f 447 468 517
+f 584 560 501
+f 501 517 584
+f 732 696 560
+f 560 584 732
+f 884 856 696
+f 696 732 884
+f 1026 1004 856
+f 856 884 1026
+f 1175 1169 1004
+f 1004 1026 1175
+f 1358 1340 1169
+f 1169 1175 1358
+f 1908 1925 1340
+f 1340 1358 1908
+f 460 445 437
+f 437 453 460
+f 503 468 445
+f 445 460 503
+f 533 517 468
+f 468 503 533
+f 625 584 517
+f 517 533 625
+f 770 732 584
+f 584 625 770
+f 906 884 732
+f 732 770 906
+f 1041 1026 884
+f 884 906 1041
+f 1189 1175 1026
+f 1026 1041 1189
+f 1372 1358 1175
+f 1175 1189 1372
+f 1706 1908 1358
+f 1358 1372 1706
+f 505 460 453
+f 453 499 505
+f 521 503 460
+f 460 505 521
+f 570 533 503
+f 503 521 570
+f 666 625 533
+f 533 570 666
+f 798 770 625
+f 625 666 798
+f 930 906 770
+f 770 798 930
+f 1067 1041 906
+f 906 930 1067
+f 1199 1189 1041
+f 1041 1067 1199
+f 1384 1372 1189
+f 1189 1199 1384
+f 1705 1706 1372
+f 1372 1384 1705
+f 523 505 499
+f 499 519 523
+f 550 521 505
+f 505 523 550
+f 611 570 521
+f 521 550 611
+f 724 666 570
+f 570 611 724
+f 834 798 666
+f 666 724 834
+f 948 930 798
+f 798 834 948
+f 1078 1067 930
+f 930 948 1078
+f 1207 1199 1067
+f 1067 1078 1207
+f 1395 1384 1199
+f 1199 1207 1395
+f 1773 1705 1384
+f 1384 1395 1773
+f 555 523 519
+f 519 541 555
+f 588 550 523
+f 523 555 588
+f 645 611 550
+f 550 588 645
+f 763 724 611
+f 611 645 763
+f 869 834 724
+f 724 763 869
+f 971 948 834
+f 834 869 971
+f 1089 1078 948
+f 948 971 1089
+f 1217 1207 1078
+f 1078 1089 1217
+f 1406 1395 1207
+f 1207 1217 1406
+f 1692 1773 1395
+f 1395 1406 1692
+f 581 555 541
+f 541 573 581
+f 626 588 555
+f 555 581 626
+f 703 645 588
+f 588 626 703
+f 791 763 645
+f 645 703 791
+f 895 869 763
+f 763 791 895
+f 989 971 869
+f 869 895 989
+f 1095 1089 971
+f 971 989 1095
+f 1227 1217 1089
+f 1089 1095 1227
+f 1421 1406 1217
+f 1217 1227 1421
+f 1766 1692 1406
+f 1406 1421 1766
+f 606 581 573
+f 573 591 606
+f 643 626 581
+f 581 606 643
+f 727 703 626
+f 626 643 727
+f 811 791 703
+f 703 727 811
+f 908 895 791
+f 791 811 908
+f 1005 989 895
+f 895 908 1005
+f 1100 1095 989
+f 989 1005 1100
+f 1231 1227 1095
+f 1095 1100 1231
+f 1427 1421 1227
+f 1227 1231 1427
+f 1897 1766 1421
+f 1421 1427 1897
+f 615 606 591
+f 591 598 615
+f 653 643 606
+f 606 615 653
+f 735 727 643
+f 643 653 735
+f 820 811 727
+f 727 735 820
+f 913 908 811
+f 811 820 913
+f 1013 1005 908
+f 908 913 1013
+f 1103 1100 1005
+f 1005 1013 1103
+f 1236 1231 1100
+f 1100 1103 1236
+f 1432 1427 1231
+f 1231 1236 1432
+f 1760 1897 1427
+f 1427 1432 1760
+f 2294 2299 1786
+f 1786 1783 2294
+f 2461 2466 2299
+f 2299 2294 2461
+f 2630 2641 2466
+f 2466 2461 2630
+f 2778 2785 2641
+f 2641 2630 2778
+f 2954 2963 2785
+f 2785 2778 2954
+f 3061 3068 2963
+f 2963 2954 3061
+f 3135 3140 3068
+f 3068 3061 3135
+f 3167 3176 3140
+f 3140 3135 3167
+f 3195 3203 3176
+f 3176 3167 3195
+f 3208 3213 3203
+f 3203 3195 3208
+f 2284 2294 1783
+f 1783 1781 2284
+f 2455 2461 2294
+f 2294 2284 2455
+f 2620 2630 2461
+f 2461 2455 2620
+f 2768 2778 2630
+f 2630 2620 2768
+f 2928 2954 2778
+f 2778 2768 2928
+f 3051 3061 2954
+f 2954 2928 3051
+f 3125 3135 3061
+f 3061 3051 3125
+f 3159 3167 3135
+f 3135 3125 3159
+f 3181 3195 3167
+f 3167 3159 3181
+f 3191 3208 3195
+f 3195 3181 3191
+f 2266 2284 1781
+f 1781 1779 2266
+f 2449 2455 2284
+f 2284 2266 2449
+f 2598 2620 2455
+f 2455 2449 2598
+f 2740 2768 2620
+f 2620 2598 2740
+f 2892 2928 2768
+f 2768 2740 2892
+f 3033 3051 2928
+f 2928 2892 3033
+f 3087 3125 3051
+f 3051 3033 3087
+f 3145 3159 3125
+f 3125 3087 3145
+f 3161 3181 3159
+f 3159 3145 3161
+f 3169 3191 3181
+f 3181 3161 3169
+f 2252 2266 1779
+f 1779 1777 2252
+f 2435 2449 2266
+f 2266 2252 2435
+f 2581 2598 2449
+f 2449 2435 2581
+f 2718 2740 2598
+f 2598 2581 2718
+f 2854 2892 2740
+f 2740 2718 2854
+f 2999 3033 2892
+f 2892 2854 2999
+f 3071 3087 3033
+f 3033 2999 3071
+f 3123 3145 3087
+f 3087 3071 3123
+f 3147 3161 3145
+f 3145 3123 3147
+f 3153 3169 3161
+f 3161 3147 3153
+f 2240 2252 1777
+f 1777 1775 2240
+f 2425 2435 2252
+f 2252 2240 2425
+f 2555 2581 2435
+f 2435 2425 2555
+f 2694 2718 2581
+f 2581 2555 2694
+f 2826 2854 2718
+f 2718 2694 2826
+f 2958 2999 2854
+f 2854 2826 2958
+f 3043 3071 2999
+f 2999 2958 3043
+f 3083 3123 3071
+f 3071 3043 3083
+f 3121 3147 3123
+f 3123 3083 3121
+f 3127 3153 3147
+f 3147 3121 3127
+f 2229 2240 1775
+f 1775 1772 2229
+f 2417 2425 2240
+f 2240 2229 2417
+f 2546 2555 2425
+f 2425 2417 2546
+f 2676 2694 2555
+f 2555 2546 2676
+f 2790 2826 2694
+f 2694 2676 2790
+f 2900 2958 2826
+f 2826 2790 2900
+f 3013 3043 2958
+f 2958 2900 3013
+f 3057 3083 3043
+f 3043 3013 3057
+f 3081 3121 3083
+f 3083 3057 3081
+f 3085 3127 3121
+f 3121 3081 3085
+f 2216 2229 1772
+f 1772 1769 2216
+f 2407 2417 2229
+f 2229 2216 2407
+f 2533 2546 2417
+f 2417 2407 2533
+f 2651 2676 2546
+f 2546 2533 2651
+f 2753 2790 2676
+f 2676 2651 2753
+f 2859 2900 2790
+f 2790 2753 2859
+f 2977 3013 2900
+f 2900 2859 2977
+f 3029 3057 3013
+f 3013 2977 3029
+f 3052 3081 3057
+f 3057 3029 3052
+f 3063 3085 3081
+f 3081 3052 3063
+f 2203 2216 1769
+f 1769 1767 2203
+f 2397 2407 2216
+f 2216 2203 2397
+f 2527 2533 2407
+f 2407 2397 2527
+f 2633 2651 2533
+f 2533 2527 2633
+f 2727 2753 2651
+f 2651 2633 2727
+f 2831 2859 2753
+f 2753 2727 2831
+f 2919 2977 2859
+f 2859 2831 2919
+f 2996 3029 2977
+f 2977 2919 2996
+f 3034 3052 3029
+f 3029 2996 3034
+f 3038 3063 3052
+f 3052 3034 3038
+f 2197 2203 1767
+f 1767 1763 2197
+f 2393 2397 2203
+f 2203 2197 2393
+f 2522 2527 2397
+f 2397 2393 2522
+f 2617 2633 2527
+f 2527 2522 2617
+f 2716 2727 2633
+f 2633 2617 2716
+f 2811 2831 2727
+f 2727 2716 2811
+f 2895 2919 2831
+f 2831 2811 2895
+f 2979 2996 2919
+f 2919 2895 2979
+f 3016 3034 2996
+f 2996 2979 3016
+f 3026 3038 3034
+f 3034 3016 3026
+f 2193 2197 1763
+f 1763 1761 2193
+f 2389 2393 2197
+f 2197 2193 2389
+f 2516 2522 2393
+f 2393 2389 2516
+f 2610 2617 2522
+f 2522 2516 2610
+f 2710 2716 2617
+f 2617 2610 2710
+f 2803 2811 2716
+f 2716 2710 2803
+f 2885 2895 2811
+f 2811 2803 2885
+f 2971 2979 2895
+f 2895 2885 2971
+f 3005 3016 2979
+f 2979 2971 3005
+f 3022 3026 3016
+f 3016 3005 3022
+f 461 545 544
+f 544 456 461
+f 463 551 545
+f 545 461 463
+f 465 557 551
+f 551 463 465
+f 469 567 557
+f 557 465 469
+f 471 575 567
+f 567 469 471
+f 473 577 575
+f 575 471 473
+f 475 589 577
+f 577 473 475
+f 477 593 589
+f 589 475 477
+f 479 595 593
+f 593 477 479
+f 481 599 595
+f 595 479 481
+f 389 461 456
+f 456 392 389
+f 386 463 461
+f 461 389 386
+f 379 465 463
+f 463 386 379
+f 373 469 465
+f 465 379 373
+f 371 471 469
+f 469 373 371
+f 369 473 471
+f 471 371 369
+f 366 475 473
+f 473 369 366
+f 364 477 475
+f 475 366 364
+f 362 479 477
+f 477 364 362
+f 361 481 479
+f 479 362 361
+f 335 389 392
+f 392 337 335
+f 333 386 389
+f 389 335 333
+f 331 379 386
+f 386 333 331
+f 329 373 379
+f 379 331 329
+f 328 371 373
+f 373 329 328
+f 325 369 371
+f 371 328 325
+f 323 366 369
+f 369 325 323
+f 321 364 366
+f 366 323 321
+f 319 362 364
+f 364 321 319
+f 316 361 362
+f 362 319 316
+f 298 335 337
+f 337 302 298
+f 290 333 335
+f 335 298 290
+f 288 331 333
+f 333 290 288
+f 286 329 331
+f 331 288 286
+f 281 328 329
+f 329 286 281
+f 275 325 328
+f 328 281 275
+f 265 323 325
+f 325 275 265
+f 259 321 323
+f 323 265 259
+f 255 319 321
+f 321 259 255
+f 249 316 319
+f 319 255 249
+f 269 298 302
+f 302 271 269
+f 261 290 298
+f 298 269 261
+f 251 288 290
+f 290 261 251
+f 238 286 288
+f 288 251 238
+f 230 281 286
+f 286 238 230
+f 218 275 281
+f 281 230 218
+f 208 265 275
+f 275 218 208
+f 196 259 265
+f 265 208 196
+f 186 255 259
+f 259 196 186
+f 181 249 255
+f 255 186 181
+f 228 269 271
+f 271 234 228
+f 222 261 269
+f 269 228 222
+f 212 251 261
+f 261 222 212
+f 200 238 251
+f 251 212 200
+f 177 230 238
+f 238 200 177
+f 160 218 230
+f 230 177 160
+f 134 208 218
+f 218 160 134
+f 112 196 208
+f 208 134 112
+f 102 186 196
+f 196 112 102
+f 96 181 186
+f 186 102 96
+f 198 228 234
+f 234 205 198
+f 182 222 228
+f 228 198 182
+f 168 212 222
+f 222 182 168
+f 146 200 212
+f 212 168 146
+f 118 177 200
+f 200 146 118
+f 92 160 177
+f 177 118 92
+f 74 134 160
+f 160 92 74
+f 63 112 134
+f 134 74 63
+f 53 102 112
+f 112 63 53
+f 50 96 102
+f 102 53 50
+f 167 198 205
+f 205 170 167
+f 154 182 198
+f 198 167 154
+f 126 168 182
+f 182 154 126
+f 100 146 168
+f 168 126 100
+f 83 118 146
+f 146 100 83
+f 61 92 118
+f 118 83 61
+f 46 74 92
+f 92 61 46
+f 32 63 74
+f 74 46 32
+f 25 53 63
+f 63 32 25
+f 21 50 53
+f 53 25 21
+f 143 167 170
+f 170 150 143
+f 124 154 167
+f 167 143 124
+f 104 126 154
+f 154 124 104
+f 84 100 126
+f 126 104 84
+f 65 83 100
+f 100 84 65
+f 44 61 83
+f 83 65 44
+f 30 46 61
+f 61 44 30
+f 17 32 46
+f 46 30 17
+f 9 25 32
+f 32 17 9
+f 5 21 25
+f 25 9 5
+f 132 143 150
+f 150 140 132
+f 116 124 143
+f 143 132 116
+f 94 104 124
+f 124 116 94
+f 76 84 104
+f 104 94 76
+f 55 65 84
+f 84 76 55
+f 40 44 65
+f 65 55 40
+f 22 30 44
+f 44 40 22
+f 11 17 30
+f 30 22 11
+f 2 9 17
+f 17 11 2
+f 1 5 9
+f 9 2 1
+f 480 596 599
+f 599 481 480
+f 478 594 596
+f 596 480 478
+f 476 590 594
+f 594 478 476
+f 474 578 590
+f 590 476 474
+f 472 576 578
+f 578 474 472
+f 470 568 576
+f 576 472 470
+f 466 558 568
+f 568 470 466
+f 464 552 558
+f 558 466 464
+f 462 546 552
+f 552 464 462
+f 456 544 546
+f 546 462 456
+f 363 480 481
+f 481 360 363
+f 365 478 480
+f 480 363 365
+f 367 476 478
+f 478 365 367
+f 368 474 476
+f 476 367 368
+f 370 472 474
+f 474 368 370
+f 372 470 472
+f 472 370 372
+f 380 466 470
+f 470 372 380
+f 385 464 466
+f 466 380 385
+f 390 462 464
+f 464 385 390
+f 391 456 462
+f 462 390 391
+f 320 363 360
+f 360 316 320
+f 322 365 363
+f 363 320 322
+f 324 367 365
+f 365 322 324
+f 326 368 367
+f 367 324 326
+f 327 370 368
+f 368 326 327
+f 330 372 370
+f 370 327 330
+f 332 380 372
+f 372 330 332
+f 334 385 380
+f 380 332 334
+f 336 390 385
+f 385 334 336
+f 337 391 390
+f 390 336 337
+f 256 320 316
+f 316 250 256
+f 260 322 320
+f 320 256 260
+f 266 324 322
+f 322 260 266
+f 276 326 324
+f 324 266 276
+f 282 327 326
+f 326 276 282
+f 287 330 327
+f 327 282 287
+f 289 332 330
+f 330 287 289
+f 291 334 332
+f 332 289 291
+f 299 336 334
+f 334 291 299
+f 303 337 336
+f 336 299 303
+f 187 256 250
+f 250 181 187
+f 197 260 256
+f 256 187 197
+f 209 266 260
+f 260 197 209
+f 219 276 266
+f 266 209 219
+f 231 282 276
+f 276 219 231
+f 239 287 282
+f 282 231 239
+f 252 289 287
+f 287 239 252
+f 262 291 289
+f 289 252 262
+f 270 299 291
+f 291 262 270
+f 272 303 299
+f 299 270 272
+f 103 187 181
+f 181 97 103
+f 113 197 187
+f 187 103 113
+f 135 209 197
+f 197 113 135
+f 161 219 209
+f 209 135 161
+f 178 231 219
+f 219 161 178
+f 201 239 231
+f 231 178 201
+f 213 252 239
+f 239 201 213
+f 223 262 252
+f 252 213 223
+f 229 270 262
+f 262 223 229
+f 235 272 270
+f 270 229 235
+f 54 103 97
+f 97 50 54
+f 64 113 103
+f 103 54 64
+f 75 135 113
+f 113 64 75
+f 93 161 135
+f 135 75 93
+f 119 178 161
+f 161 93 119
+f 147 201 178
+f 178 119 147
+f 169 213 201
+f 201 147 169
+f 183 223 213
+f 213 169 183
+f 199 229 223
+f 223 183 199
+f 205 235 229
+f 229 199 205
+f 24 54 50
+f 50 21 24
+f 33 64 54
+f 54 24 33
+f 47 75 64
+f 64 33 47
+f 62 93 75
+f 75 47 62
+f 82 119 93
+f 93 62 82
+f 101 147 119
+f 119 82 101
+f 127 169 147
+f 147 101 127
+f 155 183 169
+f 169 127 155
+f 166 199 183
+f 183 155 166
+f 171 205 199
+f 199 166 171
+f 10 24 21
+f 21 6 10
+f 18 33 24
+f 24 10 18
+f 31 47 33
+f 33 18 31
+f 45 62 47
+f 47 31 45
+f 66 82 62
+f 62 45 66
+f 85 101 82
+f 82 66 85
+f 105 127 101
+f 101 85 105
+f 125 155 127
+f 127 105 125
+f 144 166 155
+f 155 125 144
+f 151 171 166
+f 166 144 151
+f 3 10 6
+f 6 1 3
+f 12 18 10
+f 10 3 12
+f 23 31 18
+f 18 12 23
+f 41 45 31
+f 31 23 41
+f 56 66 45
+f 45 41 56
+f 77 85 66
+f 66 56 77
+f 95 105 85
+f 85 77 95
+f 117 125 105
+f 105 95 117
+f 133 144 125
+f 125 117 133
+f 140 151 144
+f 144 133 140
+f 138 132 140
+f 140 145 138
+f 122 116 132
+f 132 138 122
+f 98 94 116
+f 116 122 98
+f 80 76 94
+f 94 98 80
+f 60 55 76
+f 76 80 60
+f 42 40 55
+f 55 60 42
+f 28 22 40
+f 40 42 28
+f 13 11 22
+f 22 28 13
+f 7 2 11
+f 11 13 7
+f 4 1 2
+f 2 7 4
+f 152 138 145
+f 145 158 152
+f 136 122 138
+f 138 152 136
+f 108 98 122
+f 122 136 108
+f 89 80 98
+f 98 108 89
+f 70 60 80
+f 80 89 70
+f 52 42 60
+f 60 70 52
+f 38 28 42
+f 42 52 38
+f 26 13 28
+f 28 38 26
+f 19 7 13
+f 13 26 19
+f 15 4 7
+f 7 19 15
+f 173 152 158
+f 158 176 173
+f 162 136 152
+f 152 173 162
+f 142 108 136
+f 136 162 142
+f 111 89 108
+f 108 142 111
+f 91 70 89
+f 89 111 91
+f 73 52 70
+f 70 91 73
+f 58 38 52
+f 52 73 58
+f 48 26 38
+f 38 58 48
+f 37 19 26
+f 26 48 37
+f 35 15 19
+f 19 37 35
+f 194 173 176
+f 176 202 194
+f 184 162 173
+f 173 194 184
+f 174 142 162
+f 162 184 174
+f 156 111 142
+f 142 174 156
+f 128 91 111
+f 111 156 128
+f 106 73 91
+f 91 128 106
+f 86 58 73
+f 73 106 86
+f 78 48 58
+f 58 86 78
+f 68 37 48
+f 48 78 68
+f 67 35 37
+f 37 68 67
+f 221 194 202
+f 202 225 221
+f 216 184 194
+f 194 221 216
+f 206 174 184
+f 184 216 206
+f 192 156 174
+f 174 206 192
+f 180 128 156
+f 156 192 180
+f 164 106 128
+f 128 180 164
+f 148 86 106
+f 106 164 148
+f 130 78 86
+f 86 148 130
+f 121 68 78
+f 78 130 121
+f 115 67 68
+f 68 121 115
+f 244 221 225
+f 225 247 244
+f 240 216 221
+f 221 244 240
+f 236 206 216
+f 216 240 236
+f 233 192 206
+f 206 236 233
+f 227 180 192
+f 192 233 227
+f 215 164 180
+f 180 227 215
+f 210 148 164
+f 164 215 210
+f 203 130 148
+f 148 210 203
+f 191 121 130
+f 130 203 191
+f 188 115 121
+f 121 191 188
+f 284 244 247
+f 247 285 284
+f 279 240 244
+f 244 284 279
+f 277 236 240
+f 240 279 277
+f 273 233 236
+f 236 277 273
+f 267 227 233
+f 233 273 267
+f 263 215 227
+f 227 267 263
+f 258 210 215
+f 215 263 258
+f 253 203 210
+f 210 258 253
+f 245 191 203
+f 203 253 245
+f 242 188 191
+f 191 245 242
+f 315 284 285
+f 285 318 315
+f 312 279 284
+f 284 315 312
+f 311 277 279
+f 279 312 311
+f 309 273 277
+f 277 311 309
+f 307 267 273
+f 273 309 307
+f 305 263 267
+f 267 307 305
+f 301 258 263
+f 263 305 301
+f 297 253 258
+f 258 301 297
+f 295 245 253
+f 253 297 295
+f 293 242 245
+f 245 295 293
+f 341 315 318
+f 318 339 341
+f 343 312 315
+f 315 341 343
+f 345 311 312
+f 312 343 345
+f 347 309 311
+f 311 345 347
+f 349 307 309
+f 309 347 349
+f 351 305 307
+f 307 349 351
+f 353 301 305
+f 305 351 353
+f 355 297 301
+f 301 353 355
+f 357 295 297
+f 297 355 357
+f 359 293 295
+f 295 357 359
+f 378 341 339
+f 339 376 378
+f 384 343 341
+f 341 378 384
+f 394 345 343
+f 343 384 394
+f 403 347 345
+f 345 394 403
+f 406 349 347
+f 347 403 406
+f 415 351 349
+f 349 406 415
+f 419 353 351
+f 351 415 419
+f 423 355 353
+f 353 419 423
+f 425 357 355
+f 355 423 425
+f 427 359 357
+f 357 425 427
+f 8 3 1
+f 1 4 8
+f 14 12 3
+f 3 8 14
+f 29 23 12
+f 12 14 29
+f 43 41 23
+f 23 29 43
+f 59 56 41
+f 41 43 59
+f 81 77 56
+f 56 59 81
+f 99 95 77
+f 77 81 99
+f 123 117 95
+f 95 99 123
+f 139 133 117
+f 117 123 139
+f 145 140 133
+f 133 139 145
+f 20 8 4
+f 4 16 20
+f 27 14 8
+f 8 20 27
+f 39 29 14
+f 14 27 39
+f 51 43 29
+f 29 39 51
+f 71 59 43
+f 43 51 71
+f 88 81 59
+f 59 71 88
+f 109 99 81
+f 81 88 109
+f 137 123 99
+f 99 109 137
+f 153 139 123
+f 123 137 153
+f 159 145 139
+f 139 153 159
+f 36 20 16
+f 16 34 36
+f 49 27 20
+f 20 36 49
+f 57 39 27
+f 27 49 57
+f 72 51 39
+f 39 57 72
+f 90 71 51
+f 51 72 90
+f 110 88 71
+f 71 90 110
+f 141 109 88
+f 88 110 141
+f 163 137 109
+f 109 141 163
+f 172 153 137
+f 137 163 172
+f 176 159 153
+f 153 172 176
+f 69 36 34
+f 34 67 69
+f 79 49 36
+f 36 69 79
+f 87 57 49
+f 49 79 87
+f 107 72 57
+f 57 87 107
+f 129 90 72
+f 72 107 129
+f 157 110 90
+f 90 129 157
+f 175 141 110
+f 110 157 175
+f 185 163 141
+f 141 175 185
+f 195 172 163
+f 163 185 195
+f 202 176 172
+f 172 195 202
+f 120 69 67
+f 67 114 120
+f 131 79 69
+f 69 120 131
+f 149 87 79
+f 79 131 149
+f 165 107 87
+f 87 149 165
+f 179 129 107
+f 107 165 179
+f 193 157 129
+f 129 179 193
+f 207 175 157
+f 157 193 207
+f 217 185 175
+f 175 207 217
+f 220 195 185
+f 185 217 220
+f 224 202 195
+f 195 220 224
+f 190 120 114
+f 114 189 190
+f 204 131 120
+f 120 190 204
+f 211 149 131
+f 131 204 211
+f 214 165 149
+f 149 211 214
+f 226 179 165
+f 165 214 226
+f 232 193 179
+f 179 226 232
+f 237 207 193
+f 193 232 237
+f 241 217 207
+f 207 237 241
+f 243 220 217
+f 217 241 243
+f 248 224 220
+f 220 243 248
+f 246 190 189
+f 189 242 246
+f 254 204 190
+f 190 246 254
+f 257 211 204
+f 204 254 257
+f 264 214 211
+f 211 257 264
+f 268 226 214
+f 214 264 268
+f 274 232 226
+f 226 268 274
+f 278 237 232
+f 232 274 278
+f 280 241 237
+f 237 278 280
+f 283 243 241
+f 241 280 283
+f 285 248 243
+f 243 283 285
+f 294 246 242
+f 242 292 294
+f 296 254 246
+f 246 294 296
+f 300 257 254
+f 254 296 300
+f 304 264 257
+f 257 300 304
+f 306 268 264
+f 264 304 306
+f 308 274 268
+f 268 306 308
+f 310 278 274
+f 274 308 310
+f 313 280 278
+f 278 310 313
+f 314 283 280
+f 280 313 314
+f 317 285 283
+f 283 314 317
+f 356 294 292
+f 292 358 356
+f 354 296 294
+f 294 356 354
+f 352 300 296
+f 296 354 352
+f 350 304 300
+f 300 352 350
+f 348 306 304
+f 304 350 348
+f 346 308 306
+f 306 348 346
+f 344 310 308
+f 308 346 344
+f 342 313 310
+f 310 344 342
+f 340 314 313
+f 313 342 340
+f 338 317 314
+f 314 340 338
+f 424 356 358
+f 358 426 424
+f 422 354 356
+f 356 424 422
+f 418 352 354
+f 354 422 418
+f 414 350 352
+f 352 418 414
+f 407 348 350
+f 350 414 407
+f 402 346 348
+f 348 407 402
+f 393 344 346
+f 346 402 393
+f 383 342 344
+f 344 393 383
+f 377 340 342
+f 342 383 377
+f 375 338 340
+f 340 377 375
+f 3186 3113 3115
+f 3115 3182 3186
+f 3192 3110 3113
+f 3113 3186 3192
+f 3196 3109 3110
+f 3110 3192 3196
+f 3205 3106 3109
+f 3109 3196 3205
+f 3211 3104 3106
+f 3106 3205 3211
+f 3215 3102 3104
+f 3104 3211 3215
+f 3217 3101 3102
+f 3102 3215 3217
+f 3220 3098 3101
+f 3101 3217 3220
+f 3222 3097 3098
+f 3098 3220 3222
+f 3223 3095 3097
+f 3097 3222 3223
+f 3227 3186 3182
+f 3182 3225 3227
+f 3229 3192 3186
+f 3186 3227 3229
+f 3231 3196 3192
+f 3192 3229 3231
+f 3233 3205 3196
+f 3196 3231 3233
+f 3235 3211 3205
+f 3205 3233 3235
+f 3241 3215 3211
+f 3211 3235 3241
+f 3245 3217 3215
+f 3215 3241 3245
+f 3249 3220 3217
+f 3217 3245 3249
+f 3251 3222 3220
+f 3220 3249 3251
+f 3253 3223 3222
+f 3222 3251 3253
+f 3239 3227 3225
+f 3225 3237 3239
+f 3243 3229 3227
+f 3227 3239 3243
+f 3247 3231 3229
+f 3229 3243 3247
+f 3257 3233 3231
+f 3231 3247 3257
+f 3263 3235 3233
+f 3233 3257 3263
+f 3271 3241 3235
+f 3235 3263 3271
+f 3279 3245 3241
+f 3241 3271 3279
+f 3285 3249 3245
+f 3245 3279 3285
+f 3293 3251 3249
+f 3249 3285 3293
+f 3297 3253 3251
+f 3251 3293 3297
+f 3259 3239 3237
+f 3237 3255 3259
+f 3261 3243 3239
+f 3239 3259 3261
+f 3265 3247 3243
+f 3243 3261 3265
+f 3275 3257 3247
+f 3247 3265 3275
+f 3287 3263 3257
+f 3257 3275 3287
+f 3303 3271 3263
+f 3263 3287 3303
+f 3314 3279 3271
+f 3271 3303 3314
+f 3320 3285 3279
+f 3279 3314 3320
+f 3330 3293 3285
+f 3285 3320 3330
+f 3332 3297 3293
+f 3293 3330 3332
+f 3270 3259 3255
+f 3255 3268 3270
+f 3273 3261 3259
+f 3259 3270 3273
+f 3283 3265 3261
+f 3261 3273 3283
+f 3299 3275 3265
+f 3265 3283 3299
+f 3308 3287 3275
+f 3275 3299 3308
+f 3322 3303 3287
+f 3287 3308 3322
+f 3338 3314 3303
+f 3303 3322 3338
+f 3346 3320 3314
+f 3314 3338 3346
+f 3351 3330 3320
+f 3320 3346 3351
+f 3355 3332 3330
+f 3330 3351 3355
+f 3282 3270 3268
+f 3268 3278 3282
+f 3290 3273 3270
+f 3270 3282 3290
+f 3302 3283 3273
+f 3273 3290 3302
+f 3312 3299 3283
+f 3283 3302 3312
+f 3324 3308 3299
+f 3299 3312 3324
+f 3340 3322 3308
+f 3308 3324 3340
+f 3353 3338 3322
+f 3322 3340 3353
+f 3368 3346 3338
+f 3338 3353 3368
+f 3373 3351 3346
+f 3346 3368 3373
+f 3379 3355 3351
+f 3351 3373 3379
+f 3295 3282 3278
+f 3278 3292 3295
+f 3306 3290 3282
+f 3282 3295 3306
+f 3316 3302 3290
+f 3290 3306 3316
+f 3326 3312 3302
+f 3302 3316 3326
+f 3345 3324 3312
+f 3312 3326 3345
+f 3359 3340 3324
+f 3324 3345 3359
+f 3376 3353 3340
+f 3340 3359 3376
+f 3394 3368 3353
+f 3353 3376 3394
+f 3404 3373 3368
+f 3368 3394 3404
+f 3406 3379 3373
+f 3373 3404 3406
+f 3310 3295 3292
+f 3292 3307 3310
+f 3318 3306 3295
+f 3295 3310 3318
+f 3336 3316 3306
+f 3306 3318 3336
+f 3348 3326 3316
+f 3316 3336 3348
+f 3369 3345 3326
+f 3326 3348 3369
+f 3389 3359 3345
+f 3345 3369 3389
+f 3425 3376 3359
+f 3359 3389 3425
+f 3449 3394 3376
+f 3376 3425 3449
+f 3468 3404 3394
+f 3394 3449 3468
+f 3472 3406 3404
+f 3404 3468 3472
+f 3335 3310 3307
+f 3307 3329 3335
+f 3343 3318 3310
+f 3310 3335 3343
+f 3362 3336 3318
+f 3318 3343 3362
+f 3386 3348 3336
+f 3336 3362 3386
+f 3422 3369 3348
+f 3348 3386 3422
+f 3464 3389 3369
+f 3369 3422 3464
+f 3490 3425 3389
+f 3389 3464 3490
+f 3505 3449 3425
+f 3425 3490 3505
+f 3521 3468 3449
+f 3449 3505 3521
+f 3523 3472 3468
+f 3468 3521 3523
+f 3364 3335 3329
+f 3329 3357 3364
+f 3382 3343 3335
+f 3335 3364 3382
+f 3416 3362 3343
+f 3343 3382 3416
+f 3465 3386 3362
+f 3362 3416 3465
+f 3495 3422 3386
+f 3386 3465 3495
+f 3528 3464 3422
+f 3422 3495 3528
+f 3553 3490 3464
+f 3464 3528 3553
+f 3579 3505 3490
+f 3490 3553 3579
+f 3592 3521 3505
+f 3505 3579 3592
+f 3604 3523 3521
+f 3521 3592 3604
+f 3221 3096 3094
+f 3094 3224 3221
+f 3219 3099 3096
+f 3096 3221 3219
+f 3218 3100 3099
+f 3099 3219 3218
+f 3216 3103 3100
+f 3100 3218 3216
+f 3212 3105 3103
+f 3103 3216 3212
+f 3206 3107 3105
+f 3105 3212 3206
+f 3197 3108 3107
+f 3107 3206 3197
+f 3193 3111 3108
+f 3108 3197 3193
+f 3187 3112 3111
+f 3111 3193 3187
+f 3183 3114 3112
+f 3112 3187 3183
+f 3252 3221 3224
+f 3224 3254 3252
+f 3250 3219 3221
+f 3221 3252 3250
+f 3246 3218 3219
+f 3219 3250 3246
+f 3242 3216 3218
+f 3218 3246 3242
+f 3236 3212 3216
+f 3216 3242 3236
+f 3234 3206 3212
+f 3212 3236 3234
+f 3232 3197 3206
+f 3206 3234 3232
+f 3230 3193 3197
+f 3197 3232 3230
+f 3228 3187 3193
+f 3193 3230 3228
+f 3226 3183 3187
+f 3187 3228 3226
+f 3294 3252 3254
+f 3254 3298 3294
+f 3286 3250 3252
+f 3252 3294 3286
+f 3280 3246 3250
+f 3250 3286 3280
+f 3272 3242 3246
+f 3246 3280 3272
+f 3264 3236 3242
+f 3242 3272 3264
+f 3258 3234 3236
+f 3236 3264 3258
+f 3248 3232 3234
+f 3234 3258 3248
+f 3244 3230 3232
+f 3232 3248 3244
+f 3240 3228 3230
+f 3230 3244 3240
+f 3238 3226 3228
+f 3228 3240 3238
+f 3331 3294 3298
+f 3298 3333 3331
+f 3321 3286 3294
+f 3294 3331 3321
+f 3315 3280 3286
+f 3286 3321 3315
+f 3304 3272 3280
+f 3280 3315 3304
+f 3288 3264 3272
+f 3272 3304 3288
+f 3276 3258 3264
+f 3264 3288 3276
+f 3266 3248 3258
+f 3258 3276 3266
+f 3262 3244 3248
+f 3248 3266 3262
+f 3260 3240 3244
+f 3244 3262 3260
+f 3256 3238 3240
+f 3240 3260 3256
+f 3350 3331 3333
+f 3333 3354 3350
+f 3347 3321 3331
+f 3331 3350 3347
+f 3339 3315 3321
+f 3321 3347 3339
+f 3323 3304 3315
+f 3315 3339 3323
+f 3309 3288 3304
+f 3304 3323 3309
+f 3300 3276 3288
+f 3288 3309 3300
+f 3284 3266 3276
+f 3276 3300 3284
+f 3274 3262 3266
+f 3266 3284 3274
+f 3269 3260 3262
+f 3262 3274 3269
+f 3267 3256 3260
+f 3260 3269 3267
+f 3372 3350 3354
+f 3354 3378 3372
+f 3367 3347 3350
+f 3350 3372 3367
+f 3352 3339 3347
+f 3347 3367 3352
+f 3341 3323 3339
+f 3339 3352 3341
+f 3325 3309 3323
+f 3323 3341 3325
+f 3313 3300 3309
+f 3309 3325 3313
+f 3301 3284 3300
+f 3300 3313 3301
+f 3289 3274 3284
+f 3284 3301 3289
+f 3281 3269 3274
+f 3274 3289 3281
+f 3277 3267 3269
+f 3269 3281 3277
+f 3403 3372 3378
+f 3378 3405 3403
+f 3393 3367 3372
+f 3372 3403 3393
+f 3377 3352 3367
+f 3367 3393 3377
+f 3360 3341 3352
+f 3352 3377 3360
+f 3344 3325 3341
+f 3341 3360 3344
+f 3327 3313 3325
+f 3325 3344 3327
+f 3317 3301 3313
+f 3313 3327 3317
+f 3305 3289 3301
+f 3301 3317 3305
+f 3296 3281 3289
+f 3289 3305 3296
+f 3291 3277 3281
+f 3281 3296 3291
+f 3469 3403 3405
+f 3405 3472 3469
+f 3450 3393 3403
+f 3403 3469 3450
+f 3426 3377 3393
+f 3393 3450 3426
+f 3390 3360 3377
+f 3377 3426 3390
+f 3370 3344 3360
+f 3360 3390 3370
+f 3349 3327 3344
+f 3344 3370 3349
+f 3337 3317 3327
+f 3327 3349 3337
+f 3319 3305 3317
+f 3317 3337 3319
+f 3311 3296 3305
+f 3305 3319 3311
+f 3307 3291 3296
+f 3296 3311 3307
+f 3520 3469 3472
+f 3472 3522 3520
+f 3504 3450 3469
+f 3469 3520 3504
+f 3489 3426 3450
+f 3450 3504 3489
+f 3463 3390 3426
+f 3426 3489 3463
+f 3421 3370 3390
+f 3390 3463 3421
+f 3385 3349 3370
+f 3370 3421 3385
+f 3361 3337 3349
+f 3349 3385 3361
+f 3342 3319 3337
+f 3337 3361 3342
+f 3334 3311 3319
+f 3319 3342 3334
+f 3328 3307 3311
+f 3311 3334 3328
+f 3591 3520 3522
+f 3522 3603 3591
+f 3578 3504 3520
+f 3520 3591 3578
+f 3552 3489 3504
+f 3504 3578 3552
+f 3530 3463 3489
+f 3489 3552 3530
+f 3499 3421 3463
+f 3463 3530 3499
+f 3467 3385 3421
+f 3421 3499 3467
+f 3415 3361 3385
+f 3385 3467 3415
+f 3381 3342 3361
+f 3361 3415 3381
+f 3363 3334 3342
+f 3342 3381 3363
+f 3356 3328 3334
+f 3334 3363 3356
+f 3374 3365 3358
+f 3358 3371 3374
+f 3395 3383 3365
+f 3365 3374 3395
+f 3443 3417 3383
+f 3383 3395 3443
+f 3481 3466 3417
+f 3417 3443 3481
+f 3514 3496 3466
+f 3466 3481 3514
+f 3545 3529 3496
+f 3496 3514 3545
+f 3573 3551 3529
+f 3529 3545 3573
+f 3597 3577 3551
+f 3551 3573 3597
+f 3613 3590 3577
+f 3577 3597 3613
+f 3619 3603 3590
+f 3590 3613 3619
+f 3387 3374 3371
+f 3371 3380 3387
+f 3413 3395 3374
+f 3374 3387 3413
+f 3461 3443 3395
+f 3395 3413 3461
+f 3493 3481 3443
+f 3443 3461 3493
+f 3524 3514 3481
+f 3481 3493 3524
+f 3556 3545 3514
+f 3514 3524 3556
+f 3584 3573 3545
+f 3545 3556 3584
+f 3611 3597 3573
+f 3573 3584 3611
+f 3628 3613 3597
+f 3597 3611 3628
+f 3632 3619 3613
+f 3613 3628 3632
+f 3398 3387 3380
+f 3380 3391 3398
+f 3435 3413 3387
+f 3387 3398 3435
+f 3473 3461 3413
+f 3413 3435 3473
+f 3500 3493 3461
+f 3461 3473 3500
+f 3531 3524 3493
+f 3493 3500 3531
+f 3562 3556 3524
+f 3524 3531 3562
+f 3595 3584 3556
+f 3556 3562 3595
+f 3617 3611 3584
+f 3584 3595 3617
+f 3633 3628 3611
+f 3611 3617 3633
+f 3641 3632 3628
+f 3628 3633 3641
+f 3409 3398 3391
+f 3391 3400 3409
+f 3447 3435 3398
+f 3398 3409 3447
+f 3477 3473 3435
+f 3435 3447 3477
+f 3506 3500 3473
+f 3473 3477 3506
+f 3540 3531 3500
+f 3500 3506 3540
+f 3567 3562 3531
+f 3531 3540 3567
+f 3601 3595 3562
+f 3562 3567 3601
+f 3624 3617 3595
+f 3595 3601 3624
+f 3639 3633 3617
+f 3617 3624 3639
+f 3644 3641 3633
+f 3633 3639 3644
+f 3433 3409 3400
+f 3400 3411 3433
+f 3453 3447 3409
+f 3409 3433 3453
+f 3483 3477 3447
+f 3447 3453 3483
+f 3510 3506 3477
+f 3477 3483 3510
+f 3543 3540 3506
+f 3506 3510 3543
+f 3569 3567 3540
+f 3540 3543 3569
+f 3599 3601 3567
+f 3567 3569 3599
+f 3622 3624 3601
+f 3601 3599 3622
+f 3637 3639 3624
+f 3624 3622 3637
+f 3642 3644 3639
+f 3639 3637 3642
+f 3439 3433 3411
+f 3411 3424 3439
+f 3458 3453 3433
+f 3433 3439 3458
+f 3487 3483 3453
+f 3453 3458 3487
+f 3513 3510 3483
+f 3483 3487 3513
+f 3542 3543 3510
+f 3510 3513 3542
+f 3566 3569 3543
+f 3543 3542 3566
+f 3593 3599 3569
+f 3569 3566 3593
+f 3616 3622 3599
+f 3599 3593 3616
+f 3630 3637 3622
+f 3622 3616 3630
+f 3636 3642 3637
+f 3637 3630 3636
+f 3441 3439 3424
+f 3424 3429 3441
+f 3459 3458 3439
+f 3439 3441 3459
+f 3485 3487 3458
+f 3458 3459 3485
+f 3508 3513 3487
+f 3487 3485 3508
+f 3533 3542 3513
+f 3513 3508 3533
+f 3558 3566 3542
+f 3542 3533 3558
+f 3582 3593 3566
+f 3566 3558 3582
+f 3607 3616 3593
+f 3593 3582 3607
+f 3620 3630 3616
+f 3616 3607 3620
+f 3626 3636 3630
+f 3630 3620 3626
+f 3437 3441 3429
+f 3429 3427 3437
+f 3455 3459 3441
+f 3441 3437 3455
+f 3479 3485 3459
+f 3459 3455 3479
+f 3502 3508 3485
+f 3485 3479 3502
+f 3526 3533 3508
+f 3508 3502 3526
+f 3547 3558 3533
+f 3533 3526 3547
+f 3571 3582 3558
+f 3558 3547 3571
+f 3588 3607 3582
+f 3582 3571 3588
+f 3605 3620 3607
+f 3607 3588 3605
+f 3609 3626 3620
+f 3620 3605 3609
+f 3419 3437 3427
+f 3427 3408 3419
+f 3445 3455 3437
+f 3437 3419 3445
+f 3470 3479 3455
+f 3455 3445 3470
+f 3492 3502 3479
+f 3479 3470 3492
+f 3517 3526 3502
+f 3502 3492 3517
+f 3536 3547 3526
+f 3526 3517 3536
+f 3554 3571 3547
+f 3547 3536 3554
+f 3575 3588 3571
+f 3571 3554 3575
+f 3580 3605 3588
+f 3588 3575 3580
+f 3587 3609 3605
+f 3605 3580 3587
+f 3401 3419 3408
+f 3408 3397 3401
+f 3431 3445 3419
+f 3419 3401 3431
+f 3451 3470 3445
+f 3445 3431 3451
+f 3475 3492 3470
+f 3470 3451 3475
+f 3497 3517 3492
+f 3492 3475 3497
+f 3518 3536 3517
+f 3517 3497 3518
+f 3537 3554 3536
+f 3536 3518 3537
+f 3549 3575 3554
+f 3554 3537 3549
+f 3560 3580 3575
+f 3575 3549 3560
+f 3564 3587 3580
+f 3580 3560 3564
+f 3614 3591 3603
+f 3603 3619 3614
+f 3598 3578 3591
+f 3591 3614 3598
+f 3574 3552 3578
+f 3578 3598 3574
+f 3546 3530 3552
+f 3552 3574 3546
+f 3515 3499 3530
+f 3530 3546 3515
+f 3482 3467 3499
+f 3499 3515 3482
+f 3444 3418 3467
+f 3467 3482 3444
+f 3396 3384 3418
+f 3418 3444 3396
+f 3375 3366 3384
+f 3384 3396 3375
+f 3371 3358 3366
+f 3366 3375 3371
+f 3629 3614 3619
+f 3619 3632 3629
+f 3612 3598 3614
+f 3614 3629 3612
+f 3585 3574 3598
+f 3598 3612 3585
+f 3557 3546 3574
+f 3574 3585 3557
+f 3525 3515 3546
+f 3546 3557 3525
+f 3494 3482 3515
+f 3515 3525 3494
+f 3462 3444 3482
+f 3482 3494 3462
+f 3414 3396 3444
+f 3444 3462 3414
+f 3388 3375 3396
+f 3396 3414 3388
+f 3380 3371 3375
+f 3375 3388 3380
+f 3634 3629 3632
+f 3632 3641 3634
+f 3618 3612 3629
+f 3629 3634 3618
+f 3596 3585 3612
+f 3612 3618 3596
+f 3563 3557 3585
+f 3585 3596 3563
+f 3532 3525 3557
+f 3557 3563 3532
+f 3501 3494 3525
+f 3525 3532 3501
+f 3474 3462 3494
+f 3494 3501 3474
+f 3436 3414 3462
+f 3462 3474 3436
+f 3399 3388 3414
+f 3414 3436 3399
+f 3392 3380 3388
+f 3388 3399 3392
+f 3640 3634 3641
+f 3641 3644 3640
+f 3625 3618 3634
+f 3634 3640 3625
+f 3602 3596 3618
+f 3618 3625 3602
+f 3568 3563 3596
+f 3596 3602 3568
+f 3539 3532 3563
+f 3563 3568 3539
+f 3507 3501 3532
+f 3532 3539 3507
+f 3478 3474 3501
+f 3501 3507 3478
+f 3448 3436 3474
+f 3474 3478 3448
+f 3410 3399 3436
+f 3436 3448 3410
+f 3400 3392 3399
+f 3399 3410 3400
+f 3638 3640 3644
+f 3644 3643 3638
+f 3623 3625 3640
+f 3640 3638 3623
+f 3600 3602 3625
+f 3625 3623 3600
+f 3570 3568 3602
+f 3602 3600 3570
+f 3544 3539 3568
+f 3568 3570 3544
+f 3511 3507 3539
+f 3539 3544 3511
+f 3484 3478 3507
+f 3507 3511 3484
+f 3454 3448 3478
+f 3478 3484 3454
+f 3434 3410 3448
+f 3448 3454 3434
+f 3412 3400 3410
+f 3410 3434 3412
+f 3631 3638 3643
+f 3643 3635 3631
+f 3615 3623 3638
+f 3638 3631 3615
+f 3594 3600 3623
+f 3623 3615 3594
+f 3565 3570 3600
+f 3600 3594 3565
+f 3541 3544 3570
+f 3570 3565 3541
+f 3512 3511 3544
+f 3544 3541 3512
+f 3488 3484 3511
+f 3511 3512 3488
+f 3457 3454 3484
+f 3484 3488 3457
+f 3440 3434 3454
+f 3454 3457 3440
+f 3423 3412 3434
+f 3434 3440 3423
+f 3621 3631 3635
+f 3635 3627 3621
+f 3608 3615 3631
+f 3631 3621 3608
+f 3583 3594 3615
+f 3615 3608 3583
+f 3559 3565 3594
+f 3594 3583 3559
+f 3534 3541 3565
+f 3565 3559 3534
+f 3509 3512 3541
+f 3541 3534 3509
+f 3486 3488 3512
+f 3512 3509 3486
+f 3460 3457 3488
+f 3488 3486 3460
+f 3442 3440 3457
+f 3457 3460 3442
+f 3430 3423 3440
+f 3440 3442 3430
+f 3606 3621 3627
+f 3627 3610 3606
+f 3589 3608 3621
+f 3621 3606 3589
+f 3572 3583 3608
+f 3608 3589 3572
+f 3548 3559 3583
+f 3583 3572 3548
+f 3527 3534 3559
+f 3559 3548 3527
+f 3503 3509 3534
+f 3534 3527 3503
+f 3480 3486 3509
+f 3509 3503 3480
+f 3456 3460 3486
+f 3486 3480 3456
+f 3438 3442 3460
+f 3460 3456 3438
+f 3428 3430 3442
+f 3442 3438 3428
+f 3581 3606 3610
+f 3610 3586 3581
+f 3576 3589 3606
+f 3606 3581 3576
+f 3555 3572 3589
+f 3589 3576 3555
+f 3535 3548 3572
+f 3572 3555 3535
+f 3516 3527 3548
+f 3548 3535 3516
+f 3491 3503 3527
+f 3527 3516 3491
+f 3471 3480 3503
+f 3503 3491 3471
+f 3446 3456 3480
+f 3480 3471 3446
+f 3420 3438 3456
+f 3456 3446 3420
+f 3407 3428 3438
+f 3438 3420 3407
+f 3561 3581 3586
+f 3586 3564 3561
+f 3550 3576 3581
+f 3581 3561 3550
+f 3538 3555 3576
+f 3576 3550 3538
+f 3519 3535 3555
+f 3555 3538 3519
+f 3498 3516 3535
+f 3535 3519 3498
+f 3476 3491 3516
+f 3516 3498 3476
+f 3452 3471 3491
+f 3491 3476 3452
+f 3432 3446 3471
+f 3471 3452 3432
+f 3402 3420 3446
+f 3446 3432 3402
+f 3397 3407 3420
+f 3420 3402 3397
+f 1888 2110 2104
+f 1888 2104 2096
+f 1888 2096 2076
+f 1888 2076 2048
+f 1888 2048 2030
+f 1888 2030 2006
+f 1888 2006 1982
+f 1888 1982 1960
+f 1888 1960 1936
+f 1888 1936 1732
+f 2257 2104 2110
+f 2110 2261 2257
+f 2249 2096 2104
+f 2104 2257 2249
+f 2226 2076 2096
+f 2096 2249 2226
+f 2200 2048 2076
+f 2076 2226 2200
+f 2142 2030 2048
+f 2048 2200 2142
+f 2094 2006 2030
+f 2030 2142 2094
+f 2036 1982 2006
+f 2006 2094 2036
+f 1988 1960 1982
+f 1982 2036 1988
+f 1948 1936 1960
+f 1960 1988 1948
+f 1728 1732 1936
+f 1936 1948 1728
+f 2310 2257 2261
+f 2261 2315 2310
+f 2300 2249 2257
+f 2257 2310 2300
+f 2279 2226 2249
+f 2249 2300 2279
+f 2243 2200 2226
+f 2226 2279 2243
+f 2204 2142 2200
+f 2200 2243 2204
+f 2132 2094 2142
+f 2142 2204 2132
+f 2067 2036 2094
+f 2094 2132 2067
+f 2000 1988 2036
+f 2036 2067 2000
+f 1956 1948 1988
+f 1988 2000 1956
+f 1734 1728 1948
+f 1948 1956 1734
+f 2312 2310 2315
+f 2315 2316 2312
+f 2302 2300 2310
+f 2310 2312 2302
+f 2281 2279 2300
+f 2300 2302 2281
+f 2245 2243 2279
+f 2279 2281 2245
+f 2206 2204 2243
+f 2243 2245 2206
+f 2134 2132 2204
+f 2204 2206 2134
+f 2068 2067 2132
+f 2132 2134 2068
+f 2002 2000 2067
+f 2067 2068 2002
+f 1958 1956 2000
+f 2000 2002 1958
+f 1878 1734 1956
+f 1956 1958 1878
+f 2285 2312 2316
+f 2316 2289 2285
+f 2259 2302 2312
+f 2312 2285 2259
+f 2241 2281 2302
+f 2302 2259 2241
+f 2214 2245 2281
+f 2281 2241 2214
+f 2168 2206 2245
+f 2245 2214 2168
+f 2106 2134 2206
+f 2206 2168 2106
+f 2042 2068 2134
+f 2134 2106 2042
+f 1994 2002 2068
+f 2068 2042 1994
+f 1952 1958 2002
+f 2002 1994 1952
+f 1731 1878 1958
+f 1958 1952 1731
+f 2220 2285 2289
+f 2289 2225 2220
+f 2210 2259 2285
+f 2285 2220 2210
+f 2186 2241 2259
+f 2259 2210 2186
+f 2146 2214 2241
+f 2241 2186 2146
+f 2108 2168 2214
+f 2214 2146 2108
+f 2060 2106 2168
+f 2168 2108 2060
+f 2018 2042 2106
+f 2106 2060 2018
+f 1978 1994 2042
+f 2042 2018 1978
+f 1944 1952 1994
+f 1994 1978 1944
+f 1727 1731 1952
+f 1952 1944 1727
+f 2141 2220 2225
+f 2225 2145 2141
+f 2127 2210 2220
+f 2220 2141 2127
+f 2112 2186 2210
+f 2210 2127 2112
+f 2084 2146 2186
+f 2186 2112 2084
+f 2044 2108 2146
+f 2146 2084 2044
+f 2024 2060 2108
+f 2108 2044 2024
+f 1992 2018 2060
+f 2060 2024 1992
+f 1970 1978 2018
+f 2018 1992 1970
+f 1942 1944 1978
+f 1978 1970 1942
+f 1721 1727 1944
+f 1944 1942 1721
+f 2079 2141 2145
+f 2145 2087 2079
+f 2075 2127 2141
+f 2141 2079 2075
+f 2055 2112 2127
+f 2127 2075 2055
+f 2039 2084 2112
+f 2112 2055 2039
+f 2021 2044 2084
+f 2084 2039 2021
+f 1996 2024 2044
+f 2044 2021 1996
+f 1974 1992 2024
+f 2024 1996 1974
+f 1954 1970 1992
+f 1992 1974 1954
+f 1934 1942 1970
+f 1970 1954 1934
+f 1720 1721 1942
+f 1942 1934 1720
+f 2063 2079 2087
+f 2087 2071 2063
+f 2051 2075 2079
+f 2079 2063 2051
+f 2041 2055 2075
+f 2075 2051 2041
+f 2029 2039 2055
+f 2055 2041 2029
+f 2013 2021 2039
+f 2039 2029 2013
+f 1991 1996 2021
+f 2021 2013 1991
+f 1972 1974 1996
+f 1996 1991 1972
+f 1950 1954 1974
+f 1974 1972 1950
+f 1932 1934 1954
+f 1954 1950 1932
+f 1701 1720 1934
+f 1934 1932 1701
+f 2115 2063 2071
+f 2071 2123 2115
+f 2101 2051 2063
+f 2063 2115 2101
+f 2081 2041 2051
+f 2051 2101 2081
+f 2057 2029 2041
+f 2041 2081 2057
+f 2033 2013 2029
+f 2029 2057 2033
+f 2009 1991 2013
+f 2013 2033 2009
+f 1984 1972 1991
+f 1991 2009 1984
+f 1964 1950 1972
+f 1972 1984 1964
+f 1938 1932 1950
+f 1950 1964 1938
+f 1698 1701 1932
+f 1932 1938 1698
+f 1888 1886 1686
+f 1888 1686 1662
+f 1888 1662 1640
+f 1888 1640 1616
+f 1888 1616 1592
+f 1888 1592 1574
+f 1888 1574 1546
+f 1888 1546 1526
+f 1888 1526 1518
+f 1888 1518 1512
+f 1674 1686 1886
+f 1886 1884 1674
+f 1634 1662 1686
+f 1686 1674 1634
+f 1586 1640 1662
+f 1662 1634 1586
+f 1528 1616 1640
+f 1640 1586 1528
+f 1480 1592 1616
+f 1616 1528 1480
+f 1422 1574 1592
+f 1592 1480 1422
+f 1396 1546 1574
+f 1574 1422 1396
+f 1373 1526 1546
+f 1546 1396 1373
+f 1365 1518 1526
+f 1526 1373 1365
+f 1361 1512 1518
+f 1518 1365 1361
+f 1666 1674 1884
+f 1884 1882 1666
+f 1622 1634 1674
+f 1674 1666 1622
+f 1557 1586 1634
+f 1634 1622 1557
+f 1490 1528 1586
+f 1586 1557 1490
+f 1418 1480 1528
+f 1528 1490 1418
+f 1379 1422 1480
+f 1480 1418 1379
+f 1343 1396 1422
+f 1422 1379 1343
+f 1322 1373 1396
+f 1396 1343 1322
+f 1312 1365 1373
+f 1373 1322 1312
+f 1309 1361 1365
+f 1365 1312 1309
+f 1664 1666 1882
+f 1882 1879 1664
+f 1620 1622 1666
+f 1666 1664 1620
+f 1554 1557 1622
+f 1622 1620 1554
+f 1488 1490 1557
+f 1557 1554 1488
+f 1416 1418 1490
+f 1490 1488 1416
+f 1377 1379 1418
+f 1418 1416 1377
+f 1341 1343 1379
+f 1379 1377 1341
+f 1320 1322 1343
+f 1343 1341 1320
+f 1310 1312 1322
+f 1322 1320 1310
+f 1306 1309 1312
+f 1312 1310 1306
+f 1670 1664 1879
+f 1879 1876 1670
+f 1628 1620 1664
+f 1664 1670 1628
+f 1580 1554 1620
+f 1620 1628 1580
+f 1516 1488 1554
+f 1554 1580 1516
+f 1454 1416 1488
+f 1488 1516 1454
+f 1408 1377 1416
+f 1416 1454 1408
+f 1381 1341 1377
+f 1377 1408 1381
+f 1363 1320 1341
+f 1341 1381 1363
+f 1337 1310 1320
+f 1320 1363 1337
+f 1333 1306 1310
+f 1310 1337 1333
+f 1678 1670 1876
+f 1876 1874 1678
+f 1644 1628 1670
+f 1670 1678 1644
+f 1604 1580 1628
+f 1628 1644 1604
+f 1562 1516 1580
+f 1580 1604 1562
+f 1514 1454 1516
+f 1516 1562 1514
+f 1476 1408 1454
+f 1454 1514 1476
+f 1436 1381 1408
+f 1408 1476 1436
+f 1412 1363 1381
+f 1381 1436 1412
+f 1402 1337 1363
+f 1363 1412 1402
+f 1399 1333 1337
+f 1337 1402 1399
+f 1680 1678 1874
+f 1874 1872 1680
+f 1652 1644 1678
+f 1678 1680 1652
+f 1630 1604 1644
+f 1644 1652 1630
+f 1598 1562 1604
+f 1604 1630 1598
+f 1578 1514 1562
+f 1562 1598 1578
+f 1538 1476 1514
+f 1514 1578 1538
+f 1510 1436 1476
+f 1476 1538 1510
+f 1497 1412 1436
+f 1436 1510 1497
+f 1483 1402 1412
+f 1412 1497 1483
+f 1479 1399 1402
+f 1402 1483 1479
+f 1688 1680 1872
+f 1872 1870 1688
+f 1668 1652 1680
+f 1680 1688 1668
+f 1648 1630 1652
+f 1652 1668 1648
+f 1626 1598 1630
+f 1630 1648 1626
+f 1603 1578 1598
+f 1598 1626 1603
+f 1585 1538 1578
+f 1578 1603 1585
+f 1569 1510 1538
+f 1538 1585 1569
+f 1549 1497 1510
+f 1510 1569 1549
+f 1545 1483 1497
+f 1497 1549 1545
+f 1537 1479 1483
+f 1483 1545 1537
+f 1690 1688 1870
+f 1870 1868 1690
+f 1672 1668 1688
+f 1688 1690 1672
+f 1650 1648 1668
+f 1668 1672 1650
+f 1633 1626 1648
+f 1648 1650 1633
+f 1611 1603 1626
+f 1626 1633 1611
+f 1595 1585 1603
+f 1603 1611 1595
+f 1583 1569 1585
+f 1585 1595 1583
+f 1573 1549 1569
+f 1569 1583 1573
+f 1561 1545 1549
+f 1549 1573 1561
+f 1553 1537 1545
+f 1545 1561 1553
+f 1684 1690 1868
+f 1868 1865 1684
+f 1658 1672 1690
+f 1690 1684 1658
+f 1638 1650 1672
+f 1672 1658 1638
+f 1615 1633 1650
+f 1650 1638 1615
+f 1591 1611 1633
+f 1633 1615 1591
+f 1567 1595 1611
+f 1611 1591 1567
+f 1543 1583 1595
+f 1595 1567 1543
+f 1523 1573 1583
+f 1583 1543 1523
+f 1509 1561 1573
+f 1573 1523 1509
+f 1501 1553 1561
+f 1561 1509 1501
+f 1888 1513 1519
+f 1888 1519 1527
+f 1888 1527 1547
+f 1888 1547 1575
+f 1888 1575 1593
+f 1888 1593 1617
+f 1888 1617 1641
+f 1888 1641 1663
+f 1888 1663 1687
+f 1888 1687 1894
+f 1366 1519 1513
+f 1513 1362 1366
+f 1374 1527 1519
+f 1519 1366 1374
+f 1397 1547 1527
+f 1527 1374 1397
+f 1423 1575 1547
+f 1547 1397 1423
+f 1481 1593 1575
+f 1575 1423 1481
+f 1529 1617 1593
+f 1593 1481 1529
+f 1587 1641 1617
+f 1617 1529 1587
+f 1635 1663 1641
+f 1641 1587 1635
+f 1675 1687 1663
+f 1663 1635 1675
+f 1895 1894 1687
+f 1687 1675 1895
+f 1313 1366 1362
+f 1362 1308 1313
+f 1323 1374 1366
+f 1366 1313 1323
+f 1344 1397 1374
+f 1374 1323 1344
+f 1380 1423 1397
+f 1397 1344 1380
+f 1419 1481 1423
+f 1423 1380 1419
+f 1491 1529 1481
+f 1481 1419 1491
+f 1556 1587 1529
+f 1529 1491 1556
+f 1623 1635 1587
+f 1587 1556 1623
+f 1667 1675 1635
+f 1635 1623 1667
+f 1890 1895 1675
+f 1675 1667 1890
+f 1311 1313 1308
+f 1308 1307 1311
+f 1321 1323 1313
+f 1313 1311 1321
+f 1342 1344 1323
+f 1323 1321 1342
+f 1378 1380 1344
+f 1344 1342 1378
+f 1417 1419 1380
+f 1380 1378 1417
+f 1489 1491 1419
+f 1419 1417 1489
+f 1555 1556 1491
+f 1491 1489 1555
+f 1621 1623 1556
+f 1556 1555 1621
+f 1665 1667 1623
+f 1623 1621 1665
+f 1881 1890 1667
+f 1667 1665 1881
+f 1338 1311 1307
+f 1307 1334 1338
+f 1364 1321 1311
+f 1311 1338 1364
+f 1382 1342 1321
+f 1321 1364 1382
+f 1409 1378 1342
+f 1342 1382 1409
+f 1455 1417 1378
+f 1378 1409 1455
+f 1517 1489 1417
+f 1417 1455 1517
+f 1581 1555 1489
+f 1489 1517 1581
+f 1629 1621 1555
+f 1555 1581 1629
+f 1671 1665 1621
+f 1621 1629 1671
+f 1893 1881 1665
+f 1665 1671 1893
+f 1403 1338 1334
+f 1334 1398 1403
+f 1413 1364 1338
+f 1338 1403 1413
+f 1437 1382 1364
+f 1364 1413 1437
+f 1477 1409 1382
+f 1382 1437 1477
+f 1515 1455 1409
+f 1409 1477 1515
+f 1563 1517 1455
+f 1455 1515 1563
+f 1605 1581 1517
+f 1517 1563 1605
+f 1645 1629 1581
+f 1581 1605 1645
+f 1679 1671 1629
+f 1629 1645 1679
+f 1900 1893 1671
+f 1671 1679 1900
+f 1482 1403 1398
+f 1398 1478 1482
+f 1496 1413 1403
+f 1403 1482 1496
+f 1511 1437 1413
+f 1413 1496 1511
+f 1539 1477 1437
+f 1437 1511 1539
+f 1579 1515 1477
+f 1477 1539 1579
+f 1599 1563 1515
+f 1515 1579 1599
+f 1631 1605 1563
+f 1563 1599 1631
+f 1653 1645 1605
+f 1605 1631 1653
+f 1681 1679 1645
+f 1645 1653 1681
+f 1902 1900 1679
+f 1679 1681 1902
+f 1544 1482 1478
+f 1478 1536 1544
+f 1548 1496 1482
+f 1482 1544 1548
+f 1568 1511 1496
+f 1496 1548 1568
+f 1584 1539 1511
+f 1511 1568 1584
+f 1602 1579 1539
+f 1539 1584 1602
+f 1627 1599 1579
+f 1579 1602 1627
+f 1649 1631 1599
+f 1599 1627 1649
+f 1669 1653 1631
+f 1631 1649 1669
+f 1689 1681 1653
+f 1653 1669 1689
+f 1921 1902 1681
+f 1681 1689 1921
+f 1560 1544 1536
+f 1536 1552 1560
+f 1572 1548 1544
+f 1544 1560 1572
+f 1582 1568 1548
+f 1548 1572 1582
+f 1594 1584 1568
+f 1568 1582 1594
+f 1610 1602 1584
+f 1584 1594 1610
+f 1632 1627 1602
+f 1602 1610 1632
+f 1651 1649 1627
+f 1627 1632 1651
+f 1673 1669 1649
+f 1649 1651 1673
+f 1691 1689 1669
+f 1669 1673 1691
+f 1922 1921 1689
+f 1689 1691 1922
+f 1508 1560 1552
+f 1552 1500 1508
+f 1522 1572 1560
+f 1560 1508 1522
+f 1542 1582 1572
+f 1572 1522 1542
+f 1566 1594 1582
+f 1582 1542 1566
+f 1590 1610 1594
+f 1594 1566 1590
+f 1614 1632 1610
+f 1610 1590 1614
+f 1639 1651 1632
+f 1632 1614 1639
+f 1659 1673 1651
+f 1651 1639 1659
+f 1685 1691 1673
+f 1673 1659 1685
+f 1928 1922 1691
+f 1691 1685 1928
+f 1888 1887 1937
+f 1888 1937 1961
+f 1888 1961 1983
+f 1888 1983 2007
+f 1888 2007 2031
+f 1888 2031 2049
+f 1888 2049 2077
+f 1888 2077 2097
+f 1888 2097 2105
+f 1888 2105 2111
+f 1949 1937 1887
+f 1887 1885 1949
+f 1989 1961 1937
+f 1937 1949 1989
+f 2037 1983 1961
+f 1961 1989 2037
+f 2095 2007 1983
+f 1983 2037 2095
+f 2143 2031 2007
+f 2007 2095 2143
+f 2201 2049 2031
+f 2031 2143 2201
+f 2227 2077 2049
+f 2049 2201 2227
+f 2250 2097 2077
+f 2077 2227 2250
+f 2258 2105 2097
+f 2097 2250 2258
+f 2262 2111 2105
+f 2105 2258 2262
+f 1957 1949 1885
+f 1885 1883 1957
+f 2001 1989 1949
+f 1949 1957 2001
+f 2066 2037 1989
+f 1989 2001 2066
+f 2133 2095 2037
+f 2037 2066 2133
+f 2205 2143 2095
+f 2095 2133 2205
+f 2244 2201 2143
+f 2143 2205 2244
+f 2280 2227 2201
+f 2201 2244 2280
+f 2301 2250 2227
+f 2227 2280 2301
+f 2311 2258 2250
+f 2250 2301 2311
+f 2314 2262 2258
+f 2258 2311 2314
+f 1959 1957 1883
+f 1883 1880 1959
+f 2003 2001 1957
+f 1957 1959 2003
+f 2069 2066 2001
+f 2001 2003 2069
+f 2135 2133 2066
+f 2066 2069 2135
+f 2207 2205 2133
+f 2133 2135 2207
+f 2246 2244 2205
+f 2205 2207 2246
+f 2282 2280 2244
+f 2244 2246 2282
+f 2303 2301 2280
+f 2280 2282 2303
+f 2313 2311 2301
+f 2301 2303 2313
+f 2317 2314 2311
+f 2311 2313 2317
+f 1953 1959 1880
+f 1880 1877 1953
+f 1995 2003 1959
+f 1959 1953 1995
+f 2043 2069 2003
+f 2003 1995 2043
+f 2107 2135 2069
+f 2069 2043 2107
+f 2169 2207 2135
+f 2135 2107 2169
+f 2215 2246 2207
+f 2207 2169 2215
+f 2242 2282 2246
+f 2246 2215 2242
+f 2260 2303 2282
+f 2282 2242 2260
+f 2286 2313 2303
+f 2303 2260 2286
+f 2290 2317 2313
+f 2313 2286 2290
+f 1945 1953 1877
+f 1877 1875 1945
+f 1979 1995 1953
+f 1953 1945 1979
+f 2019 2043 1995
+f 1995 1979 2019
+f 2061 2107 2043
+f 2043 2019 2061
+f 2109 2169 2107
+f 2107 2061 2109
+f 2147 2215 2169
+f 2169 2109 2147
+f 2187 2242 2215
+f 2215 2147 2187
+f 2211 2260 2242
+f 2242 2187 2211
+f 2221 2286 2260
+f 2260 2211 2221
+f 2224 2290 2286
+f 2286 2221 2224
+f 1943 1945 1875
+f 1875 1873 1943
+f 1971 1979 1945
+f 1945 1943 1971
+f 1993 2019 1979
+f 1979 1971 1993
+f 2025 2061 2019
+f 2019 1993 2025
+f 2045 2109 2061
+f 2061 2025 2045
+f 2085 2147 2109
+f 2109 2045 2085
+f 2113 2187 2147
+f 2147 2085 2113
+f 2126 2211 2187
+f 2187 2113 2126
+f 2140 2221 2211
+f 2211 2126 2140
+f 2144 2224 2221
+f 2221 2140 2144
+f 1935 1943 1873
+f 1873 1871 1935
+f 1955 1971 1943
+f 1943 1935 1955
+f 1975 1993 1971
+f 1971 1955 1975
+f 1997 2025 1993
+f 1993 1975 1997
+f 2020 2045 2025
+f 2025 1997 2020
+f 2038 2085 2045
+f 2045 2020 2038
+f 2054 2113 2085
+f 2085 2038 2054
+f 2074 2126 2113
+f 2113 2054 2074
+f 2078 2140 2126
+f 2126 2074 2078
+f 2086 2144 2140
+f 2140 2078 2086
+f 1933 1935 1871
+f 1871 1869 1933
+f 1951 1955 1935
+f 1935 1933 1951
+f 1973 1975 1955
+f 1955 1951 1973
+f 1990 1997 1975
+f 1975 1973 1990
+f 2012 2020 1997
+f 1997 1990 2012
+f 2028 2038 2020
+f 2020 2012 2028
+f 2040 2054 2038
+f 2038 2028 2040
+f 2050 2074 2054
+f 2054 2040 2050
+f 2062 2078 2074
+f 2074 2050 2062
+f 2070 2086 2078
+f 2078 2062 2070
+f 1939 1933 1869
+f 1869 1866 1939
+f 1965 1951 1933
+f 1933 1939 1965
+f 1985 1973 1951
+f 1951 1965 1985
+f 2008 1990 1973
+f 1973 1985 2008
+f 2032 2012 1990
+f 1990 2008 2032
+f 2056 2028 2012
+f 2012 2032 2056
+f 2080 2040 2028
+f 2028 2056 2080
+f 2100 2050 2040
+f 2040 2080 2100
+f 2114 2062 2050
+f 2050 2100 2114
+f 2122 2070 2062
+f 2062 2114 2122
+f 2232 2116 2124
+f 2124 2236 2232
+f 2218 2102 2116
+f 2116 2232 2218
+f 2199 2082 2102
+f 2102 2218 2199
+f 2150 2058 2082
+f 2082 2199 2150
+f 2120 2034 2058
+f 2058 2150 2120
+f 2064 2010 2034
+f 2034 2120 2064
+f 2023 1986 2010
+f 2010 2064 2023
+f 1980 1966 1986
+f 1986 2023 1980
+f 1946 1940 1966
+f 1966 1980 1946
+f 1862 1730 1940
+f 1940 1946 1862
+f 2332 2232 2236
+f 2236 2336 2332
+f 2322 2218 2232
+f 2232 2332 2322
+f 2306 2199 2218
+f 2218 2322 2306
+f 2275 2150 2199
+f 2199 2306 2275
+f 2234 2120 2150
+f 2150 2275 2234
+f 2170 2064 2120
+f 2120 2234 2170
+f 2093 2023 2064
+f 2064 2170 2093
+f 2016 1980 2023
+f 2023 2093 2016
+f 1968 1946 1980
+f 1980 2016 1968
+f 1858 1862 1946
+f 1946 1968 1858
+f 2409 2332 2336
+f 2336 2413 2409
+f 2400 2322 2332
+f 2332 2409 2400
+f 2376 2306 2322
+f 2322 2400 2376
+f 2349 2275 2306
+f 2306 2376 2349
+f 2324 2234 2275
+f 2275 2349 2324
+f 2271 2170 2234
+f 2234 2324 2271
+f 2185 2093 2170
+f 2170 2271 2185
+f 2072 2016 2093
+f 2093 2185 2072
+f 1976 1968 2016
+f 2016 2072 1976
+f 1729 1858 1968
+f 1968 1976 1729
+f 2488 2409 2413
+f 2413 2498 2488
+f 2470 2400 2409
+f 2409 2488 2470
+f 2444 2376 2400
+f 2400 2470 2444
+f 2418 2349 2376
+f 2376 2444 2418
+f 2384 2324 2349
+f 2349 2418 2384
+f 2338 2271 2324
+f 2324 2384 2338
+f 2269 2185 2271
+f 2271 2338 2269
+f 2138 2072 2185
+f 2185 2269 2138
+f 1998 1976 2072
+f 2072 2138 1998
+f 1722 1729 1976
+f 1976 1998 1722
+f 2559 2488 2498
+f 2498 2569 2559
+f 2549 2470 2488
+f 2488 2559 2549
+f 2531 2444 2470
+f 2470 2549 2531
+f 2492 2418 2444
+f 2444 2531 2492
+f 2436 2384 2418
+f 2418 2492 2436
+f 2394 2338 2384
+f 2384 2436 2394
+f 2326 2269 2338
+f 2338 2394 2326
+f 2212 2138 2269
+f 2269 2326 2212
+f 2026 1998 2138
+f 2138 2212 2026
+f 1850 1722 1998
+f 1998 2026 1850
+f 2653 2559 2569
+f 2569 2655 2653
+f 2631 2549 2559
+f 2559 2653 2631
+f 2593 2531 2549
+f 2549 2631 2593
+f 2551 2492 2531
+f 2531 2593 2551
+f 2510 2436 2492
+f 2492 2551 2510
+f 2432 2394 2436
+f 2436 2510 2432
+f 2366 2326 2394
+f 2394 2432 2366
+f 2263 2212 2326
+f 2326 2366 2263
+f 2052 2026 2212
+f 2212 2263 2052
+f 1726 1850 2026
+f 2026 2052 1726
+f 2720 2653 2655
+f 2655 2726 2720
+f 2697 2631 2653
+f 2653 2720 2697
+f 2662 2593 2631
+f 2631 2697 2662
+f 2607 2551 2593
+f 2593 2662 2607
+f 2547 2510 2551
+f 2551 2607 2547
+f 2484 2432 2510
+f 2510 2547 2484
+f 2405 2366 2432
+f 2432 2484 2405
+f 2308 2263 2366
+f 2366 2405 2308
+f 2090 2052 2263
+f 2263 2308 2090
+f 1719 1726 2052
+f 2052 2090 1719
+f 2787 2720 2726
+f 2726 2795 2787
+f 2759 2697 2720
+f 2720 2787 2759
+f 2713 2662 2697
+f 2697 2759 2713
+f 2657 2607 2662
+f 2662 2713 2657
+f 2589 2547 2607
+f 2607 2657 2589
+f 2525 2484 2547
+f 2547 2589 2525
+f 2422 2405 2484
+f 2484 2525 2422
+f 2330 2308 2405
+f 2405 2422 2330
+f 2118 2090 2308
+f 2308 2330 2118
+f 1700 1719 2090
+f 2090 2118 1700
+f 2834 2787 2795
+f 2795 2844 2834
+f 2798 2759 2787
+f 2787 2834 2798
+f 2750 2713 2759
+f 2759 2798 2750
+f 2690 2657 2713
+f 2713 2750 2690
+f 2624 2589 2657
+f 2657 2690 2624
+f 2536 2525 2589
+f 2589 2624 2536
+f 2441 2422 2525
+f 2525 2536 2441
+f 2340 2330 2422
+f 2422 2441 2340
+f 2128 2118 2330
+f 2330 2340 2128
+f 1825 1700 2118
+f 2118 2128 1825
+f 2847 2834 2844
+f 2844 2857 2847
+f 2821 2798 2834
+f 2834 2847 2821
+f 2765 2750 2798
+f 2798 2821 2765
+f 2703 2690 2750
+f 2750 2765 2703
+f 2637 2624 2690
+f 2690 2703 2637
+f 2543 2536 2624
+f 2624 2637 2543
+f 2446 2441 2536
+f 2536 2543 2446
+f 2344 2340 2441
+f 2441 2446 2344
+f 2136 2128 2340
+f 2340 2344 2136
+f 1713 1825 2128
+f 2128 2136 1713
+f 1676 1682 1864
+f 1864 1862 1676
+f 1642 1656 1682
+f 1682 1676 1642
+f 1601 1636 1656
+f 1656 1642 1601
+f 1558 1612 1636
+f 1636 1601 1558
+f 1502 1588 1612
+f 1612 1558 1502
+f 1472 1564 1588
+f 1588 1502 1472
+f 1425 1540 1564
+f 1564 1472 1425
+f 1404 1520 1540
+f 1540 1425 1404
+f 1390 1506 1520
+f 1520 1404 1390
+f 1387 1498 1506
+f 1506 1390 1387
+f 1654 1676 1862
+f 1862 1859 1654
+f 1606 1642 1676
+f 1676 1654 1606
+f 1531 1601 1642
+f 1642 1606 1531
+f 1452 1558 1601
+f 1601 1531 1452
+f 1388 1502 1558
+f 1558 1452 1388
+f 1347 1472 1502
+f 1502 1388 1347
+f 1316 1425 1472
+f 1472 1347 1316
+f 1300 1404 1425
+f 1425 1316 1300
+f 1290 1390 1404
+f 1404 1300 1290
+f 1286 1387 1390
+f 1390 1290 1286
+f 1646 1654 1859
+f 1859 1856 1646
+f 1550 1606 1654
+f 1654 1646 1550
+f 1439 1531 1606
+f 1606 1550 1439
+f 1351 1452 1531
+f 1531 1439 1351
+f 1298 1388 1452
+f 1452 1351 1298
+f 1275 1347 1388
+f 1388 1298 1275
+f 1246 1316 1347
+f 1347 1275 1246
+f 1222 1300 1316
+f 1316 1246 1222
+f 1215 1290 1300
+f 1300 1222 1215
+f 1211 1286 1290
+f 1290 1215 1211
+f 1624 1646 1856
+f 1856 1854 1624
+f 1484 1550 1646
+f 1646 1624 1484
+f 1353 1439 1550
+f 1550 1484 1353
+f 1284 1351 1439
+f 1439 1353 1284
+f 1238 1298 1351
+f 1351 1284 1238
+f 1204 1275 1298
+f 1298 1238 1204
+f 1178 1246 1275
+f 1275 1204 1178
+f 1152 1222 1246
+f 1246 1178 1152
+f 1134 1215 1222
+f 1222 1152 1134
+f 1124 1211 1215
+f 1215 1134 1124
+f 1596 1624 1854
+f 1854 1851 1596
+f 1410 1484 1624
+f 1624 1596 1410
+f 1296 1353 1484
+f 1484 1410 1296
+f 1228 1284 1353
+f 1353 1296 1228
+f 1186 1238 1284
+f 1284 1228 1186
+f 1130 1204 1238
+f 1238 1186 1130
+f 1091 1178 1204
+f 1204 1130 1091
+f 1073 1152 1178
+f 1178 1091 1073
+f 1063 1134 1152
+f 1152 1073 1063
+f 1053 1124 1134
+f 1134 1063 1053
+f 1570 1596 1851
+f 1851 1848 1570
+f 1359 1410 1596
+f 1596 1570 1359
+f 1256 1296 1410
+f 1410 1359 1256
+f 1190 1228 1296
+f 1296 1256 1190
+f 1112 1186 1228
+f 1228 1190 1112
+f 1071 1130 1186
+f 1186 1112 1071
+f 1029 1091 1130
+f 1130 1071 1029
+f 991 1073 1091
+f 1091 1029 991
+f 969 1063 1073
+f 1073 991 969
+f 967 1053 1063
+f 1063 969 967
+f 1532 1570 1848
+f 1848 1846 1532
+f 1314 1359 1570
+f 1570 1532 1314
+f 1219 1256 1359
+f 1359 1314 1219
+f 1138 1190 1256
+f 1256 1219 1138
+f 1075 1112 1190
+f 1190 1138 1075
+f 1015 1071 1112
+f 1112 1075 1015
+f 962 1029 1071
+f 1071 1015 962
+f 925 991 1029
+f 1029 962 925
+f 904 969 991
+f 991 925 904
+f 898 967 969
+f 969 904 898
+f 1504 1532 1846
+f 1846 1832 1504
+f 1292 1314 1532
+f 1532 1504 1292
+f 1200 1219 1314
+f 1314 1292 1200
+f 1097 1138 1219
+f 1219 1200 1097
+f 1033 1075 1138
+f 1138 1097 1033
+f 965 1015 1075
+f 1075 1033 965
+f 909 962 1015
+f 1015 965 909
+f 863 925 962
+f 962 909 863
+f 835 904 925
+f 925 863 835
+f 827 898 904
+f 904 835 827
+f 1494 1504 1832
+f 1832 1824 1494
+f 1282 1292 1504
+f 1504 1494 1282
+f 1183 1200 1292
+f 1292 1282 1183
+f 1088 1097 1200
+f 1200 1183 1088
+f 1000 1033 1097
+f 1097 1088 1000
+f 934 965 1033
+f 1033 1000 934
+f 874 909 965
+f 965 934 874
+f 826 863 909
+f 909 874 826
+f 790 835 863
+f 863 826 790
+f 780 827 835
+f 835 790 780
+f 1486 1494 1824
+f 1824 1814 1486
+f 1278 1282 1494
+f 1494 1486 1278
+f 1176 1183 1282
+f 1282 1278 1176
+f 1079 1088 1183
+f 1183 1176 1079
+f 985 1000 1088
+f 1088 1079 985
+f 919 934 1000
+f 1000 985 919
+f 857 874 934
+f 934 919 857
+f 801 826 874
+f 874 857 801
+f 775 790 826
+f 826 801 775
+f 765 780 790
+f 790 775 765
+f 1391 1507 1499
+f 1499 1387 1391
+f 1405 1521 1507
+f 1507 1391 1405
+f 1424 1541 1521
+f 1521 1405 1424
+f 1473 1565 1541
+f 1541 1424 1473
+f 1503 1589 1565
+f 1565 1473 1503
+f 1559 1613 1589
+f 1589 1503 1559
+f 1600 1637 1613
+f 1613 1559 1600
+f 1643 1657 1637
+f 1637 1600 1643
+f 1677 1683 1657
+f 1657 1643 1677
+f 1863 1892 1683
+f 1683 1677 1863
+f 1291 1391 1387
+f 1387 1287 1291
+f 1301 1405 1391
+f 1391 1291 1301
+f 1317 1424 1405
+f 1405 1301 1317
+f 1348 1473 1424
+f 1424 1317 1348
+f 1389 1503 1473
+f 1473 1348 1389
+f 1453 1559 1503
+f 1503 1389 1453
+f 1530 1600 1559
+f 1559 1453 1530
+f 1607 1643 1600
+f 1600 1530 1607
+f 1655 1677 1643
+f 1643 1607 1655
+f 1861 1863 1677
+f 1677 1655 1861
+f 1214 1291 1287
+f 1287 1210 1214
+f 1223 1301 1291
+f 1291 1214 1223
+f 1247 1317 1301
+f 1301 1223 1247
+f 1274 1348 1317
+f 1317 1247 1274
+f 1299 1389 1348
+f 1348 1274 1299
+f 1352 1453 1389
+f 1389 1299 1352
+f 1438 1530 1453
+f 1453 1352 1438
+f 1551 1607 1530
+f 1530 1438 1551
+f 1647 1655 1607
+f 1607 1551 1647
+f 1891 1861 1655
+f 1655 1647 1891
+f 1135 1214 1210
+f 1210 1125 1135
+f 1153 1223 1214
+f 1214 1135 1153
+f 1179 1247 1223
+f 1223 1153 1179
+f 1205 1274 1247
+f 1247 1179 1205
+f 1239 1299 1274
+f 1274 1205 1239
+f 1285 1352 1299
+f 1299 1239 1285
+f 1354 1438 1352
+f 1352 1285 1354
+f 1485 1551 1438
+f 1438 1354 1485
+f 1625 1647 1551
+f 1551 1485 1625
+f 1901 1891 1647
+f 1647 1625 1901
+f 1064 1135 1125
+f 1125 1054 1064
+f 1074 1153 1135
+f 1135 1064 1074
+f 1092 1179 1153
+f 1153 1074 1092
+f 1131 1205 1179
+f 1179 1092 1131
+f 1187 1239 1205
+f 1205 1131 1187
+f 1229 1285 1239
+f 1239 1187 1229
+f 1297 1354 1285
+f 1285 1229 1297
+f 1411 1485 1354
+f 1354 1297 1411
+f 1597 1625 1485
+f 1485 1411 1597
+f 1853 1901 1625
+f 1625 1597 1853
+f 970 1064 1054
+f 1054 968 970
+f 992 1074 1064
+f 1064 970 992
+f 1030 1092 1074
+f 1074 992 1030
+f 1072 1131 1092
+f 1092 1030 1072
+f 1113 1187 1131
+f 1131 1072 1113
+f 1191 1229 1187
+f 1187 1113 1191
+f 1257 1297 1229
+f 1229 1191 1257
+f 1360 1411 1297
+f 1297 1257 1360
+f 1571 1597 1411
+f 1411 1360 1571
+f 1899 1853 1597
+f 1597 1571 1899
+f 903 970 968
+f 968 897 903
+f 926 992 970
+f 970 903 926
+f 961 1030 992
+f 992 926 961
+f 1016 1072 1030
+f 1030 961 1016
+f 1076 1113 1072
+f 1072 1016 1076
+f 1139 1191 1113
+f 1113 1076 1139
+f 1218 1257 1191
+f 1191 1139 1218
+f 1315 1360 1257
+f 1257 1218 1315
+f 1533 1571 1360
+f 1360 1315 1533
+f 1920 1899 1571
+f 1571 1533 1920
+f 836 903 897
+f 897 828 836
+f 864 926 903
+f 903 836 864
+f 910 961 926
+f 926 864 910
+f 966 1016 961
+f 961 910 966
+f 1034 1076 1016
+f 1016 966 1034
+f 1098 1139 1076
+f 1076 1034 1098
+f 1201 1218 1139
+f 1139 1098 1201
+f 1293 1315 1218
+f 1218 1201 1293
+f 1505 1533 1315
+f 1315 1293 1505
+f 1924 1920 1533
+f 1533 1505 1924
+f 789 836 828
+f 828 779 789
+f 825 864 836
+f 836 789 825
+f 873 910 864
+f 864 825 873
+f 933 966 910
+f 910 873 933
+f 999 1034 966
+f 966 933 999
+f 1087 1098 1034
+f 1034 999 1087
+f 1182 1201 1098
+f 1098 1087 1182
+f 1283 1293 1201
+f 1201 1182 1283
+f 1495 1505 1293
+f 1293 1283 1495
+f 1826 1924 1505
+f 1505 1495 1826
+f 776 789 779
+f 779 766 776
+f 802 825 789
+f 789 776 802
+f 858 873 825
+f 825 802 858
+f 920 933 873
+f 873 858 920
+f 986 999 933
+f 933 920 986
+f 1080 1087 999
+f 999 986 1080
+f 1177 1182 1087
+f 1087 1080 1177
+f 1279 1283 1182
+f 1182 1177 1279
+f 1487 1495 1283
+f 1283 1279 1487
+f 1914 1826 1495
+f 1495 1487 1914
+f 1947 1941 1867
+f 1867 1863 1947
+f 1981 1967 1941
+f 1941 1947 1981
+f 2022 1987 1967
+f 1967 1981 2022
+f 2065 2011 1987
+f 1987 2022 2065
+f 2121 2035 2011
+f 2011 2065 2121
+f 2151 2059 2035
+f 2035 2121 2151
+f 2198 2083 2059
+f 2059 2151 2198
+f 2219 2103 2083
+f 2083 2198 2219
+f 2233 2117 2103
+f 2103 2219 2233
+f 2236 2125 2117
+f 2117 2233 2236
+f 1969 1947 1863
+f 1863 1860 1969
+f 2017 1981 1947
+f 1947 1969 2017
+f 2092 2022 1981
+f 1981 2017 2092
+f 2171 2065 2022
+f 2022 2092 2171
+f 2235 2121 2065
+f 2065 2171 2235
+f 2276 2151 2121
+f 2121 2235 2276
+f 2307 2198 2151
+f 2151 2276 2307
+f 2323 2219 2198
+f 2198 2307 2323
+f 2333 2233 2219
+f 2219 2323 2333
+f 2337 2236 2233
+f 2233 2333 2337
+f 1977 1969 1860
+f 1860 1857 1977
+f 2073 2017 1969
+f 1969 1977 2073
+f 2184 2092 2017
+f 2017 2073 2184
+f 2272 2171 2092
+f 2092 2184 2272
+f 2325 2235 2171
+f 2171 2272 2325
+f 2348 2276 2235
+f 2235 2325 2348
+f 2377 2307 2276
+f 2276 2348 2377
+f 2401 2323 2307
+f 2307 2377 2401
+f 2408 2333 2323
+f 2323 2401 2408
+f 2412 2337 2333
+f 2333 2408 2412
+f 1999 1977 1857
+f 1857 1855 1999
+f 2139 2073 1977
+f 1977 1999 2139
+f 2270 2184 2073
+f 2073 2139 2270
+f 2339 2272 2184
+f 2184 2270 2339
+f 2385 2325 2272
+f 2272 2339 2385
+f 2419 2348 2325
+f 2325 2385 2419
+f 2445 2377 2348
+f 2348 2419 2445
+f 2471 2401 2377
+f 2377 2445 2471
+f 2489 2408 2401
+f 2401 2471 2489
+f 2499 2412 2408
+f 2408 2489 2499
+f 2027 1999 1855
+f 1855 1852 2027
+f 2213 2139 1999
+f 1999 2027 2213
+f 2327 2270 2139
+f 2139 2213 2327
+f 2395 2339 2270
+f 2270 2327 2395
+f 2437 2385 2339
+f 2339 2395 2437
+f 2493 2419 2385
+f 2385 2437 2493
+f 2532 2445 2419
+f 2419 2493 2532
+f 2550 2471 2445
+f 2445 2532 2550
+f 2560 2489 2471
+f 2471 2550 2560
+f 2570 2499 2489
+f 2489 2560 2570
+f 2053 2027 1852
+f 1852 1849 2053
+f 2264 2213 2027
+f 2027 2053 2264
+f 2367 2327 2213
+f 2213 2264 2367
+f 2433 2395 2327
+f 2327 2367 2433
+f 2511 2437 2395
+f 2395 2433 2511
+f 2552 2493 2437
+f 2437 2511 2552
+f 2594 2532 2493
+f 2493 2552 2594
+f 2632 2550 2532
+f 2532 2594 2632
+f 2654 2560 2550
+f 2550 2632 2654
+f 2656 2570 2560
+f 2560 2654 2656
+f 2091 2053 1849
+f 1849 1847 2091
+f 2309 2264 2053
+f 2053 2091 2309
+f 2404 2367 2264
+f 2264 2309 2404
+f 2485 2433 2367
+f 2367 2404 2485
+f 2548 2511 2433
+f 2433 2485 2548
+f 2608 2552 2511
+f 2511 2548 2608
+f 2661 2594 2552
+f 2552 2608 2661
+f 2698 2632 2594
+f 2594 2661 2698
+f 2719 2654 2632
+f 2632 2698 2719
+f 2725 2656 2654
+f 2654 2719 2725
+f 2119 2091 1847
+f 1847 1833 2119
+f 2331 2309 2091
+f 2091 2119 2331
+f 2423 2404 2309
+f 2309 2331 2423
+f 2526 2485 2404
+f 2404 2423 2526
+f 2590 2548 2485
+f 2485 2526 2590
+f 2658 2608 2548
+f 2548 2590 2658
+f 2714 2661 2608
+f 2608 2658 2714
+f 2760 2698 2661
+f 2661 2714 2760
+f 2788 2719 2698
+f 2698 2760 2788
+f 2796 2725 2719
+f 2719 2788 2796
+f 2129 2119 1833
+f 1833 1827 2129
+f 2341 2331 2119
+f 2119 2129 2341
+f 2440 2423 2331
+f 2331 2341 2440
+f 2535 2526 2423
+f 2423 2440 2535
+f 2623 2590 2526
+f 2526 2535 2623
+f 2689 2658 2590
+f 2590 2623 2689
+f 2749 2714 2658
+f 2658 2689 2749
+f 2797 2760 2714
+f 2714 2749 2797
+f 2833 2788 2760
+f 2760 2797 2833
+f 2843 2796 2788
+f 2788 2833 2843
+f 2137 2129 1827
+f 1827 1815 2137
+f 2345 2341 2129
+f 2129 2137 2345
+f 2447 2440 2341
+f 2341 2345 2447
+f 2544 2535 2440
+f 2440 2447 2544
+f 2638 2623 2535
+f 2535 2544 2638
+f 2704 2689 2623
+f 2623 2638 2704
+f 2766 2749 2689
+f 2689 2704 2766
+f 2822 2797 2749
+f 2749 2766 2822
+f 2848 2833 2797
+f 2797 2822 2848
+f 2858 2843 2833
+f 2833 2848 2858
+f 1735 2334 2329
+f 1735 2329 2321
+f 1735 2321 2305
+f 1735 2305 2274
+f 1735 2274 2231
+f 1735 2231 2167
+f 1735 2167 2089
+f 1735 2089 2014
+f 1735 2014 1962
+f 1735 1962 1733
+f 2515 2329 2334
+f 2334 2524 2515
+f 2495 2321 2329
+f 2329 2515 2495
+f 2456 2305 2321
+f 2321 2495 2456
+f 2429 2274 2305
+f 2305 2456 2429
+f 2399 2231 2274
+f 2274 2429 2399
+f 2347 2167 2231
+f 2231 2399 2347
+f 2292 2089 2167
+f 2167 2347 2292
+f 2148 2014 2089
+f 2089 2292 2148
+f 2004 1962 2014
+f 2014 2148 2004
+f 1739 1733 1962
+f 1962 2004 1739
+f 2647 2515 2524
+f 2524 2649 2647
+f 2621 2495 2515
+f 2515 2647 2621
+f 2584 2456 2495
+f 2495 2621 2584
+f 2541 2429 2456
+f 2456 2584 2541
+f 2502 2399 2429
+f 2429 2541 2502
+f 2426 2347 2399
+f 2399 2502 2426
+f 2352 2292 2347
+f 2347 2426 2352
+f 2255 2148 2292
+f 2292 2352 2255
+f 2046 2004 2148
+f 2148 2255 2046
+f 1702 1739 2004
+f 2004 2046 1702
+f 2746 2647 2649
+f 2649 2757 2746
+f 2721 2621 2647
+f 2647 2746 2721
+f 2681 2584 2621
+f 2621 2721 2681
+f 2639 2541 2584
+f 2584 2681 2639
+f 2557 2502 2541
+f 2541 2639 2557
+f 2505 2426 2502
+f 2502 2557 2505
+f 2415 2352 2426
+f 2426 2505 2415
+f 2318 2255 2352
+f 2352 2415 2318
+f 2098 2046 2255
+f 2255 2318 2098
+f 1745 1702 2046
+f 2046 2098 1745
+f 2840 2746 2757
+f 2757 2849 2840
+f 2808 2721 2746
+f 2746 2840 2808
+f 2756 2681 2721
+f 2721 2808 2756
+f 2696 2639 2681
+f 2681 2756 2696
+f 2626 2557 2639
+f 2639 2696 2626
+f 2538 2505 2557
+f 2557 2626 2538
+f 2443 2415 2505
+f 2505 2538 2443
+f 2342 2318 2415
+f 2415 2443 2342
+f 2131 2098 2318
+f 2318 2342 2131
+f 1904 1745 2098
+f 2098 2131 1904
+f 2906 2840 2849
+f 2849 2925 2906
+f 2867 2808 2840
+f 2840 2906 2867
+f 2818 2756 2808
+f 2808 2867 2818
+f 2736 2696 2756
+f 2756 2818 2736
+f 2667 2626 2696
+f 2696 2736 2667
+f 2565 2538 2626
+f 2626 2667 2565
+f 2475 2443 2538
+f 2538 2565 2475
+f 2356 2342 2443
+f 2443 2475 2356
+f 2156 2131 2342
+f 2342 2356 2156
+f 1704 1904 2131
+f 2131 2156 1704
+f 2976 2906 2925
+f 2925 2987 2976
+f 2914 2867 2906
+f 2906 2976 2914
+f 2852 2818 2867
+f 2867 2914 2852
+f 2772 2736 2818
+f 2818 2852 2772
+f 2688 2667 2736
+f 2736 2772 2688
+f 2592 2565 2667
+f 2667 2688 2592
+f 2497 2475 2565
+f 2565 2592 2497
+f 2372 2356 2475
+f 2475 2497 2372
+f 2176 2156 2356
+f 2356 2372 2176
+f 1752 1704 2156
+f 2156 2176 1752
+f 2993 2976 2987
+f 2987 3011 2993
+f 2952 2914 2976
+f 2976 2993 2952
+f 2874 2852 2914
+f 2914 2952 2874
+f 2794 2772 2852
+f 2852 2874 2794
+f 2702 2688 2772
+f 2772 2794 2702
+f 2604 2592 2688
+f 2688 2702 2604
+f 2509 2497 2592
+f 2592 2604 2509
+f 2380 2372 2497
+f 2497 2509 2380
+f 2182 2176 2372
+f 2372 2380 2182
+f 1723 1752 2176
+f 2176 2182 1723
+f 3000 2993 3011
+f 3011 3020 3000
+f 2967 2952 2993
+f 2993 3000 2967
+f 2879 2874 2952
+f 2952 2967 2879
+f 2799 2794 2874
+f 2874 2879 2799
+f 2707 2702 2794
+f 2794 2799 2707
+f 2605 2604 2702
+f 2702 2707 2605
+f 2512 2509 2604
+f 2604 2605 2512
+f 2382 2380 2509
+f 2509 2512 2382
+f 2188 2182 2380
+f 2380 2382 2188
+f 1699 1723 2182
+f 2182 2188 1699
+f 3006 3000 3020
+f 3020 3022 3006
+f 2972 2967 3000
+f 3000 3006 2972
+f 2888 2879 2967
+f 2967 2972 2888
+f 2804 2799 2879
+f 2879 2888 2804
+f 2710 2707 2799
+f 2799 2804 2710
+f 2613 2605 2707
+f 2707 2710 2613
+f 2520 2512 2605
+f 2605 2613 2520
+f 2388 2382 2512
+f 2512 2520 2388
+f 2192 2188 2382
+f 2382 2388 2192
+f 1760 1699 2188
+f 2188 2192 1760
+f 1735 1737 1660
+f 1735 1660 1608
+f 1735 1608 1535
+f 1735 1535 1457
+f 1735 1457 1393
+f 1735 1393 1350
+f 1735 1350 1319
+f 1735 1319 1303
+f 1735 1303 1295
+f 1735 1295 1288
+f 1618 1660 1737
+f 1737 1739 1618
+f 1474 1608 1660
+f 1660 1618 1474
+f 1332 1535 1608
+f 1608 1474 1332
+f 1277 1457 1535
+f 1535 1332 1277
+f 1225 1393 1457
+f 1457 1277 1225
+f 1195 1350 1393
+f 1393 1225 1195
+f 1166 1319 1350
+f 1350 1195 1166
+f 1129 1303 1319
+f 1319 1166 1129
+f 1109 1295 1303
+f 1303 1129 1109
+f 1099 1288 1295
+f 1295 1109 1099
+f 1576 1618 1739
+f 1739 1741 1576
+f 1367 1474 1618
+f 1618 1576 1367
+f 1270 1332 1474
+f 1474 1367 1270
+f 1196 1277 1332
+f 1332 1270 1196
+f 1120 1225 1277
+f 1277 1196 1120
+f 1081 1195 1225
+f 1225 1120 1081
+f 1040 1166 1195
+f 1195 1081 1040
+f 1001 1129 1166
+f 1166 1040 1001
+f 975 1109 1129
+f 1129 1001 975
+f 973 1099 1109
+f 1109 975 973
+f 1524 1576 1741
+f 1741 1744 1524
+f 1304 1367 1576
+f 1576 1524 1304
+f 1209 1270 1367
+f 1367 1304 1209
+f 1119 1196 1270
+f 1270 1209 1119
+f 1065 1120 1196
+f 1196 1119 1065
+f 983 1081 1120
+f 1120 1065 983
+f 941 1040 1081
+f 1081 983 941
+f 901 1001 1040
+f 1040 941 901
+f 878 975 1001
+f 1001 901 878
+f 865 973 975
+f 975 878 865
+f 1493 1524 1744
+f 1744 1747 1493
+f 1280 1304 1524
+f 1524 1493 1280
+f 1181 1209 1304
+f 1304 1280 1181
+f 1086 1119 1209
+f 1209 1181 1086
+f 998 1065 1119
+f 1119 1086 998
+f 928 983 1065
+f 1065 998 928
+f 868 941 983
+f 983 928 868
+f 816 901 941
+f 941 868 816
+f 784 878 901
+f 901 816 784
+f 773 865 878
+f 878 784 773
+f 1466 1493 1747
+f 1747 1749 1466
+f 1266 1280 1493
+f 1493 1466 1266
+f 1149 1181 1280
+f 1280 1266 1149
+f 1057 1086 1181
+f 1181 1149 1057
+f 955 998 1086
+f 1086 1057 955
+f 888 928 998
+f 998 955 888
+f 806 868 928
+f 928 888 806
+f 755 816 868
+f 868 806 755
+f 718 784 816
+f 816 755 718
+f 697 773 784
+f 784 718 697
+f 1446 1466 1749
+f 1749 1753 1446
+f 1250 1266 1466
+f 1466 1446 1250
+f 1127 1149 1266
+f 1266 1250 1127
+f 1032 1057 1149
+f 1149 1127 1032
+f 936 955 1057
+f 1057 1032 936
+f 852 888 955
+f 955 936 852
+f 772 806 888
+f 888 852 772
+f 710 755 806
+f 806 772 710
+f 648 718 755
+f 755 710 648
+f 637 697 718
+f 718 648 637
+f 1440 1446 1753
+f 1753 1755 1440
+f 1242 1250 1446
+f 1446 1440 1242
+f 1115 1127 1250
+f 1250 1242 1115
+f 1020 1032 1127
+f 1127 1115 1020
+f 922 936 1032
+f 1032 1020 922
+f 830 852 936
+f 936 922 830
+f 750 772 852
+f 852 830 750
+f 672 710 772
+f 772 750 672
+f 631 648 710
+f 710 672 631
+f 613 637 648
+f 648 631 613
+f 1434 1440 1755
+f 1755 1757 1434
+f 1240 1242 1440
+f 1440 1434 1240
+f 1110 1115 1242
+f 1242 1240 1110
+f 1017 1020 1115
+f 1115 1110 1017
+f 915 922 1020
+f 1020 1017 915
+f 823 830 922
+f 922 915 823
+f 743 750 830
+f 830 823 743
+f 655 672 750
+f 750 743 655
+f 622 631 672
+f 672 655 622
+f 602 613 631
+f 631 622 602
+f 1428 1434 1757
+f 1757 1760 1428
+f 1232 1240 1434
+f 1434 1428 1232
+f 1105 1110 1240
+f 1240 1232 1105
+f 1010 1017 1110
+f 1110 1105 1010
+f 913 915 1017
+f 1017 1010 913
+f 821 823 915
+f 915 913 821
+f 736 743 823
+f 823 821 736
+f 652 655 743
+f 743 736 652
+f 619 622 655
+f 655 652 619
+f 601 602 622
+f 622 619 601
+f 1735 1289 1294
+f 1735 1294 1302
+f 1735 1302 1318
+f 1735 1318 1349
+f 1735 1349 1392
+f 1735 1392 1456
+f 1735 1456 1534
+f 1735 1534 1609
+f 1735 1609 1661
+f 1735 1661 1889
+f 1108 1294 1289
+f 1289 1099 1108
+f 1128 1302 1294
+f 1294 1108 1128
+f 1167 1318 1302
+f 1302 1128 1167
+f 1194 1349 1318
+f 1318 1167 1194
+f 1224 1392 1349
+f 1349 1194 1224
+f 1276 1456 1392
+f 1392 1224 1276
+f 1331 1534 1456
+f 1456 1276 1331
+f 1475 1609 1534
+f 1534 1331 1475
+f 1619 1661 1609
+f 1609 1475 1619
+f 1738 1889 1661
+f 1661 1619 1738
+f 976 1108 1099
+f 1099 974 976
+f 1002 1128 1108
+f 1108 976 1002
+f 1039 1167 1128
+f 1128 1002 1039
+f 1082 1194 1167
+f 1167 1039 1082
+f 1121 1224 1194
+f 1194 1082 1121
+f 1197 1276 1224
+f 1224 1121 1197
+f 1271 1331 1276
+f 1276 1197 1271
+f 1368 1475 1331
+f 1331 1271 1368
+f 1577 1619 1475
+f 1475 1368 1577
+f 1903 1738 1619
+f 1619 1577 1903
+f 877 976 974
+f 974 866 877
+f 902 1002 976
+f 976 877 902
+f 942 1039 1002
+f 1002 902 942
+f 984 1082 1039
+f 1039 942 984
+f 1066 1121 1082
+f 1082 984 1066
+f 1118 1197 1121
+f 1121 1066 1118
+f 1208 1271 1197
+f 1197 1118 1208
+f 1305 1368 1271
+f 1271 1208 1305
+f 1525 1577 1368
+f 1368 1305 1525
+f 1742 1903 1577
+f 1577 1525 1742
+f 783 877 866
+f 866 774 783
+f 815 902 877
+f 877 783 815
+f 867 942 902
+f 902 815 867
+f 927 984 942
+f 942 867 927
+f 997 1066 984
+f 984 927 997
+f 1085 1118 1066
+f 1066 997 1085
+f 1180 1208 1118
+f 1118 1085 1180
+f 1281 1305 1208
+f 1208 1180 1281
+f 1492 1525 1305
+f 1305 1281 1492
+f 1703 1742 1525
+f 1525 1492 1703
+f 717 783 774
+f 774 698 717
+f 756 815 783
+f 783 717 756
+f 805 867 815
+f 815 756 805
+f 887 927 867
+f 867 805 887
+f 956 997 927
+f 927 887 956
+f 1058 1085 997
+f 997 956 1058
+f 1148 1180 1085
+f 1085 1058 1148
+f 1267 1281 1180
+f 1180 1148 1267
+f 1467 1492 1281
+f 1281 1267 1467
+f 1905 1703 1492
+f 1492 1467 1905
+f 647 717 698
+f 698 636 647
+f 709 756 717
+f 717 647 709
+f 771 805 756
+f 756 709 771
+f 851 887 805
+f 805 771 851
+f 935 956 887
+f 887 851 935
+f 1031 1058 956
+f 956 935 1031
+f 1126 1148 1058
+f 1058 1031 1126
+f 1251 1267 1148
+f 1148 1126 1251
+f 1447 1467 1267
+f 1267 1251 1447
+f 1751 1905 1467
+f 1467 1447 1751
+f 630 647 636
+f 636 612 630
+f 671 709 647
+f 647 630 671
+f 749 771 709
+f 709 671 749
+f 829 851 771
+f 771 749 829
+f 921 935 851
+f 851 829 921
+f 1019 1031 935
+f 935 921 1019
+f 1114 1126 1031
+f 1031 1019 1114
+f 1243 1251 1126
+f 1126 1114 1243
+f 1441 1447 1251
+f 1251 1243 1441
+f 1896 1751 1447
+f 1447 1441 1896
+f 623 630 612
+f 612 603 623
+f 656 671 630
+f 630 623 656
+f 744 749 671
+f 671 656 744
+f 824 829 749
+f 749 744 824
+f 916 921 829
+f 829 824 916
+f 1018 1019 921
+f 921 916 1018
+f 1111 1114 1019
+f 1019 1018 1111
+f 1241 1243 1114
+f 1114 1111 1241
+f 1435 1441 1243
+f 1243 1241 1435
+f 1923 1896 1441
+f 1441 1435 1923
+f 617 623 603
+f 603 601 617
+f 650 656 623
+f 623 617 650
+f 734 744 656
+f 656 650 734
+f 818 824 744
+f 744 734 818
+f 912 916 824
+f 824 818 912
+f 1009 1018 916
+f 916 912 1009
+f 1102 1111 1018
+f 1018 1009 1102
+f 1235 1241 1111
+f 1111 1102 1235
+f 1431 1435 1241
+f 1241 1235 1431
+f 1759 1923 1435
+f 1435 1431 1759
+f 1735 1736 1963
+f 1735 1963 2015
+f 1735 2015 2088
+f 1735 2088 2166
+f 1735 2166 2230
+f 1735 2230 2273
+f 1735 2273 2304
+f 1735 2304 2320
+f 1735 2320 2328
+f 1735 2328 2335
+f 2005 1963 1736
+f 1736 1738 2005
+f 2149 2015 1963
+f 1963 2005 2149
+f 2291 2088 2015
+f 2015 2149 2291
+f 2346 2166 2088
+f 2088 2291 2346
+f 2398 2230 2166
+f 2166 2346 2398
+f 2428 2273 2230
+f 2230 2398 2428
+f 2457 2304 2273
+f 2273 2428 2457
+f 2494 2320 2304
+f 2304 2457 2494
+f 2514 2328 2320
+f 2320 2494 2514
+f 2524 2335 2328
+f 2328 2514 2524
+f 2047 2005 1738
+f 1738 1740 2047
+f 2256 2149 2005
+f 2005 2047 2256
+f 2353 2291 2149
+f 2149 2256 2353
+f 2427 2346 2291
+f 2291 2353 2427
+f 2503 2398 2346
+f 2346 2427 2503
+f 2542 2428 2398
+f 2398 2503 2542
+f 2583 2457 2428
+f 2428 2542 2583
+f 2622 2494 2457
+f 2457 2583 2622
+f 2648 2514 2494
+f 2494 2622 2648
+f 2650 2524 2514
+f 2514 2648 2650
+f 2099 2047 1740
+f 1740 1743 2099
+f 2319 2256 2047
+f 2047 2099 2319
+f 2414 2353 2256
+f 2256 2319 2414
+f 2504 2427 2353
+f 2353 2414 2504
+f 2558 2503 2427
+f 2427 2504 2558
+f 2640 2542 2503
+f 2503 2558 2640
+f 2682 2583 2542
+f 2542 2640 2682
+f 2722 2622 2583
+f 2583 2682 2722
+f 2745 2648 2622
+f 2622 2722 2745
+f 2758 2650 2648
+f 2648 2745 2758
+f 2130 2099 1743
+f 1743 1746 2130
+f 2343 2319 2099
+f 2099 2130 2343
+f 2442 2414 2319
+f 2319 2343 2442
+f 2537 2504 2414
+f 2414 2442 2537
+f 2625 2558 2504
+f 2504 2537 2625
+f 2695 2640 2558
+f 2558 2625 2695
+f 2755 2682 2640
+f 2640 2695 2755
+f 2807 2722 2682
+f 2682 2755 2807
+f 2839 2745 2722
+f 2722 2807 2839
+f 2850 2758 2745
+f 2745 2839 2850
+f 2157 2130 1746
+f 1746 1748 2157
+f 2357 2343 2130
+f 2130 2157 2357
+f 2474 2442 2343
+f 2343 2357 2474
+f 2566 2537 2442
+f 2442 2474 2566
+f 2668 2625 2537
+f 2537 2566 2668
+f 2735 2695 2625
+f 2625 2668 2735
+f 2817 2755 2695
+f 2695 2735 2817
+f 2868 2807 2755
+f 2755 2817 2868
+f 2905 2839 2807
+f 2807 2868 2905
+f 2926 2850 2839
+f 2839 2905 2926
+f 2177 2157 1748
+f 1748 1750 2177
+f 2373 2357 2157
+f 2157 2177 2373
+f 2496 2474 2357
+f 2357 2373 2496
+f 2591 2566 2474
+f 2474 2496 2591
+f 2687 2668 2566
+f 2566 2591 2687
+f 2771 2735 2668
+f 2668 2687 2771
+f 2851 2817 2735
+f 2735 2771 2851
+f 2913 2868 2817
+f 2817 2851 2913
+f 2975 2905 2868
+f 2868 2913 2975
+f 2986 2926 2905
+f 2905 2975 2986
+f 2183 2177 1750
+f 1750 1754 2183
+f 2381 2373 2177
+f 2177 2183 2381
+f 2508 2496 2373
+f 2373 2381 2508
+f 2603 2591 2496
+f 2496 2508 2603
+f 2701 2687 2591
+f 2591 2603 2701
+f 2793 2771 2687
+f 2687 2701 2793
+f 2873 2851 2771
+f 2771 2793 2873
+f 2951 2913 2851
+f 2851 2873 2951
+f 2992 2975 2913
+f 2913 2951 2992
+f 3010 2986 2975
+f 2975 2992 3010
+f 2189 2183 1754
+f 1754 1756 2189
+f 2383 2381 2183
+f 2183 2189 2383
+f 2513 2508 2381
+f 2381 2383 2513
+f 2606 2603 2508
+f 2508 2513 2606
+f 2708 2701 2603
+f 2603 2606 2708
+f 2800 2793 2701
+f 2701 2708 2800
+f 2880 2873 2793
+f 2793 2800 2880
+f 2968 2951 2873
+f 2873 2880 2968
+f 3001 2992 2951
+f 2951 2968 3001
+f 3021 3010 2992
+f 2992 3001 3021
+f 2195 2189 1756
+f 1756 1759 2195
+f 2390 2383 2189
+f 2189 2195 2390
+f 2517 2513 2383
+f 2383 2390 2517
+f 2612 2606 2513
+f 2513 2517 2612
+f 2709 2708 2606
+f 2606 2612 2709
+f 2801 2800 2708
+f 2708 2709 2801
+f 2886 2880 2800
+f 2800 2801 2886
+f 2970 2968 2880
+f 2880 2886 2970
+f 3004 3001 2968
+f 2968 2970 3004
+f 3022 3021 3001
+f 3001 3004 3022
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_07/Ex_07.pde b/content/handbook_2e/examples/17 Shapes/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..54a212978
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_07/Ex_07.pde
@@ -0,0 +1,19 @@
+
+PShape pot;
+float angle = 0.0;
+
+void setup() {
+ size(100, 100, P3D);
+ pot = loadShape("teapot.obj");
+}
+
+void draw() {
+ background(0);
+ lights();
+ translate(50, 50);
+ scale(12);
+ rotateX(angle);
+ shape(pot, 0, 0);
+ angle += 0.05;
+}
+
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_07/data/teapot.obj b/content/handbook_2e/examples/17 Shapes/Ex_07/data/teapot.obj
new file mode 100644
index 000000000..f1ac38adc
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_07/data/teapot.obj
@@ -0,0 +1,9965 @@
+v -3.000000 -1.8 0.000000
+v -2.991600 -1.8 -0.081000
+v -2.991600 -1.8 0.081000
+v -2.989450 -1.666162 0.000000
+v -2.985000 -1.92195 0.000000
+v -2.985000 -1.92195 0.000000
+v -2.981175 -1.667844 -0.081000
+v -2.981175 -1.667844 0.081000
+v -2.976687 -1.920243 -0.081000
+v -2.976687 -1.920243 0.081000
+v -2.968800 -1.8 -0.144000
+v -2.968800 -1.8 0.144000
+v -2.958713 -1.672406 -0.144000
+v -2.958713 -1.672406 0.144000
+v -2.957600 -1.5348 0.000000
+v -2.957600 -1.5348 0.000000
+v -2.954122 -1.915609 -0.144000
+v -2.954122 -1.915609 0.144000
+v -2.949693 -1.53779 -0.081000
+v -2.949693 -1.53779 0.081000
+v -2.940000 -2.0196 0.000000
+v -2.935200 -1.8 -0.189000
+v -2.935200 -1.8 0.189000
+v -2.931958 -2.016526 0.081000
+v -2.931958 -2.016526 -0.081000
+v -2.928230 -1.545907 -0.144000
+v -2.928230 -1.545907 0.144000
+v -2.925611 -1.679131 -0.189000
+v -2.925611 -1.679131 0.189000
+v -2.920870 -1.908779 -0.189000
+v -2.920870 -1.908779 0.189000
+v -2.910131 -2.008181 -0.144000
+v -2.910131 -2.008181 0.144000
+v -2.904150 -1.406137 0.000000
+v -2.904150 -1.406137 0.000000
+v -2.896846 -1.410135 0.081000
+v -2.896846 -1.410135 -0.081000
+v -2.896602 -1.557869 -0.189000
+v -2.896602 -1.557869 0.189000
+v -2.894400 -1.8 -0.216000
+v -2.894400 -1.8 0.216000
+v -2.885416 -1.687296 -0.216000
+v -2.885416 -1.687296 0.216000
+v -2.880491 -1.900487 -0.216000
+v -2.880491 -1.900487 0.216000
+v -2.877965 -1.995883 -0.189000
+v -2.877965 -1.995883 0.189000
+v -2.877022 -1.420985 -0.144000
+v -2.877022 -1.420985 0.144000
+v -2.865000 -2.09565 0.000000
+v -2.858195 -1.572394 0.216000
+v -2.858195 -1.572394 -0.216000
+v -2.857432 -2.091511 -0.081000
+v -2.857432 -2.091511 0.081000
+v -2.850000 -1.8 -0.225000
+v -2.850000 -1.8 0.225000
+v -2.847806 -1.436974 0.189000
+v -2.847806 -1.436974 -0.189000
+v -2.841675 -1.696181 0.225000
+v -2.841675 -1.696181 -0.225000
+v -2.838906 -1.98095 -0.216000
+v -2.838906 -1.98095 0.216000
+v -2.836889 -2.080276 -0.144000
+v -2.836889 -2.080276 0.144000
+v -2.836550 -1.891463 -0.225000
+v -2.836550 -1.891463 0.225000
+v -2.828800 -1.2804 0.000000
+v -2.822326 -1.285171 -0.081000
+v -2.822326 -1.285171 0.081000
+v -2.816400 -1.5882 -0.225000
+v -2.816400 -1.5882 0.225000
+v -2.812331 -1.45639 0.216000
+v -2.812331 -1.45639 -0.216000
+v -2.806615 -2.06372 -0.189000
+v -2.806615 -2.06372 0.189000
+v -2.805600 -1.8 -0.216000
+v -2.805600 -1.8 0.216000
+v -2.804755 -1.298122 -0.144000
+v -2.804755 -1.298122 0.144000
+v -2.797934 -1.705067 -0.216000
+v -2.797934 -1.705067 0.216000
+v -2.796400 -1.9647 0.225000
+v -2.796400 -1.9647 -0.225000
+v -2.792609 -1.882438 -0.216000
+v -2.792609 -1.882438 0.216000
+v -2.778861 -1.317206 -0.189000
+v -2.778861 -1.317206 0.189000
+v -2.774605 -1.604006 0.216000
+v -2.774605 -1.604006 -0.216000
+v -2.773725 -1.477519 0.225000
+v -2.773725 -1.477519 -0.225000
+v -2.769854 -2.043616 -0.216000
+v -2.769854 -2.043616 0.216000
+v -2.764800 -1.8 -0.189000
+v -2.764800 -1.8 0.189000
+v -2.760000 -2.1528 0.000000
+v -2.760000 -2.1528 0.000000
+v -2.757739 -1.713232 -0.189000
+v -2.757739 -1.713232 0.189000
+v -2.753894 -1.94845 -0.216000
+v -2.753894 -1.94845 0.216000
+v -2.753123 -2.147861 -0.081000
+v -2.753123 -2.147861 0.081000
+v -2.752230 -1.874146 -0.189000
+v -2.752230 -1.874146 0.189000
+v -2.747418 -1.340381 -0.216000
+v -2.747418 -1.340381 0.216000
+v -2.736198 -1.618531 -0.189000
+v -2.736198 -1.618531 0.189000
+v -2.735119 -1.498648 0.216000
+v -2.735119 -1.498648 -0.216000
+v -2.734458 -2.134454 -0.144000
+v -2.734458 -2.134454 0.144000
+v -2.731250 -1.157813 0.000000
+v -2.731250 -1.157813 0.000000
+v -2.731200 -1.8 -0.144000
+v -2.731200 -1.8 0.144000
+v -2.729850 -2.021737 -0.225000
+v -2.729850 -2.021737 0.225000
+v -2.725825 -1.163194 0.081000
+v -2.725825 -1.163194 -0.081000
+v -2.724637 -1.719956 -0.144000
+v -2.724637 -1.719956 0.144000
+v -2.718978 -1.867316 -0.144000
+v -2.718978 -1.867316 0.144000
+v -2.714835 -1.933517 -0.189000
+v -2.714835 -1.933517 0.189000
+v -2.713200 -1.3656 -0.225000
+v -2.713200 -1.3656 0.225000
+v -2.711100 -1.1778 -0.144000
+v -2.711100 -1.1778 0.144000
+v -2.708400 -1.8 -0.081000
+v -2.708400 -1.8 0.081000
+v -2.706950 -2.114698 -0.189000
+v -2.706950 -2.114698 0.189000
+v -2.704570 -1.630493 -0.144000
+v -2.704570 -1.630493 0.144000
+v -2.702175 -1.724519 -0.081000
+v -2.702175 -1.724519 0.081000
+v -2.700000 -1.8 0.000000
+v -2.699644 -1.518063 0.189000
+v -2.699644 -1.518063 -0.189000
+v -2.696413 -1.862682 -0.081000
+v -2.696413 -1.862682 0.081000
+v -2.693900 -1.7262 0.000000
+v -2.689846 -1.999859 -0.216000
+v -2.689846 -1.999859 0.216000
+v -2.689400 -1.199325 -0.189000
+v -2.689400 -1.199325 0.189000
+v -2.688100 -1.860975 0.000000
+v -2.688100 -1.860975 0.000000
+v -2.683107 -1.63861 -0.081000
+v -2.683107 -1.63861 0.081000
+v -2.682669 -1.921219 -0.144000
+v -2.682669 -1.921219 0.144000
+v -2.678982 -1.390819 -0.216000
+v -2.678982 -1.390819 0.216000
+v -2.675200 -1.6416 0.000000
+v -2.675200 -1.6416 0.000000
+v -2.673549 -2.090707 -0.216000
+v -2.673549 -2.090707 0.216000
+v -2.670428 -1.534053 -0.144000
+v -2.670428 -1.534053 0.144000
+v -2.663050 -1.225463 -0.216000
+v -2.663050 -1.225463 0.216000
+v -2.660842 -1.912874 0.081000
+v -2.660842 -1.912874 -0.081000
+v -2.653085 -1.979755 -0.189000
+v -2.653085 -1.979755 0.189000
+v -2.652800 -1.9098 0.000000
+v -2.652800 -1.9098 0.000000
+v -2.650604 -1.544903 0.081000
+v -2.650604 -1.544903 -0.081000
+v -2.647539 -1.413994 -0.189000
+v -2.647539 -1.413994 0.189000
+v -2.643300 -1.5489 0.000000
+v -2.637200 -2.0646 -0.225000
+v -2.637200 -2.0646 0.225000
+v -2.634375 -1.253906 0.225000
+v -2.634375 -1.253906 -0.225000
+v -2.625000 -2.19375 0.000000
+v -2.622811 -1.963199 -0.144000
+v -2.622811 -1.963199 0.144000
+v -2.621645 -1.433078 -0.144000
+v -2.621645 -1.433078 0.144000
+v -2.619050 -2.188238 -0.081000
+v -2.619050 -2.188238 0.081000
+v -2.611200 -1.0386 0.000000
+v -2.611200 -1.0386 0.000000
+v -2.607034 -1.044497 0.081000
+v -2.607034 -1.044497 -0.081000
+v -2.605700 -1.28235 -0.216000
+v -2.605700 -1.28235 0.216000
+v -2.604074 -1.446029 -0.081000
+v -2.604074 -1.446029 0.081000
+v -2.602900 -2.173275 -0.144000
+v -2.602900 -2.173275 0.144000
+v -2.602268 -1.951964 -0.081000
+v -2.602268 -1.951964 0.081000
+v -2.600851 -2.038493 -0.216000
+v -2.600851 -2.038493 0.216000
+v -2.597600 -1.4508 0.000000
+v -2.595725 -1.060502 -0.144000
+v -2.595725 -1.060502 0.144000
+v -2.594700 -1.947825 0.000000
+v -2.579350 -1.308488 -0.189000
+v -2.579350 -1.308488 0.189000
+v -2.579100 -2.151225 -0.189000
+v -2.579100 -2.151225 0.189000
+v -2.579059 -1.08409 -0.189000
+v -2.579059 -1.08409 0.189000
+v -2.567450 -2.014502 -0.189000
+v -2.567450 -2.014502 0.189000
+v -2.558822 -1.112731 0.216000
+v -2.558822 -1.112731 -0.216000
+v -2.557650 -1.330013 -0.144000
+v -2.557650 -1.330013 0.144000
+v -2.550200 -2.12445 -0.216000
+v -2.550200 -2.12445 0.216000
+v -2.542925 -1.344619 0.081000
+v -2.542925 -1.344619 -0.081000
+v -2.539942 -1.994746 -0.144000
+v -2.539942 -1.994746 0.144000
+v -2.537500 -1.35 0.000000
+v -2.537500 -1.35 0.000000
+v -2.536800 -1.1439 0.225000
+v -2.536800 -1.1439 -0.225000
+v -2.521277 -1.981339 -0.081000
+v -2.521277 -1.981339 0.081000
+v -2.518750 -2.095312 -0.225000
+v -2.518750 -2.095312 0.225000
+v -2.514778 -1.175069 0.216000
+v -2.514778 -1.175069 -0.216000
+v -2.514400 -1.9764 0.000000
+v -2.514400 -1.9764 0.000000
+v -2.494541 -1.20371 -0.189000
+v -2.494541 -1.20371 0.189000
+v -2.487300 -2.066175 -0.216000
+v -2.487300 -2.066175 0.216000
+v -2.477875 -1.227298 -0.144000
+v -2.477875 -1.227298 0.144000
+v -2.468350 -0.922987 0.000000
+v -2.466566 -1.243303 0.081000
+v -2.466566 -1.243303 -0.081000
+v -2.465644 -0.929375 -0.081000
+v -2.465644 -0.929375 0.081000
+v -2.462400 -1.2492 0.000000
+v -2.462400 -1.2492 0.000000
+v -2.460000 -2.2212 0.000000
+v -2.460000 -2.2212 0.000000
+v -2.458400 -2.0394 -0.189000
+v -2.458400 -2.0394 0.189000
+v -2.458298 -0.946711 -0.144000
+v -2.458298 -0.946711 0.144000
+v -2.455229 -2.215303 -0.081000
+v -2.455229 -2.215303 0.081000
+v -2.447474 -0.97226 0.189000
+v -2.447474 -0.97226 -0.189000
+v -2.442278 -2.199298 -0.144000
+v -2.442278 -2.199298 0.144000
+v -2.434600 -2.01735 -0.144000
+v -2.434600 -2.01735 0.144000
+v -2.434329 -1.003283 -0.216000
+v -2.434329 -1.003283 0.216000
+v -2.423194 -2.17571 -0.189000
+v -2.423194 -2.17571 0.189000
+v -2.420025 -1.037044 -0.225000
+v -2.420025 -1.037044 0.225000
+v -2.418450 -2.002387 -0.081000
+v -2.418450 -2.002388 0.081000
+v -2.412500 -1.996875 0.000000
+v -2.412500 -1.996875 0.000000
+v -2.405721 -1.070804 -0.216000
+v -2.405721 -1.070804 0.216000
+v -2.400019 -2.147069 -0.216000
+v -2.400019 -2.147069 0.216000
+v -2.392576 -1.101828 -0.189000
+v -2.392576 -1.101828 0.189000
+v -2.381752 -1.127376 -0.144000
+v -2.381752 -1.127376 0.144000
+v -2.374800 -2.1159 -0.225000
+v -2.374800 -2.1159 0.225000
+v -2.374406 -1.144713 0.081000
+v -2.374406 -1.144713 -0.081000
+v -2.371700 -1.1511 0.000000
+v -2.349581 -2.084731 -0.216000
+v -2.349581 -2.084731 0.216000
+v -2.326406 -2.05609 -0.189000
+v -2.326406 -2.05609 0.189000
+v -2.307322 -2.032502 -0.144000
+v -2.307322 -2.032502 0.144000
+v -2.302400 -0.8112 0.000000
+v -2.302400 -0.8112 0.000000
+v -2.301347 -0.818122 0.081000
+v -2.301347 -0.818122 -0.081000
+v -2.298490 -0.836909 0.144000
+v -2.298490 -0.836909 -0.144000
+v -2.294371 -2.016497 -0.081000
+v -2.294371 -2.016497 0.081000
+v -2.294278 -0.864595 0.189000
+v -2.294278 -0.864595 -0.189000
+v -2.289600 -2.0106 0.000000
+v -2.289600 -2.0106 0.000000
+v -2.289165 -0.898214 0.216000
+v -2.289165 -0.898214 -0.216000
+v -2.283600 -0.9348 0.225000
+v -2.283600 -0.9348 -0.225000
+v -2.278035 -0.971386 0.216000
+v -2.278035 -0.971386 -0.216000
+v -2.272922 -1.005005 0.189000
+v -2.272922 -1.005005 -0.189000
+v -2.268710 -1.032691 -0.144000
+v -2.268710 -1.032691 0.144000
+v -2.265853 -1.051478 0.081000
+v -2.265853 -1.051478 -0.081000
+v -2.265000 -2.23785 0.000000
+v -2.264800 -1.0584 0.000000
+v -2.264800 -1.0584 0.000000
+v -2.261676 -2.23172 -0.081000
+v -2.261676 -2.23172 0.081000
+v -2.252655 -2.215082 -0.144000
+v -2.252655 -2.215082 0.144000
+v -2.239361 -2.190562 -0.189000
+v -2.239361 -2.190562 0.189000
+v -2.223218 -2.160788 -0.216000
+v -2.223218 -2.160788 0.216000
+v -2.205650 -2.128387 0.225000
+v -2.205650 -2.128388 -0.225000
+v -2.188082 -2.095987 -0.216000
+v -2.188082 -2.095987 0.216000
+v -2.171939 -2.066213 -0.189000
+v -2.171939 -2.066213 0.189000
+v -2.158645 -2.041693 -0.144000
+v -2.158645 -2.041693 0.144000
+v -2.149624 -2.025055 -0.081000
+v -2.149624 -2.025055 0.081000
+v -2.146300 -2.018925 0.000000
+v -2.141100 -0.9738 0.000000
+v -2.141100 -0.9738 0.000000
+v -2.140315 -0.966231 0.081000
+v -2.140315 -0.966231 -0.081000
+v -2.138183 -0.945685 0.144000
+v -2.138183 -0.945685 -0.144000
+v -2.135041 -0.915407 0.189000
+v -2.135041 -0.915407 -0.189000
+v -2.131226 -0.878641 0.216000
+v -2.131226 -0.878641 -0.216000
+v -2.127075 -0.838631 0.225000
+v -2.127075 -0.838631 -0.225000
+v -2.122924 -0.798621 0.216000
+v -2.122924 -0.798621 -0.216000
+v -2.119109 -0.761855 0.189000
+v -2.119109 -0.761855 -0.189000
+v -2.115967 -0.731578 0.144000
+v -2.115967 -0.731578 -0.144000
+v -2.113835 -0.711032 0.081000
+v -2.113835 -0.711032 -0.081000
+v -2.113050 -0.703463 0.000000
+v -2.113050 -0.703463 0.000000
+v -2.040000 -2.2464 0.000000
+v -2.040000 -2.2464 0.000000
+v -2.038410 -2.24015 -0.081000
+v -2.038410 -2.24015 0.081000
+v -2.034093 -2.223187 -0.144000
+v -2.034093 -2.223187 0.144000
+v -2.027731 -2.198189 -0.189000
+v -2.027731 -2.198189 0.189000
+v -2.020006 -2.167834 0.216000
+v -2.020006 -2.167834 -0.216000
+v -2.011600 -2.1348 0.225000
+v -2.011600 -2.1348 -0.225000
+v -2.003194 -2.101766 0.216000
+v -2.003194 -2.101766 -0.216000
+v -2.000000 -0.9 0.000000
+v -2.000000 -0.9 0.000000
+v -2.000000 -0.9 0.000000
+v -1.997200 -0.8916 0.081000
+v -1.997200 -0.8916 -0.081000
+v -1.995469 -2.071411 -0.189000
+v -1.995469 -2.071411 0.189000
+v -1.992750 -1.037175 -0.000000
+v -1.992750 -1.037175 0.000000
+v -1.989600 -0.8688 0.144000
+v -1.989600 -0.8688 -0.144000
+v -1.989107 -2.046413 0.144000
+v -1.989107 -2.046413 -0.144000
+v -1.986000 -0.771675 0.000000
+v -1.986000 -0.771675 0.000000
+v -1.984790 -2.02945 -0.081000
+v -1.984790 -2.02945 0.081000
+v -1.983200 -2.0232 0.000000
+v -1.983200 -2.0232 0.000000
+v -1.978400 -0.8352 0.189000
+v -1.978400 -0.8352 -0.189000
+v -1.974240 -0.9 -0.328160
+v -1.974240 -0.9 -0.328160
+v -1.974240 -0.9 0.328160
+v -1.972000 -1.1784 -0.000000
+v -1.972000 -1.1784 0.000000
+v -1.967083 -1.037175 -0.326970
+v -1.967083 -1.037175 0.326970
+v -1.964800 -0.7944 0.216000
+v -1.964800 -0.7944 -0.216000
+v -1.960420 -0.771675 -0.325863
+v -1.960420 -0.771675 0.325863
+v -1.950000 -0.75 -0.225000
+v -1.950000 -0.75 0.225000
+v -1.948000 -0.6564 0.000000
+v -1.948000 -0.6564 0.000000
+v -1.946601 -1.1784 -0.323566
+v -1.946601 -1.1784 0.323566
+v -1.939250 -1.323225 0.000000
+v -1.939250 -1.323225 0.000000
+v -1.935200 -0.7056 0.216000
+v -1.935200 -0.7056 -0.216000
+v -1.922910 -0.6564 -0.319628
+v -1.922910 -0.6564 0.319628
+v -1.921600 -0.6648 0.189000
+v -1.921600 -0.6648 -0.189000
+v -1.914272 -1.323225 -0.318192
+v -1.914272 -1.323225 0.318192
+v -1.910400 -0.6312 0.144000
+v -1.910400 -0.6312 -0.144000
+v -1.902800 -0.6084 0.081000
+v -1.902800 -0.6084 -0.081000
+v -1.900000 -0.6 0.000000
+v -1.900000 -0.6 0.000000
+v -1.899520 -0.9 -0.638080
+v -1.899520 -0.9 -0.638080
+v -1.899520 -0.9 0.638080
+v -1.899520 -0.9 0.638080
+v -1.896000 -1.4712 0.000000
+v -1.896000 -1.4712 0.000000
+v -1.892634 -1.037175 -0.635767
+v -1.892634 -1.037175 0.635767
+v -1.892000 -0.553725 0.000000
+v -1.892000 -0.553725 0.000000
+v -1.886223 -0.771675 -0.633613
+v -1.886223 -0.771675 0.633613
+v -1.872927 -1.1784 -0.629147
+v -1.872927 -1.1784 0.629147
+v -1.871580 -1.4712 -0.311096
+v -1.871580 -1.4712 0.311096
+v -1.867631 -0.553725 -0.310439
+v -1.867631 -0.553725 0.310439
+v -1.850132 -0.6564 -0.621490
+v -1.850132 -0.6564 0.621490
+v -1.843750 -1.621875 0.000000
+v -1.843750 -1.621875 0.000000
+v -1.841822 -1.323225 -0.618698
+v -1.841822 -1.323225 0.618698
+v -1.824000 -0.4632 -0.000000
+v -1.824000 -0.4632 0.000000
+v -1.820003 -1.621875 -0.302522
+v -1.820003 -1.621875 0.302523
+v -1.800900 -2.024775 0.000000
+v -1.800745 -1.4712 -0.604900
+v -1.800745 -1.4712 0.604900
+v -1.800507 -0.4632 -0.299282
+v -1.800507 -0.4632 0.299282
+v -1.800455 -2.031069 -0.081000
+v -1.800455 -2.031069 0.081000
+v -1.799246 -2.048152 -0.144000
+v -1.799246 -2.048152 0.144000
+v -1.797466 -2.073326 -0.189000
+v -1.797466 -2.073326 0.189000
+v -1.796946 -0.553725 -0.603624
+v -1.796946 -0.553725 0.603624
+v -1.795303 -2.103896 -0.216000
+v -1.795303 -2.103896 0.216000
+v -1.792950 -2.137163 -0.225000
+v -1.792950 -2.137163 0.225000
+v -1.790597 -2.170429 -0.216000
+v -1.790597 -2.170429 0.216000
+v -1.788434 -2.200999 -0.189000
+v -1.788434 -2.200999 0.189000
+v -1.786654 -2.226173 -0.144000
+v -1.786654 -2.226173 0.144000
+v -1.785445 -2.243256 -0.081000
+v -1.785445 -2.243256 0.081000
+v -1.785000 -2.24955 0.000000
+v -1.784000 -1.7748 -0.000000
+v -1.784000 -1.7748 0.000000
+v -1.779680 -0.9 -0.925920
+v -1.779680 -0.9 -0.925920
+v -1.779680 -0.9 0.925920
+v -1.779680 -0.9 0.925920
+v -1.773229 -1.037175 -0.922564
+v -1.773229 -1.037175 0.922564
+v -1.767222 -0.771675 -0.919439
+v -1.767222 -0.771675 0.919439
+v -1.761022 -1.7748 -0.292719
+v -1.761022 -1.7748 0.292719
+v -1.754764 -1.1784 -0.912957
+v -1.754764 -1.1784 0.912957
+v -1.751120 -1.621875 -0.588230
+v -1.751120 -1.621875 0.588230
+v -1.750000 -0.384375 -0.000000
+v -1.750000 -0.384375 0.000000
+v -1.733408 -0.6564 -0.901846
+v -1.733408 -0.6564 0.901846
+v -1.732362 -0.4632 -0.581929
+v -1.732362 -0.4632 0.581929
+v -1.727460 -0.384375 -0.287140
+v -1.727460 -0.384375 0.287140
+v -1.725622 -1.323225 -0.897795
+v -1.725622 -1.323225 0.897795
+v -1.718250 -1.929525 -0.000000
+v -1.718250 -1.929525 0.000000
+v -1.696119 -1.929525 -0.281930
+v -1.696119 -1.929525 0.281930
+v -1.694372 -1.7748 -0.569167
+v -1.694372 -1.7748 0.569167
+v -1.687137 -1.4712 -0.877772
+v -1.687137 -1.4712 0.877772
+v -1.683577 -0.553725 -0.875920
+v -1.683577 -0.553725 0.875920
+v -1.676000 -0.3168 0.000000
+v -1.676000 -0.3168 0.000000
+v -1.662080 -0.384375 -0.558320
+v -1.662080 -0.384375 0.558320
+v -1.654413 -0.3168 -0.274998
+v -1.654413 -0.3168 0.274998
+v -1.648000 -2.0856 0.000000
+v -1.648000 -2.0856 0.000000
+v -1.640643 -1.621875 -0.853583
+v -1.640643 -1.621875 0.853583
+v -1.631925 -1.929525 -0.548190
+v -1.631925 -1.929525 0.548190
+v -1.626774 -2.0856 -0.270404
+v -1.626774 -2.0856 0.270404
+v -1.623068 -0.4632 -0.844439
+v -1.623068 -0.4632 0.844439
+v -1.618560 -0.9 -1.187840
+v -1.618560 -0.9 -1.187840
+v -1.618560 -0.9 1.187840
+v -1.618560 -0.9 1.187840
+v -1.612693 -1.037175 -1.183534
+v -1.612693 -1.037175 1.183534
+v -1.608000 -0.260025 -0.000000
+v -1.608000 -0.260025 0.000000
+v -1.607230 -0.771675 -1.179525
+v -1.607230 -0.771675 1.179525
+v -1.600000 -2.025 0.000000
+v -1.597200 -2.0313 -0.081000
+v -1.597200 -2.0313 0.081000
+v -1.595900 -1.1784 -1.171210
+v -1.595900 -1.1784 1.171210
+v -1.591798 -0.3168 -0.534711
+v -1.591798 -0.3168 0.534711
+v -1.589600 -2.0484 -0.144000
+v -1.589600 -2.0484 0.144000
+v -1.587475 -1.7748 -0.825921
+v -1.587475 -1.7748 0.825921
+v -1.587289 -0.260025 0.263841
+v -1.587289 -0.260025 -0.263841
+v -1.578400 -2.0736 -0.189000
+v -1.578400 -2.0736 0.189000
+v -1.576477 -0.6564 -1.156956
+v -1.576477 -0.6564 1.156956
+v -1.574750 -2.242575 0.000000
+v -1.574750 -2.242575 0.000000
+v -1.569396 -1.323225 -1.151759
+v -1.569396 -1.323225 1.151759
+v -1.565204 -2.0856 -0.525778
+v -1.565204 -2.0856 0.525778
+v -1.564800 -2.1042 -0.216000
+v -1.564800 -2.1042 0.216000
+v -1.557220 -0.384375 -0.810180
+v -1.557220 -0.384375 0.810180
+v -1.554467 -2.242575 -0.258385
+v -1.554467 -2.242575 0.258385
+v -1.552000 -0.2136 0.000000
+v -1.552000 -0.2136 0.000000
+v -1.550000 -2.1375 -0.225000
+v -1.550000 -2.1375 0.225000
+v -1.535200 -2.1708 -0.216000
+v -1.535200 -2.1708 0.216000
+v -1.534395 -1.4712 -1.126072
+v -1.534395 -1.4712 1.126072
+v -1.532010 -0.2136 0.254652
+v -1.532010 -0.2136 -0.254652
+v -1.531158 -0.553725 -1.123697
+v -1.531158 -0.553725 1.123697
+v -1.528968 -1.929525 -0.795481
+v -1.528968 -1.929525 0.795481
+v -1.527214 -0.260025 -0.513016
+v -1.527214 -0.260025 0.513016
+v -1.521600 -2.2014 -0.189000
+v -1.521600 -2.2014 0.189000
+v -1.514000 -0.177075 0.000000
+v -1.514000 -0.177075 0.000000
+v -1.510400 -2.2266 -0.144000
+v -1.510400 -2.2266 0.144000
+v -1.502800 -2.2437 -0.081000
+v -1.502800 -2.2437 0.081000
+v -1.500000 -2.4 0.000000
+v -1.500000 -0.15 0.000000
+v -1.500000 -2.25 0.000000
+v -1.500000 -2.4 0.000000
+v -1.500000 -0.15 0.000000
+v -1.496475 -0.127575 -0.000000
+v -1.496475 -0.127575 0.000000
+v -1.495635 -2.242575 -0.502408
+v -1.495635 -2.242575 0.502408
+v -1.494500 -0.177075 0.248417
+v -1.494500 -0.177075 -0.248417
+v -1.492110 -1.621875 -1.095040
+v -1.492110 -1.621875 1.095040
+v -1.491372 -0.3168 -0.775921
+v -1.491372 -0.3168 0.775921
+v -1.480800 -0.1056 0.000000
+v -1.480800 -0.1056 -0.000000
+v -1.480680 -2.4 -0.246120
+v -1.480680 -0.15 0.246120
+v -1.480680 -2.4 0.246120
+v -1.480680 -0.15 -0.246120
+v -1.480680 -0.15 -0.246120
+v -1.480680 -0.15 0.246120
+v -1.480325 -2.435437 0.000000
+v -1.480325 -2.435437 0.000000
+v -1.477200 -0.127575 0.245542
+v -1.477200 -0.127575 -0.245542
+v -1.476127 -0.4632 -1.083310
+v -1.476127 -0.4632 1.083310
+v -1.474028 -0.2136 0.495150
+v -1.474028 -0.2136 -0.495150
+v -1.466456 -2.0856 -0.762958
+v -1.466456 -2.0856 0.762958
+v -1.461727 -0.1056 -0.242970
+v -1.461727 -0.1056 0.242970
+v -1.461258 -2.435437 -0.242892
+v -1.461258 -2.435437 0.242892
+v -1.459600 -2.463 0.000000
+v -1.459600 -2.463 0.000000
+v -1.445325 -0.084525 0.000000
+v -1.445325 -0.084525 0.000000
+v -1.443756 -1.7748 -1.059553
+v -1.443756 -1.7748 1.059553
+v -1.440800 -2.463 -0.239491
+v -1.440800 -2.463 0.239491
+v -1.439025 -2.482687 0.000000
+v -1.437937 -0.177075 0.483027
+v -1.437937 -0.177075 -0.483027
+v -1.430863 -0.260025 0.744440
+v -1.430863 -0.260025 -0.744440
+v -1.426709 -0.084525 -0.237149
+v -1.426709 -0.084525 0.237149
+v -1.424640 -2.4 -0.478560
+v -1.424640 -0.15 -0.478560
+v -1.424640 -0.15 -0.478560
+v -1.424640 -0.15 0.478560
+v -1.424640 -0.15 0.478560
+v -1.424640 -2.4 0.478560
+v -1.421292 -0.127575 0.477435
+v -1.421292 -0.127575 -0.477435
+v -1.420490 -2.482687 -0.236115
+v -1.420490 -2.482687 0.236115
+v -1.420000 -0.9 -1.420000
+v -1.420000 -0.9 -1.420000
+v -1.420000 -0.9 1.420000
+v -1.420000 -0.9 1.420000
+v -1.419800 -2.4945 0.000000
+v -1.419800 -2.4945 0.000000
+v -1.416240 -0.384375 -1.039360
+v -1.416240 -0.384375 1.039360
+v -1.414853 -1.037175 -1.414853
+v -1.414853 -1.037175 1.414853
+v -1.410060 -0.771675 -1.410060
+v -1.410060 -0.771675 1.410060
+v -1.406405 -0.1056 -0.472434
+v -1.406405 -0.1056 0.472434
+v -1.405953 -2.435437 -0.472283
+v -1.405953 -2.435437 0.472283
+v -1.403125 -2.498438 0.000000
+v -1.403125 -2.498438 0.000000
+v -1.401513 -2.4945 -0.232961
+v -1.401513 -2.4945 0.232961
+v -1.401276 -2.242575 -0.729046
+v -1.401276 -2.242575 0.729046
+v -1.400120 -1.1784 -1.400120
+v -1.400120 -1.1784 1.400120
+v -1.400000 -2.4 0.000000
+v -1.400000 -2.4 0.000000
+v -1.390545 -1.929525 -1.020503
+v -1.390545 -1.929525 1.020503
+v -1.390200 -2.4945 0.000000
+v -1.390200 -2.4945 0.000000
+v -1.386270 -2.463 -0.465671
+v -1.386270 -2.463 0.465671
+v -1.385925 -2.435437 0.000000
+v -1.385925 -2.435437 0.000000
+v -1.385053 -2.498438 -0.230225
+v -1.385053 -2.498438 0.230225
+v -1.383080 -0.6564 -1.383080
+v -1.383080 -0.6564 1.383080
+v -1.382400 -0.0648 -0.000000
+v -1.382400 -0.0648 0.000000
+v -1.382225 -2.482687 -0.000000
+v -1.382225 -2.482687 0.000000
+v -1.381968 -2.4 -0.229712
+v -1.381968 -2.4 0.229712
+v -1.381032 -0.2136 0.718514
+v -1.381032 -0.2136 -0.718514
+v -1.380400 -2.463 0.000000
+v -1.380400 -2.463 0.000000
+v -1.376868 -1.323225 -1.376867
+v -1.376867 -1.323225 1.376868
+v -1.372712 -0.084525 -0.461116
+v -1.372712 -0.084525 0.461116
+v -1.372294 -2.4945 -0.228104
+v -1.372294 -2.4945 0.228104
+v -1.368074 -2.435437 -0.227403
+v -1.368074 -2.435437 0.227403
+v -1.366728 -2.482687 -0.459107
+v -1.366728 -2.482687 0.459107
+v -1.364595 -0.0648 -0.226824
+v -1.364595 -0.0648 0.226824
+v -1.364422 -2.482687 -0.226795
+v -1.364422 -2.482687 0.226795
+v -1.362620 -2.463 -0.226496
+v -1.362620 -2.463 0.226496
+v -1.356353 -0.3168 -0.995410
+v -1.356353 -0.3168 0.995410
+v -1.348469 -2.4945 -0.452973
+v -1.348469 -2.4945 0.452973
+v -1.347218 -0.177075 0.700921
+v -1.347218 -0.177075 -0.700921
+v -1.346160 -1.4712 -1.346160
+v -1.346160 -1.4712 1.346160
+v -1.343320 -0.553725 -1.343320
+v -1.343320 -0.553725 1.343320
+v -1.334760 -2.4 -0.694440
+v -1.334760 -0.15 -0.694440
+v -1.334760 -0.15 0.694440
+v -1.334760 -0.15 0.694440
+v -1.334760 -2.4 0.694440
+v -1.334760 -0.15 -0.694440
+v -1.333693 -2.0856 -0.978780
+v -1.333693 -2.0856 0.978780
+v -1.332632 -2.498438 -0.447653
+v -1.332632 -2.498438 0.447653
+v -1.331623 -0.127575 0.692808
+v -1.331623 -0.127575 -0.692808
+v -1.329664 -2.4 -0.446656
+v -1.329664 -2.4 0.446656
+v -1.320356 -2.4945 -0.443529
+v -1.320356 -2.4945 0.443529
+v -1.317675 -0.1056 -0.685551
+v -1.317675 -0.1056 0.685551
+v -1.317252 -2.435437 -0.685331
+v -1.317252 -2.435437 0.685331
+v -1.316296 -2.435437 -0.442166
+v -1.316296 -2.435437 0.442166
+v -1.312948 -0.0648 0.441041
+v -1.312948 -0.0648 -0.441041
+v -1.312782 -2.482687 -0.440985
+v -1.312782 -2.482687 0.440985
+v -1.311049 -2.463 -0.440403
+v -1.311049 -2.463 0.440403
+v -1.309063 -1.621875 -1.309063
+v -1.309063 -1.621875 1.309063
+v -1.301322 -0.260025 0.955023
+v -1.301322 -0.260025 -0.955023
+v -1.300000 -2.4 0.000000
+v -1.300000 -2.4 0.000000
+v -1.298810 -2.463 -0.675736
+v -1.298810 -2.463 0.675736
+v -1.295040 -0.4632 -1.295040
+v -1.295040 -0.4632 1.295040
+v -1.286108 -0.084525 -0.669128
+v -1.286108 -0.084525 0.669128
+v -1.284375 -0.046875 0.000000
+v -1.284375 -0.046875 0.000000
+v -1.283256 -2.4 -0.213304
+v -1.283256 -2.4 0.213304
+v -1.280502 -2.482687 -0.666211
+v -1.280502 -2.482687 0.666211
+v -1.274600 -2.4408 0.000000
+v -1.274600 -2.4408 0.000000
+v -1.274414 -2.242575 -0.935276
+v -1.274414 -2.242575 0.935276
+v -1.267832 -0.046875 -0.210740
+v -1.267832 -0.046875 0.210740
+v -1.266640 -1.7748 -1.266640
+v -1.266640 -1.7748 1.266640
+v -1.263395 -2.4945 -0.657311
+v -1.263395 -2.4945 0.657311
+v -1.258183 -2.4408 0.209136
+v -1.258183 -2.4408 -0.209136
+v -1.256003 -0.2136 0.921764
+v -1.256003 -0.2136 -0.921764
+v -1.248557 -2.498438 -0.649591
+v -1.248557 -2.498438 0.649591
+v -1.245776 -2.4 -0.648144
+v -1.245776 -2.4 0.648144
+v -1.242500 -0.384375 -1.242500
+v -1.242500 -0.384375 1.242500
+v -1.237056 -2.4945 -0.643607
+v -1.237056 -2.4945 0.643607
+v -1.234688 -2.4 -0.414752
+v -1.234688 -2.4 0.414752
+v -1.233252 -2.435437 -0.641628
+v -1.233252 -2.435437 0.641628
+v -1.230115 -0.0648 -0.639996
+v -1.230115 -0.0648 0.639996
+v -1.229959 -2.482687 -0.639915
+v -1.229959 -2.482687 0.639915
+v -1.228335 -2.463 -0.639070
+v -1.228335 -2.463 0.639070
+v -1.225250 -0.177075 0.899195
+v -1.225250 -0.177075 -0.899195
+v -1.219958 -1.929525 1.219958
+v -1.219958 -1.929525 -1.219958
+v -1.219848 -0.046875 -0.409767
+v -1.219848 -0.046875 0.409767
+v -1.213920 -2.4 -0.890880
+v -1.213920 -0.15 -0.890880
+v -1.213920 -0.15 -0.890880
+v -1.213920 -0.15 0.890880
+v -1.213920 -0.15 0.890880
+v -1.213920 -2.4 0.890880
+v -1.211067 -0.127575 0.888786
+v -1.211067 -0.127575 -0.888786
+v -1.210564 -2.4408 0.406648
+v -1.210564 -2.4408 -0.406648
+v -1.204800 -2.4744 0.000000
+v -1.204800 -2.4744 0.000000
+v -1.198382 -0.1056 -0.879477
+v -1.198382 -0.1056 0.879477
+v -1.197997 -2.435437 -0.879195
+v -1.197997 -2.435437 0.879195
+v -1.189960 -0.3168 -1.189960
+v -1.189960 -0.3168 1.189960
+v -1.189282 -2.4744 -0.197684
+v -1.189282 -2.4744 0.197684
+v -1.187840 -0.9 -1.618560
+v -1.187840 -0.9 -1.618560
+v -1.187840 -0.9 1.618560
+v -1.187840 -0.9 1.618560
+v -1.183534 -1.037175 -1.612693
+v -1.183534 -1.037175 1.612693
+v -1.181225 -2.463 -0.866886
+v -1.181225 -2.463 0.866886
+v -1.179525 -0.771675 -1.607230
+v -1.179525 -0.771675 1.607230
+v -1.171210 -1.1784 -1.595900
+v -1.171210 -1.1784 1.595900
+v -1.170080 -2.0856 -1.170080
+v -1.170080 -2.0856 1.170080
+v -1.169673 -0.084525 -0.858407
+v -1.169673 -0.084525 0.858407
+v -1.164574 -2.482687 -0.854666
+v -1.164574 -2.482687 0.854666
+v -1.156956 -0.6564 -1.576477
+v -1.156956 -0.6564 1.576477
+v -1.156792 -2.4 -0.601848
+v -1.156792 -2.4 0.601848
+v -1.151759 -1.323225 -1.569396
+v -1.151759 -1.323225 1.569396
+v -1.149016 -2.4945 -0.843248
+v -1.149016 -2.4945 0.843248
+v -1.144271 -2.4744 -0.384379
+v -1.144271 -2.4744 0.384379
+v -1.143600 -0.0312 0.000000
+v -1.143600 -0.0312 0.000000
+v -1.142888 -0.046875 -0.594614
+v -1.142888 -0.046875 0.594614
+v -1.141680 -0.260025 1.141680
+v -1.141680 -0.260025 -1.141680
+v -1.135521 -2.498438 -0.833344
+v -1.135521 -2.498438 0.833344
+v -1.134190 -2.4408 0.590089
+v -1.134190 -2.4408 -0.590089
+v -1.132992 -2.4 -0.831488
+v -1.132992 -2.4 0.831488
+v -1.128870 -0.0312 -0.187642
+v -1.128870 -0.0312 0.187642
+v -1.126072 -1.4712 -1.534395
+v -1.126072 -1.4712 1.534395
+v -1.125061 -2.4945 -0.825668
+v -1.125061 -2.4945 0.825668
+v -1.123697 -0.553725 -1.531158
+v -1.123697 -0.553725 1.531158
+v -1.121601 -2.435437 -0.823129
+v -1.121601 -2.435437 0.823129
+v -1.118749 -0.0648 -0.821035
+v -1.118749 -0.0648 0.821035
+v -1.118607 -2.482687 -0.820931
+v -1.118607 -2.482687 0.820931
+v -1.118073 -2.242575 -1.118073
+v -1.118073 -2.242575 1.118073
+v -1.117130 -2.463 -0.819847
+v -1.117130 -2.463 0.819847
+v -1.101920 -0.2136 1.101920
+v -1.101920 -0.2136 -1.101920
+v -1.100200 -2.5026 0.000000
+v -1.100200 -2.5026 0.000000
+v -1.095040 -1.621875 -1.492110
+v -1.095040 -1.621875 1.492110
+v -1.086146 -0.0312 0.364854
+v -1.086146 -0.0312 -0.364854
+v -1.086029 -2.5026 0.180521
+v -1.086029 -2.5026 -0.180521
+v -1.083310 -0.4632 -1.476127
+v -1.083310 -0.4632 1.476127
+v -1.074940 -0.177075 -1.074940
+v -1.074940 -0.177075 1.074940
+v -1.072079 -2.4744 -0.557774
+v -1.072079 -2.4744 0.557774
+v -1.065000 -2.4 -1.065000
+v -1.065000 -0.15 -1.065000
+v -1.065000 -0.15 1.065000
+v -1.065000 -2.4 1.065000
+v -1.062497 -0.127575 1.062497
+v -1.062497 -0.127575 -1.062497
+v -1.059553 -1.7748 -1.443756
+v -1.059553 -1.7748 1.443756
+v -1.052064 -2.4 -0.772096
+v -1.052064 -2.4 0.772096
+v -1.051368 -0.1056 -1.051368
+v -1.051368 -0.1056 1.051368
+v -1.051031 -2.435437 -1.051031
+v -1.051031 -2.435437 1.051031
+v -1.044926 -2.5026 -0.351008
+v -1.044926 -2.5026 0.351008
+v -1.039419 -0.046875 -0.762816
+v -1.039419 -0.046875 0.762816
+v -1.039360 -0.384375 -1.416240
+v -1.039360 -0.384375 1.416240
+v -1.036316 -2.463 -1.036316
+v -1.036316 -2.463 1.036316
+v -1.031508 -2.4408 0.757010
+v -1.031508 -2.4408 -0.757010
+v -1.026181 -0.084525 -1.026181
+v -1.026181 -0.084525 1.026181
+v -1.021708 -2.482687 -1.021708
+v -1.021708 -2.482687 1.021708
+v -1.020503 -1.929525 -1.390545
+v -1.020503 -1.929525 1.390545
+v -1.017621 -0.0312 0.529441
+v -1.017621 -0.0312 -0.529441
+v -1.008058 -2.4945 -1.008058
+v -1.008058 -2.4945 1.008058
+v -0.996219 -2.498438 -0.996219
+v -0.996219 -2.498438 0.996219
+v -0.995410 -0.3168 -1.356353
+v -0.995410 -0.3168 1.356353
+v -0.994000 -2.4 -0.994000
+v -0.994000 -2.4 0.994000
+v -0.987042 -2.4945 -0.987042
+v -0.987042 -2.4945 0.987042
+v -0.984007 -2.435437 -0.984007
+v -0.984007 -2.435437 0.984007
+v -0.981504 -0.0648 0.981504
+v -0.981504 -0.0648 -0.981504
+v -0.981380 -2.482687 -0.981380
+v -0.981380 -2.482687 0.981380
+v -0.980084 -2.463 -0.980084
+v -0.980084 -2.463 0.980084
+v -0.979002 -2.5026 0.509349
+v -0.979002 -2.5026 -0.509349
+v -0.978780 -2.0856 -1.333693
+v -0.978780 -2.0856 1.333693
+v -0.975021 -2.4744 -0.715555
+v -0.975021 -2.4744 0.715555
+v -0.970400 -2.5272 0.000000
+v -0.970400 -2.5272 0.000000
+v -0.957901 -2.5272 -0.159223
+v -0.957901 -2.5272 0.159223
+v -0.955023 -0.260025 1.301322
+v -0.955023 -0.260025 -1.301322
+v -0.952425 -0.018225 -0.000000
+v -0.952425 -0.018225 0.000000
+v -0.940158 -0.018225 0.156274
+v -0.940158 -0.018225 -0.156274
+v -0.935276 -2.242575 -1.274414
+v -0.935276 -2.242575 1.274414
+v -0.925920 -0.9 -1.779680
+v -0.925920 -0.9 1.779680
+v -0.925920 -0.9 1.779680
+v -0.925920 -0.9 -1.779680
+v -0.925493 -0.0312 0.679207
+v -0.925493 -0.0312 -0.679207
+v -0.923000 -2.4 -0.923000
+v -0.923000 -2.4 0.923000
+v -0.922564 -1.037175 1.773229
+v -0.922564 -1.037175 -1.773229
+v -0.921764 -0.2136 1.256003
+v -0.921764 -0.2136 -1.256003
+v -0.921647 -2.5272 -0.309596
+v -0.921647 -2.5272 0.309596
+v -0.919439 -0.771675 -1.767222
+v -0.919439 -0.771675 1.767222
+v -0.912957 -1.1784 -1.754764
+v -0.912957 -1.1784 1.754764
+v -0.911906 -0.046875 -0.911906
+v -0.911906 -0.046875 0.911906
+v -0.904966 -2.4408 0.904966
+v -0.904966 -2.4408 -0.904966
+v -0.904575 -0.018225 0.303862
+v -0.904575 -0.018225 -0.303862
+v -0.901846 -0.6564 -1.733408
+v -0.901846 -0.6564 1.733408
+v -0.899195 -0.177075 1.225250
+v -0.899195 -0.177075 -1.225250
+v -0.897795 -1.323225 -1.725622
+v -0.897795 -1.323225 1.725622
+v -0.890880 -0.15 -1.213920
+v -0.890880 -0.15 1.213920
+v -0.890880 -2.4 -1.213920
+v -0.890880 -0.15 -1.213920
+v -0.890880 -0.15 1.213920
+v -0.890880 -2.4 1.213920
+v -0.890370 -2.5026 -0.653431
+v -0.890370 -2.5026 0.653431
+v -0.888786 -0.127575 1.211067
+v -0.888786 -0.127575 -1.211067
+v -0.879477 -0.1056 -1.198382
+v -0.879477 -0.1056 1.198382
+v -0.879195 -2.435437 -1.197997
+v -0.879195 -2.435437 1.197997
+v -0.877772 -1.4712 -1.687137
+v -0.877772 -1.4712 1.687137
+v -0.875920 -0.553725 -1.683577
+v -0.875920 -0.553725 1.683577
+v -0.866886 -2.463 -1.181225
+v -0.866886 -2.463 1.181225
+v -0.863501 -2.5272 -0.449256
+v -0.863501 -2.5272 0.449256
+v -0.858407 -0.084525 -1.169673
+v -0.858407 -0.084525 1.169673
+v -0.855408 -2.4744 -0.855408
+v -0.855408 -2.4744 0.855408
+v -0.854666 -2.482687 -1.164574
+v -0.854666 -2.482687 1.164574
+v -0.853583 -1.621875 -1.640643
+v -0.853583 -1.621875 1.640643
+v -0.847506 -0.018225 -0.440935
+v -0.847506 -0.018225 0.440935
+v -0.844439 -0.4632 1.623068
+v -0.844439 -0.4632 -1.623068
+v -0.843248 -2.4945 -1.149016
+v -0.843248 -2.4945 1.149016
+v -0.833344 -2.498438 -1.135521
+v -0.833344 -2.498438 1.135521
+v -0.831488 -2.4 -1.132992
+v -0.831488 -2.4 1.132992
+v -0.825921 -1.7748 1.587475
+v -0.825921 -1.7748 -1.587475
+v -0.825668 -2.4945 -1.125061
+v -0.825668 -2.4945 1.125061
+v -0.825000 -2.55 0.000000
+v -0.825000 -2.55 0.000000
+v -0.823129 -2.435437 -1.121601
+v -0.823129 -2.435437 1.121601
+v -0.821035 -0.0648 1.118749
+v -0.821035 -0.0648 -1.118749
+v -0.820931 -2.482687 1.118607
+v -0.820931 -2.482687 -1.118607
+v -0.819847 -2.463 -1.117130
+v -0.819847 -2.463 1.117130
+v -0.814374 -2.55 -0.135366
+v -0.814374 -2.55 0.135366
+v -0.811956 -0.0312 0.811956
+v -0.811956 -0.0312 -0.811956
+v -0.810180 -0.384375 1.557220
+v -0.810180 -0.384375 -1.557220
+v -0.795481 -1.929525 1.528968
+v -0.795481 -1.929525 -1.528968
+v -0.785325 -2.5272 -0.576340
+v -0.785325 -2.5272 0.576340
+v -0.783552 -2.55 -0.263208
+v -0.783552 -2.55 0.263208
+v -0.781142 -2.5026 -0.781142
+v -0.781142 -2.5026 0.781142
+v -0.775921 -0.3168 -1.491372
+v -0.775921 -0.3168 1.491372
+v -0.772096 -2.4 -1.052064
+v -0.772096 -2.4 1.052064
+v -0.770779 -0.018225 0.565664
+v -0.770779 -0.018225 -0.565664
+v -0.762958 -2.0856 -1.466456
+v -0.762958 -2.0856 1.466456
+v -0.762816 -0.046875 -1.039419
+v -0.762816 -0.046875 1.039419
+v -0.757010 -2.4408 1.031508
+v -0.757010 -2.4408 -1.031508
+v -0.744440 -0.260025 1.430863
+v -0.744440 -0.260025 -1.430863
+v -0.734118 -2.55 -0.381942
+v -0.734118 -2.55 0.381942
+v -0.729046 -2.242575 -1.401276
+v -0.729046 -2.242575 1.401276
+v -0.718514 -0.2136 1.381032
+v -0.718514 -0.2136 -1.381032
+v -0.715555 -2.4744 -0.975021
+v -0.715555 -2.4744 0.975021
+v -0.703200 -0.0084 0.000000
+v -0.700921 -0.177075 1.347218
+v -0.700921 -0.177075 -1.347218
+v -0.694440 -0.15 -1.334760
+v -0.694440 -0.15 1.334760
+v -0.694440 -2.4 1.334760
+v -0.694440 -0.15 1.334760
+v -0.694440 -2.4 -1.334760
+v -0.694440 -0.15 -1.334760
+v -0.694143 -0.0084 -0.115381
+v -0.694143 -0.0084 0.115381
+v -0.692808 -0.127575 1.331623
+v -0.692808 -0.127575 -1.331623
+v -0.688984 -2.5272 -0.688984
+v -0.688984 -2.5272 0.688984
+v -0.685551 -0.1056 -1.317675
+v -0.685551 -0.1056 1.317675
+v -0.685331 -2.435437 -1.317252
+v -0.685331 -2.435437 1.317252
+v -0.679207 -0.0312 -0.925493
+v -0.679207 -0.0312 0.925493
+v -0.676222 -0.018225 0.676222
+v -0.676222 -0.018225 -0.676222
+v -0.675736 -2.463 -1.298810
+v -0.675736 -2.463 1.298810
+v -0.673600 -2.5728 0.000000
+v -0.673600 -2.5728 0.000000
+v -0.669128 -0.084525 -1.286108
+v -0.669128 -0.084525 1.286108
+v -0.667871 -0.0084 -0.224349
+v -0.667871 -0.0084 0.224349
+v -0.667656 -2.55 -0.489984
+v -0.667656 -2.55 0.489984
+v -0.666211 -2.482687 1.280502
+v -0.666211 -2.482687 -1.280502
+v -0.664924 -2.5728 -0.110524
+v -0.664924 -2.5728 0.110524
+v -0.657311 -2.4945 -1.263395
+v -0.657311 -2.4945 1.263395
+v -0.653431 -2.5026 -0.890370
+v -0.653431 -2.5026 0.890370
+v -0.649591 -2.498438 -1.248557
+v -0.649591 -2.498438 1.248557
+v -0.648144 -2.4 -1.245776
+v -0.648144 -2.4 1.245776
+v -0.643607 -2.4945 -1.237056
+v -0.643607 -2.4945 1.237056
+v -0.641628 -2.435437 -1.233252
+v -0.641628 -2.435437 1.233252
+v -0.639996 -0.0648 -1.230115
+v -0.639996 -0.0648 1.230115
+v -0.639915 -2.482687 1.229959
+v -0.639915 -2.482687 -1.229959
+v -0.639758 -2.5728 -0.214905
+v -0.639758 -2.5728 0.214905
+v -0.639070 -2.463 -1.228335
+v -0.639070 -2.463 1.228335
+v -0.638080 -0.9 -1.899520
+v -0.638080 -0.9 -1.899520
+v -0.638080 -0.9 1.899520
+v -0.638080 -0.9 1.899520
+v -0.635767 -1.037175 -1.892634
+v -0.635767 -1.037175 1.892634
+v -0.633613 -0.771675 -1.886223
+v -0.633613 -0.771675 1.886223
+v -0.629147 -1.1784 -1.872927
+v -0.629147 -1.1784 1.872927
+v -0.625735 -0.0084 0.325553
+v -0.625735 -0.0084 -0.325553
+v -0.621490 -0.6564 -1.850132
+v -0.621490 -0.6564 1.850132
+v -0.618698 -1.323225 -1.841822
+v -0.618698 -1.323225 1.841822
+v -0.604900 -1.4712 -1.800745
+v -0.604900 -1.4712 1.800745
+v -0.603624 -0.553725 -1.796946
+v -0.603624 -0.553725 1.796946
+v -0.601848 -2.4 -1.156792
+v -0.601848 -2.4 1.156792
+v -0.599396 -2.5728 -0.311850
+v -0.599396 -2.5728 0.311850
+v -0.594614 -0.046875 -1.142888
+v -0.594614 -0.046875 1.142888
+v -0.590089 -2.4408 1.134190
+v -0.590089 -2.4408 -1.134190
+v -0.588230 -1.621875 -1.751120
+v -0.588230 -1.621875 1.751120
+v -0.585750 -2.55 -0.585750
+v -0.585750 -2.55 0.585750
+v -0.581929 -0.4632 -1.732362
+v -0.581929 -0.4632 1.732362
+v -0.576340 -2.5272 -0.785325
+v -0.576340 -2.5272 0.785325
+v -0.569167 -1.7748 -1.694372
+v -0.569167 -1.7748 1.694372
+v -0.569086 -0.0084 -0.417645
+v -0.569086 -0.0084 0.417645
+v -0.565664 -0.018225 0.770779
+v -0.565664 -0.018225 -0.770779
+v -0.558320 -0.384375 -1.662080
+v -0.558320 -0.384375 1.662080
+v -0.557774 -2.4744 -1.072079
+v -0.557774 -2.4744 1.072079
+v -0.548190 -1.929525 -1.631925
+v -0.548190 -1.929525 1.631925
+v -0.545131 -2.5728 -0.400065
+v -0.545131 -2.5728 0.400065
+v -0.534711 -0.3168 -1.591798
+v -0.534711 -0.3168 1.591798
+v -0.529441 -0.0312 -1.017621
+v -0.529441 -0.0312 1.017621
+v -0.525800 -2.5974 0.000000
+v -0.525800 -2.5974 0.000000
+v -0.525778 -2.0856 -1.565204
+v -0.525778 -2.0856 1.565204
+v -0.519028 -2.5974 0.086273
+v -0.519028 -2.5974 -0.086273
+v -0.513016 -0.260025 -1.527214
+v -0.513016 -0.260025 1.527214
+v -0.509349 -2.5026 0.979002
+v -0.509349 -2.5026 -0.979002
+v -0.502408 -2.242575 -1.495635
+v -0.502408 -2.242575 1.495635
+v -0.499384 -2.5974 -0.167751
+v -0.499384 -2.5974 0.167751
+v -0.499272 -0.0084 -0.499272
+v -0.499272 -0.0084 0.499272
+v -0.495150 -0.2136 -1.474028
+v -0.495150 -0.2136 1.474028
+v -0.489984 -2.55 -0.667656
+v -0.489984 -2.55 0.667656
+v -0.483027 -0.177075 -1.437937
+v -0.483027 -0.177075 1.437937
+v -0.478560 -0.15 1.424640
+v -0.478560 -2.4 -1.424640
+v -0.478560 -0.15 -1.424640
+v -0.478560 -0.15 -1.424640
+v -0.478560 -0.15 1.424640
+v -0.478560 -2.4 1.424640
+v -0.478256 -2.5728 -0.478256
+v -0.478256 -2.5728 0.478256
+v -0.477435 -0.127575 1.421292
+v -0.477435 -0.127575 -1.421292
+v -0.472434 -0.1056 1.406405
+v -0.472434 -0.1056 -1.406405
+v -0.472283 -2.435437 -1.405953
+v -0.472283 -2.435437 1.405953
+v -0.467878 -2.5974 -0.243424
+v -0.467878 -2.5974 0.243424
+v -0.465671 -2.463 -1.386270
+v -0.465671 -2.463 1.386270
+v -0.461116 -0.084525 1.372712
+v -0.461116 -0.084525 -1.372712
+v -0.459107 -2.482687 -1.366728
+v -0.459107 -2.482687 1.366728
+v -0.452973 -2.4945 -1.348469
+v -0.452973 -2.4945 1.348469
+v -0.449256 -2.5272 -0.863501
+v -0.449256 -2.5272 0.863501
+v -0.447653 -2.498438 -1.332632
+v -0.447653 -2.498438 1.332632
+v -0.446656 -2.4 -1.329664
+v -0.446656 -2.4 1.329664
+v -0.443529 -2.4945 -1.320356
+v -0.443529 -2.4945 1.320356
+v -0.442166 -2.435437 -1.316296
+v -0.442166 -2.435437 1.316296
+v -0.441041 -0.0648 1.312948
+v -0.441041 -0.0648 -1.312948
+v -0.440985 -2.482687 -1.312782
+v -0.440985 -2.482687 1.312782
+v -0.440935 -0.018225 0.847506
+v -0.440935 -0.018225 -0.847506
+v -0.440403 -2.463 -1.311049
+v -0.440403 -2.463 1.311049
+v -0.425519 -2.5974 0.312283
+v -0.425519 -2.5974 -0.312283
+v -0.417645 -0.0084 -0.569086
+v -0.417645 -0.0084 0.569086
+v -0.414752 -2.4 -1.234688
+v -0.414752 -2.4 1.234688
+v -0.409767 -0.046875 1.219848
+v -0.409767 -0.046875 -1.219848
+v -0.406648 -2.4408 -1.210564
+v -0.406648 -2.4408 1.210564
+v -0.400065 -2.5728 -0.545131
+v -0.400065 -2.5728 0.545131
+v -0.391200 -2.6256 0.000000
+v -0.391200 -2.6256 0.000000
+v -0.388275 -0.002175 -0.000000
+v -0.388275 -0.002175 0.000000
+v -0.386161 -2.6256 -0.064188
+v -0.386161 -2.6256 0.064188
+v -0.384379 -2.4744 -1.144271
+v -0.384379 -2.4744 1.144271
+v -0.383274 -0.002175 -0.063708
+v -0.383274 -0.002175 0.063708
+v -0.381942 -2.55 -0.734118
+v -0.381942 -2.55 0.734118
+v -0.373318 -2.5974 -0.373318
+v -0.373318 -2.5974 0.373318
+v -0.371546 -2.6256 -0.124808
+v -0.371546 -2.6256 0.124808
+v -0.368768 -0.002175 -0.123875
+v -0.368768 -0.002175 0.123875
+v -0.364854 -0.0312 1.086146
+v -0.364854 -0.0312 -1.086146
+v -0.358400 -3.0348 0.000000
+v -0.358400 -3.0348 0.000000
+v -0.358200 -3.08115 0.000000
+v -0.358200 -3.08115 0.000000
+v -0.353807 -3.0348 -0.059016
+v -0.353807 -3.0348 0.059016
+v -0.353610 -3.08115 -0.058988
+v -0.353610 -3.08115 0.058988
+v -0.351008 -2.5026 -1.044926
+v -0.351008 -2.5026 1.044926
+v -0.348105 -2.6256 -0.181110
+v -0.348105 -2.6256 0.181110
+v -0.345503 -0.002175 -0.179756
+v -0.345503 -0.002175 0.179756
+v -0.340477 -3.0348 -0.114676
+v -0.340477 -3.0348 0.114676
+v -0.340289 -3.08115 -0.114619
+v -0.340289 -3.08115 0.114619
+v -0.328160 -0.9 -1.974240
+v -0.328160 -0.9 1.974240
+v -0.328160 -0.9 1.974240
+v -0.326970 -1.037175 -1.967083
+v -0.326970 -1.037175 1.967083
+v -0.325863 -0.771675 -1.960420
+v -0.325863 -0.771675 1.960420
+v -0.325553 -0.0084 -0.625735
+v -0.325553 -0.0084 0.625735
+v -0.325000 -2.98125 0.000000
+v -0.325000 -2.98125 0.000000
+v -0.323566 -1.1784 -1.946601
+v -0.323566 -1.1784 1.946601
+v -0.320834 -2.98125 -0.053508
+v -0.320834 -2.98125 0.053508
+v -0.319628 -0.6564 -1.922910
+v -0.319628 -0.6564 1.922910
+v -0.319082 -3.0348 -0.166306
+v -0.319082 -3.0348 0.166306
+v -0.318907 -3.08115 -0.166221
+v -0.318907 -3.08115 0.166221
+v -0.318192 -1.323225 -1.914272
+v -0.318192 -1.323225 1.914272
+v -0.316590 -2.6256 -0.232342
+v -0.316590 -2.6256 0.232342
+v -0.314223 -0.002175 -0.230604
+v -0.314223 -0.002175 0.230604
+v -0.312283 -2.5974 -0.425519
+v -0.312283 -2.5974 0.425519
+v -0.311850 -2.5728 -0.599396
+v -0.311850 -2.5728 0.599396
+v -0.311096 -1.4712 -1.871580
+v -0.311096 -1.4712 1.871580
+v -0.310439 -0.553725 -1.867631
+v -0.310439 -0.553725 1.867631
+v -0.309596 -2.5272 -0.921647
+v -0.309596 -2.5272 0.921647
+v -0.308800 -3.1176 0.000000
+v -0.308800 -3.1176 0.000000
+v -0.308744 -2.98125 -0.103976
+v -0.308744 -2.98125 0.103976
+v -0.304843 -3.1176 -0.050855
+v -0.304843 -3.1176 0.050855
+v -0.303862 -0.018225 0.904575
+v -0.303862 -0.018225 -0.904575
+v -0.302523 -1.621875 -1.820003
+v -0.302522 -1.621875 1.820003
+v -0.299282 -0.4632 -1.800507
+v -0.299282 -0.4632 1.800507
+v -0.293360 -3.1176 -0.098814
+v -0.293360 -3.1176 0.098814
+v -0.292719 -1.7748 -1.761022
+v -0.292719 -1.7748 1.761022
+v -0.290295 -3.0348 -0.213234
+v -0.290295 -3.0348 0.213234
+v -0.290138 -3.08115 -0.213123
+v -0.290138 -3.08115 0.213123
+v -0.289340 -2.98125 -0.150793
+v -0.289340 -2.98125 0.150793
+v -0.287140 -0.384375 -1.727460
+v -0.287140 -0.384375 1.727460
+v -0.281930 -1.929525 1.696119
+v -0.281930 -1.929525 -1.696119
+v -0.279400 -2.6592 0.000000
+v -0.277752 -2.6256 -0.277752
+v -0.277752 -2.6256 0.277752
+v -0.275801 -2.6592 -0.045844
+v -0.275801 -2.6592 0.045844
+v -0.275675 -0.002175 -0.275675
+v -0.275675 -0.002175 0.275675
+v -0.274998 -0.3168 -1.654413
+v -0.274998 -0.3168 1.654413
+v -0.274928 -3.1176 -0.143301
+v -0.274928 -3.1176 0.143301
+v -0.273600 -2.9232 0.000000
+v -0.273600 -2.9232 0.000000
+v -0.270404 -2.0856 -1.626774
+v -0.270404 -2.0856 1.626774
+v -0.270092 -2.9232 -0.045032
+v -0.270092 -2.9232 0.045032
+v -0.265363 -2.6592 -0.089140
+v -0.265363 -2.6592 0.089140
+v -0.263841 -0.260025 1.587289
+v -0.263841 -0.260025 -1.587289
+v -0.263232 -2.98125 -0.193348
+v -0.263232 -2.98125 0.193348
+v -0.263208 -2.55 -0.783552
+v -0.263208 -2.55 0.783552
+v -0.259910 -2.9232 -0.087511
+v -0.259910 -2.9232 0.087511
+v -0.258385 -2.242575 -1.554467
+v -0.258385 -2.242575 1.554467
+v -0.254788 -3.0348 -0.254788
+v -0.254788 -3.0348 0.254788
+v -0.254653 -3.08115 -0.254653
+v -0.254653 -3.08115 0.254653
+v -0.254652 -0.2136 -1.532010
+v -0.254652 -0.2136 1.532010
+v -0.250127 -3.1176 -0.183734
+v -0.250127 -3.1176 0.183734
+v -0.248621 -2.6592 0.129351
+v -0.248621 -2.6592 -0.129351
+v -0.248417 -0.177075 -1.494500
+v -0.248417 -0.177075 1.494500
+v -0.246120 -0.15 1.480680
+v -0.246120 -2.4 -1.480680
+v -0.246120 -0.15 -1.480680
+v -0.246120 -0.15 -1.480680
+v -0.246120 -0.15 1.480680
+v -0.246120 -2.4 1.480680
+v -0.245542 -0.127575 1.477200
+v -0.245542 -0.127575 -1.477200
+v -0.243569 -2.9232 -0.126920
+v -0.243569 -2.9232 0.126920
+v -0.243424 -2.5974 0.467878
+v -0.243424 -2.5974 -0.467878
+v -0.242970 -0.1056 1.461727
+v -0.242970 -0.1056 -1.461727
+v -0.242892 -2.435437 -1.461258
+v -0.242892 -2.435437 1.461258
+v -0.239491 -2.463 -1.440800
+v -0.239491 -2.463 1.440800
+v -0.237149 -0.084525 1.426709
+v -0.237149 -0.084525 -1.426709
+v -0.236115 -2.482687 -1.420490
+v -0.236115 -2.482687 1.420490
+v -0.232961 -2.4945 -1.401513
+v -0.232961 -2.4945 1.401513
+v -0.232342 -2.6256 -0.316590
+v -0.232342 -2.6256 0.316590
+v -0.231031 -2.98125 -0.231031
+v -0.231031 -2.98125 0.231031
+v -0.230604 -0.002175 -0.314223
+v -0.230604 -0.002175 0.314223
+v -0.230225 -2.498438 -1.385053
+v -0.230225 -2.498438 1.385053
+v -0.229712 -2.4 -1.381968
+v -0.229712 -2.4 1.381968
+v -0.228104 -2.4945 -1.372294
+v -0.228104 -2.4945 1.372294
+v -0.227403 -2.435437 -1.368074
+v -0.227403 -2.435437 1.368074
+v -0.226824 -0.0648 1.364595
+v -0.226824 -0.0648 -1.364595
+v -0.226795 -2.482687 1.364422
+v -0.226795 -2.482687 -1.364422
+v -0.226496 -2.463 -1.362620
+v -0.226496 -2.463 1.362620
+v -0.226113 -2.6592 -0.165941
+v -0.226113 -2.6592 0.165941
+v -0.224349 -0.0084 0.667871
+v -0.224349 -0.0084 -0.667871
+v -0.221585 -2.9232 -0.162745
+v -0.221585 -2.9232 0.162745
+v -0.219800 -2.86335 0.000000
+v -0.219800 -2.86335 0.000000
+v -0.219536 -3.1176 -0.219536
+v -0.219536 -3.1176 0.219536
+v -0.216979 -2.86335 0.036157
+v -0.216979 -2.86335 -0.036157
+v -0.214905 -2.5728 -0.639758
+v -0.214905 -2.5728 0.639758
+v -0.213304 -2.4 -1.283256
+v -0.213304 -2.4 1.283256
+v -0.213234 -3.0348 -0.290295
+v -0.213234 -3.0348 0.290295
+v -0.213123 -3.08115 -0.290138
+v -0.213123 -3.08115 0.290138
+v -0.210740 -0.046875 -1.267832
+v -0.210740 -0.046875 1.267832
+v -0.209136 -2.4408 -1.258183
+v -0.209136 -2.4408 1.258183
+v -0.208794 -2.86335 0.070270
+v -0.208794 -2.86335 -0.070270
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.198374 -2.6592 -0.198374
+v -0.198374 -2.6592 0.198374
+v -0.197684 -2.4744 -1.189282
+v -0.197684 -2.4744 1.189282
+v -0.197424 -2.7 -0.032816
+v -0.197424 -2.7 0.032816
+v -0.197424 -2.7 0.032816
+v -0.197424 -2.7 -0.032816
+v -0.195658 -2.86335 -0.101925
+v -0.195658 -2.86335 0.101925
+v -0.194600 -3.14145 0.000000
+v -0.194600 -3.14145 0.000000
+v -0.194472 -2.9232 -0.194472
+v -0.194472 -2.9232 0.194472
+v -0.193348 -2.98125 -0.263232
+v -0.193348 -2.98125 0.263232
+v -0.192107 -3.14145 -0.032048
+v -0.192107 -3.14145 0.032048
+v -0.189952 -2.7 -0.063808
+v -0.189952 -2.7 0.063808
+v -0.189952 -2.7 0.063808
+v -0.189952 -2.7 -0.063808
+v -0.187642 -0.0312 1.128870
+v -0.187642 -0.0312 -1.128870
+v -0.184870 -3.14145 -0.062272
+v -0.184870 -3.14145 0.062272
+v -0.183734 -3.1176 -0.250127
+v -0.183734 -3.1176 0.250127
+v -0.181110 -2.6256 0.348105
+v -0.181110 -2.6256 -0.348105
+v -0.180521 -2.5026 -1.086029
+v -0.180521 -2.5026 1.086029
+v -0.179756 -0.002175 -0.345503
+v -0.179756 -0.002175 0.345503
+v -0.179200 -2.8044 0.000000
+v -0.179200 -2.8044 0.000000
+v -0.177989 -2.86335 -0.130707
+v -0.177989 -2.86335 0.130707
+v -0.177968 -2.7 -0.092592
+v -0.177968 -2.7 0.092592
+v -0.177968 -2.7 0.092592
+v -0.177968 -2.7 -0.092592
+v -0.176897 -2.8044 0.029450
+v -0.176897 -2.8044 -0.029450
+v -0.173255 -3.14145 -0.090306
+v -0.173255 -3.14145 0.090306
+v -0.170215 -2.8044 0.057246
+v -0.170215 -2.8044 -0.057246
+v -0.167751 -2.5974 -0.499384
+v -0.167751 -2.5974 0.499384
+v -0.167400 -2.74905 0.000000
+v -0.167400 -2.74905 0.000000
+v -0.166306 -3.0348 -0.319082
+v -0.166306 -3.0348 0.319082
+v -0.166221 -3.08115 0.318907
+v -0.166221 -3.08115 -0.318907
+v -0.165941 -2.6592 -0.226113
+v -0.165941 -2.6592 0.226113
+v -0.165245 -2.74905 0.027480
+v -0.165245 -2.74905 -0.027480
+v -0.162745 -2.9232 -0.221585
+v -0.162745 -2.9232 0.221585
+v -0.161856 -2.7 -0.118784
+v -0.161856 -2.7 0.118784
+v -0.161856 -2.7 0.118784
+v -0.161856 -2.7 -0.118784
+v -0.159496 -2.8044 0.083047
+v -0.159496 -2.8044 -0.083047
+v -0.159223 -2.5272 -0.957901
+v -0.159223 -2.5272 0.957901
+v -0.158995 -2.74905 0.053428
+v -0.158995 -2.74905 -0.053428
+v -0.157626 -3.14145 -0.115787
+v -0.157626 -3.14145 0.115787
+v -0.156274 -0.018225 0.940158
+v -0.156274 -0.018225 -0.940158
+v -0.156200 -2.86335 -0.156200
+v -0.156200 -2.86335 0.156200
+v -0.150793 -2.98125 -0.289340
+v -0.150793 -2.98125 0.289340
+v -0.148969 -2.74905 0.077523
+v -0.148969 -2.74905 -0.077523
+v -0.145078 -2.8044 0.106513
+v -0.145078 -2.8044 -0.106513
+v -0.143301 -3.1176 -0.274928
+v -0.143301 -3.1176 0.274928
+v -0.142000 -2.7 -0.142000
+v -0.142000 -2.7 0.142000
+v -0.142000 -2.7 0.142000
+v -0.142000 -2.7 -0.142000
+v -0.138348 -3.14145 -0.138348
+v -0.138348 -3.14145 0.138348
+v -0.135489 -2.74905 0.099446
+v -0.135489 -2.74905 -0.099446
+v -0.135366 -2.55 -0.814374
+v -0.135366 -2.55 0.814374
+v -0.130707 -2.86335 -0.177989
+v -0.130707 -2.86335 0.177989
+v -0.129351 -2.6592 0.248621
+v -0.129351 -2.6592 -0.248621
+v -0.127304 -2.8044 0.127304
+v -0.127304 -2.8044 -0.127304
+v -0.126920 -2.9232 -0.243569
+v -0.126920 -2.9232 0.243569
+v -0.124808 -2.6256 -0.371546
+v -0.124808 -2.6256 0.371546
+v -0.123875 -0.002175 0.368768
+v -0.123875 -0.002175 -0.368768
+v -0.118874 -2.74905 0.118874
+v -0.118874 -2.74905 -0.118874
+v -0.118784 -2.7 -0.161856
+v -0.118784 -2.7 0.161856
+v -0.118784 -2.7 0.161856
+v -0.118784 -2.7 -0.161856
+v -0.115787 -3.14145 -0.157626
+v -0.115787 -3.14145 0.157626
+v -0.115381 -0.0084 0.694143
+v -0.115381 -0.0084 -0.694143
+v -0.114676 -3.0348 -0.340477
+v -0.114676 -3.0348 0.340477
+v -0.114619 -3.08115 -0.340289
+v -0.114619 -3.08115 0.340289
+v -0.110524 -2.5728 -0.664924
+v -0.110524 -2.5728 0.664924
+v -0.106513 -2.8044 -0.145078
+v -0.106513 -2.8044 0.145078
+v -0.103976 -2.98125 -0.308744
+v -0.103976 -2.98125 0.308744
+v -0.101925 -2.86335 -0.195658
+v -0.101925 -2.86335 0.195658
+v -0.099446 -2.74905 0.135489
+v -0.099446 -2.74905 -0.135489
+v -0.098814 -3.1176 -0.293360
+v -0.098814 -3.1176 0.293360
+v -0.092592 -2.7 -0.177968
+v -0.092592 -2.7 0.177968
+v -0.092592 -2.7 -0.177968
+v -0.092592 -2.7 0.177968
+v -0.090306 -3.14145 -0.173255
+v -0.090306 -3.14145 0.173255
+v -0.089140 -2.6592 -0.265363
+v -0.089140 -2.6592 0.265363
+v -0.087511 -2.9232 -0.259910
+v -0.087511 -2.9232 0.259910
+v -0.086273 -2.5974 -0.519028
+v -0.086273 -2.5974 0.519028
+v -0.083047 -2.8044 -0.159496
+v -0.083047 -2.8044 0.159496
+v -0.077523 -2.74905 -0.148969
+v -0.077523 -2.74905 0.148969
+v -0.070270 -2.86335 -0.208794
+v -0.070270 -2.86335 0.208794
+v -0.064188 -2.6256 -0.386161
+v -0.064188 -2.6256 0.386161
+v -0.063808 -2.7 -0.189952
+v -0.063808 -2.7 0.189952
+v -0.063808 -2.7 -0.189952
+v -0.063808 -2.7 0.189952
+v -0.063708 -0.002175 0.383274
+v -0.063708 -0.002175 -0.383274
+v -0.062272 -3.14145 -0.184870
+v -0.062272 -3.14145 0.184870
+v -0.059016 -3.0348 -0.353807
+v -0.059016 -3.0348 0.353807
+v -0.058988 -3.08115 -0.353610
+v -0.058988 -3.08115 0.353610
+v -0.057246 -2.8044 -0.170215
+v -0.057246 -2.8044 0.170215
+v -0.053508 -2.98125 -0.320834
+v -0.053508 -2.98125 0.320834
+v -0.053428 -2.74905 -0.158995
+v -0.053428 -2.74905 0.158995
+v -0.050855 -3.1176 -0.304843
+v -0.050855 -3.1176 0.304843
+v -0.045844 -2.6592 -0.275801
+v -0.045844 -2.6592 0.275801
+v -0.045032 -2.9232 -0.270092
+v -0.045032 -2.9232 0.270092
+v -0.036157 -2.86335 -0.216979
+v -0.036157 -2.86335 0.216979
+v -0.032816 -2.7 -0.197424
+v -0.032816 -2.7 0.197424
+v -0.032816 -2.7 -0.197424
+v -0.032816 -2.7 0.197424
+v -0.032048 -3.14145 -0.192107
+v -0.032048 -3.14145 0.192107
+v -0.029450 -2.8044 -0.176897
+v -0.029450 -2.8044 0.176897
+v -0.027480 -2.74905 -0.165245
+v -0.027480 -2.74905 0.165245
+v -0.000000 -0.260025 1.608000
+v -0.000000 -1.929525 1.718250
+v -0.000000 -2.0856 -1.648000
+v -0.000000 -0.6564 -1.948000
+v -0.000000 -0.771675 -1.986000
+v -0.000000 -2.482687 1.382225
+v -0.000000 -2.7 -0.200000
+v -0.000000 -0.127575 1.496475
+v -0.000000 -2.4744 -1.204800
+v -0.000000 -2.74905 -0.167400
+v -0.000000 -0.018225 0.952425
+v -0.000000 -0.046875 -1.284375
+v -0.000000 -0.0648 1.382400
+v -0.000000 -0.384375 1.750000
+v -0.000000 -0.4632 1.824000
+v -0.000000 -0.553725 -1.892000
+v -0.000000 -1.037175 1.992750
+v -0.000000 -1.1784 1.972000
+v -0.000000 -1.323225 -1.939250
+v -0.000000 -1.621875 -1.843750
+v -0.000000 -1.7748 1.784000
+v -0.000000 -2.4 -1.300000
+v -0.000000 -2.435437 -1.480325
+v -0.000000 -2.435437 -1.385925
+v -0.000000 -2.463 -1.459600
+v -0.000000 -2.463 -1.380400
+v -0.000000 -2.4945 -1.390200
+v -0.000000 -2.5026 -1.100200
+v -0.000000 -2.8044 -0.179200
+v -0.000000 -2.86335 -0.219800
+v -0.000000 -2.5728 -0.673600
+v -0.000000 -0.1056 1.480800
+v -0.000000 -0.177075 -1.514000
+v -0.000000 -2.4945 -1.419800
+v -0.000000 -2.5272 -0.970400
+v -0.000000 -2.9232 -0.273600
+v -0.000000 -3.1176 -0.308800
+v -0.000000 -2.5974 -0.525800
+v -0.000000 -2.7 -0.200000
+v -0.000000 -2.98125 -0.325000
+v -0.000000 -3.14145 -0.194600
+v -0.000000 -0.002175 0.388275
+v -0.000000 -3.08115 -0.358200
+v 0.000000 -0.0 0.000000
+v 0.000000 -0.002175 -0.388275
+v 0.000000 -0.002175 0.388275
+v 0.000000 -0.0084 -0.703200
+v 0.000000 -0.0084 0.703200
+v 0.000000 -0.018225 -0.952425
+v 0.000000 -0.018225 0.952425
+v 0.000000 -0.0312 -1.143600
+v 0.000000 -0.0312 -1.143600
+v 0.000000 -0.0312 1.143600
+v 0.000000 -0.0312 1.143600
+v 0.000000 -0.046875 -1.284375
+v 0.000000 -0.046875 1.284375
+v 0.000000 -0.0648 -1.382400
+v 0.000000 -0.0648 1.382400
+v 0.000000 -0.084525 -1.445325
+v 0.000000 -0.084525 -1.445325
+v 0.000000 -0.084525 1.445325
+v 0.000000 -0.084525 1.445325
+v 0.000000 -0.1056 -1.480800
+v 0.000000 -0.1056 1.480800
+v 0.000000 -0.127575 -1.496475
+v 0.000000 -0.127575 1.496475
+v 0.000000 -0.15 -1.500000
+v 0.000000 -0.15 -1.500000
+v 0.000000 -0.15 1.500000
+v 0.000000 -0.15 1.500000
+v 0.000000 -0.177075 -1.514000
+v 0.000000 -0.177075 1.514000
+v 0.000000 -0.2136 -1.552000
+v 0.000000 -0.2136 -1.552000
+v 0.000000 -0.2136 1.552000
+v 0.000000 -0.2136 1.552000
+v 0.000000 -0.260025 -1.608000
+v 0.000000 -0.260025 1.608000
+v 0.000000 -0.3168 -1.676000
+v 0.000000 -0.3168 -1.676000
+v 0.000000 -0.3168 1.676000
+v 0.000000 -0.3168 1.676000
+v 0.000000 -0.384375 -1.750000
+v 0.000000 -0.384375 1.750000
+v 0.000000 -0.4632 -1.824000
+v 0.000000 -0.4632 1.824000
+v 0.000000 -0.553725 -1.892000
+v 0.000000 -0.553725 1.892000
+v 0.000000 -0.6564 -1.948000
+v 0.000000 -0.6564 1.948000
+v 0.000000 -0.771675 -1.986000
+v 0.000000 -0.771675 1.986000
+v 0.000000 -0.9 -2.000000
+v 0.000000 -0.9 -2.000000
+v 0.000000 -0.9 2.000000
+v 0.000000 -0.9 2.000000
+v 0.000000 -1.037175 -1.992750
+v 0.000000 -1.037175 1.992750
+v 0.000000 -1.1784 -1.972000
+v 0.000000 -1.1784 1.972000
+v 0.000000 -1.323225 -1.939250
+v 0.000000 -1.323225 1.939250
+v 0.000000 -1.4712 -1.896000
+v 0.000000 -1.4712 -1.896000
+v 0.000000 -1.4712 1.896000
+v 0.000000 -1.4712 1.896000
+v 0.000000 -1.621875 -1.843750
+v 0.000000 -1.621875 1.843750
+v 0.000000 -1.7748 -1.784000
+v 0.000000 -1.7748 1.784000
+v 0.000000 -1.929525 -1.718250
+v 0.000000 -1.929525 1.718250
+v 0.000000 -2.0856 -1.648000
+v 0.000000 -2.0856 1.648000
+v 0.000000 -2.242575 -1.574750
+v 0.000000 -2.242575 -1.574750
+v 0.000000 -2.242575 1.574750
+v 0.000000 -2.242575 1.574750
+v 0.000000 -2.4 -1.500000
+v 0.000000 -2.4 -1.500000
+v 0.000000 -2.4 -1.400000
+v 0.000000 -2.4 -1.400000
+v 0.000000 -2.4 -1.300000
+v 0.000000 -2.4 1.300000
+v 0.000000 -2.4 1.400000
+v 0.000000 -2.4 1.400000
+v 0.000000 -2.4 1.500000
+v 0.000000 -2.4 1.500000
+v 0.000000 -2.435437 -1.480325
+v 0.000000 -2.435437 -1.385925
+v 0.000000 -2.435437 1.385925
+v 0.000000 -2.435437 1.480325
+v 0.000000 -2.4408 -1.274600
+v 0.000000 -2.4408 -1.274600
+v 0.000000 -2.4408 1.274600
+v 0.000000 -2.4408 1.274600
+v 0.000000 -2.463 -1.459600
+v 0.000000 -2.463 -1.380400
+v 0.000000 -2.463 1.380400
+v 0.000000 -2.463 1.459600
+v 0.000000 -2.4744 -1.204800
+v 0.000000 -2.4744 1.204800
+v 0.000000 -2.482687 -1.439025
+v 0.000000 -2.482687 -1.382225
+v 0.000000 -2.482687 1.382225
+v 0.000000 -2.482687 1.439025
+v 0.000000 -2.4945 -1.419800
+v 0.000000 -2.4945 -1.390200
+v 0.000000 -2.4945 1.390200
+v 0.000000 -2.4945 1.419800
+v 0.000000 -2.498438 -1.403125
+v 0.000000 -2.498438 -1.403125
+v 0.000000 -2.498438 1.403125
+v 0.000000 -2.498438 1.403125
+v 0.000000 -2.5026 -1.100200
+v 0.000000 -2.5026 1.100200
+v 0.000000 -2.5272 -0.970400
+v 0.000000 -2.5272 0.970400
+v 0.000000 -2.55 -0.825000
+v 0.000000 -2.55 -0.825000
+v 0.000000 -2.55 0.825000
+v 0.000000 -2.55 0.825000
+v 0.000000 -2.5728 -0.673600
+v 0.000000 -2.5728 0.673600
+v 0.000000 -2.5974 -0.525800
+v 0.000000 -2.5974 0.525800
+v 0.000000 -2.6256 -0.391200
+v 0.000000 -2.6256 -0.391200
+v 0.000000 -2.6256 0.391200
+v 0.000000 -2.6256 0.391200
+v 0.000000 -2.6592 -0.279400
+v 0.000000 -2.6592 0.279400
+v 0.000000 -2.7 -0.200000
+v 0.000000 -2.7 -0.200000
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.74905 -0.167400
+v 0.000000 -2.74905 0.167400
+v 0.000000 -2.8044 -0.179200
+v 0.000000 -2.8044 0.179200
+v 0.000000 -2.86335 -0.219800
+v 0.000000 -2.86335 0.219800
+v 0.000000 -2.9232 -0.273600
+v 0.000000 -2.9232 0.273600
+v 0.000000 -2.98125 -0.325000
+v 0.000000 -2.98125 0.325000
+v 0.000000 -3.0348 -0.358400
+v 0.000000 -3.0348 -0.358400
+v 0.000000 -3.0348 0.358400
+v 0.000000 -3.0348 0.358400
+v 0.000000 -3.08115 -0.358200
+v 0.000000 -3.08115 0.358200
+v 0.000000 -3.1176 -0.308800
+v 0.000000 -3.1176 0.308800
+v 0.000000 -3.14145 -0.194600
+v 0.000000 -3.14145 0.194600
+v 0.000000 -3.15 0.000000
+v 0.000000 -0.002175 -0.388275
+v 0.000000 -3.08115 0.358200
+v 0.000000 -2.5974 0.525800
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.98125 0.325000
+v 0.000000 -3.14145 0.194600
+v 0.000000 -3.1176 0.308800
+v 0.000000 -0.1056 -1.480800
+v 0.000000 -0.177075 1.514000
+v 0.000000 -2.4945 1.419800
+v 0.000000 -2.5272 0.970400
+v 0.000000 -2.9232 0.273600
+v 0.000000 -2.5728 0.673600
+v 0.000000 -2.86335 0.219800
+v 0.000000 -0.018225 -0.952425
+v 0.000000 -0.046875 1.284375
+v 0.000000 -0.0648 -1.382400
+v 0.000000 -0.384375 -1.750000
+v 0.000000 -0.4632 -1.824000
+v 0.000000 -0.553725 1.892000
+v 0.000000 -1.037175 -1.992750
+v 0.000000 -1.1784 -1.972000
+v 0.000000 -1.323225 1.939250
+v 0.000000 -1.621875 1.843750
+v 0.000000 -1.7748 -1.784000
+v 0.000000 -2.4 1.300000
+v 0.000000 -2.435437 1.385925
+v 0.000000 -2.435437 1.480325
+v 0.000000 -2.463 1.380400
+v 0.000000 -2.463 1.459600
+v 0.000000 -2.4945 1.390200
+v 0.000000 -2.5026 1.100200
+v 0.000000 -2.8044 0.179200
+v 0.000000 -2.74905 0.167400
+v 0.000000 -0.127575 -1.496475
+v 0.000000 -2.4744 1.204800
+v 0.000000 -0.6564 1.948000
+v 0.000000 -0.771675 1.986000
+v 0.000000 -2.482687 -1.382225
+v 0.000000 -2.7 0.200000
+v 0.000000 -0.260025 -1.608000
+v 0.000000 -1.929525 -1.718250
+v 0.000000 -2.0856 1.648000
+v 0.027480 -2.74905 -0.165245
+v 0.027480 -2.74905 0.165245
+v 0.029450 -2.8044 -0.176897
+v 0.029450 -2.8044 0.176897
+v 0.032048 -3.14145 -0.192107
+v 0.032048 -3.14145 0.192107
+v 0.032816 -2.7 -0.197424
+v 0.032816 -2.7 0.197424
+v 0.032816 -2.7 -0.197424
+v 0.032816 -2.7 0.197424
+v 0.036157 -2.86335 -0.216979
+v 0.036157 -2.86335 0.216979
+v 0.045032 -2.9232 -0.270092
+v 0.045032 -2.9232 0.270092
+v 0.045844 -2.6592 -0.275801
+v 0.045844 -2.6592 0.275801
+v 0.050855 -3.1176 -0.304843
+v 0.050855 -3.1176 0.304843
+v 0.053428 -2.74905 -0.158995
+v 0.053428 -2.74905 0.158995
+v 0.053508 -2.98125 -0.320834
+v 0.053508 -2.98125 0.320834
+v 0.057246 -2.8044 -0.170215
+v 0.057246 -2.8044 0.170215
+v 0.058988 -3.08115 -0.353610
+v 0.058988 -3.08115 0.353610
+v 0.059016 -3.0348 -0.353807
+v 0.059016 -3.0348 0.353807
+v 0.062272 -3.14145 -0.184870
+v 0.062272 -3.14145 0.184870
+v 0.063708 -0.002175 0.383274
+v 0.063708 -0.002175 -0.383274
+v 0.063808 -2.7 -0.189952
+v 0.063808 -2.7 0.189952
+v 0.063808 -2.7 -0.189952
+v 0.063808 -2.7 0.189952
+v 0.064188 -2.6256 -0.386161
+v 0.064188 -2.6256 0.386161
+v 0.070270 -2.86335 -0.208794
+v 0.070270 -2.86335 0.208794
+v 0.077523 -2.74905 -0.148969
+v 0.077523 -2.74905 0.148969
+v 0.083047 -2.8044 -0.159496
+v 0.083047 -2.8044 0.159496
+v 0.086273 -2.5974 -0.519028
+v 0.086273 -2.5974 0.519028
+v 0.087511 -2.9232 -0.259910
+v 0.087511 -2.9232 0.259910
+v 0.089140 -2.6592 -0.265363
+v 0.089140 -2.6592 0.265363
+v 0.090306 -3.14145 -0.173255
+v 0.090306 -3.14145 0.173255
+v 0.092592 -2.7 -0.177968
+v 0.092592 -2.7 0.177968
+v 0.092592 -2.7 -0.177968
+v 0.092592 -2.7 0.177968
+v 0.098814 -3.1176 -0.293360
+v 0.098814 -3.1176 0.293360
+v 0.099446 -2.74905 0.135489
+v 0.099446 -2.74905 -0.135489
+v 0.101925 -2.86335 -0.195658
+v 0.101925 -2.86335 0.195658
+v 0.103976 -2.98125 -0.308744
+v 0.103976 -2.98125 0.308744
+v 0.106513 -2.8044 -0.145078
+v 0.106513 -2.8044 0.145078
+v 0.110524 -2.5728 -0.664924
+v 0.110524 -2.5728 0.664924
+v 0.114619 -3.08115 -0.340289
+v 0.114619 -3.08115 0.340289
+v 0.114676 -3.0348 -0.340477
+v 0.114676 -3.0348 0.340477
+v 0.115381 -0.0084 0.694143
+v 0.115381 -0.0084 -0.694143
+v 0.115787 -3.14145 -0.157626
+v 0.115787 -3.14145 0.157626
+v 0.118784 -2.7 0.161856
+v 0.118784 -2.7 -0.161856
+v 0.118784 -2.7 -0.161856
+v 0.118784 -2.7 0.161856
+v 0.118874 -2.74905 0.118874
+v 0.118874 -2.74905 -0.118874
+v 0.123875 -0.002175 0.368768
+v 0.123875 -0.002175 -0.368768
+v 0.124808 -2.6256 -0.371546
+v 0.124808 -2.6256 0.371546
+v 0.126920 -2.9232 -0.243569
+v 0.126920 -2.9232 0.243569
+v 0.127304 -2.8044 0.127304
+v 0.127304 -2.8044 -0.127304
+v 0.129351 -2.6592 0.248621
+v 0.129351 -2.6592 -0.248621
+v 0.130707 -2.86335 -0.177989
+v 0.130707 -2.86335 0.177989
+v 0.135366 -2.55 -0.814374
+v 0.135366 -2.55 0.814374
+v 0.135489 -2.74905 0.099446
+v 0.135489 -2.74905 -0.099446
+v 0.138348 -3.14145 -0.138348
+v 0.138348 -3.14145 0.138348
+v 0.142000 -2.7 0.142000
+v 0.142000 -2.7 -0.142000
+v 0.142000 -2.7 -0.142000
+v 0.142000 -2.7 0.142000
+v 0.143301 -3.1176 -0.274928
+v 0.143301 -3.1176 0.274928
+v 0.145078 -2.8044 0.106513
+v 0.145078 -2.8044 -0.106513
+v 0.148969 -2.74905 0.077523
+v 0.148969 -2.74905 -0.077523
+v 0.150793 -2.98125 -0.289340
+v 0.150793 -2.98125 0.289340
+v 0.156200 -2.86335 -0.156200
+v 0.156200 -2.86335 0.156200
+v 0.156274 -0.018225 0.940158
+v 0.156274 -0.018225 -0.940158
+v 0.157626 -3.14145 -0.115787
+v 0.157626 -3.14145 0.115787
+v 0.158995 -2.74905 0.053428
+v 0.158995 -2.74905 -0.053428
+v 0.159223 -2.5272 -0.957901
+v 0.159223 -2.5272 0.957901
+v 0.159496 -2.8044 0.083047
+v 0.159496 -2.8044 -0.083047
+v 0.161856 -2.7 0.118784
+v 0.161856 -2.7 -0.118784
+v 0.161856 -2.7 -0.118784
+v 0.161856 -2.7 0.118784
+v 0.162745 -2.9232 -0.221585
+v 0.162745 -2.9232 0.221585
+v 0.165245 -2.74905 0.027480
+v 0.165245 -2.74905 -0.027480
+v 0.165941 -2.6592 -0.226113
+v 0.165941 -2.6592 0.226113
+v 0.166221 -3.08115 0.318907
+v 0.166221 -3.08115 -0.318907
+v 0.166306 -3.0348 -0.319082
+v 0.166306 -3.0348 0.319082
+v 0.167400 -2.74905 -0.000000
+v 0.167400 -2.74905 0.000000
+v 0.167751 -2.5974 -0.499384
+v 0.167751 -2.5974 0.499384
+v 0.170215 -2.8044 0.057246
+v 0.170215 -2.8044 -0.057246
+v 0.173255 -3.14145 -0.090306
+v 0.173255 -3.14145 0.090306
+v 0.176897 -2.8044 0.029450
+v 0.176897 -2.8044 -0.029450
+v 0.177968 -2.7 0.092592
+v 0.177968 -2.7 -0.092592
+v 0.177968 -2.7 -0.092592
+v 0.177968 -2.7 0.092592
+v 0.177989 -2.86335 -0.130707
+v 0.177989 -2.86335 0.130707
+v 0.179200 -2.8044 -0.000000
+v 0.179200 -2.8044 0.000000
+v 0.179756 -0.002175 -0.345503
+v 0.179756 -0.002175 0.345503
+v 0.180521 -2.5026 -1.086029
+v 0.180521 -2.5026 1.086029
+v 0.181110 -2.6256 0.348105
+v 0.181110 -2.6256 -0.348105
+v 0.183734 -3.1176 -0.250127
+v 0.183734 -3.1176 0.250127
+v 0.184870 -3.14145 -0.062272
+v 0.184870 -3.14145 0.062272
+v 0.187642 -0.0312 1.128870
+v 0.187642 -0.0312 -1.128870
+v 0.189952 -2.7 0.063808
+v 0.189952 -2.7 -0.063808
+v 0.189952 -2.7 -0.063808
+v 0.189952 -2.7 0.063808
+v 0.192107 -3.14145 -0.032048
+v 0.192107 -3.14145 0.032048
+v 0.193348 -2.98125 -0.263232
+v 0.193348 -2.98125 0.263232
+v 0.194472 -2.9232 -0.194472
+v 0.194472 -2.9232 0.194472
+v 0.194600 -3.14145 0.000000
+v 0.194600 -3.14145 -0.000000
+v 0.195658 -2.86335 -0.101925
+v 0.195658 -2.86335 0.101925
+v 0.197424 -2.7 0.032816
+v 0.197424 -2.7 -0.032816
+v 0.197424 -2.7 -0.032816
+v 0.197424 -2.7 0.032816
+v 0.197684 -2.4744 -1.189282
+v 0.197684 -2.4744 1.189282
+v 0.198374 -2.6592 -0.198374
+v 0.198374 -2.6592 0.198374
+v 0.200000 -2.7 -0.000000
+v 0.200000 -2.7 0.000000
+v 0.200000 -2.7 0.000000
+v 0.200000 -2.7 -0.000000
+v 0.208794 -2.86335 0.070270
+v 0.208794 -2.86335 -0.070270
+v 0.209136 -2.4408 -1.258183
+v 0.209136 -2.4408 1.258183
+v 0.210740 -0.046875 -1.267832
+v 0.210740 -0.046875 1.267832
+v 0.213123 -3.08115 -0.290138
+v 0.213123 -3.08115 0.290138
+v 0.213234 -3.0348 -0.290295
+v 0.213234 -3.0348 0.290295
+v 0.213304 -2.4 -1.283256
+v 0.213304 -2.4 1.283256
+v 0.214905 -2.5728 -0.639758
+v 0.214905 -2.5728 0.639758
+v 0.216979 -2.86335 0.036157
+v 0.216979 -2.86335 -0.036157
+v 0.219536 -3.1176 -0.219536
+v 0.219536 -3.1176 0.219536
+v 0.219800 -2.86335 -0.000000
+v 0.219800 -2.86335 0.000000
+v 0.221585 -2.9232 -0.162745
+v 0.221585 -2.9232 0.162745
+v 0.224349 -0.0084 0.667871
+v 0.224349 -0.0084 -0.667871
+v 0.226113 -2.6592 -0.165941
+v 0.226113 -2.6592 0.165941
+v 0.226496 -2.463 -1.362620
+v 0.226496 -2.463 1.362620
+v 0.226795 -2.482687 1.364422
+v 0.226795 -2.482687 -1.364422
+v 0.226824 -0.0648 1.364595
+v 0.226824 -0.0648 -1.364595
+v 0.227403 -2.435437 -1.368074
+v 0.227403 -2.435437 1.368074
+v 0.228104 -2.4945 -1.372294
+v 0.228104 -2.4945 1.372294
+v 0.229712 -2.4 -1.381968
+v 0.229712 -2.4 1.381968
+v 0.230225 -2.498438 -1.385053
+v 0.230225 -2.498438 1.385053
+v 0.230604 -0.002175 -0.314223
+v 0.230604 -0.002175 0.314223
+v 0.231031 -2.98125 -0.231031
+v 0.231031 -2.98125 0.231031
+v 0.232342 -2.6256 -0.316590
+v 0.232342 -2.6256 0.316590
+v 0.232961 -2.4945 -1.401513
+v 0.232961 -2.4945 1.401513
+v 0.236115 -2.482687 -1.420490
+v 0.236115 -2.482687 1.420490
+v 0.237149 -0.084525 1.426709
+v 0.237149 -0.084525 -1.426709
+v 0.239491 -2.463 -1.440800
+v 0.239491 -2.463 1.440800
+v 0.242892 -2.435437 -1.461258
+v 0.242892 -2.435437 1.461258
+v 0.242970 -0.1056 1.461727
+v 0.242970 -0.1056 -1.461727
+v 0.243424 -2.5974 0.467878
+v 0.243424 -2.5974 -0.467878
+v 0.243569 -2.9232 -0.126920
+v 0.243569 -2.9232 0.126920
+v 0.245542 -0.127575 1.477200
+v 0.245542 -0.127575 -1.477200
+v 0.246120 -0.15 -1.480680
+v 0.246120 -2.4 -1.480680
+v 0.246120 -0.15 1.480680
+v 0.246120 -0.15 1.480680
+v 0.246120 -2.4 1.480680
+v 0.246120 -0.15 -1.480680
+v 0.248417 -0.177075 -1.494500
+v 0.248417 -0.177075 1.494500
+v 0.248621 -2.6592 0.129351
+v 0.248621 -2.6592 -0.129351
+v 0.250127 -3.1176 -0.183734
+v 0.250127 -3.1176 0.183734
+v 0.254652 -0.2136 -1.532010
+v 0.254652 -0.2136 1.532010
+v 0.254653 -3.08115 -0.254653
+v 0.254653 -3.08115 0.254653
+v 0.254788 -3.0348 -0.254788
+v 0.254788 -3.0348 0.254788
+v 0.258385 -2.242575 -1.554467
+v 0.258385 -2.242575 1.554467
+v 0.259910 -2.9232 -0.087511
+v 0.259910 -2.9232 0.087511
+v 0.263208 -2.55 -0.783552
+v 0.263208 -2.55 0.783552
+v 0.263232 -2.98125 -0.193348
+v 0.263232 -2.98125 0.193348
+v 0.263841 -0.260025 1.587289
+v 0.263841 -0.260025 -1.587289
+v 0.265363 -2.6592 -0.089140
+v 0.265363 -2.6592 0.089140
+v 0.270092 -2.9232 -0.045032
+v 0.270092 -2.9232 0.045032
+v 0.270404 -2.0856 -1.626774
+v 0.270404 -2.0856 1.626774
+v 0.273600 -2.9232 -0.000000
+v 0.273600 -2.9232 0.000000
+v 0.274928 -3.1176 -0.143301
+v 0.274928 -3.1176 0.143301
+v 0.274998 -0.3168 -1.654413
+v 0.274998 -0.3168 1.654413
+v 0.275675 -0.002175 -0.275675
+v 0.275675 -0.002175 0.275675
+v 0.275801 -2.6592 -0.045844
+v 0.275801 -2.6592 0.045844
+v 0.277752 -2.6256 -0.277752
+v 0.277752 -2.6256 0.277752
+v 0.279400 -2.6592 0.000000
+v 0.281930 -1.929525 1.696119
+v 0.281930 -1.929525 -1.696119
+v 0.287140 -0.384375 -1.727460
+v 0.287140 -0.384375 1.727460
+v 0.289340 -2.98125 -0.150793
+v 0.289340 -2.98125 0.150793
+v 0.290138 -3.08115 -0.213123
+v 0.290138 -3.08115 0.213123
+v 0.290295 -3.0348 -0.213234
+v 0.290295 -3.0348 0.213234
+v 0.292719 -1.7748 -1.761022
+v 0.292719 -1.7748 1.761022
+v 0.293360 -3.1176 -0.098814
+v 0.293360 -3.1176 0.098814
+v 0.299282 -0.4632 -1.800507
+v 0.299282 -0.4632 1.800507
+v 0.302522 -1.621875 -1.820003
+v 0.302523 -1.621875 1.820003
+v 0.303862 -0.018225 0.904575
+v 0.303862 -0.018225 -0.904575
+v 0.304843 -3.1176 -0.050855
+v 0.304843 -3.1176 0.050855
+v 0.308744 -2.98125 -0.103976
+v 0.308744 -2.98125 0.103976
+v 0.308800 -3.1176 0.000000
+v 0.308800 -3.1176 -0.000000
+v 0.309596 -2.5272 -0.921647
+v 0.309596 -2.5272 0.921647
+v 0.310439 -0.553725 -1.867631
+v 0.310439 -0.553725 1.867631
+v 0.311096 -1.4712 -1.871580
+v 0.311096 -1.4712 1.871580
+v 0.311850 -2.5728 -0.599396
+v 0.311850 -2.5728 0.599396
+v 0.312283 -2.5974 -0.425519
+v 0.312283 -2.5974 0.425519
+v 0.314223 -0.002175 -0.230604
+v 0.314223 -0.002175 0.230604
+v 0.316590 -2.6256 -0.232342
+v 0.316590 -2.6256 0.232342
+v 0.318192 -1.323225 -1.914272
+v 0.318192 -1.323225 1.914272
+v 0.318907 -3.08115 -0.166221
+v 0.318907 -3.08115 0.166221
+v 0.319082 -3.0348 -0.166306
+v 0.319082 -3.0348 0.166306
+v 0.319628 -0.6564 -1.922910
+v 0.319628 -0.6564 1.922910
+v 0.320834 -2.98125 -0.053508
+v 0.320834 -2.98125 0.053508
+v 0.323566 -1.1784 -1.946601
+v 0.323566 -1.1784 1.946601
+v 0.325000 -2.98125 0.000000
+v 0.325000 -2.98125 -0.000000
+v 0.325553 -0.0084 -0.625735
+v 0.325553 -0.0084 0.625735
+v 0.325863 -0.771675 -1.960420
+v 0.325863 -0.771675 1.960420
+v 0.326970 -1.037175 -1.967083
+v 0.326970 -1.037175 1.967083
+v 0.328160 -0.9 -1.974240
+v 0.328160 -0.9 -1.974240
+v 0.328160 -0.9 1.974240
+v 0.340289 -3.08115 -0.114619
+v 0.340289 -3.08115 0.114619
+v 0.340477 -3.0348 -0.114676
+v 0.340477 -3.0348 0.114676
+v 0.345503 -0.002175 -0.179756
+v 0.345503 -0.002175 0.179756
+v 0.348105 -2.6256 -0.181110
+v 0.348105 -2.6256 0.181110
+v 0.351008 -2.5026 -1.044926
+v 0.351008 -2.5026 1.044926
+v 0.353610 -3.08115 -0.058988
+v 0.353610 -3.08115 0.058988
+v 0.353807 -3.0348 -0.059016
+v 0.353807 -3.0348 0.059016
+v 0.358200 -3.08115 -0.000000
+v 0.358200 -3.08115 0.000000
+v 0.358400 -3.0348 0.000000
+v 0.358400 -3.0348 0.000000
+v 0.364854 -0.0312 1.086146
+v 0.364854 -0.0312 -1.086146
+v 0.368768 -0.002175 -0.123875
+v 0.368768 -0.002175 0.123875
+v 0.371546 -2.6256 -0.124808
+v 0.371546 -2.6256 0.124808
+v 0.373318 -2.5974 -0.373318
+v 0.373318 -2.5974 0.373318
+v 0.381942 -2.55 -0.734118
+v 0.381942 -2.55 0.734118
+v 0.383274 -0.002175 -0.063708
+v 0.383274 -0.002175 0.063708
+v 0.384379 -2.4744 -1.144271
+v 0.384379 -2.4744 1.144271
+v 0.386161 -2.6256 -0.064188
+v 0.386161 -2.6256 0.064188
+v 0.388275 -0.002175 0.000000
+v 0.388275 -0.002175 0.000000
+v 0.391200 -2.6256 0.000000
+v 0.391200 -2.6256 0.000000
+v 0.400065 -2.5728 -0.545131
+v 0.400065 -2.5728 0.545131
+v 0.406648 -2.4408 -1.210564
+v 0.406648 -2.4408 1.210564
+v 0.409767 -0.046875 1.219848
+v 0.409767 -0.046875 -1.219848
+v 0.414752 -2.4 -1.234688
+v 0.414752 -2.4 1.234688
+v 0.417645 -0.0084 -0.569086
+v 0.417645 -0.0084 0.569086
+v 0.425519 -2.5974 0.312283
+v 0.425519 -2.5974 -0.312283
+v 0.440403 -2.463 -1.311049
+v 0.440403 -2.463 1.311049
+v 0.440935 -0.018225 0.847506
+v 0.440935 -0.018225 -0.847506
+v 0.440985 -2.482687 -1.312782
+v 0.440985 -2.482687 1.312782
+v 0.441041 -0.0648 1.312948
+v 0.441041 -0.0648 -1.312948
+v 0.442166 -2.435437 -1.316296
+v 0.442166 -2.435437 1.316296
+v 0.443529 -2.4945 -1.320356
+v 0.443529 -2.4945 1.320356
+v 0.446656 -2.4 -1.329664
+v 0.446656 -2.4 1.329664
+v 0.447653 -2.498438 -1.332632
+v 0.447653 -2.498438 1.332632
+v 0.449256 -2.5272 -0.863501
+v 0.449256 -2.5272 0.863501
+v 0.452973 -2.4945 -1.348469
+v 0.452973 -2.4945 1.348469
+v 0.459107 -2.482687 -1.366728
+v 0.459107 -2.482687 1.366728
+v 0.461116 -0.084525 1.372712
+v 0.461116 -0.084525 -1.372712
+v 0.465671 -2.463 -1.386270
+v 0.465671 -2.463 1.386270
+v 0.467878 -2.5974 -0.243424
+v 0.467878 -2.5974 0.243424
+v 0.472283 -2.435437 -1.405953
+v 0.472283 -2.435437 1.405953
+v 0.472434 -0.1056 1.406405
+v 0.472434 -0.1056 -1.406405
+v 0.477435 -0.127575 1.421292
+v 0.477435 -0.127575 -1.421292
+v 0.478256 -2.5728 -0.478256
+v 0.478256 -2.5728 0.478256
+v 0.478560 -0.15 -1.424640
+v 0.478560 -2.4 -1.424640
+v 0.478560 -0.15 1.424640
+v 0.478560 -0.15 1.424640
+v 0.478560 -0.15 -1.424640
+v 0.478560 -2.4 1.424640
+v 0.483027 -0.177075 -1.437937
+v 0.483027 -0.177075 1.437937
+v 0.489984 -2.55 -0.667656
+v 0.489984 -2.55 0.667656
+v 0.495150 -0.2136 -1.474028
+v 0.495150 -0.2136 1.474028
+v 0.499272 -0.0084 -0.499272
+v 0.499272 -0.0084 0.499272
+v 0.499384 -2.5974 -0.167751
+v 0.499384 -2.5974 0.167751
+v 0.502408 -2.242575 -1.495635
+v 0.502408 -2.242575 1.495635
+v 0.509349 -2.5026 0.979002
+v 0.509349 -2.5026 -0.979002
+v 0.513016 -0.260025 -1.527214
+v 0.513016 -0.260025 1.527214
+v 0.519028 -2.5974 0.086273
+v 0.519028 -2.5974 -0.086273
+v 0.525778 -2.0856 -1.565204
+v 0.525778 -2.0856 1.565204
+v 0.525800 -2.5974 -0.000000
+v 0.525800 -2.5974 0.000000
+v 0.529441 -0.0312 -1.017621
+v 0.529441 -0.0312 1.017621
+v 0.534711 -0.3168 -1.591798
+v 0.534711 -0.3168 1.591798
+v 0.545131 -2.5728 -0.400065
+v 0.545131 -2.5728 0.400065
+v 0.548190 -1.929525 -1.631925
+v 0.548190 -1.929525 1.631925
+v 0.557774 -2.4744 -1.072079
+v 0.557774 -2.4744 1.072079
+v 0.558320 -0.384375 -1.662080
+v 0.558320 -0.384375 1.662080
+v 0.565664 -0.018225 0.770779
+v 0.565664 -0.018225 -0.770779
+v 0.569086 -0.0084 -0.417645
+v 0.569086 -0.0084 0.417645
+v 0.569167 -1.7748 -1.694372
+v 0.569167 -1.7748 1.694372
+v 0.576340 -2.5272 -0.785325
+v 0.576340 -2.5272 0.785325
+v 0.581929 -0.4632 -1.732362
+v 0.581929 -0.4632 1.732362
+v 0.585750 -2.55 -0.585750
+v 0.585750 -2.55 0.585750
+v 0.588230 -1.621875 -1.751120
+v 0.588230 -1.621875 1.751120
+v 0.590089 -2.4408 1.134190
+v 0.590089 -2.4408 -1.134190
+v 0.594614 -0.046875 -1.142888
+v 0.594614 -0.046875 1.142888
+v 0.599396 -2.5728 -0.311850
+v 0.599396 -2.5728 0.311850
+v 0.601848 -2.4 -1.156792
+v 0.601848 -2.4 1.156792
+v 0.603624 -0.553725 -1.796946
+v 0.603624 -0.553725 1.796946
+v 0.604900 -1.4712 -1.800745
+v 0.604900 -1.4712 1.800745
+v 0.618698 -1.323225 -1.841822
+v 0.618698 -1.323225 1.841822
+v 0.621490 -0.6564 -1.850132
+v 0.621490 -0.6564 1.850132
+v 0.625735 -0.0084 0.325553
+v 0.625735 -0.0084 -0.325553
+v 0.629147 -1.1784 -1.872927
+v 0.629147 -1.1784 1.872927
+v 0.633613 -0.771675 -1.886223
+v 0.633613 -0.771675 1.886223
+v 0.635767 -1.037175 -1.892634
+v 0.635767 -1.037175 1.892634
+v 0.638080 -0.9 -1.899520
+v 0.638080 -0.9 -1.899520
+v 0.638080 -0.9 1.899520
+v 0.638080 -0.9 1.899520
+v 0.639070 -2.463 -1.228335
+v 0.639070 -2.463 1.228335
+v 0.639758 -2.5728 -0.214905
+v 0.639758 -2.5728 0.214905
+v 0.639915 -2.482687 1.229959
+v 0.639915 -2.482687 -1.229959
+v 0.639996 -0.0648 -1.230115
+v 0.639996 -0.0648 1.230115
+v 0.641628 -2.435437 -1.233252
+v 0.641628 -2.435437 1.233252
+v 0.643607 -2.4945 -1.237056
+v 0.643607 -2.4945 1.237056
+v 0.648144 -2.4 -1.245776
+v 0.648144 -2.4 1.245776
+v 0.649591 -2.498438 -1.248557
+v 0.649591 -2.498438 1.248557
+v 0.653431 -2.5026 -0.890370
+v 0.653431 -2.5026 0.890370
+v 0.657311 -2.4945 -1.263395
+v 0.657311 -2.4945 1.263395
+v 0.664924 -2.5728 -0.110524
+v 0.664924 -2.5728 0.110524
+v 0.666211 -2.482687 1.280502
+v 0.666211 -2.482687 -1.280502
+v 0.667656 -2.55 -0.489984
+v 0.667656 -2.55 0.489984
+v 0.667871 -0.0084 -0.224349
+v 0.667871 -0.0084 0.224349
+v 0.669128 -0.084525 -1.286108
+v 0.669128 -0.084525 1.286108
+v 0.673600 -2.5728 0.000000
+v 0.673600 -2.5728 -0.000000
+v 0.675736 -2.463 -1.298810
+v 0.675736 -2.463 1.298810
+v 0.676222 -0.018225 0.676222
+v 0.676222 -0.018225 -0.676222
+v 0.679207 -0.0312 -0.925493
+v 0.679207 -0.0312 0.925493
+v 0.685331 -2.435437 -1.317252
+v 0.685331 -2.435437 1.317252
+v 0.685551 -0.1056 -1.317675
+v 0.685551 -0.1056 1.317675
+v 0.688984 -2.5272 -0.688984
+v 0.688984 -2.5272 0.688984
+v 0.692808 -0.127575 1.331623
+v 0.692808 -0.127575 -1.331623
+v 0.694143 -0.0084 -0.115381
+v 0.694143 -0.0084 0.115381
+v 0.694440 -0.15 1.334760
+v 0.694440 -0.15 -1.334760
+v 0.694440 -2.4 1.334760
+v 0.694440 -0.15 -1.334760
+v 0.694440 -0.15 1.334760
+v 0.694440 -2.4 -1.334760
+v 0.700921 -0.177075 1.347218
+v 0.700921 -0.177075 -1.347218
+v 0.703200 -0.0084 0.000000
+v 0.715555 -2.4744 -0.975021
+v 0.715555 -2.4744 0.975021
+v 0.718514 -0.2136 1.381032
+v 0.718514 -0.2136 -1.381032
+v 0.729046 -2.242575 -1.401276
+v 0.729046 -2.242575 1.401276
+v 0.734118 -2.55 -0.381942
+v 0.734118 -2.55 0.381942
+v 0.744440 -0.260025 1.430863
+v 0.744440 -0.260025 -1.430863
+v 0.757010 -2.4408 1.031508
+v 0.757010 -2.4408 -1.031508
+v 0.762816 -0.046875 -1.039419
+v 0.762816 -0.046875 1.039419
+v 0.762958 -2.0856 -1.466456
+v 0.762958 -2.0856 1.466456
+v 0.770779 -0.018225 0.565664
+v 0.770779 -0.018225 -0.565664
+v 0.772096 -2.4 -1.052064
+v 0.772096 -2.4 1.052064
+v 0.775921 -0.3168 -1.491372
+v 0.775921 -0.3168 1.491372
+v 0.781142 -2.5026 -0.781142
+v 0.781142 -2.5026 0.781142
+v 0.783552 -2.55 -0.263208
+v 0.783552 -2.55 0.263208
+v 0.785325 -2.5272 -0.576340
+v 0.785325 -2.5272 0.576340
+v 0.795481 -1.929525 1.528968
+v 0.795481 -1.929525 -1.528968
+v 0.810180 -0.384375 1.557220
+v 0.810180 -0.384375 -1.557220
+v 0.811956 -0.0312 0.811956
+v 0.811956 -0.0312 -0.811956
+v 0.814374 -2.55 -0.135366
+v 0.814374 -2.55 0.135366
+v 0.819847 -2.463 -1.117130
+v 0.819847 -2.463 1.117130
+v 0.820931 -2.482687 1.118607
+v 0.820931 -2.482687 -1.118607
+v 0.821035 -0.0648 1.118749
+v 0.821035 -0.0648 -1.118749
+v 0.823129 -2.435437 -1.121601
+v 0.823129 -2.435437 1.121601
+v 0.825000 -2.55 0.000000
+v 0.825000 -2.55 0.000000
+v 0.825668 -2.4945 -1.125061
+v 0.825668 -2.4945 1.125061
+v 0.825921 -1.7748 1.587475
+v 0.825921 -1.7748 -1.587475
+v 0.831488 -2.4 -1.132992
+v 0.831488 -2.4 1.132992
+v 0.833344 -2.498438 -1.135521
+v 0.833344 -2.498438 1.135521
+v 0.843248 -2.4945 -1.149016
+v 0.843248 -2.4945 1.149016
+v 0.844439 -0.4632 1.623068
+v 0.844439 -0.4632 -1.623068
+v 0.847506 -0.018225 -0.440935
+v 0.847506 -0.018225 0.440935
+v 0.853583 -1.621875 -1.640643
+v 0.853583 -1.621875 1.640643
+v 0.854666 -2.482687 -1.164574
+v 0.854666 -2.482687 1.164574
+v 0.855408 -2.4744 -0.855408
+v 0.855408 -2.4744 0.855408
+v 0.858407 -0.084525 -1.169673
+v 0.858407 -0.084525 1.169673
+v 0.863501 -2.5272 -0.449256
+v 0.863501 -2.5272 0.449256
+v 0.866886 -2.463 -1.181225
+v 0.866886 -2.463 1.181225
+v 0.875920 -0.553725 -1.683577
+v 0.875920 -0.553725 1.683577
+v 0.877772 -1.4712 -1.687137
+v 0.877772 -1.4712 1.687137
+v 0.879195 -2.435437 -1.197997
+v 0.879195 -2.435437 1.197997
+v 0.879477 -0.1056 -1.198382
+v 0.879477 -0.1056 1.198382
+v 0.888786 -0.127575 1.211067
+v 0.888786 -0.127575 -1.211067
+v 0.890370 -2.5026 -0.653431
+v 0.890370 -2.5026 0.653431
+v 0.890880 -0.15 -1.213920
+v 0.890880 -0.15 1.213920
+v 0.890880 -2.4 -1.213920
+v 0.890880 -0.15 -1.213920
+v 0.890880 -0.15 1.213920
+v 0.890880 -2.4 1.213920
+v 0.897795 -1.323225 -1.725622
+v 0.897795 -1.323225 1.725622
+v 0.899195 -0.177075 1.225250
+v 0.899195 -0.177075 -1.225250
+v 0.901846 -0.6564 -1.733408
+v 0.901846 -0.6564 1.733408
+v 0.904575 -0.018225 0.303862
+v 0.904575 -0.018225 -0.303862
+v 0.904966 -2.4408 0.904966
+v 0.904966 -2.4408 -0.904966
+v 0.911906 -0.046875 -0.911906
+v 0.911906 -0.046875 0.911906
+v 0.912957 -1.1784 -1.754764
+v 0.912957 -1.1784 1.754764
+v 0.919439 -0.771675 -1.767222
+v 0.919439 -0.771675 1.767222
+v 0.921647 -2.5272 -0.309596
+v 0.921647 -2.5272 0.309596
+v 0.921764 -0.2136 1.256003
+v 0.921764 -0.2136 -1.256003
+v 0.922564 -1.037175 1.773229
+v 0.922564 -1.037175 -1.773229
+v 0.923000 -2.4 -0.923000
+v 0.923000 -2.4 0.923000
+v 0.925493 -0.0312 0.679207
+v 0.925493 -0.0312 -0.679207
+v 0.925920 -0.9 1.779680
+v 0.925920 -0.9 -1.779680
+v 0.925920 -0.9 -1.779680
+v 0.925920 -0.9 1.779680
+v 0.935276 -2.242575 -1.274414
+v 0.935276 -2.242575 1.274414
+v 0.940158 -0.018225 0.156274
+v 0.940158 -0.018225 -0.156274
+v 0.952425 -0.018225 0.000000
+v 0.952425 -0.018225 0.000000
+v 0.955023 -0.260025 1.301322
+v 0.955023 -0.260025 -1.301322
+v 0.957901 -2.5272 -0.159223
+v 0.957901 -2.5272 0.159223
+v 0.970400 -2.5272 0.000000
+v 0.970400 -2.5272 -0.000000
+v 0.975021 -2.4744 -0.715555
+v 0.975021 -2.4744 0.715555
+v 0.978780 -2.0856 -1.333693
+v 0.978780 -2.0856 1.333693
+v 0.979002 -2.5026 0.509349
+v 0.979002 -2.5026 -0.509349
+v 0.980084 -2.463 -0.980084
+v 0.980084 -2.463 0.980084
+v 0.981380 -2.482687 -0.981380
+v 0.981380 -2.482687 0.981380
+v 0.981504 -0.0648 0.981504
+v 0.981504 -0.0648 -0.981504
+v 0.984007 -2.435437 -0.984007
+v 0.984007 -2.435437 0.984007
+v 0.987042 -2.4945 -0.987042
+v 0.987042 -2.4945 0.987042
+v 0.994000 -2.4 -0.994000
+v 0.994000 -2.4 0.994000
+v 0.995410 -0.3168 -1.356353
+v 0.995410 -0.3168 1.356353
+v 0.996219 -2.498438 -0.996219
+v 0.996219 -2.498438 0.996219
+v 1.008058 -2.4945 -1.008058
+v 1.008058 -2.4945 1.008058
+v 1.017621 -0.0312 0.529441
+v 1.017621 -0.0312 -0.529441
+v 1.020503 -1.929525 -1.390545
+v 1.020503 -1.929525 1.390545
+v 1.021708 -2.482687 -1.021708
+v 1.021708 -2.482687 1.021708
+v 1.026181 -0.084525 -1.026181
+v 1.026181 -0.084525 1.026181
+v 1.031508 -2.4408 0.757010
+v 1.031508 -2.4408 -0.757010
+v 1.036316 -2.463 -1.036316
+v 1.036316 -2.463 1.036316
+v 1.039360 -0.384375 -1.416240
+v 1.039360 -0.384375 1.416240
+v 1.039419 -0.046875 -0.762816
+v 1.039419 -0.046875 0.762816
+v 1.044926 -2.5026 -0.351008
+v 1.044926 -2.5026 0.351008
+v 1.051031 -2.435437 -1.051031
+v 1.051031 -2.435437 1.051031
+v 1.051368 -0.1056 -1.051368
+v 1.051368 -0.1056 1.051368
+v 1.052064 -2.4 -0.772096
+v 1.052064 -2.4 0.772096
+v 1.059553 -1.7748 -1.443756
+v 1.059553 -1.7748 1.443756
+v 1.062497 -0.127575 1.062497
+v 1.062497 -0.127575 -1.062497
+v 1.065000 -0.15 -1.065000
+v 1.065000 -0.15 1.065000
+v 1.065000 -2.4 -1.065000
+v 1.065000 -2.4 1.065000
+v 1.072079 -2.4744 -0.557774
+v 1.072079 -2.4744 0.557774
+v 1.074940 -0.177075 -1.074940
+v 1.074940 -0.177075 1.074940
+v 1.083310 -0.4632 -1.476127
+v 1.083310 -0.4632 1.476127
+v 1.086029 -2.5026 0.180521
+v 1.086029 -2.5026 -0.180521
+v 1.086146 -0.0312 0.364854
+v 1.086146 -0.0312 -0.364854
+v 1.095040 -1.621875 -1.492110
+v 1.095040 -1.621875 1.492110
+v 1.100200 -2.5026 -0.000000
+v 1.100200 -2.5026 0.000000
+v 1.101920 -0.2136 1.101920
+v 1.101920 -0.2136 -1.101920
+v 1.117130 -2.463 -0.819847
+v 1.117130 -2.463 0.819847
+v 1.118073 -2.242575 -1.118073
+v 1.118073 -2.242575 1.118073
+v 1.118607 -2.482687 -0.820931
+v 1.118607 -2.482687 0.820931
+v 1.118749 -0.0648 -0.821035
+v 1.118749 -0.0648 0.821035
+v 1.121601 -2.435437 -0.823129
+v 1.121601 -2.435437 0.823129
+v 1.123697 -0.553725 -1.531158
+v 1.123697 -0.553725 1.531158
+v 1.125061 -2.4945 -0.825668
+v 1.125061 -2.4945 0.825668
+v 1.126072 -1.4712 -1.534395
+v 1.126072 -1.4712 1.534395
+v 1.128870 -0.0312 -0.187642
+v 1.128870 -0.0312 0.187642
+v 1.132992 -2.4 -0.831488
+v 1.132992 -2.4 0.831488
+v 1.134190 -2.4408 0.590089
+v 1.134190 -2.4408 -0.590089
+v 1.135521 -2.498438 -0.833344
+v 1.135521 -2.498438 0.833344
+v 1.141680 -0.260025 1.141680
+v 1.141680 -0.260025 -1.141680
+v 1.142888 -0.046875 -0.594614
+v 1.142888 -0.046875 0.594614
+v 1.143600 -0.0312 0.000000
+v 1.143600 -0.0312 0.000000
+v 1.144271 -2.4744 -0.384379
+v 1.144271 -2.4744 0.384379
+v 1.149016 -2.4945 -0.843248
+v 1.149016 -2.4945 0.843248
+v 1.151759 -1.323225 -1.569396
+v 1.151759 -1.323225 1.569396
+v 1.156792 -2.4 -0.601848
+v 1.156792 -2.4 0.601848
+v 1.156956 -0.6564 -1.576477
+v 1.156956 -0.6564 1.576477
+v 1.164574 -2.482687 -0.854666
+v 1.164574 -2.482687 0.854666
+v 1.169673 -0.084525 -0.858407
+v 1.169673 -0.084525 0.858407
+v 1.170080 -2.0856 -1.170080
+v 1.170080 -2.0856 1.170080
+v 1.171210 -1.1784 -1.595900
+v 1.171210 -1.1784 1.595900
+v 1.179525 -0.771675 -1.607230
+v 1.179525 -0.771675 1.607230
+v 1.181225 -2.463 -0.866886
+v 1.181225 -2.463 0.866886
+v 1.183534 -1.037175 -1.612693
+v 1.183534 -1.037175 1.612693
+v 1.187840 -0.9 -1.618560
+v 1.187840 -0.9 -1.618560
+v 1.187840 -0.9 1.618560
+v 1.187840 -0.9 1.618560
+v 1.189282 -2.4744 -0.197684
+v 1.189282 -2.4744 0.197684
+v 1.189960 -0.3168 -1.189960
+v 1.189960 -0.3168 1.189960
+v 1.197997 -2.435437 -0.879195
+v 1.197997 -2.435437 0.879195
+v 1.198382 -0.1056 -0.879477
+v 1.198382 -0.1056 0.879477
+v 1.204800 -2.4744 0.000000
+v 1.204800 -2.4744 -0.000000
+v 1.210564 -2.4408 0.406648
+v 1.210564 -2.4408 -0.406648
+v 1.211067 -0.127575 0.888786
+v 1.211067 -0.127575 -0.888786
+v 1.213920 -0.15 -0.890880
+v 1.213920 -0.15 -0.890880
+v 1.213920 -0.15 0.890880
+v 1.213920 -0.15 0.890880
+v 1.213920 -2.4 -0.890880
+v 1.213920 -2.4 0.890880
+v 1.219848 -0.046875 -0.409767
+v 1.219848 -0.046875 0.409767
+v 1.219958 -1.929525 1.219958
+v 1.219958 -1.929525 -1.219958
+v 1.225250 -0.177075 0.899195
+v 1.225250 -0.177075 -0.899195
+v 1.228335 -2.463 -0.639070
+v 1.228335 -2.463 0.639070
+v 1.229959 -2.482687 -0.639915
+v 1.229959 -2.482687 0.639915
+v 1.230115 -0.0648 -0.639996
+v 1.230115 -0.0648 0.639996
+v 1.233252 -2.435437 -0.641628
+v 1.233252 -2.435437 0.641628
+v 1.234688 -2.4 -0.414752
+v 1.234688 -2.4 0.414752
+v 1.237056 -2.4945 -0.643607
+v 1.237056 -2.4945 0.643607
+v 1.242500 -0.384375 -1.242500
+v 1.242500 -0.384375 1.242500
+v 1.245776 -2.4 -0.648144
+v 1.245776 -2.4 0.648144
+v 1.248557 -2.498438 -0.649591
+v 1.248557 -2.498438 0.649591
+v 1.256003 -0.2136 0.921764
+v 1.256003 -0.2136 -0.921764
+v 1.258183 -2.4408 0.209136
+v 1.258183 -2.4408 -0.209136
+v 1.263395 -2.4945 -0.657311
+v 1.263395 -2.4945 0.657311
+v 1.266640 -1.7748 -1.266640
+v 1.266640 -1.7748 1.266640
+v 1.267832 -0.046875 -0.210740
+v 1.267832 -0.046875 0.210740
+v 1.274414 -2.242575 -0.935276
+v 1.274414 -2.242575 0.935276
+v 1.274600 -2.4408 0.000000
+v 1.274600 -2.4408 0.000000
+v 1.280502 -2.482687 -0.666211
+v 1.280502 -2.482687 0.666211
+v 1.283256 -2.4 -0.213304
+v 1.283256 -2.4 0.213304
+v 1.284375 -0.046875 0.000000
+v 1.284375 -0.046875 -0.000000
+v 1.286108 -0.084525 -0.669128
+v 1.286108 -0.084525 0.669128
+v 1.295040 -0.4632 -1.295040
+v 1.295040 -0.4632 1.295040
+v 1.298810 -2.463 -0.675736
+v 1.298810 -2.463 0.675736
+v 1.300000 -2.4 0.000000
+v 1.300000 -2.4 -0.000000
+v 1.301322 -0.260025 0.955023
+v 1.301322 -0.260025 -0.955023
+v 1.309063 -1.621875 -1.309063
+v 1.309063 -1.621875 1.309063
+v 1.311049 -2.463 -0.440403
+v 1.311049 -2.463 0.440403
+v 1.312782 -2.482687 -0.440985
+v 1.312782 -2.482687 0.440985
+v 1.312948 -0.0648 0.441041
+v 1.312948 -0.0648 -0.441041
+v 1.316296 -2.435437 -0.442166
+v 1.316296 -2.435437 0.442166
+v 1.317252 -2.435437 -0.685331
+v 1.317252 -2.435437 0.685331
+v 1.317675 -0.1056 -0.685551
+v 1.317675 -0.1056 0.685551
+v 1.320356 -2.4945 -0.443529
+v 1.320356 -2.4945 0.443529
+v 1.329664 -2.4 -0.446656
+v 1.329664 -2.4 0.446656
+v 1.331623 -0.127575 0.692808
+v 1.331623 -0.127575 -0.692808
+v 1.332632 -2.498438 -0.447653
+v 1.332632 -2.498438 0.447653
+v 1.333693 -2.0856 -0.978780
+v 1.333693 -2.0856 0.978780
+v 1.334760 -0.15 0.694440
+v 1.334760 -0.15 -0.694440
+v 1.334760 -0.15 -0.694440
+v 1.334760 -0.15 0.694440
+v 1.334760 -2.4 -0.694440
+v 1.334760 -2.4 0.694440
+v 1.343320 -0.553725 -1.343320
+v 1.343320 -0.553725 1.343320
+v 1.346160 -1.4712 -1.346160
+v 1.346160 -1.4712 1.346160
+v 1.347218 -0.177075 0.700921
+v 1.347218 -0.177075 -0.700921
+v 1.348469 -2.4945 -0.452973
+v 1.348469 -2.4945 0.452973
+v 1.356353 -0.3168 -0.995410
+v 1.356353 -0.3168 0.995410
+v 1.362620 -2.463 -0.226496
+v 1.362620 -2.463 0.226496
+v 1.364422 -2.482687 -0.226795
+v 1.364422 -2.482687 0.226795
+v 1.364595 -0.0648 -0.226824
+v 1.364595 -0.0648 0.226824
+v 1.366728 -2.482687 -0.459107
+v 1.366728 -2.482687 0.459107
+v 1.368074 -2.435437 -0.227403
+v 1.368074 -2.435437 0.227403
+v 1.372294 -2.4945 -0.228104
+v 1.372294 -2.4945 0.228104
+v 1.372712 -0.084525 -0.461116
+v 1.372712 -0.084525 0.461116
+v 1.376867 -1.323225 -1.376868
+v 1.376868 -1.323225 1.376867
+v 1.380400 -2.463 0.000000
+v 1.380400 -2.463 -0.000000
+v 1.381032 -0.2136 0.718514
+v 1.381032 -0.2136 -0.718514
+v 1.381968 -2.4 -0.229712
+v 1.381968 -2.4 0.229712
+v 1.382225 -2.482687 0.000000
+v 1.382225 -2.482687 0.000000
+v 1.382400 -0.0648 0.000000
+v 1.382400 -0.0648 0.000000
+v 1.383080 -0.6564 -1.383080
+v 1.383080 -0.6564 1.383080
+v 1.385053 -2.498438 -0.230225
+v 1.385053 -2.498438 0.230225
+v 1.385925 -2.435437 0.000000
+v 1.385925 -2.435437 -0.000000
+v 1.386270 -2.463 -0.465671
+v 1.386270 -2.463 0.465671
+v 1.390200 -2.4945 0.000000
+v 1.390200 -2.4945 -0.000000
+v 1.390545 -1.929525 -1.020503
+v 1.390545 -1.929525 1.020503
+v 1.400000 -2.4 0.000000
+v 1.400000 -2.4 0.000000
+v 1.400120 -1.1784 -1.400120
+v 1.400120 -1.1784 1.400120
+v 1.401276 -2.242575 -0.729046
+v 1.401276 -2.242575 0.729046
+v 1.401513 -2.4945 -0.232961
+v 1.401513 -2.4945 0.232961
+v 1.403125 -2.498438 0.000000
+v 1.403125 -2.498438 0.000000
+v 1.405953 -2.435437 -0.472283
+v 1.405953 -2.435437 0.472283
+v 1.406405 -0.1056 -0.472434
+v 1.406405 -0.1056 0.472434
+v 1.410060 -0.771675 -1.410060
+v 1.410060 -0.771675 1.410060
+v 1.414853 -1.037175 -1.414853
+v 1.414853 -1.037175 1.414853
+v 1.416240 -0.384375 -1.039360
+v 1.416240 -0.384375 1.039360
+v 1.419800 -2.4945 0.000000
+v 1.419800 -2.4945 -0.000000
+v 1.420000 -0.9 -1.420000
+v 1.420000 -0.9 -1.420000
+v 1.420000 -0.9 1.420000
+v 1.420000 -0.9 1.420000
+v 1.420490 -2.482687 -0.236115
+v 1.420490 -2.482687 0.236115
+v 1.421292 -0.127575 0.477435
+v 1.421292 -0.127575 -0.477435
+v 1.424640 -0.15 -0.478560
+v 1.424640 -0.15 -0.478560
+v 1.424640 -0.15 0.478560
+v 1.424640 -0.15 0.478560
+v 1.424640 -2.4 -0.478560
+v 1.424640 -2.4 0.478560
+v 1.426709 -0.084525 -0.237149
+v 1.426709 -0.084525 0.237149
+v 1.430863 -0.260025 0.744440
+v 1.430863 -0.260025 -0.744440
+v 1.437937 -0.177075 0.483027
+v 1.437937 -0.177075 -0.483027
+v 1.439025 -2.482687 0.000000
+v 1.440800 -2.463 -0.239491
+v 1.440800 -2.463 0.239491
+v 1.443756 -1.7748 -1.059553
+v 1.443756 -1.7748 1.059553
+v 1.445325 -0.084525 0.000000
+v 1.445325 -0.084525 0.000000
+v 1.459600 -2.463 0.000000
+v 1.459600 -2.463 -0.000000
+v 1.461258 -2.435437 -0.242892
+v 1.461258 -2.435437 0.242892
+v 1.461727 -0.1056 -0.242970
+v 1.461727 -0.1056 0.242970
+v 1.466456 -2.0856 -0.762958
+v 1.466456 -2.0856 0.762958
+v 1.474028 -0.2136 0.495150
+v 1.474028 -0.2136 -0.495150
+v 1.476127 -0.4632 -1.083310
+v 1.476127 -0.4632 1.083310
+v 1.477200 -0.127575 0.245542
+v 1.477200 -0.127575 -0.245542
+v 1.480325 -2.435437 0.000000
+v 1.480325 -2.435437 -0.000000
+v 1.480680 -0.15 -0.246120
+v 1.480680 -0.15 0.246120
+v 1.480680 -0.15 0.246120
+v 1.480680 -0.15 -0.246120
+v 1.480680 -2.4 -0.246120
+v 1.480680 -2.4 0.246120
+v 1.480800 -0.1056 0.000000
+v 1.480800 -0.1056 0.000000
+v 1.491372 -0.3168 -0.775921
+v 1.491372 -0.3168 0.775921
+v 1.492110 -1.621875 -1.095040
+v 1.492110 -1.621875 1.095040
+v 1.494500 -0.177075 0.248417
+v 1.494500 -0.177075 -0.248417
+v 1.495635 -2.242575 -0.502408
+v 1.495635 -2.242575 0.502408
+v 1.496475 -0.127575 0.000000
+v 1.496475 -0.127575 0.000000
+v 1.500000 -0.15 0.000000
+v 1.500000 -0.15 0.000000
+v 1.500000 -2.4 0.000000
+v 1.500000 -2.4 0.000000
+v 1.514000 -0.177075 -0.000000
+v 1.514000 -0.177075 0.000000
+v 1.527214 -0.260025 -0.513016
+v 1.527214 -0.260025 0.513016
+v 1.528968 -1.929525 -0.795481
+v 1.528968 -1.929525 0.795481
+v 1.531158 -0.553725 -1.123697
+v 1.531158 -0.553725 1.123697
+v 1.532010 -0.2136 0.254652
+v 1.532010 -0.2136 -0.254652
+v 1.534395 -1.4712 -1.126072
+v 1.534395 -1.4712 1.126072
+v 1.552000 -0.2136 0.000000
+v 1.552000 -0.2136 0.000000
+v 1.554467 -2.242575 -0.258385
+v 1.554467 -2.242575 0.258385
+v 1.557220 -0.384375 -0.810180
+v 1.557220 -0.384375 0.810180
+v 1.565204 -2.0856 -0.525778
+v 1.565204 -2.0856 0.525778
+v 1.569396 -1.323225 -1.151759
+v 1.569396 -1.323225 1.151759
+v 1.574750 -2.242575 0.000000
+v 1.574750 -2.242575 0.000000
+v 1.576477 -0.6564 -1.156956
+v 1.576477 -0.6564 1.156956
+v 1.587289 -0.260025 0.263841
+v 1.587289 -0.260025 -0.263841
+v 1.587475 -1.7748 -0.825921
+v 1.587475 -1.7748 0.825921
+v 1.591798 -0.3168 -0.534711
+v 1.591798 -0.3168 0.534711
+v 1.595900 -1.1784 -1.171210
+v 1.595900 -1.1784 1.171210
+v 1.607230 -0.771675 -1.179525
+v 1.607230 -0.771675 1.179525
+v 1.608000 -0.260025 0.000000
+v 1.608000 -0.260025 0.000000
+v 1.612693 -1.037175 -1.183534
+v 1.612693 -1.037175 1.183534
+v 1.618560 -0.9 -1.187840
+v 1.618560 -0.9 -1.187840
+v 1.618560 -0.9 1.187840
+v 1.618560 -0.9 1.187840
+v 1.623068 -0.4632 -0.844439
+v 1.623068 -0.4632 0.844439
+v 1.626774 -2.0856 -0.270404
+v 1.626774 -2.0856 0.270404
+v 1.631925 -1.929525 -0.548190
+v 1.631925 -1.929525 0.548190
+v 1.640643 -1.621875 -0.853583
+v 1.640643 -1.621875 0.853583
+v 1.648000 -2.0856 0.000000
+v 1.648000 -2.0856 -0.000000
+v 1.654413 -0.3168 -0.274998
+v 1.654413 -0.3168 0.274998
+v 1.662080 -0.384375 -0.558320
+v 1.662080 -0.384375 0.558320
+v 1.676000 -0.3168 0.000000
+v 1.676000 -0.3168 0.000000
+v 1.683577 -0.553725 -0.875920
+v 1.683577 -0.553725 0.875920
+v 1.687137 -1.4712 -0.877772
+v 1.687137 -1.4712 0.877772
+v 1.694372 -1.7748 -0.569167
+v 1.694372 -1.7748 0.569167
+v 1.696119 -1.929525 -0.281930
+v 1.696119 -1.929525 0.281930
+v 1.700000 -0.6 0.000000
+v 1.700000 -0.6 0.000000
+v 1.700000 -0.6231 0.178200
+v 1.700000 -0.6231 -0.178200
+v 1.700000 -0.6858 -0.316800
+v 1.700000 -0.6858 0.316800
+v 1.700000 -0.7782 0.415800
+v 1.700000 -0.7782 -0.415800
+v 1.700000 -0.8904 -0.475200
+v 1.700000 -0.8904 0.475200
+v 1.700000 -1.0125 -0.495000
+v 1.700000 -1.0125 0.495000
+v 1.700000 -1.1346 -0.475200
+v 1.700000 -1.1346 0.475200
+v 1.700000 -1.2468 0.415800
+v 1.700000 -1.2468 -0.415800
+v 1.700000 -1.3392 -0.316800
+v 1.700000 -1.3392 0.316800
+v 1.700000 -1.4019 0.178200
+v 1.700000 -1.4019 -0.178200
+v 1.700000 -1.425 0.000000
+v 1.700000 -1.425 0.000000
+v 1.718250 -1.929525 0.000000
+v 1.718250 -1.929525 0.000000
+v 1.725622 -1.323225 -0.897795
+v 1.725622 -1.323225 0.897795
+v 1.727460 -0.384375 -0.287140
+v 1.727460 -0.384375 0.287140
+v 1.732362 -0.4632 -0.581929
+v 1.732362 -0.4632 0.581929
+v 1.733408 -0.6564 -0.901846
+v 1.733408 -0.6564 0.901846
+v 1.750000 -0.384375 0.000000
+v 1.750000 -0.384375 0.000000
+v 1.751120 -1.621875 -0.588230
+v 1.751120 -1.621875 0.588230
+v 1.754764 -1.1784 -0.912957
+v 1.754764 -1.1784 0.912957
+v 1.761022 -1.7748 -0.292719
+v 1.761022 -1.7748 0.292719
+v 1.767222 -0.771675 -0.919439
+v 1.767222 -0.771675 0.919439
+v 1.773229 -1.037175 -0.922564
+v 1.773229 -1.037175 0.922564
+v 1.779680 -0.9 -0.925920
+v 1.779680 -0.9 -0.925920
+v 1.779680 -0.9 0.925920
+v 1.779680 -0.9 0.925920
+v 1.784000 -1.7748 0.000000
+v 1.784000 -1.7748 0.000000
+v 1.796946 -0.553725 -0.603624
+v 1.796946 -0.553725 0.603624
+v 1.800507 -0.4632 -0.299282
+v 1.800507 -0.4632 0.299282
+v 1.800745 -1.4712 -0.604900
+v 1.800745 -1.4712 0.604900
+v 1.820003 -1.621875 -0.302523
+v 1.820003 -1.621875 0.302522
+v 1.824000 -0.4632 0.000000
+v 1.824000 -0.4632 0.000000
+v 1.841822 -1.323225 -0.618698
+v 1.841822 -1.323225 0.618698
+v 1.843750 -1.621875 0.000000
+v 1.843750 -1.621875 -0.000000
+v 1.850132 -0.6564 -0.621490
+v 1.850132 -0.6564 0.621490
+v 1.867631 -0.553725 -0.310439
+v 1.867631 -0.553725 0.310439
+v 1.871580 -1.4712 -0.311096
+v 1.871580 -1.4712 0.311096
+v 1.872927 -1.1784 -0.629147
+v 1.872927 -1.1784 0.629147
+v 1.886223 -0.771675 -0.633613
+v 1.886223 -0.771675 0.633613
+v 1.892000 -0.553725 0.000000
+v 1.892000 -0.553725 -0.000000
+v 1.892634 -1.037175 -0.635767
+v 1.892634 -1.037175 0.635767
+v 1.896000 -1.4712 0.000000
+v 1.896000 -1.4712 0.000000
+v 1.899520 -0.9 -0.638080
+v 1.899520 -0.9 -0.638080
+v 1.899520 -0.9 0.638080
+v 1.899520 -0.9 0.638080
+v 1.914272 -1.323225 -0.318192
+v 1.914272 -1.323225 0.318192
+v 1.922910 -0.6564 -0.319628
+v 1.922910 -0.6564 0.319628
+v 1.935900 -1.4442 0.000000
+v 1.935900 -1.4442 0.000000
+v 1.939250 -1.323225 0.000000
+v 1.939250 -1.323225 -0.000000
+v 1.939394 -1.423221 -0.175100
+v 1.939394 -1.423221 0.175100
+v 1.946601 -1.1784 -0.323566
+v 1.946601 -1.1784 0.323566
+v 1.948000 -0.6564 0.000000
+v 1.948000 -0.6564 -0.000000
+v 1.948879 -1.366278 -0.311290
+v 1.948879 -1.366278 0.311290
+v 1.960420 -0.771675 -0.325863
+v 1.960420 -0.771675 0.325863
+v 1.962857 -1.282362 -0.408568
+v 1.962857 -1.282362 0.408568
+v 1.967083 -1.037175 -0.326970
+v 1.967083 -1.037175 0.326970
+v 1.972000 -1.1784 0.000000
+v 1.972000 -1.1784 0.000000
+v 1.974240 -0.9 -0.328160
+v 1.974240 -0.9 0.328160
+v 1.974240 -0.9 0.328160
+v 1.979830 -1.180464 -0.466934
+v 1.979830 -1.180464 0.466934
+v 1.986000 -0.771675 0.000000
+v 1.986000 -0.771675 -0.000000
+v 1.992750 -1.037175 0.000000
+v 1.992750 -1.037175 0.000000
+v 1.998300 -1.069575 -0.486390
+v 1.998300 -1.069575 0.486390
+v 2.000000 -0.9 0.000000
+v 2.000000 -0.9 0.000000
+v 2.016770 -0.958686 -0.466934
+v 2.016770 -0.958686 0.466934
+v 2.033743 -0.856788 -0.408568
+v 2.033743 -0.856788 0.408568
+v 2.047721 -0.772872 0.311290
+v 2.047721 -0.772872 -0.311290
+v 2.057206 -0.715929 0.175100
+v 2.057206 -0.715929 -0.175100
+v 2.060700 -0.69495 0.000000
+v 2.060700 -0.69495 0.000000
+v 2.111200 -1.4976 0.000000
+v 2.111200 -1.4976 0.000000
+v 2.116979 -1.47912 -0.166687
+v 2.116979 -1.47912 0.166687
+v 2.132666 -1.42896 -0.296333
+v 2.132666 -1.42896 0.296333
+v 2.155782 -1.35504 -0.388937
+v 2.155782 -1.35504 0.388937
+v 2.183853 -1.26528 -0.444499
+v 2.183853 -1.26528 0.444499
+v 2.214400 -1.1676 -0.463020
+v 2.214400 -1.1676 0.463020
+v 2.237300 -1.5789 0.000000
+v 2.237300 -1.5789 0.000000
+v 2.244457 -1.563171 -0.154289
+v 2.244457 -1.563171 0.154289
+v 2.244947 -1.06992 -0.444499
+v 2.244947 -1.06992 0.444499
+v 2.263882 -1.520478 -0.274291
+v 2.263882 -1.520478 0.274291
+v 2.273018 -0.98016 -0.388937
+v 2.273018 -0.98016 0.388937
+v 2.292510 -1.457562 -0.360007
+v 2.292510 -1.457562 0.360007
+v 2.296134 -0.90624 -0.296333
+v 2.296134 -0.90624 0.296333
+v 2.311821 -0.85608 -0.166687
+v 2.311821 -0.85608 0.166687
+v 2.317600 -0.8376 0.000000
+v 2.317600 -0.8376 0.000000
+v 2.325600 -1.6818 0.000000
+v 2.325600 -1.6818 0.000000
+v 2.327271 -1.381164 -0.411437
+v 2.327271 -1.381164 0.411437
+v 2.333530 -1.668948 -0.139234
+v 2.333530 -1.668948 0.139234
+v 2.355053 -1.634064 -0.247526
+v 2.355053 -1.634064 0.247526
+v 2.365100 -1.298025 -0.428580
+v 2.365100 -1.298025 0.428580
+v 2.386771 -1.582656 -0.324878
+v 2.386771 -1.582656 0.324878
+v 2.387500 -1.8 0.000000
+v 2.387500 -1.8 0.000000
+v 2.395900 -1.790025 0.122850
+v 2.395900 -1.790025 -0.122850
+v 2.402929 -1.214886 -0.411437
+v 2.402929 -1.214886 0.411437
+v 2.418700 -1.76295 -0.218400
+v 2.418700 -1.76295 0.218400
+v 2.425286 -1.520232 -0.371290
+v 2.425286 -1.520232 0.371290
+v 2.434400 -1.9272 0.000000
+v 2.434400 -1.9272 0.000000
+v 2.437690 -1.138488 -0.360007
+v 2.437690 -1.138488 0.360007
+v 2.443270 -1.919976 0.106466
+v 2.443270 -1.919976 -0.106466
+v 2.452300 -1.72305 -0.286650
+v 2.452300 -1.72305 0.286650
+v 2.466318 -1.075572 -0.274291
+v 2.466318 -1.075572 0.274291
+v 2.467200 -1.4523 -0.386760
+v 2.467200 -1.4523 0.386760
+v 2.467347 -1.900368 0.189274
+v 2.467347 -1.900368 -0.189274
+v 2.477700 -2.0571 0.000000
+v 2.477700 -2.0571 0.000000
+v 2.485743 -1.032879 -0.154289
+v 2.485743 -1.032879 0.154289
+v 2.487343 -2.052375 -0.091411
+v 2.487343 -2.052375 0.091411
+v 2.492900 -1.01715 0.000000
+v 2.492900 -1.01715 0.000000
+v 2.493100 -1.6746 -0.327600
+v 2.493100 -1.6746 0.327600
+v 2.502829 -1.871472 0.248422
+v 2.502829 -1.871472 -0.248422
+v 2.509114 -1.384368 -0.371290
+v 2.509114 -1.384368 0.371290
+v 2.513518 -2.03955 0.162509
+v 2.513518 -2.03955 -0.162509
+v 2.528800 -2.1834 0.000000
+v 2.537500 -1.621875 -0.341250
+v 2.537500 -1.621875 0.341250
+v 2.539821 -2.180796 -0.079013
+v 2.539821 -2.180796 0.079013
+v 2.545914 -1.836384 -0.283910
+v 2.545914 -1.836384 0.283910
+v 2.547629 -1.321944 -0.324878
+v 2.547629 -1.321944 0.324878
+v 2.552090 -2.02065 -0.213293
+v 2.552090 -2.02065 0.213293
+v 2.569734 -2.173728 -0.140467
+v 2.569734 -2.173728 0.140467
+v 2.579347 -1.270536 -0.247526
+v 2.579347 -1.270536 0.247526
+v 2.581900 -1.56915 -0.327600
+v 2.581900 -1.56915 0.327600
+v 2.592800 -1.7982 -0.295740
+v 2.592800 -1.7982 0.295740
+v 2.598929 -1.9977 -0.243763
+v 2.598929 -1.9977 0.243763
+v 2.599100 -2.2998 0.000000
+v 2.599100 -2.2998 0.000000
+v 2.600870 -1.235652 -0.139234
+v 2.600870 -1.235652 0.139234
+v 2.608800 -1.2228 0.000000
+v 2.608800 -1.2228 0.000000
+v 2.612406 -2.298813 0.070600
+v 2.612406 -2.298813 -0.070600
+v 2.613818 -2.163312 -0.184363
+v 2.613818 -2.163312 0.184363
+v 2.622700 -1.5207 -0.286650
+v 2.622700 -1.5207 0.286650
+v 2.639686 -1.760016 -0.283910
+v 2.639686 -1.760016 0.283910
+v 2.648521 -2.296134 0.125510
+v 2.648521 -2.296134 -0.125510
+v 2.649900 -1.972725 0.253920
+v 2.649900 -1.972725 -0.253920
+v 2.656300 -1.4808 -0.218400
+v 2.656300 -1.4808 0.218400
+v 2.667347 -2.150664 -0.210701
+v 2.667347 -2.150664 0.210701
+v 2.679100 -1.453725 0.122850
+v 2.679100 -1.453725 -0.122850
+v 2.682771 -1.724928 0.248422
+v 2.682771 -1.724928 -0.248422
+v 2.687500 -1.44375 0.000000
+v 2.687500 -1.44375 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700871 -1.94775 -0.243763
+v 2.700871 -1.94775 0.243763
+v 2.701743 -2.292186 0.164732
+v 2.701743 -2.292186 -0.164732
+v 2.716800 -2.4 0.067500
+v 2.716800 -2.4 -0.067500
+v 2.716800 -2.4 -0.067500
+v 2.716800 -2.4 0.067500
+v 2.718253 -1.696032 0.189274
+v 2.718253 -1.696032 -0.189274
+v 2.725600 -2.1369 -0.219480
+v 2.725600 -2.1369 0.219480
+v 2.729800 -2.42025 0.000000
+v 2.742330 -1.676424 0.106466
+v 2.742330 -1.676424 -0.106466
+v 2.747407 -2.420406 -0.066744
+v 2.747407 -2.420406 0.066744
+v 2.747710 -1.9248 -0.213293
+v 2.747710 -1.9248 0.213293
+v 2.751200 -1.6692 0.000000
+v 2.751200 -1.6692 0.000000
+v 2.758400 -2.436 0.000000
+v 2.762400 -2.4 0.120000
+v 2.762400 -2.4 -0.120000
+v 2.762400 -2.4 -0.120000
+v 2.762400 -2.4 0.120000
+v 2.766370 -2.287392 0.188266
+v 2.766370 -2.287392 -0.188266
+v 2.776365 -2.436302 -0.064692
+v 2.776365 -2.436302 0.064692
+v 2.783853 -2.123136 -0.210701
+v 2.783853 -2.123136 0.210701
+v 2.784600 -2.44725 0.000000
+v 2.784600 -2.44725 0.000000
+v 2.786282 -1.9059 0.162509
+v 2.786282 -1.9059 -0.162509
+v 2.795198 -2.420829 -0.118656
+v 2.795198 -2.420829 0.118656
+v 2.800000 -2.4 0.000000
+v 2.802528 -2.44768 -0.061668
+v 2.802528 -2.44768 0.061668
+v 2.807200 -2.454 0.000000
+v 2.811200 -2.4 -0.040500
+v 2.811200 -2.4 0.040500
+v 2.812457 -1.893075 0.091411
+v 2.812457 -1.893075 -0.091411
+v 2.822100 -1.88835 0.000000
+v 2.822100 -1.88835 0.000000
+v 2.824200 -2.42025 0.000000
+v 2.824200 -2.42025 0.000000
+v 2.824750 -2.454529 -0.057996
+v 2.824750 -2.454529 0.057996
+v 2.825000 -2.45625 0.000000
+v 2.825000 -2.45625 0.000000
+v 2.825126 -2.437123 -0.115008
+v 2.825126 -2.437123 0.115008
+v 2.829600 -2.4 0.157500
+v 2.829600 -2.4 -0.157500
+v 2.829600 -2.4 -0.157500
+v 2.829600 -2.4 0.157500
+v 2.836672 -2.420519 -0.041256
+v 2.836672 -2.420519 0.041256
+v 2.836700 -2.282175 0.196110
+v 2.836700 -2.282175 -0.196110
+v 2.836800 -2.454 0.000000
+v 2.836800 -2.454 0.000000
+v 2.837382 -2.110488 -0.184363
+v 2.837382 -2.110488 0.184363
+v 2.837600 -2.436 0.000000
+v 2.837600 -2.436 0.000000
+v 2.841400 -2.44725 0.000000
+v 2.841400 -2.44725 0.000000
+v 2.841600 -2.4 -0.072000
+v 2.841600 -2.4 0.072000
+v 2.841887 -2.456841 -0.054000
+v 2.841887 -2.456841 0.054000
+v 2.851189 -2.448847 -0.109632
+v 2.851189 -2.448847 0.109632
+v 2.851331 -2.436454 -0.043308
+v 2.851331 -2.436454 0.043308
+v 2.852794 -2.454605 -0.050004
+v 2.852794 -2.454605 0.050004
+v 2.856323 -2.447812 -0.046332
+v 2.856323 -2.447812 0.046332
+v 2.865626 -2.421453 -0.155736
+v 2.865626 -2.421453 0.155736
+v 2.870524 -2.42125 -0.073344
+v 2.870524 -2.42125 0.073344
+v 2.872387 -2.455966 -0.103104
+v 2.872387 -2.455966 0.103104
+v 2.881466 -2.100072 -0.140467
+v 2.881466 -2.100072 0.140467
+v 2.886400 -2.4 -0.094500
+v 2.886400 -2.4 0.094500
+v 2.887725 -2.458444 -0.096000
+v 2.887725 -2.458444 0.096000
+v 2.888602 -2.437685 -0.076992
+v 2.888602 -2.437685 0.076992
+v 2.896205 -2.456246 0.088896
+v 2.896205 -2.456246 -0.088896
+v 2.896829 -2.449338 -0.082368
+v 2.896829 -2.449338 0.082368
+v 2.896986 -2.438333 -0.150948
+v 2.896986 -2.438333 0.150948
+v 2.907030 -2.276958 0.188266
+v 2.907030 -2.276958 -0.188266
+v 2.911200 -2.4 -0.180000
+v 2.911200 -2.4 -0.180000
+v 2.911200 -2.4 0.180000
+v 2.911379 -2.093004 -0.079013
+v 2.911379 -2.093004 0.079013
+v 2.920412 -2.422328 -0.096264
+v 2.920412 -2.422328 0.096264
+v 2.922400 -2.0904 0.000000
+v 2.922899 -2.450567 -0.143892
+v 2.922899 -2.450567 0.143892
+v 2.940800 -2.4 -0.108000
+v 2.940800 -2.4 0.108000
+v 2.942589 -2.458082 -0.135324
+v 2.942589 -2.458082 0.135324
+v 2.943526 -2.439499 -0.101052
+v 2.943526 -2.439499 0.101052
+v 2.951146 -2.42221 -0.177984
+v 2.951146 -2.42221 0.177984
+v 2.955275 -2.460806 -0.126000
+v 2.955275 -2.460806 0.126000
+v 2.956523 -2.451588 -0.108108
+v 2.956523 -2.451588 0.108108
+v 2.960179 -2.458666 -0.116676
+v 2.960179 -2.458666 0.116676
+v 2.971657 -2.272164 0.164732
+v 2.971657 -2.272164 -0.164732
+v 2.980990 -2.423636 0.110016
+v 2.980990 -2.423636 -0.110016
+v 2.984243 -2.439802 -0.172512
+v 2.984243 -2.439802 0.172512
+v 3.000000 -2.4 -0.187500
+v 3.000000 -2.4 -0.187500
+v 3.000000 -2.4 -0.112500
+v 3.000000 -2.4 0.112500
+v 3.000000 -2.4 0.187500
+v 3.009977 -2.452655 -0.164448
+v 3.009977 -2.452655 0.164448
+v 3.010221 -2.441702 -0.115488
+v 3.010221 -2.441702 0.115488
+v 3.024879 -2.268216 0.125510
+v 3.024879 -2.268216 -0.125510
+v 3.027834 -2.460653 -0.154656
+v 3.027834 -2.460653 0.154656
+v 3.029007 -2.454319 -0.123552
+v 3.029007 -2.454319 0.123552
+v 3.037300 -2.463675 -0.144000
+v 3.037300 -2.463675 0.144000
+v 3.037862 -2.461603 0.133344
+v 3.037862 -2.461603 -0.133344
+v 3.044212 -2.423034 -0.185400
+v 3.044212 -2.423034 0.185400
+v 3.046912 -2.425059 0.114600
+v 3.046912 -2.425059 -0.114600
+v 3.059200 -2.4 -0.108000
+v 3.059200 -2.4 0.108000
+v 3.060994 -2.265537 0.070600
+v 3.060994 -2.265537 -0.070600
+v 3.074300 -2.26455 0.000000
+v 3.074300 -2.26455 0.000000
+v 3.079200 -2.4414 -0.179700
+v 3.079200 -2.4414 0.179700
+v 3.082800 -2.4441 -0.120300
+v 3.082800 -2.4441 0.120300
+v 3.088800 -2.4 -0.180000
+v 3.088800 -2.4 -0.180000
+v 3.088800 -2.4 0.180000
+v 3.104737 -2.454928 -0.171300
+v 3.104738 -2.454928 0.171300
+v 3.107887 -2.457291 -0.128700
+v 3.107887 -2.457291 0.128700
+v 3.112835 -2.426483 0.110016
+v 3.112835 -2.426483 -0.110016
+v 3.113600 -2.4 -0.094500
+v 3.113600 -2.4 0.094500
+v 3.120600 -2.46345 0.161100
+v 3.120600 -2.46345 -0.161100
+v 3.122400 -2.4648 0.138900
+v 3.122400 -2.4648 -0.138900
+v 3.126562 -2.466797 -0.150000
+v 3.126562 -2.466797 0.150000
+v 3.137279 -2.423859 -0.177984
+v 3.137279 -2.423859 0.177984
+v 3.155379 -2.446498 -0.115488
+v 3.155379 -2.446498 0.115488
+v 3.158400 -2.4 -0.072000
+v 3.158400 -2.4 0.072000
+v 3.170400 -2.4 -0.157500
+v 3.170400 -2.4 0.157500
+v 3.170400 -2.4 -0.157500
+v 3.173413 -2.427791 -0.096264
+v 3.173413 -2.427791 0.096264
+v 3.174157 -2.442998 -0.172512
+v 3.174157 -2.442998 0.172512
+v 3.186768 -2.460263 -0.123552
+v 3.186768 -2.460263 0.123552
+v 3.188800 -2.4 -0.040500
+v 3.188800 -2.4 0.040500
+v 3.199498 -2.457201 -0.164448
+v 3.199498 -2.457201 0.164448
+v 3.200000 -2.4 0.000000
+v 3.206938 -2.467997 0.133344
+v 3.206938 -2.467997 -0.133344
+v 3.213366 -2.466247 -0.154656
+v 3.213366 -2.466247 0.154656
+v 3.215825 -2.469919 -0.144000
+v 3.215825 -2.469919 0.144000
+v 3.222074 -2.448701 -0.101052
+v 3.222074 -2.448701 0.101052
+v 3.222799 -2.424616 -0.155736
+v 3.222799 -2.424616 0.155736
+v 3.223301 -2.428868 -0.073344
+v 3.223301 -2.428868 0.073344
+v 3.237600 -2.4 -0.120000
+v 3.237600 -2.4 0.120000
+v 3.237600 -2.4 -0.120000
+v 3.257153 -2.429599 -0.041256
+v 3.257153 -2.429599 0.041256
+v 3.259252 -2.462994 -0.108108
+v 3.259252 -2.462994 0.108108
+v 3.261414 -2.444467 -0.150948
+v 3.261414 -2.444467 0.150948
+v 3.269625 -2.429869 0.000000
+v 3.269625 -2.429869 0.000000
+v 3.276998 -2.450515 -0.076992
+v 3.276998 -2.450515 0.076992
+v 3.283200 -2.4 -0.067500
+v 3.283200 -2.4 0.067500
+v 3.283200 -2.4 -0.067500
+v 3.284621 -2.470934 -0.116676
+v 3.284621 -2.470934 0.116676
+v 3.286576 -2.459289 -0.143892
+v 3.286576 -2.459289 0.143892
+v 3.293227 -2.42524 -0.118656
+v 3.293227 -2.42524 0.118656
+v 3.297850 -2.472787 -0.126000
+v 3.297850 -2.472788 0.126000
+v 3.298611 -2.468818 -0.135324
+v 3.298611 -2.468818 0.135324
+v 3.300000 -2.4 0.000000
+v 3.300000 -2.4 0.000000
+v 3.314269 -2.451746 -0.043308
+v 3.314269 -2.451746 0.043308
+v 3.318946 -2.465243 -0.082368
+v 3.318946 -2.465243 0.082368
+v 3.328000 -2.4522 0.000000
+v 3.328000 -2.4522 0.000000
+v 3.333274 -2.445677 -0.115008
+v 3.333274 -2.445677 0.115008
+v 3.341018 -2.425663 -0.066744
+v 3.341018 -2.425663 0.066744
+v 3.348595 -2.473354 0.088896
+v 3.348595 -2.473354 -0.088896
+v 3.358286 -2.461009 -0.109632
+v 3.358286 -2.461009 0.109632
+v 3.358625 -2.425819 0.000000
+v 3.359452 -2.466769 -0.046332
+v 3.359452 -2.466769 0.046332
+v 3.365400 -2.47515 -0.096000
+v 3.365400 -2.47515 0.096000
+v 3.368813 -2.470934 -0.103104
+v 3.368813 -2.470934 0.103104
+v 3.374375 -2.467331 0.000000
+v 3.374375 -2.467331 0.000000
+v 3.382035 -2.446498 -0.064692
+v 3.382035 -2.446498 0.064692
+v 3.392006 -2.474995 -0.050004
+v 3.392006 -2.474995 0.050004
+v 3.400000 -2.4468 0.000000
+v 3.406947 -2.462176 -0.061668
+v 3.406947 -2.462176 0.061668
+v 3.408000 -2.4756 0.000000
+v 3.408000 -2.4756 0.000000
+v 3.411237 -2.476753 -0.054000
+v 3.411237 -2.476753 0.054000
+v 3.416450 -2.472371 -0.057996
+v 3.416450 -2.472371 0.057996
+v 3.424875 -2.462606 0.000000
+v 3.428125 -2.477344 0.000000
+v 3.428125 -2.477344 0.000000
+v 3.434000 -2.4729 0.000000
+
+f 2909 2921 2939
+f 2939 2931 2909
+f 2869 2877 2921
+f 2921 2909 2869
+f 2819 2827 2877
+f 2877 2869 2819
+f 2737 2747 2827
+f 2827 2819 2737
+f 2669 2673 2747
+f 2747 2737 2669
+f 2567 2575 2673
+f 2673 2669 2567
+f 2476 2480 2575
+f 2575 2567 2476
+f 2358 2362 2480
+f 2480 2476 2358
+f 2158 2162 2362
+f 2362 2358 2158
+f 1715 1812 2162
+f 2162 2158 1715
+f 2901 2909 2931
+f 2931 2917 2901
+f 2863 2869 2909
+f 2909 2901 2863
+f 2813 2819 2869
+f 2869 2863 2813
+f 2729 2737 2819
+f 2819 2813 2729
+f 2663 2669 2737
+f 2737 2729 2663
+f 2561 2567 2669
+f 2669 2663 2561
+f 2468 2476 2567
+f 2567 2561 2468
+f 2350 2358 2476
+f 2476 2468 2350
+f 2152 2158 2358
+f 2358 2350 2152
+f 1717 1715 2158
+f 2158 2152 1717
+f 2903 2901 2917
+f 2917 2923 2903
+f 2865 2863 2901
+f 2901 2903 2865
+f 2815 2813 2863
+f 2863 2865 2815
+f 2733 2729 2813
+f 2813 2815 2733
+f 2665 2663 2729
+f 2729 2733 2665
+f 2564 2561 2663
+f 2663 2665 2564
+f 2473 2468 2561
+f 2561 2564 2473
+f 2354 2350 2468
+f 2468 2473 2354
+f 2155 2152 2350
+f 2350 2354 2155
+f 1927 1717 2152
+f 2152 2155 1927
+f 2911 2903 2923
+f 2923 2935 2911
+f 2875 2865 2903
+f 2903 2911 2875
+f 2823 2815 2865
+f 2865 2875 2823
+f 2741 2733 2815
+f 2815 2823 2741
+f 2671 2665 2733
+f 2733 2741 2671
+f 2571 2564 2665
+f 2665 2671 2571
+f 2478 2473 2564
+f 2564 2571 2478
+f 2360 2354 2473
+f 2473 2478 2360
+f 2160 2155 2354
+f 2354 2360 2160
+f 1718 1927 2155
+f 2155 2160 1718
+f 2929 2911 2935
+f 2935 2947 2929
+f 2881 2875 2911
+f 2911 2929 2881
+f 2829 2823 2875
+f 2875 2881 2829
+f 2751 2741 2823
+f 2823 2829 2751
+f 2677 2671 2741
+f 2741 2751 2677
+f 2577 2571 2671
+f 2671 2677 2577
+f 2482 2478 2571
+f 2571 2577 2482
+f 2364 2360 2478
+f 2478 2482 2364
+f 2164 2160 2360
+f 2360 2364 2164
+f 1842 1718 2160
+f 2160 2164 1842
+f 2945 2929 2947
+f 2947 2959 2945
+f 2897 2881 2929
+f 2929 2945 2897
+f 2835 2829 2881
+f 2881 2897 2835
+f 2761 2751 2829
+f 2829 2835 2761
+f 2679 2677 2751
+f 2751 2761 2679
+f 2579 2577 2677
+f 2677 2679 2579
+f 2486 2482 2577
+f 2577 2579 2486
+f 2368 2364 2482
+f 2482 2486 2368
+f 2172 2164 2364
+f 2364 2368 2172
+f 1725 1842 2164
+f 2164 2172 1725
+f 2965 2945 2959
+f 2959 2981 2965
+f 2907 2897 2945
+f 2945 2965 2907
+f 2845 2835 2897
+f 2897 2907 2845
+f 2769 2761 2835
+f 2835 2845 2769
+f 2685 2679 2761
+f 2761 2769 2685
+f 2587 2579 2679
+f 2679 2685 2587
+f 2491 2486 2579
+f 2579 2587 2491
+f 2370 2368 2486
+f 2486 2491 2370
+f 2174 2172 2368
+f 2368 2370 2174
+f 1834 1725 2172
+f 2172 2174 1834
+f 2982 2965 2981
+f 2981 2988 2982
+f 2933 2907 2965
+f 2965 2982 2933
+f 2855 2845 2907
+f 2907 2933 2855
+f 2779 2769 2845
+f 2845 2855 2779
+f 2691 2685 2769
+f 2769 2779 2691
+f 2595 2587 2685
+f 2685 2691 2595
+f 2500 2491 2587
+f 2587 2595 2500
+f 2374 2370 2491
+f 2491 2500 2374
+f 2178 2174 2370
+f 2370 2374 2178
+f 1716 1834 2174
+f 2174 2178 1716
+f 2990 2982 2988
+f 2988 3002 2990
+f 2949 2933 2982
+f 2982 2990 2949
+f 2871 2855 2933
+f 2933 2949 2871
+f 2791 2779 2855
+f 2855 2871 2791
+f 2699 2691 2779
+f 2779 2791 2699
+f 2601 2595 2691
+f 2691 2699 2601
+f 2506 2500 2595
+f 2595 2601 2506
+f 2378 2374 2500
+f 2500 2506 2378
+f 2180 2178 2374
+f 2374 2378 2180
+f 1714 1716 2178
+f 2178 2180 1714
+f 3008 2990 3002
+f 3002 3024 3008
+f 2973 2949 2990
+f 2990 3008 2973
+f 2889 2871 2949
+f 2949 2973 2889
+f 2805 2791 2871
+f 2871 2889 2805
+f 2711 2699 2791
+f 2791 2805 2711
+f 2611 2601 2699
+f 2699 2711 2611
+f 2521 2506 2601
+f 2601 2611 2521
+f 2387 2378 2506
+f 2506 2521 2387
+f 2191 2180 2378
+f 2378 2387 2191
+f 1810 1714 2180
+f 2180 2191 1810
+f 1464 1460 1813
+f 1813 1821 1464
+f 1264 1260 1460
+f 1460 1464 1264
+f 1146 1142 1260
+f 1260 1264 1146
+f 1055 1047 1142
+f 1142 1146 1055
+f 953 949 1047
+f 1047 1055 953
+f 885 875 949
+f 949 953 885
+f 803 795 875
+f 875 885 803
+f 753 745 795
+f 795 803 753
+f 713 701 745
+f 745 753 713
+f 691 683 701
+f 701 713 691
+f 1470 1464 1821
+f 1821 1829 1470
+f 1272 1264 1464
+f 1464 1470 1272
+f 1154 1146 1264
+f 1264 1272 1154
+f 1061 1055 1146
+f 1146 1154 1061
+f 959 953 1055
+f 1055 1061 959
+f 893 885 953
+f 953 959 893
+f 809 803 885
+f 885 893 809
+f 759 753 803
+f 803 809 759
+f 721 713 753
+f 753 759 721
+f 705 691 713
+f 713 721 705
+f 1469 1470 1829
+f 1829 1835 1469
+f 1268 1272 1470
+f 1470 1469 1268
+f 1151 1154 1272
+f 1272 1268 1151
+f 1060 1061 1154
+f 1154 1151 1060
+f 957 959 1061
+f 1061 1060 957
+f 889 893 959
+f 959 957 889
+f 807 809 893
+f 893 889 807
+f 757 759 809
+f 809 807 757
+f 719 721 759
+f 759 757 719
+f 699 705 721
+f 721 719 699
+f 1462 1469 1835
+f 1835 1839 1462
+f 1262 1268 1469
+f 1469 1462 1262
+f 1144 1151 1268
+f 1268 1262 1144
+f 1051 1060 1151
+f 1151 1144 1051
+f 951 957 1060
+f 1060 1051 951
+f 881 889 957
+f 957 951 881
+f 799 807 889
+f 889 881 799
+f 747 757 807
+f 807 799 747
+f 711 719 757
+f 757 747 711
+f 687 699 719
+f 719 711 687
+f 1458 1462 1839
+f 1839 1843 1458
+f 1258 1262 1462
+f 1462 1458 1258
+f 1140 1144 1262
+f 1262 1258 1140
+f 1045 1051 1144
+f 1144 1140 1045
+f 945 951 1051
+f 1051 1045 945
+f 871 881 951
+f 951 945 871
+f 793 799 881
+f 881 871 793
+f 741 747 799
+f 799 793 741
+f 693 711 747
+f 747 741 693
+f 675 687 711
+f 711 693 675
+f 1450 1458 1843
+f 1843 1838 1450
+f 1254 1258 1458
+f 1458 1450 1254
+f 1136 1140 1258
+f 1258 1254 1136
+f 1043 1045 1140
+f 1140 1136 1043
+f 943 945 1045
+f 1045 1043 943
+f 861 871 945
+f 945 943 861
+f 787 793 871
+f 871 861 787
+f 725 741 793
+f 793 787 725
+f 677 693 741
+f 741 725 677
+f 663 675 693
+f 693 677 663
+f 1448 1450 1838
+f 1838 1834 1448
+f 1252 1254 1450
+f 1450 1448 1252
+f 1133 1136 1254
+f 1254 1252 1133
+f 1035 1043 1136
+f 1136 1133 1035
+f 937 943 1043
+f 1043 1035 937
+f 853 861 943
+f 943 937 853
+f 777 787 861
+f 861 853 777
+f 715 725 787
+f 787 777 715
+f 657 677 725
+f 725 715 657
+f 642 663 677
+f 677 657 642
+f 1444 1448 1834
+f 1834 1828 1444
+f 1248 1252 1448
+f 1448 1444 1248
+f 1122 1133 1252
+f 1252 1248 1122
+f 1027 1035 1133
+f 1133 1122 1027
+f 931 937 1035
+f 1035 1027 931
+f 843 853 937
+f 937 931 843
+f 767 777 853
+f 853 843 767
+f 689 715 777
+f 777 767 689
+f 640 657 715
+f 715 689 640
+f 634 642 657
+f 657 640 634
+f 1442 1444 1828
+f 1828 1820 1442
+f 1244 1248 1444
+f 1444 1442 1244
+f 1116 1122 1248
+f 1248 1244 1116
+f 1021 1027 1122
+f 1122 1116 1021
+f 923 931 1027
+f 1027 1021 923
+f 831 843 931
+f 931 923 831
+f 751 767 843
+f 843 831 751
+f 673 689 767
+f 767 751 673
+f 632 640 689
+f 689 673 632
+f 620 634 640
+f 640 632 620
+f 1429 1442 1820
+f 1820 1811 1429
+f 1233 1244 1442
+f 1442 1429 1233
+f 1106 1116 1244
+f 1244 1233 1106
+f 1011 1021 1116
+f 1116 1106 1011
+f 911 923 1021
+f 1021 1011 911
+f 817 831 923
+f 923 911 817
+f 733 751 831
+f 831 817 733
+f 649 673 751
+f 751 733 649
+f 614 632 673
+f 673 649 614
+f 597 620 632
+f 632 614 597
+f 714 702 684
+f 684 692 714
+f 754 746 702
+f 702 714 754
+f 804 796 746
+f 746 754 804
+f 886 876 796
+f 796 804 886
+f 954 950 876
+f 876 886 954
+f 1056 1048 950
+f 950 954 1056
+f 1147 1143 1048
+f 1048 1056 1147
+f 1265 1261 1143
+f 1143 1147 1265
+f 1465 1461 1261
+f 1261 1265 1465
+f 1915 1817 1461
+f 1461 1465 1915
+f 722 714 692
+f 692 706 722
+f 760 754 714
+f 714 722 760
+f 810 804 754
+f 754 760 810
+f 894 886 804
+f 804 810 894
+f 960 954 886
+f 886 894 960
+f 1062 1056 954
+f 954 960 1062
+f 1155 1147 1056
+f 1056 1062 1155
+f 1273 1265 1147
+f 1147 1155 1273
+f 1471 1465 1265
+f 1265 1273 1471
+f 1917 1915 1465
+f 1465 1471 1917
+f 720 722 706
+f 706 700 720
+f 758 760 722
+f 722 720 758
+f 808 810 760
+f 760 758 808
+f 890 894 810
+f 810 808 890
+f 958 960 894
+f 894 890 958
+f 1059 1062 960
+f 960 958 1059
+f 1150 1155 1062
+f 1062 1059 1150
+f 1269 1273 1155
+f 1155 1150 1269
+f 1468 1471 1273
+f 1273 1269 1468
+f 1697 1917 1471
+f 1471 1468 1697
+f 712 720 700
+f 700 688 712
+f 748 758 720
+f 720 712 748
+f 800 808 758
+f 758 748 800
+f 882 890 808
+f 808 800 882
+f 952 958 890
+f 890 882 952
+f 1052 1059 958
+f 958 952 1052
+f 1145 1150 1059
+f 1059 1052 1145
+f 1263 1269 1150
+f 1150 1145 1263
+f 1463 1468 1269
+f 1269 1263 1463
+f 1919 1697 1468
+f 1468 1463 1919
+f 694 712 688
+f 688 676 694
+f 742 748 712
+f 712 694 742
+f 794 800 748
+f 748 742 794
+f 872 882 800
+f 800 794 872
+f 946 952 882
+f 882 872 946
+f 1046 1052 952
+f 952 946 1046
+f 1141 1145 1052
+f 1052 1046 1141
+f 1259 1263 1145
+f 1145 1141 1259
+f 1459 1463 1263
+f 1263 1259 1459
+f 1845 1919 1463
+f 1463 1459 1845
+f 678 694 676
+f 676 664 678
+f 726 742 694
+f 694 678 726
+f 788 794 742
+f 742 726 788
+f 862 872 794
+f 794 788 862
+f 944 946 872
+f 872 862 944
+f 1044 1046 946
+f 946 944 1044
+f 1137 1141 1046
+f 1046 1044 1137
+f 1255 1259 1141
+f 1141 1137 1255
+f 1451 1459 1259
+f 1259 1255 1451
+f 1898 1845 1459
+f 1459 1451 1898
+f 658 678 664
+f 664 642 658
+f 716 726 678
+f 678 658 716
+f 778 788 726
+f 726 716 778
+f 854 862 788
+f 788 778 854
+f 938 944 862
+f 862 854 938
+f 1036 1044 944
+f 944 938 1036
+f 1132 1137 1044
+f 1044 1036 1132
+f 1253 1255 1137
+f 1137 1132 1253
+f 1449 1451 1255
+f 1255 1253 1449
+f 1837 1898 1451
+f 1451 1449 1837
+f 641 658 642
+f 642 635 641
+f 690 716 658
+f 658 641 690
+f 768 778 716
+f 716 690 768
+f 844 854 778
+f 778 768 844
+f 932 938 854
+f 854 844 932
+f 1028 1036 938
+f 938 932 1028
+f 1123 1132 1036
+f 1036 1028 1123
+f 1249 1253 1132
+f 1132 1123 1249
+f 1445 1449 1253
+f 1253 1249 1445
+f 1918 1837 1449
+f 1449 1445 1918
+f 633 641 635
+f 635 621 633
+f 674 690 641
+f 641 633 674
+f 752 768 690
+f 690 674 752
+f 832 844 768
+f 768 752 832
+f 924 932 844
+f 844 832 924
+f 1022 1028 932
+f 932 924 1022
+f 1117 1123 1028
+f 1028 1022 1117
+f 1245 1249 1123
+f 1123 1117 1245
+f 1443 1445 1249
+f 1249 1245 1443
+f 1916 1918 1445
+f 1445 1443 1916
+f 616 633 621
+f 621 600 616
+f 654 674 633
+f 633 616 654
+f 737 752 674
+f 674 654 737
+f 822 832 752
+f 752 737 822
+f 914 924 832
+f 832 822 914
+f 1014 1022 924
+f 924 914 1014
+f 1104 1117 1022
+f 1022 1014 1104
+f 1237 1245 1117
+f 1117 1104 1237
+f 1433 1443 1245
+f 1245 1237 1433
+f 1819 1916 1443
+f 1443 1433 1819
+f 2159 2163 1816
+f 1816 1822 2159
+f 2359 2363 2163
+f 2163 2159 2359
+f 2477 2481 2363
+f 2363 2359 2477
+f 2568 2576 2481
+f 2481 2477 2568
+f 2670 2674 2576
+f 2576 2568 2670
+f 2738 2748 2674
+f 2674 2670 2738
+f 2820 2828 2748
+f 2748 2738 2820
+f 2870 2878 2828
+f 2828 2820 2870
+f 2910 2922 2878
+f 2878 2870 2910
+f 2932 2940 2922
+f 2922 2910 2932
+f 2153 2159 1822
+f 1822 1830 2153
+f 2351 2359 2159
+f 2159 2153 2351
+f 2469 2477 2359
+f 2359 2351 2469
+f 2562 2568 2477
+f 2477 2469 2562
+f 2664 2670 2568
+f 2568 2562 2664
+f 2730 2738 2670
+f 2670 2664 2730
+f 2814 2820 2738
+f 2738 2730 2814
+f 2864 2870 2820
+f 2820 2814 2864
+f 2902 2910 2870
+f 2870 2864 2902
+f 2918 2932 2910
+f 2910 2902 2918
+f 2154 2153 1830
+f 1830 1836 2154
+f 2355 2351 2153
+f 2153 2154 2355
+f 2472 2469 2351
+f 2351 2355 2472
+f 2563 2562 2469
+f 2469 2472 2563
+f 2666 2664 2562
+f 2562 2563 2666
+f 2734 2730 2664
+f 2664 2666 2734
+f 2816 2814 2730
+f 2730 2734 2816
+f 2866 2864 2814
+f 2814 2816 2866
+f 2904 2902 2864
+f 2864 2866 2904
+f 2924 2918 2902
+f 2902 2904 2924
+f 2161 2154 1836
+f 1836 1840 2161
+f 2361 2355 2154
+f 2154 2161 2361
+f 2479 2472 2355
+f 2355 2361 2479
+f 2572 2563 2472
+f 2472 2479 2572
+f 2672 2666 2563
+f 2563 2572 2672
+f 2742 2734 2666
+f 2666 2672 2742
+f 2824 2816 2734
+f 2734 2742 2824
+f 2876 2866 2816
+f 2816 2824 2876
+f 2912 2904 2866
+f 2866 2876 2912
+f 2936 2924 2904
+f 2904 2912 2936
+f 2165 2161 1840
+f 1840 1844 2165
+f 2365 2361 2161
+f 2161 2165 2365
+f 2483 2479 2361
+f 2361 2365 2483
+f 2578 2572 2479
+f 2479 2483 2578
+f 2678 2672 2572
+f 2572 2578 2678
+f 2752 2742 2672
+f 2672 2678 2752
+f 2830 2824 2742
+f 2742 2752 2830
+f 2882 2876 2824
+f 2824 2830 2882
+f 2930 2912 2876
+f 2876 2882 2930
+f 2948 2936 2912
+f 2912 2930 2948
+f 2173 2165 1844
+f 1844 1841 2173
+f 2369 2365 2165
+f 2165 2173 2369
+f 2487 2483 2365
+f 2365 2369 2487
+f 2580 2578 2483
+f 2483 2487 2580
+f 2680 2678 2578
+f 2578 2580 2680
+f 2762 2752 2678
+f 2678 2680 2762
+f 2836 2830 2752
+f 2752 2762 2836
+f 2898 2882 2830
+f 2830 2836 2898
+f 2946 2930 2882
+f 2882 2898 2946
+f 2960 2948 2930
+f 2930 2946 2960
+f 2175 2173 1841
+f 1841 1837 2175
+f 2371 2369 2173
+f 2173 2175 2371
+f 2490 2487 2369
+f 2369 2371 2490
+f 2588 2580 2487
+f 2487 2490 2588
+f 2686 2680 2580
+f 2580 2588 2686
+f 2770 2762 2680
+f 2680 2686 2770
+f 2846 2836 2762
+f 2762 2770 2846
+f 2908 2898 2836
+f 2836 2846 2908
+f 2966 2946 2898
+f 2898 2908 2966
+f 2981 2960 2946
+f 2946 2966 2981
+f 2179 2175 1837
+f 1837 1831 2179
+f 2375 2371 2175
+f 2175 2179 2375
+f 2501 2490 2371
+f 2371 2375 2501
+f 2596 2588 2490
+f 2490 2501 2596
+f 2692 2686 2588
+f 2588 2596 2692
+f 2780 2770 2686
+f 2686 2692 2780
+f 2856 2846 2770
+f 2770 2780 2856
+f 2934 2908 2846
+f 2846 2856 2934
+f 2983 2966 2908
+f 2908 2934 2983
+f 2989 2981 2966
+f 2966 2983 2989
+f 2181 2179 1831
+f 1831 1823 2181
+f 2379 2375 2179
+f 2179 2181 2379
+f 2507 2501 2375
+f 2375 2379 2507
+f 2602 2596 2501
+f 2501 2507 2602
+f 2700 2692 2596
+f 2596 2602 2700
+f 2792 2780 2692
+f 2692 2700 2792
+f 2872 2856 2780
+f 2780 2792 2872
+f 2950 2934 2856
+f 2856 2872 2950
+f 2991 2983 2934
+f 2934 2950 2991
+f 3003 2989 2983
+f 2983 2991 3003
+f 2194 2181 1823
+f 1823 1818 2194
+f 2391 2379 2181
+f 2181 2194 2391
+f 2518 2507 2379
+f 2379 2391 2518
+f 2614 2602 2507
+f 2507 2518 2614
+f 2712 2700 2602
+f 2602 2614 2712
+f 2806 2792 2700
+f 2700 2712 2806
+f 2890 2872 2792
+f 2792 2806 2890
+f 2974 2950 2872
+f 2872 2890 2974
+f 3009 2991 2950
+f 2950 2974 3009
+f 3025 3003 2991
+f 2991 3009 3025
+f 3040 3008 3024
+f 3024 3048 3040
+f 3018 2973 3008
+f 3008 3040 3018
+f 2943 2889 2973
+f 2973 3018 2943
+f 2841 2805 2889
+f 2889 2943 2841
+f 2731 2711 2805
+f 2805 2841 2731
+f 2645 2611 2711
+f 2711 2731 2645
+f 2529 2521 2611
+f 2611 2645 2529
+f 2402 2387 2521
+f 2521 2529 2402
+f 2208 2191 2387
+f 2387 2402 2208
+f 1806 1810 2191
+f 2191 2208 1806
+f 3072 3040 3048
+f 3048 3078 3072
+f 3044 3018 3040
+f 3040 3072 3044
+f 2994 2943 3018
+f 3018 3044 2994
+f 2883 2841 2943
+f 2943 2994 2883
+f 2773 2731 2841
+f 2841 2883 2773
+f 2659 2645 2731
+f 2731 2773 2659
+f 2539 2529 2645
+f 2645 2659 2539
+f 2410 2402 2529
+f 2529 2539 2410
+f 2222 2208 2402
+f 2402 2410 2222
+f 1694 1806 2208
+f 2208 2222 1694
+f 3092 3072 3078
+f 3078 3116 3092
+f 3074 3044 3072
+f 3072 3092 3074
+f 3030 2994 3044
+f 3044 3074 3030
+f 2937 2883 2994
+f 2994 3030 2937
+f 2810 2773 2883
+f 2883 2937 2810
+f 2683 2659 2773
+f 2773 2810 2683
+f 2554 2539 2659
+f 2659 2683 2554
+f 2420 2410 2539
+f 2539 2554 2420
+f 2238 2222 2410
+f 2410 2420 2238
+f 1930 1694 2222
+f 2222 2238 1930
+f 3132 3092 3116
+f 3116 3142 3132
+f 3090 3074 3092
+f 3092 3132 3090
+f 3054 3030 3074
+f 3074 3090 3054
+f 2984 2937 3030
+f 3030 3054 2984
+f 2837 2810 2937
+f 2937 2984 2837
+f 2705 2683 2810
+f 2810 2837 2705
+f 2574 2554 2683
+f 2683 2705 2574
+f 2430 2420 2554
+f 2554 2574 2430
+f 2247 2238 2420
+f 2420 2430 2247
+f 1913 1930 2238
+f 2238 2247 1913
+f 3150 3132 3142
+f 3142 3156 3150
+f 3128 3090 3132
+f 3132 3150 3128
+f 3076 3054 3090
+f 3090 3128 3076
+f 3014 2984 3054
+f 3054 3076 3014
+f 2861 2837 2984
+f 2984 3014 2861
+f 2723 2705 2837
+f 2837 2861 2723
+f 2585 2574 2705
+f 2705 2723 2585
+f 2438 2430 2574
+f 2574 2585 2438
+f 2253 2247 2430
+f 2430 2438 2253
+f 1711 1913 2247
+f 2247 2253 1711
+f 3162 3150 3156
+f 3156 3172 3162
+f 3148 3128 3150
+f 3150 3162 3148
+f 3088 3076 3128
+f 3128 3148 3088
+f 3036 3014 3076
+f 3076 3088 3036
+f 2893 2861 3014
+f 3014 3036 2893
+f 2743 2723 2861
+f 2861 2893 2743
+f 2599 2585 2723
+f 2723 2743 2599
+f 2450 2438 2585
+f 2585 2599 2450
+f 2267 2253 2438
+f 2438 2450 2267
+f 1794 1711 2253
+f 2253 2267 1794
+f 3178 3162 3172
+f 3172 3184 3178
+f 3154 3148 3162
+f 3162 3178 3154
+f 3118 3088 3148
+f 3148 3154 3118
+f 3046 3036 3088
+f 3088 3118 3046
+f 2915 2893 3036
+f 3036 3046 2915
+f 2763 2743 2893
+f 2893 2915 2763
+f 2615 2599 2743
+f 2743 2763 2615
+f 2452 2450 2599
+f 2599 2615 2452
+f 2277 2267 2450
+f 2450 2452 2277
+f 1710 1794 2267
+f 2267 2277 1710
+f 3188 3178 3184
+f 3184 3200 3188
+f 3164 3154 3178
+f 3178 3188 3164
+f 3130 3118 3154
+f 3154 3164 3130
+f 3058 3046 3118
+f 3118 3130 3058
+f 2941 2915 3046
+f 3046 3058 2941
+f 2775 2763 2915
+f 2915 2941 2775
+f 2627 2615 2763
+f 2763 2775 2627
+f 2458 2452 2615
+f 2615 2627 2458
+f 2287 2277 2452
+f 2452 2458 2287
+f 1910 1710 2277
+f 2277 2287 1910
+f 3198 3188 3200
+f 3200 3209 3198
+f 3170 3164 3188
+f 3188 3198 3170
+f 3136 3130 3164
+f 3164 3170 3136
+f 3064 3058 3130
+f 3130 3136 3064
+f 2955 2941 3058
+f 3058 3064 2955
+f 2781 2775 2941
+f 2941 2955 2781
+f 2636 2627 2775
+f 2775 2781 2636
+f 2462 2458 2627
+f 2627 2636 2462
+f 2295 2287 2458
+f 2458 2462 2295
+f 1909 1910 2287
+f 2287 2295 1909
+f 3202 3198 3209
+f 3209 3213 3202
+f 3174 3170 3198
+f 3198 3202 3174
+f 3138 3136 3170
+f 3170 3174 3138
+f 3066 3064 3136
+f 3136 3138 3066
+f 2961 2955 3064
+f 3064 3066 2961
+f 2783 2781 2955
+f 2955 2961 2783
+f 2642 2636 2781
+f 2781 2783 2642
+f 2464 2462 2636
+f 2636 2642 2464
+f 2297 2295 2462
+f 2462 2464 2297
+f 1784 1909 2295
+f 2295 2297 1784
+f 1414 1429 1811
+f 1811 1807 1414
+f 1220 1233 1429
+f 1429 1414 1220
+f 1093 1106 1233
+f 1233 1220 1093
+f 977 1011 1106
+f 1106 1093 977
+f 891 911 1011
+f 1011 977 891
+f 781 817 911
+f 911 891 781
+f 679 733 817
+f 817 781 679
+f 604 649 733
+f 733 679 604
+f 571 614 649
+f 649 604 571
+f 561 597 614
+f 614 571 561
+f 1400 1414 1807
+f 1807 1804 1400
+f 1212 1220 1414
+f 1414 1400 1212
+f 1083 1093 1220
+f 1220 1212 1083
+f 963 977 1093
+f 1093 1083 963
+f 849 891 977
+f 977 963 849
+f 739 781 891
+f 891 849 739
+f 628 679 781
+f 781 739 628
+f 565 604 679
+f 679 628 565
+f 530 571 604
+f 604 565 530
+f 524 561 571
+f 571 530 524
+f 1386 1400 1804
+f 1804 1802 1386
+f 1202 1212 1400
+f 1400 1386 1202
+f 1070 1083 1212
+f 1212 1202 1070
+f 939 963 1083
+f 1083 1070 939
+f 814 849 963
+f 963 939 814
+f 685 739 849
+f 849 814 685
+f 585 628 739
+f 739 685 585
+f 528 565 628
+f 628 585 528
+f 510 530 565
+f 565 528 510
+f 508 524 530
+f 530 510 508
+f 1375 1386 1802
+f 1802 1800 1375
+f 1192 1202 1386
+f 1386 1375 1192
+f 1050 1070 1202
+f 1202 1192 1050
+f 917 939 1070
+f 1070 1050 917
+f 785 814 939
+f 939 917 785
+f 638 685 814
+f 814 785 638
+f 553 585 685
+f 685 638 553
+f 512 528 585
+f 585 553 512
+f 492 510 528
+f 528 512 492
+f 482 508 510
+f 510 492 482
+f 1369 1375 1800
+f 1800 1798 1369
+f 1184 1192 1375
+f 1375 1369 1184
+f 1037 1050 1192
+f 1192 1184 1037
+f 899 917 1050
+f 1050 1037 899
+f 761 785 917
+f 917 899 761
+f 608 638 785
+f 785 761 608
+f 526 553 638
+f 638 608 526
+f 496 512 553
+f 553 526 496
+f 454 492 512
+f 512 496 454
+f 448 482 492
+f 492 454 448
+f 1355 1369 1798
+f 1798 1795 1355
+f 1172 1184 1369
+f 1369 1355 1172
+f 1023 1037 1184
+f 1184 1172 1023
+f 879 899 1037
+f 1037 1023 879
+f 729 761 899
+f 899 879 729
+f 579 608 761
+f 761 729 579
+f 514 526 608
+f 608 579 514
+f 457 496 526
+f 526 514 457
+f 442 454 496
+f 496 457 442
+f 432 448 454
+f 454 442 432
+f 1345 1355 1795
+f 1795 1792 1345
+f 1170 1172 1355
+f 1355 1345 1170
+f 1007 1023 1172
+f 1172 1170 1007
+f 859 879 1023
+f 1023 1007 859
+f 707 729 879
+f 879 859 707
+f 563 579 729
+f 729 707 563
+f 506 514 579
+f 579 563 506
+f 450 457 514
+f 514 506 450
+f 420 442 457
+f 457 450 420
+f 412 432 442
+f 442 420 412
+f 1335 1345 1792
+f 1792 1790 1335
+f 1164 1170 1345
+f 1345 1335 1164
+f 995 1007 1170
+f 1170 1164 995
+f 847 859 1007
+f 1007 995 847
+f 681 707 859
+f 859 847 681
+f 547 563 707
+f 707 681 547
+f 494 506 563
+f 563 547 494
+f 440 450 506
+f 506 494 440
+f 410 420 450
+f 450 440 410
+f 398 412 420
+f 420 410 398
+f 1327 1335 1790
+f 1790 1788 1327
+f 1160 1164 1335
+f 1335 1327 1160
+f 988 995 1164
+f 1164 1160 988
+f 841 847 995
+f 995 988 841
+f 667 681 847
+f 847 841 667
+f 538 547 681
+f 681 667 538
+f 488 494 547
+f 547 538 488
+f 434 440 494
+f 494 488 434
+f 400 410 440
+f 440 434 400
+f 381 398 410
+f 410 400 381
+f 1324 1327 1788
+f 1788 1785 1324
+f 1156 1160 1327
+f 1327 1324 1156
+f 979 988 1160
+f 1160 1156 979
+f 837 841 988
+f 988 979 837
+f 659 667 841
+f 841 837 659
+f 534 538 667
+f 667 659 534
+f 484 488 538
+f 538 534 484
+f 428 434 488
+f 488 484 428
+f 395 400 434
+f 434 428 395
+f 374 381 400
+f 400 395 374
+f 572 616 600
+f 600 562 572
+f 605 654 616
+f 616 572 605
+f 680 737 654
+f 654 605 680
+f 782 822 737
+f 737 680 782
+f 892 914 822
+f 822 782 892
+f 978 1014 914
+f 914 892 978
+f 1094 1104 1014
+f 1014 978 1094
+f 1221 1237 1104
+f 1104 1094 1221
+f 1415 1433 1237
+f 1237 1221 1415
+f 1809 1819 1433
+f 1433 1415 1809
+f 531 572 562
+f 562 525 531
+f 566 605 572
+f 572 531 566
+f 629 680 605
+f 605 566 629
+f 740 782 680
+f 680 629 740
+f 850 892 782
+f 782 740 850
+f 964 978 892
+f 892 850 964
+f 1084 1094 978
+f 978 964 1084
+f 1213 1221 1094
+f 1094 1084 1213
+f 1401 1415 1221
+f 1221 1213 1401
+f 1931 1809 1415
+f 1415 1401 1931
+f 511 531 525
+f 525 509 511
+f 529 566 531
+f 531 511 529
+f 586 629 566
+f 566 529 586
+f 686 740 629
+f 629 586 686
+f 813 850 740
+f 740 686 813
+f 940 964 850
+f 850 813 940
+f 1069 1084 964
+f 964 940 1069
+f 1203 1213 1084
+f 1084 1069 1203
+f 1385 1401 1213
+f 1213 1203 1385
+f 1693 1931 1401
+f 1401 1385 1693
+f 493 511 509
+f 509 483 493
+f 513 529 511
+f 511 493 513
+f 554 586 529
+f 529 513 554
+f 639 686 586
+f 586 554 639
+f 786 813 686
+f 686 639 786
+f 918 940 813
+f 813 786 918
+f 1049 1069 940
+f 940 918 1049
+f 1193 1203 1069
+f 1069 1049 1193
+f 1376 1385 1203
+f 1203 1193 1376
+f 1712 1693 1385
+f 1385 1376 1712
+f 455 493 483
+f 483 449 455
+f 497 513 493
+f 493 455 497
+f 527 554 513
+f 513 497 527
+f 609 639 554
+f 554 527 609
+f 762 786 639
+f 639 609 762
+f 900 918 786
+f 786 762 900
+f 1038 1049 918
+f 918 900 1038
+f 1185 1193 1049
+f 1049 1038 1185
+f 1370 1376 1193
+f 1193 1185 1370
+f 1912 1712 1376
+f 1376 1370 1912
+f 443 455 449
+f 449 433 443
+f 458 497 455
+f 455 443 458
+f 515 527 497
+f 497 458 515
+f 580 609 527
+f 527 515 580
+f 730 762 609
+f 609 580 730
+f 880 900 762
+f 762 730 880
+f 1024 1038 900
+f 900 880 1024
+f 1173 1185 1038
+f 1038 1024 1173
+f 1356 1370 1185
+f 1185 1173 1356
+f 1797 1912 1370
+f 1370 1356 1797
+f 421 443 433
+f 433 413 421
+f 451 458 443
+f 443 421 451
+f 507 515 458
+f 458 451 507
+f 564 580 515
+f 515 507 564
+f 708 730 580
+f 580 564 708
+f 860 880 730
+f 730 708 860
+f 1008 1024 880
+f 880 860 1008
+f 1171 1173 1024
+f 1024 1008 1171
+f 1346 1356 1173
+f 1173 1171 1346
+f 1911 1797 1356
+f 1356 1346 1911
+f 411 421 413
+f 413 399 411
+f 441 451 421
+f 421 411 441
+f 495 507 451
+f 451 441 495
+f 548 564 507
+f 507 495 548
+f 682 708 564
+f 564 548 682
+f 848 860 708
+f 708 682 848
+f 996 1008 860
+f 860 848 996
+f 1165 1171 1008
+f 1008 996 1165
+f 1336 1346 1171
+f 1171 1165 1336
+f 1709 1911 1346
+f 1346 1336 1709
+f 401 411 399
+f 399 382 401
+f 435 441 411
+f 411 401 435
+f 489 495 441
+f 441 435 489
+f 539 548 495
+f 495 489 539
+f 668 682 548
+f 548 539 668
+f 842 848 682
+f 682 668 842
+f 987 996 848
+f 848 842 987
+f 1161 1165 996
+f 996 987 1161
+f 1328 1336 1165
+f 1165 1161 1328
+f 1708 1709 1336
+f 1336 1328 1708
+f 397 401 382
+f 382 376 397
+f 431 435 401
+f 401 397 431
+f 487 489 435
+f 435 431 487
+f 537 539 489
+f 489 487 537
+f 662 668 539
+f 539 537 662
+f 840 842 668
+f 668 662 840
+f 981 987 842
+f 842 840 981
+f 1159 1161 987
+f 987 981 1159
+f 1326 1328 1161
+f 1161 1159 1326
+f 1787 1708 1328
+f 1328 1326 1787
+f 2209 2194 1818
+f 1818 1808 2209
+f 2403 2391 2194
+f 2194 2209 2403
+f 2530 2518 2391
+f 2391 2403 2530
+f 2646 2614 2518
+f 2518 2530 2646
+f 2732 2712 2614
+f 2614 2646 2732
+f 2842 2806 2712
+f 2712 2732 2842
+f 2944 2890 2806
+f 2806 2842 2944
+f 3019 2974 2890
+f 2890 2944 3019
+f 3041 3009 2974
+f 2974 3019 3041
+f 3049 3025 3009
+f 3009 3041 3049
+f 2223 2209 1808
+f 1808 1805 2223
+f 2411 2403 2209
+f 2209 2223 2411
+f 2540 2530 2403
+f 2403 2411 2540
+f 2660 2646 2530
+f 2530 2540 2660
+f 2774 2732 2646
+f 2646 2660 2774
+f 2884 2842 2732
+f 2732 2774 2884
+f 2995 2944 2842
+f 2842 2884 2995
+f 3045 3019 2944
+f 2944 2995 3045
+f 3073 3041 3019
+f 3019 3045 3073
+f 3079 3049 3041
+f 3041 3073 3079
+f 2237 2223 1805
+f 1805 1803 2237
+f 2421 2411 2223
+f 2223 2237 2421
+f 2553 2540 2411
+f 2411 2421 2553
+f 2684 2660 2540
+f 2540 2553 2684
+f 2809 2774 2660
+f 2660 2684 2809
+f 2938 2884 2774
+f 2774 2809 2938
+f 3031 2995 2884
+f 2884 2938 3031
+f 3075 3045 2995
+f 2995 3031 3075
+f 3093 3073 3045
+f 3045 3075 3093
+f 3117 3079 3073
+f 3073 3093 3117
+f 2248 2237 1803
+f 1803 1801 2248
+f 2431 2421 2237
+f 2237 2248 2431
+f 2573 2553 2421
+f 2421 2431 2573
+f 2706 2684 2553
+f 2553 2573 2706
+f 2838 2809 2684
+f 2684 2706 2838
+f 2985 2938 2809
+f 2809 2838 2985
+f 3055 3031 2938
+f 2938 2985 3055
+f 3091 3075 3031
+f 3031 3055 3091
+f 3133 3093 3075
+f 3075 3091 3133
+f 3143 3117 3093
+f 3093 3133 3143
+f 2254 2248 1801
+f 1801 1799 2254
+f 2439 2431 2248
+f 2248 2254 2439
+f 2586 2573 2431
+f 2431 2439 2586
+f 2724 2706 2573
+f 2573 2586 2724
+f 2862 2838 2706
+f 2706 2724 2862
+f 3015 2985 2838
+f 2838 2862 3015
+f 3077 3055 2985
+f 2985 3015 3077
+f 3129 3091 3055
+f 3055 3077 3129
+f 3151 3133 3091
+f 3091 3129 3151
+f 3157 3143 3133
+f 3133 3151 3157
+f 2268 2254 1799
+f 1799 1796 2268
+f 2451 2439 2254
+f 2254 2268 2451
+f 2600 2586 2439
+f 2439 2451 2600
+f 2744 2724 2586
+f 2586 2600 2744
+f 2894 2862 2724
+f 2724 2744 2894
+f 3037 3015 2862
+f 2862 2894 3037
+f 3089 3077 3015
+f 3015 3037 3089
+f 3149 3129 3077
+f 3077 3089 3149
+f 3163 3151 3129
+f 3129 3149 3163
+f 3173 3157 3151
+f 3151 3163 3173
+f 2278 2268 1796
+f 1796 1793 2278
+f 2453 2451 2268
+f 2268 2278 2453
+f 2616 2600 2451
+f 2451 2453 2616
+f 2764 2744 2600
+f 2600 2616 2764
+f 2916 2894 2744
+f 2744 2764 2916
+f 3047 3037 2894
+f 2894 2916 3047
+f 3119 3089 3037
+f 3037 3047 3119
+f 3155 3149 3089
+f 3089 3119 3155
+f 3179 3163 3149
+f 3149 3155 3179
+f 3185 3173 3163
+f 3163 3179 3185
+f 2288 2278 1793
+f 1793 1791 2288
+f 2459 2453 2278
+f 2278 2288 2459
+f 2628 2616 2453
+f 2453 2459 2628
+f 2776 2764 2616
+f 2616 2628 2776
+f 2942 2916 2764
+f 2764 2776 2942
+f 3059 3047 2916
+f 2916 2942 3059
+f 3131 3119 3047
+f 3047 3059 3131
+f 3165 3155 3119
+f 3119 3131 3165
+f 3189 3179 3155
+f 3155 3165 3189
+f 3201 3185 3179
+f 3179 3189 3201
+f 2296 2288 1791
+f 1791 1789 2296
+f 2463 2459 2288
+f 2288 2296 2463
+f 2635 2628 2459
+f 2459 2463 2635
+f 2782 2776 2628
+f 2628 2635 2782
+f 2956 2942 2776
+f 2776 2782 2956
+f 3065 3059 2942
+f 2942 2956 3065
+f 3137 3131 3059
+f 3059 3065 3137
+f 3171 3165 3131
+f 3131 3137 3171
+f 3199 3189 3165
+f 3165 3171 3199
+f 3210 3201 3189
+f 3189 3199 3210
+f 2299 2296 1789
+f 1789 1786 2299
+f 2467 2463 2296
+f 2296 2299 2467
+f 2644 2635 2463
+f 2463 2467 2644
+f 2786 2782 2635
+f 2635 2644 2786
+f 2964 2956 2782
+f 2782 2786 2964
+f 3069 3065 2956
+f 2956 2964 3069
+f 3141 3137 3065
+f 3065 3069 3141
+f 3177 3171 3137
+f 3137 3141 3177
+f 3204 3199 3171
+f 3171 3177 3204
+f 3214 3210 3199
+f 3199 3204 3214
+f 3194 3202 3213
+f 3213 3207 3194
+f 3166 3175 3202
+f 3202 3194 3166
+f 3134 3139 3175
+f 3175 3166 3134
+f 3060 3067 3139
+f 3139 3134 3060
+f 2953 2962 3067
+f 3067 3060 2953
+f 2777 2784 2962
+f 2962 2953 2777
+f 2629 2643 2784
+f 2784 2777 2629
+f 2460 2465 2643
+f 2643 2629 2460
+f 2293 2298 2465
+f 2465 2460 2293
+f 1696 1785 2298
+f 2298 2293 1696
+f 3180 3194 3207
+f 3207 3190 3180
+f 3158 3166 3194
+f 3194 3180 3158
+f 3124 3134 3166
+f 3166 3158 3124
+f 3050 3060 3134
+f 3134 3124 3050
+f 2927 2953 3060
+f 3060 3050 2927
+f 2767 2777 2953
+f 2953 2927 2767
+f 2619 2629 2777
+f 2777 2767 2619
+f 2454 2460 2629
+f 2629 2619 2454
+f 2283 2293 2460
+f 2460 2454 2283
+f 1695 1696 2293
+f 2293 2283 1695
+f 3160 3180 3190
+f 3190 3168 3160
+f 3144 3158 3180
+f 3180 3160 3144
+f 3086 3124 3158
+f 3158 3144 3086
+f 3032 3050 3124
+f 3124 3086 3032
+f 2891 2927 3050
+f 3050 3032 2891
+f 2739 2767 2927
+f 2927 2891 2739
+f 2597 2619 2767
+f 2767 2739 2597
+f 2448 2454 2619
+f 2619 2597 2448
+f 2265 2283 2454
+f 2454 2448 2265
+f 1707 1695 2283
+f 2283 2265 1707
+f 3146 3160 3168
+f 3168 3152 3146
+f 3122 3144 3160
+f 3160 3146 3122
+f 3070 3086 3144
+f 3144 3122 3070
+f 2998 3032 3086
+f 3086 3070 2998
+f 2853 2891 3032
+f 3032 2998 2853
+f 2717 2739 2891
+f 2891 2853 2717
+f 2582 2597 2739
+f 2739 2717 2582
+f 2434 2448 2597
+f 2597 2582 2434
+f 2251 2265 2448
+f 2448 2434 2251
+f 1907 1707 2265
+f 2265 2251 1907
+f 3120 3146 3152
+f 3152 3126 3120
+f 3082 3122 3146
+f 3146 3120 3082
+f 3042 3070 3122
+f 3122 3082 3042
+f 2957 2998 3070
+f 3070 3042 2957
+f 2825 2853 2998
+f 2998 2957 2825
+f 2693 2717 2853
+f 2853 2825 2693
+f 2556 2582 2717
+f 2717 2693 2556
+f 2424 2434 2582
+f 2582 2556 2424
+f 2239 2251 2434
+f 2434 2424 2239
+f 1906 1907 2251
+f 2251 2239 1906
+f 3080 3120 3126
+f 3126 3084 3080
+f 3056 3082 3120
+f 3120 3080 3056
+f 3012 3042 3082
+f 3082 3056 3012
+f 2899 2957 3042
+f 3042 3012 2899
+f 2789 2825 2957
+f 2957 2899 2789
+f 2675 2693 2825
+f 2825 2789 2675
+f 2545 2556 2693
+f 2693 2675 2545
+f 2416 2424 2556
+f 2556 2545 2416
+f 2228 2239 2424
+f 2424 2416 2228
+f 1770 1906 2239
+f 2239 2228 1770
+f 3053 3080 3084
+f 3084 3062 3053
+f 3028 3056 3080
+f 3080 3053 3028
+f 2978 3012 3056
+f 3056 3028 2978
+f 2860 2899 3012
+f 3012 2978 2860
+f 2754 2789 2899
+f 2899 2860 2754
+f 2652 2675 2789
+f 2789 2754 2652
+f 2534 2545 2675
+f 2675 2652 2534
+f 2406 2416 2545
+f 2545 2534 2406
+f 2217 2228 2416
+f 2416 2406 2217
+f 1929 1770 2228
+f 2228 2217 1929
+f 3035 3053 3062
+f 3062 3039 3035
+f 2997 3028 3053
+f 3053 3035 2997
+f 2920 2978 3028
+f 3028 2997 2920
+f 2832 2860 2978
+f 2978 2920 2832
+f 2728 2754 2860
+f 2860 2832 2728
+f 2634 2652 2754
+f 2754 2728 2634
+f 2528 2534 2652
+f 2652 2634 2528
+f 2396 2406 2534
+f 2534 2528 2396
+f 2202 2217 2406
+f 2406 2396 2202
+f 1765 1929 2217
+f 2217 2202 1765
+f 3017 3035 3039
+f 3039 3027 3017
+f 2980 2997 3035
+f 3035 3017 2980
+f 2896 2920 2997
+f 2997 2980 2896
+f 2812 2832 2920
+f 2920 2896 2812
+f 2715 2728 2832
+f 2832 2812 2715
+f 2618 2634 2728
+f 2728 2715 2618
+f 2523 2528 2634
+f 2634 2618 2523
+f 2392 2396 2528
+f 2528 2523 2392
+f 2196 2202 2396
+f 2396 2392 2196
+f 1724 1765 2202
+f 2202 2196 1724
+f 3007 3017 3027
+f 3027 3023 3007
+f 2969 2980 3017
+f 3017 3007 2969
+f 2887 2896 2980
+f 2980 2969 2887
+f 2802 2812 2896
+f 2896 2887 2802
+f 2709 2715 2812
+f 2812 2802 2709
+f 2609 2618 2715
+f 2715 2709 2609
+f 2519 2523 2618
+f 2618 2609 2519
+f 2386 2392 2523
+f 2523 2519 2386
+f 2190 2196 2392
+f 2392 2386 2190
+f 1759 1724 2196
+f 2196 2190 1759
+f 1329 1324 1785
+f 1785 1782 1329
+f 1162 1157 1324
+f 1324 1329 1162
+f 993 982 1157
+f 1157 1162 993
+f 845 838 982
+f 982 993 845
+f 669 660 838
+f 838 845 669
+f 542 535 660
+f 660 669 542
+f 490 485 535
+f 535 542 490
+f 438 429 485
+f 485 490 438
+f 404 396 429
+f 429 438 404
+f 387 376 396
+f 396 404 387
+f 1339 1329 1782
+f 1782 1780 1339
+f 1168 1162 1329
+f 1329 1339 1168
+f 1003 993 1162
+f 1162 1168 1003
+f 855 845 993
+f 993 1003 855
+f 695 669 845
+f 845 855 695
+f 559 542 669
+f 669 695 559
+f 500 490 542
+f 542 559 500
+f 446 438 490
+f 490 500 446
+f 416 404 438
+f 438 446 416
+f 408 387 404
+f 404 416 408
+f 1357 1339 1780
+f 1780 1778 1357
+f 1174 1168 1339
+f 1339 1357 1174
+f 1025 1003 1168
+f 1168 1174 1025
+f 883 855 1003
+f 1003 1025 883
+f 731 695 855
+f 855 883 731
+f 583 559 695
+f 695 731 583
+f 516 500 559
+f 559 583 516
+f 467 446 500
+f 500 516 467
+f 444 416 446
+f 446 467 444
+f 436 408 416
+f 416 444 436
+f 1371 1357 1778
+f 1778 1776 1371
+f 1188 1174 1357
+f 1357 1371 1188
+f 1042 1025 1174
+f 1174 1188 1042
+f 905 883 1025
+f 1025 1042 905
+f 769 731 883
+f 883 905 769
+f 624 583 731
+f 731 769 624
+f 532 516 583
+f 583 624 532
+f 502 467 516
+f 516 532 502
+f 459 444 467
+f 467 502 459
+f 452 436 444
+f 444 459 452
+f 1383 1371 1776
+f 1776 1774 1383
+f 1198 1188 1371
+f 1371 1383 1198
+f 1068 1042 1188
+f 1188 1198 1068
+f 929 905 1042
+f 1042 1068 929
+f 797 769 905
+f 905 929 797
+f 665 624 769
+f 769 797 665
+f 569 532 624
+f 624 665 569
+f 520 502 532
+f 532 569 520
+f 504 459 502
+f 502 520 504
+f 498 452 459
+f 459 504 498
+f 1394 1383 1774
+f 1774 1771 1394
+f 1206 1198 1383
+f 1383 1394 1206
+f 1077 1068 1198
+f 1198 1206 1077
+f 947 929 1068
+f 1068 1077 947
+f 833 797 929
+f 929 947 833
+f 723 665 797
+f 797 833 723
+f 610 569 665
+f 665 723 610
+f 549 520 569
+f 569 610 549
+f 522 504 520
+f 520 549 522
+f 518 498 504
+f 504 522 518
+f 1407 1394 1771
+f 1771 1768 1407
+f 1216 1206 1394
+f 1394 1407 1216
+f 1090 1077 1206
+f 1206 1216 1090
+f 972 947 1077
+f 1077 1090 972
+f 870 833 947
+f 947 972 870
+f 764 723 833
+f 833 870 764
+f 646 610 723
+f 723 764 646
+f 587 549 610
+f 610 646 587
+f 556 522 549
+f 549 587 556
+f 540 518 522
+f 522 556 540
+f 1420 1407 1768
+f 1768 1764 1420
+f 1226 1216 1407
+f 1407 1420 1226
+f 1096 1090 1216
+f 1216 1226 1096
+f 990 972 1090
+f 1090 1096 990
+f 896 870 972
+f 972 990 896
+f 792 764 870
+f 870 896 792
+f 704 646 764
+f 764 792 704
+f 627 587 646
+f 646 704 627
+f 582 556 587
+f 587 627 582
+f 574 540 556
+f 556 582 574
+f 1426 1420 1764
+f 1764 1762 1426
+f 1230 1226 1420
+f 1420 1426 1230
+f 1101 1096 1226
+f 1226 1230 1101
+f 1006 990 1096
+f 1096 1101 1006
+f 907 896 990
+f 990 1006 907
+f 812 792 896
+f 896 907 812
+f 728 704 792
+f 792 812 728
+f 644 627 704
+f 704 728 644
+f 607 582 627
+f 627 644 607
+f 592 574 582
+f 582 607 592
+f 1430 1426 1762
+f 1762 1758 1430
+f 1234 1230 1426
+f 1426 1430 1234
+f 1107 1101 1230
+f 1230 1234 1107
+f 1012 1006 1101
+f 1101 1107 1012
+f 912 907 1006
+f 1006 1012 912
+f 819 812 907
+f 907 912 819
+f 738 728 812
+f 812 819 738
+f 651 644 728
+f 728 738 651
+f 618 607 644
+f 644 651 618
+f 601 592 607
+f 607 618 601
+f 405 397 376
+f 376 388 405
+f 439 430 397
+f 397 405 439
+f 491 486 430
+f 430 439 491
+f 543 536 486
+f 486 491 543
+f 670 661 536
+f 536 543 670
+f 846 839 661
+f 661 670 846
+f 994 980 839
+f 839 846 994
+f 1163 1158 980
+f 980 994 1163
+f 1330 1325 1158
+f 1158 1163 1330
+f 1926 1786 1325
+f 1325 1330 1926
+f 417 405 388
+f 388 409 417
+f 447 439 405
+f 405 417 447
+f 501 491 439
+f 439 447 501
+f 560 543 491
+f 491 501 560
+f 696 670 543
+f 543 560 696
+f 856 846 670
+f 670 696 856
+f 1004 994 846
+f 846 856 1004
+f 1169 1163 994
+f 994 1004 1169
+f 1340 1330 1163
+f 1163 1169 1340
+f 1925 1926 1330
+f 1330 1340 1925
+f 445 417 409
+f 409 437 445
+f 468 447 417
+f 417 445 468
+f 517 501 447
+f 447 468 517
+f 584 560 501
+f 501 517 584
+f 732 696 560
+f 560 584 732
+f 884 856 696
+f 696 732 884
+f 1026 1004 856
+f 856 884 1026
+f 1175 1169 1004
+f 1004 1026 1175
+f 1358 1340 1169
+f 1169 1175 1358
+f 1908 1925 1340
+f 1340 1358 1908
+f 460 445 437
+f 437 453 460
+f 503 468 445
+f 445 460 503
+f 533 517 468
+f 468 503 533
+f 625 584 517
+f 517 533 625
+f 770 732 584
+f 584 625 770
+f 906 884 732
+f 732 770 906
+f 1041 1026 884
+f 884 906 1041
+f 1189 1175 1026
+f 1026 1041 1189
+f 1372 1358 1175
+f 1175 1189 1372
+f 1706 1908 1358
+f 1358 1372 1706
+f 505 460 453
+f 453 499 505
+f 521 503 460
+f 460 505 521
+f 570 533 503
+f 503 521 570
+f 666 625 533
+f 533 570 666
+f 798 770 625
+f 625 666 798
+f 930 906 770
+f 770 798 930
+f 1067 1041 906
+f 906 930 1067
+f 1199 1189 1041
+f 1041 1067 1199
+f 1384 1372 1189
+f 1189 1199 1384
+f 1705 1706 1372
+f 1372 1384 1705
+f 523 505 499
+f 499 519 523
+f 550 521 505
+f 505 523 550
+f 611 570 521
+f 521 550 611
+f 724 666 570
+f 570 611 724
+f 834 798 666
+f 666 724 834
+f 948 930 798
+f 798 834 948
+f 1078 1067 930
+f 930 948 1078
+f 1207 1199 1067
+f 1067 1078 1207
+f 1395 1384 1199
+f 1199 1207 1395
+f 1773 1705 1384
+f 1384 1395 1773
+f 555 523 519
+f 519 541 555
+f 588 550 523
+f 523 555 588
+f 645 611 550
+f 550 588 645
+f 763 724 611
+f 611 645 763
+f 869 834 724
+f 724 763 869
+f 971 948 834
+f 834 869 971
+f 1089 1078 948
+f 948 971 1089
+f 1217 1207 1078
+f 1078 1089 1217
+f 1406 1395 1207
+f 1207 1217 1406
+f 1692 1773 1395
+f 1395 1406 1692
+f 581 555 541
+f 541 573 581
+f 626 588 555
+f 555 581 626
+f 703 645 588
+f 588 626 703
+f 791 763 645
+f 645 703 791
+f 895 869 763
+f 763 791 895
+f 989 971 869
+f 869 895 989
+f 1095 1089 971
+f 971 989 1095
+f 1227 1217 1089
+f 1089 1095 1227
+f 1421 1406 1217
+f 1217 1227 1421
+f 1766 1692 1406
+f 1406 1421 1766
+f 606 581 573
+f 573 591 606
+f 643 626 581
+f 581 606 643
+f 727 703 626
+f 626 643 727
+f 811 791 703
+f 703 727 811
+f 908 895 791
+f 791 811 908
+f 1005 989 895
+f 895 908 1005
+f 1100 1095 989
+f 989 1005 1100
+f 1231 1227 1095
+f 1095 1100 1231
+f 1427 1421 1227
+f 1227 1231 1427
+f 1897 1766 1421
+f 1421 1427 1897
+f 615 606 591
+f 591 598 615
+f 653 643 606
+f 606 615 653
+f 735 727 643
+f 643 653 735
+f 820 811 727
+f 727 735 820
+f 913 908 811
+f 811 820 913
+f 1013 1005 908
+f 908 913 1013
+f 1103 1100 1005
+f 1005 1013 1103
+f 1236 1231 1100
+f 1100 1103 1236
+f 1432 1427 1231
+f 1231 1236 1432
+f 1760 1897 1427
+f 1427 1432 1760
+f 2294 2299 1786
+f 1786 1783 2294
+f 2461 2466 2299
+f 2299 2294 2461
+f 2630 2641 2466
+f 2466 2461 2630
+f 2778 2785 2641
+f 2641 2630 2778
+f 2954 2963 2785
+f 2785 2778 2954
+f 3061 3068 2963
+f 2963 2954 3061
+f 3135 3140 3068
+f 3068 3061 3135
+f 3167 3176 3140
+f 3140 3135 3167
+f 3195 3203 3176
+f 3176 3167 3195
+f 3208 3213 3203
+f 3203 3195 3208
+f 2284 2294 1783
+f 1783 1781 2284
+f 2455 2461 2294
+f 2294 2284 2455
+f 2620 2630 2461
+f 2461 2455 2620
+f 2768 2778 2630
+f 2630 2620 2768
+f 2928 2954 2778
+f 2778 2768 2928
+f 3051 3061 2954
+f 2954 2928 3051
+f 3125 3135 3061
+f 3061 3051 3125
+f 3159 3167 3135
+f 3135 3125 3159
+f 3181 3195 3167
+f 3167 3159 3181
+f 3191 3208 3195
+f 3195 3181 3191
+f 2266 2284 1781
+f 1781 1779 2266
+f 2449 2455 2284
+f 2284 2266 2449
+f 2598 2620 2455
+f 2455 2449 2598
+f 2740 2768 2620
+f 2620 2598 2740
+f 2892 2928 2768
+f 2768 2740 2892
+f 3033 3051 2928
+f 2928 2892 3033
+f 3087 3125 3051
+f 3051 3033 3087
+f 3145 3159 3125
+f 3125 3087 3145
+f 3161 3181 3159
+f 3159 3145 3161
+f 3169 3191 3181
+f 3181 3161 3169
+f 2252 2266 1779
+f 1779 1777 2252
+f 2435 2449 2266
+f 2266 2252 2435
+f 2581 2598 2449
+f 2449 2435 2581
+f 2718 2740 2598
+f 2598 2581 2718
+f 2854 2892 2740
+f 2740 2718 2854
+f 2999 3033 2892
+f 2892 2854 2999
+f 3071 3087 3033
+f 3033 2999 3071
+f 3123 3145 3087
+f 3087 3071 3123
+f 3147 3161 3145
+f 3145 3123 3147
+f 3153 3169 3161
+f 3161 3147 3153
+f 2240 2252 1777
+f 1777 1775 2240
+f 2425 2435 2252
+f 2252 2240 2425
+f 2555 2581 2435
+f 2435 2425 2555
+f 2694 2718 2581
+f 2581 2555 2694
+f 2826 2854 2718
+f 2718 2694 2826
+f 2958 2999 2854
+f 2854 2826 2958
+f 3043 3071 2999
+f 2999 2958 3043
+f 3083 3123 3071
+f 3071 3043 3083
+f 3121 3147 3123
+f 3123 3083 3121
+f 3127 3153 3147
+f 3147 3121 3127
+f 2229 2240 1775
+f 1775 1772 2229
+f 2417 2425 2240
+f 2240 2229 2417
+f 2546 2555 2425
+f 2425 2417 2546
+f 2676 2694 2555
+f 2555 2546 2676
+f 2790 2826 2694
+f 2694 2676 2790
+f 2900 2958 2826
+f 2826 2790 2900
+f 3013 3043 2958
+f 2958 2900 3013
+f 3057 3083 3043
+f 3043 3013 3057
+f 3081 3121 3083
+f 3083 3057 3081
+f 3085 3127 3121
+f 3121 3081 3085
+f 2216 2229 1772
+f 1772 1769 2216
+f 2407 2417 2229
+f 2229 2216 2407
+f 2533 2546 2417
+f 2417 2407 2533
+f 2651 2676 2546
+f 2546 2533 2651
+f 2753 2790 2676
+f 2676 2651 2753
+f 2859 2900 2790
+f 2790 2753 2859
+f 2977 3013 2900
+f 2900 2859 2977
+f 3029 3057 3013
+f 3013 2977 3029
+f 3052 3081 3057
+f 3057 3029 3052
+f 3063 3085 3081
+f 3081 3052 3063
+f 2203 2216 1769
+f 1769 1767 2203
+f 2397 2407 2216
+f 2216 2203 2397
+f 2527 2533 2407
+f 2407 2397 2527
+f 2633 2651 2533
+f 2533 2527 2633
+f 2727 2753 2651
+f 2651 2633 2727
+f 2831 2859 2753
+f 2753 2727 2831
+f 2919 2977 2859
+f 2859 2831 2919
+f 2996 3029 2977
+f 2977 2919 2996
+f 3034 3052 3029
+f 3029 2996 3034
+f 3038 3063 3052
+f 3052 3034 3038
+f 2197 2203 1767
+f 1767 1763 2197
+f 2393 2397 2203
+f 2203 2197 2393
+f 2522 2527 2397
+f 2397 2393 2522
+f 2617 2633 2527
+f 2527 2522 2617
+f 2716 2727 2633
+f 2633 2617 2716
+f 2811 2831 2727
+f 2727 2716 2811
+f 2895 2919 2831
+f 2831 2811 2895
+f 2979 2996 2919
+f 2919 2895 2979
+f 3016 3034 2996
+f 2996 2979 3016
+f 3026 3038 3034
+f 3034 3016 3026
+f 2193 2197 1763
+f 1763 1761 2193
+f 2389 2393 2197
+f 2197 2193 2389
+f 2516 2522 2393
+f 2393 2389 2516
+f 2610 2617 2522
+f 2522 2516 2610
+f 2710 2716 2617
+f 2617 2610 2710
+f 2803 2811 2716
+f 2716 2710 2803
+f 2885 2895 2811
+f 2811 2803 2885
+f 2971 2979 2895
+f 2895 2885 2971
+f 3005 3016 2979
+f 2979 2971 3005
+f 3022 3026 3016
+f 3016 3005 3022
+f 461 545 544
+f 544 456 461
+f 463 551 545
+f 545 461 463
+f 465 557 551
+f 551 463 465
+f 469 567 557
+f 557 465 469
+f 471 575 567
+f 567 469 471
+f 473 577 575
+f 575 471 473
+f 475 589 577
+f 577 473 475
+f 477 593 589
+f 589 475 477
+f 479 595 593
+f 593 477 479
+f 481 599 595
+f 595 479 481
+f 389 461 456
+f 456 392 389
+f 386 463 461
+f 461 389 386
+f 379 465 463
+f 463 386 379
+f 373 469 465
+f 465 379 373
+f 371 471 469
+f 469 373 371
+f 369 473 471
+f 471 371 369
+f 366 475 473
+f 473 369 366
+f 364 477 475
+f 475 366 364
+f 362 479 477
+f 477 364 362
+f 361 481 479
+f 479 362 361
+f 335 389 392
+f 392 337 335
+f 333 386 389
+f 389 335 333
+f 331 379 386
+f 386 333 331
+f 329 373 379
+f 379 331 329
+f 328 371 373
+f 373 329 328
+f 325 369 371
+f 371 328 325
+f 323 366 369
+f 369 325 323
+f 321 364 366
+f 366 323 321
+f 319 362 364
+f 364 321 319
+f 316 361 362
+f 362 319 316
+f 298 335 337
+f 337 302 298
+f 290 333 335
+f 335 298 290
+f 288 331 333
+f 333 290 288
+f 286 329 331
+f 331 288 286
+f 281 328 329
+f 329 286 281
+f 275 325 328
+f 328 281 275
+f 265 323 325
+f 325 275 265
+f 259 321 323
+f 323 265 259
+f 255 319 321
+f 321 259 255
+f 249 316 319
+f 319 255 249
+f 269 298 302
+f 302 271 269
+f 261 290 298
+f 298 269 261
+f 251 288 290
+f 290 261 251
+f 238 286 288
+f 288 251 238
+f 230 281 286
+f 286 238 230
+f 218 275 281
+f 281 230 218
+f 208 265 275
+f 275 218 208
+f 196 259 265
+f 265 208 196
+f 186 255 259
+f 259 196 186
+f 181 249 255
+f 255 186 181
+f 228 269 271
+f 271 234 228
+f 222 261 269
+f 269 228 222
+f 212 251 261
+f 261 222 212
+f 200 238 251
+f 251 212 200
+f 177 230 238
+f 238 200 177
+f 160 218 230
+f 230 177 160
+f 134 208 218
+f 218 160 134
+f 112 196 208
+f 208 134 112
+f 102 186 196
+f 196 112 102
+f 96 181 186
+f 186 102 96
+f 198 228 234
+f 234 205 198
+f 182 222 228
+f 228 198 182
+f 168 212 222
+f 222 182 168
+f 146 200 212
+f 212 168 146
+f 118 177 200
+f 200 146 118
+f 92 160 177
+f 177 118 92
+f 74 134 160
+f 160 92 74
+f 63 112 134
+f 134 74 63
+f 53 102 112
+f 112 63 53
+f 50 96 102
+f 102 53 50
+f 167 198 205
+f 205 170 167
+f 154 182 198
+f 198 167 154
+f 126 168 182
+f 182 154 126
+f 100 146 168
+f 168 126 100
+f 83 118 146
+f 146 100 83
+f 61 92 118
+f 118 83 61
+f 46 74 92
+f 92 61 46
+f 32 63 74
+f 74 46 32
+f 25 53 63
+f 63 32 25
+f 21 50 53
+f 53 25 21
+f 143 167 170
+f 170 150 143
+f 124 154 167
+f 167 143 124
+f 104 126 154
+f 154 124 104
+f 84 100 126
+f 126 104 84
+f 65 83 100
+f 100 84 65
+f 44 61 83
+f 83 65 44
+f 30 46 61
+f 61 44 30
+f 17 32 46
+f 46 30 17
+f 9 25 32
+f 32 17 9
+f 5 21 25
+f 25 9 5
+f 132 143 150
+f 150 140 132
+f 116 124 143
+f 143 132 116
+f 94 104 124
+f 124 116 94
+f 76 84 104
+f 104 94 76
+f 55 65 84
+f 84 76 55
+f 40 44 65
+f 65 55 40
+f 22 30 44
+f 44 40 22
+f 11 17 30
+f 30 22 11
+f 2 9 17
+f 17 11 2
+f 1 5 9
+f 9 2 1
+f 480 596 599
+f 599 481 480
+f 478 594 596
+f 596 480 478
+f 476 590 594
+f 594 478 476
+f 474 578 590
+f 590 476 474
+f 472 576 578
+f 578 474 472
+f 470 568 576
+f 576 472 470
+f 466 558 568
+f 568 470 466
+f 464 552 558
+f 558 466 464
+f 462 546 552
+f 552 464 462
+f 456 544 546
+f 546 462 456
+f 363 480 481
+f 481 360 363
+f 365 478 480
+f 480 363 365
+f 367 476 478
+f 478 365 367
+f 368 474 476
+f 476 367 368
+f 370 472 474
+f 474 368 370
+f 372 470 472
+f 472 370 372
+f 380 466 470
+f 470 372 380
+f 385 464 466
+f 466 380 385
+f 390 462 464
+f 464 385 390
+f 391 456 462
+f 462 390 391
+f 320 363 360
+f 360 316 320
+f 322 365 363
+f 363 320 322
+f 324 367 365
+f 365 322 324
+f 326 368 367
+f 367 324 326
+f 327 370 368
+f 368 326 327
+f 330 372 370
+f 370 327 330
+f 332 380 372
+f 372 330 332
+f 334 385 380
+f 380 332 334
+f 336 390 385
+f 385 334 336
+f 337 391 390
+f 390 336 337
+f 256 320 316
+f 316 250 256
+f 260 322 320
+f 320 256 260
+f 266 324 322
+f 322 260 266
+f 276 326 324
+f 324 266 276
+f 282 327 326
+f 326 276 282
+f 287 330 327
+f 327 282 287
+f 289 332 330
+f 330 287 289
+f 291 334 332
+f 332 289 291
+f 299 336 334
+f 334 291 299
+f 303 337 336
+f 336 299 303
+f 187 256 250
+f 250 181 187
+f 197 260 256
+f 256 187 197
+f 209 266 260
+f 260 197 209
+f 219 276 266
+f 266 209 219
+f 231 282 276
+f 276 219 231
+f 239 287 282
+f 282 231 239
+f 252 289 287
+f 287 239 252
+f 262 291 289
+f 289 252 262
+f 270 299 291
+f 291 262 270
+f 272 303 299
+f 299 270 272
+f 103 187 181
+f 181 97 103
+f 113 197 187
+f 187 103 113
+f 135 209 197
+f 197 113 135
+f 161 219 209
+f 209 135 161
+f 178 231 219
+f 219 161 178
+f 201 239 231
+f 231 178 201
+f 213 252 239
+f 239 201 213
+f 223 262 252
+f 252 213 223
+f 229 270 262
+f 262 223 229
+f 235 272 270
+f 270 229 235
+f 54 103 97
+f 97 50 54
+f 64 113 103
+f 103 54 64
+f 75 135 113
+f 113 64 75
+f 93 161 135
+f 135 75 93
+f 119 178 161
+f 161 93 119
+f 147 201 178
+f 178 119 147
+f 169 213 201
+f 201 147 169
+f 183 223 213
+f 213 169 183
+f 199 229 223
+f 223 183 199
+f 205 235 229
+f 229 199 205
+f 24 54 50
+f 50 21 24
+f 33 64 54
+f 54 24 33
+f 47 75 64
+f 64 33 47
+f 62 93 75
+f 75 47 62
+f 82 119 93
+f 93 62 82
+f 101 147 119
+f 119 82 101
+f 127 169 147
+f 147 101 127
+f 155 183 169
+f 169 127 155
+f 166 199 183
+f 183 155 166
+f 171 205 199
+f 199 166 171
+f 10 24 21
+f 21 6 10
+f 18 33 24
+f 24 10 18
+f 31 47 33
+f 33 18 31
+f 45 62 47
+f 47 31 45
+f 66 82 62
+f 62 45 66
+f 85 101 82
+f 82 66 85
+f 105 127 101
+f 101 85 105
+f 125 155 127
+f 127 105 125
+f 144 166 155
+f 155 125 144
+f 151 171 166
+f 166 144 151
+f 3 10 6
+f 6 1 3
+f 12 18 10
+f 10 3 12
+f 23 31 18
+f 18 12 23
+f 41 45 31
+f 31 23 41
+f 56 66 45
+f 45 41 56
+f 77 85 66
+f 66 56 77
+f 95 105 85
+f 85 77 95
+f 117 125 105
+f 105 95 117
+f 133 144 125
+f 125 117 133
+f 140 151 144
+f 144 133 140
+f 138 132 140
+f 140 145 138
+f 122 116 132
+f 132 138 122
+f 98 94 116
+f 116 122 98
+f 80 76 94
+f 94 98 80
+f 60 55 76
+f 76 80 60
+f 42 40 55
+f 55 60 42
+f 28 22 40
+f 40 42 28
+f 13 11 22
+f 22 28 13
+f 7 2 11
+f 11 13 7
+f 4 1 2
+f 2 7 4
+f 152 138 145
+f 145 158 152
+f 136 122 138
+f 138 152 136
+f 108 98 122
+f 122 136 108
+f 89 80 98
+f 98 108 89
+f 70 60 80
+f 80 89 70
+f 52 42 60
+f 60 70 52
+f 38 28 42
+f 42 52 38
+f 26 13 28
+f 28 38 26
+f 19 7 13
+f 13 26 19
+f 15 4 7
+f 7 19 15
+f 173 152 158
+f 158 176 173
+f 162 136 152
+f 152 173 162
+f 142 108 136
+f 136 162 142
+f 111 89 108
+f 108 142 111
+f 91 70 89
+f 89 111 91
+f 73 52 70
+f 70 91 73
+f 58 38 52
+f 52 73 58
+f 48 26 38
+f 38 58 48
+f 37 19 26
+f 26 48 37
+f 35 15 19
+f 19 37 35
+f 194 173 176
+f 176 202 194
+f 184 162 173
+f 173 194 184
+f 174 142 162
+f 162 184 174
+f 156 111 142
+f 142 174 156
+f 128 91 111
+f 111 156 128
+f 106 73 91
+f 91 128 106
+f 86 58 73
+f 73 106 86
+f 78 48 58
+f 58 86 78
+f 68 37 48
+f 48 78 68
+f 67 35 37
+f 37 68 67
+f 221 194 202
+f 202 225 221
+f 216 184 194
+f 194 221 216
+f 206 174 184
+f 184 216 206
+f 192 156 174
+f 174 206 192
+f 180 128 156
+f 156 192 180
+f 164 106 128
+f 128 180 164
+f 148 86 106
+f 106 164 148
+f 130 78 86
+f 86 148 130
+f 121 68 78
+f 78 130 121
+f 115 67 68
+f 68 121 115
+f 244 221 225
+f 225 247 244
+f 240 216 221
+f 221 244 240
+f 236 206 216
+f 216 240 236
+f 233 192 206
+f 206 236 233
+f 227 180 192
+f 192 233 227
+f 215 164 180
+f 180 227 215
+f 210 148 164
+f 164 215 210
+f 203 130 148
+f 148 210 203
+f 191 121 130
+f 130 203 191
+f 188 115 121
+f 121 191 188
+f 284 244 247
+f 247 285 284
+f 279 240 244
+f 244 284 279
+f 277 236 240
+f 240 279 277
+f 273 233 236
+f 236 277 273
+f 267 227 233
+f 233 273 267
+f 263 215 227
+f 227 267 263
+f 258 210 215
+f 215 263 258
+f 253 203 210
+f 210 258 253
+f 245 191 203
+f 203 253 245
+f 242 188 191
+f 191 245 242
+f 315 284 285
+f 285 318 315
+f 312 279 284
+f 284 315 312
+f 311 277 279
+f 279 312 311
+f 309 273 277
+f 277 311 309
+f 307 267 273
+f 273 309 307
+f 305 263 267
+f 267 307 305
+f 301 258 263
+f 263 305 301
+f 297 253 258
+f 258 301 297
+f 295 245 253
+f 253 297 295
+f 293 242 245
+f 245 295 293
+f 341 315 318
+f 318 339 341
+f 343 312 315
+f 315 341 343
+f 345 311 312
+f 312 343 345
+f 347 309 311
+f 311 345 347
+f 349 307 309
+f 309 347 349
+f 351 305 307
+f 307 349 351
+f 353 301 305
+f 305 351 353
+f 355 297 301
+f 301 353 355
+f 357 295 297
+f 297 355 357
+f 359 293 295
+f 295 357 359
+f 378 341 339
+f 339 376 378
+f 384 343 341
+f 341 378 384
+f 394 345 343
+f 343 384 394
+f 403 347 345
+f 345 394 403
+f 406 349 347
+f 347 403 406
+f 415 351 349
+f 349 406 415
+f 419 353 351
+f 351 415 419
+f 423 355 353
+f 353 419 423
+f 425 357 355
+f 355 423 425
+f 427 359 357
+f 357 425 427
+f 8 3 1
+f 1 4 8
+f 14 12 3
+f 3 8 14
+f 29 23 12
+f 12 14 29
+f 43 41 23
+f 23 29 43
+f 59 56 41
+f 41 43 59
+f 81 77 56
+f 56 59 81
+f 99 95 77
+f 77 81 99
+f 123 117 95
+f 95 99 123
+f 139 133 117
+f 117 123 139
+f 145 140 133
+f 133 139 145
+f 20 8 4
+f 4 16 20
+f 27 14 8
+f 8 20 27
+f 39 29 14
+f 14 27 39
+f 51 43 29
+f 29 39 51
+f 71 59 43
+f 43 51 71
+f 88 81 59
+f 59 71 88
+f 109 99 81
+f 81 88 109
+f 137 123 99
+f 99 109 137
+f 153 139 123
+f 123 137 153
+f 159 145 139
+f 139 153 159
+f 36 20 16
+f 16 34 36
+f 49 27 20
+f 20 36 49
+f 57 39 27
+f 27 49 57
+f 72 51 39
+f 39 57 72
+f 90 71 51
+f 51 72 90
+f 110 88 71
+f 71 90 110
+f 141 109 88
+f 88 110 141
+f 163 137 109
+f 109 141 163
+f 172 153 137
+f 137 163 172
+f 176 159 153
+f 153 172 176
+f 69 36 34
+f 34 67 69
+f 79 49 36
+f 36 69 79
+f 87 57 49
+f 49 79 87
+f 107 72 57
+f 57 87 107
+f 129 90 72
+f 72 107 129
+f 157 110 90
+f 90 129 157
+f 175 141 110
+f 110 157 175
+f 185 163 141
+f 141 175 185
+f 195 172 163
+f 163 185 195
+f 202 176 172
+f 172 195 202
+f 120 69 67
+f 67 114 120
+f 131 79 69
+f 69 120 131
+f 149 87 79
+f 79 131 149
+f 165 107 87
+f 87 149 165
+f 179 129 107
+f 107 165 179
+f 193 157 129
+f 129 179 193
+f 207 175 157
+f 157 193 207
+f 217 185 175
+f 175 207 217
+f 220 195 185
+f 185 217 220
+f 224 202 195
+f 195 220 224
+f 190 120 114
+f 114 189 190
+f 204 131 120
+f 120 190 204
+f 211 149 131
+f 131 204 211
+f 214 165 149
+f 149 211 214
+f 226 179 165
+f 165 214 226
+f 232 193 179
+f 179 226 232
+f 237 207 193
+f 193 232 237
+f 241 217 207
+f 207 237 241
+f 243 220 217
+f 217 241 243
+f 248 224 220
+f 220 243 248
+f 246 190 189
+f 189 242 246
+f 254 204 190
+f 190 246 254
+f 257 211 204
+f 204 254 257
+f 264 214 211
+f 211 257 264
+f 268 226 214
+f 214 264 268
+f 274 232 226
+f 226 268 274
+f 278 237 232
+f 232 274 278
+f 280 241 237
+f 237 278 280
+f 283 243 241
+f 241 280 283
+f 285 248 243
+f 243 283 285
+f 294 246 242
+f 242 292 294
+f 296 254 246
+f 246 294 296
+f 300 257 254
+f 254 296 300
+f 304 264 257
+f 257 300 304
+f 306 268 264
+f 264 304 306
+f 308 274 268
+f 268 306 308
+f 310 278 274
+f 274 308 310
+f 313 280 278
+f 278 310 313
+f 314 283 280
+f 280 313 314
+f 317 285 283
+f 283 314 317
+f 356 294 292
+f 292 358 356
+f 354 296 294
+f 294 356 354
+f 352 300 296
+f 296 354 352
+f 350 304 300
+f 300 352 350
+f 348 306 304
+f 304 350 348
+f 346 308 306
+f 306 348 346
+f 344 310 308
+f 308 346 344
+f 342 313 310
+f 310 344 342
+f 340 314 313
+f 313 342 340
+f 338 317 314
+f 314 340 338
+f 424 356 358
+f 358 426 424
+f 422 354 356
+f 356 424 422
+f 418 352 354
+f 354 422 418
+f 414 350 352
+f 352 418 414
+f 407 348 350
+f 350 414 407
+f 402 346 348
+f 348 407 402
+f 393 344 346
+f 346 402 393
+f 383 342 344
+f 344 393 383
+f 377 340 342
+f 342 383 377
+f 375 338 340
+f 340 377 375
+f 3186 3113 3115
+f 3115 3182 3186
+f 3192 3110 3113
+f 3113 3186 3192
+f 3196 3109 3110
+f 3110 3192 3196
+f 3205 3106 3109
+f 3109 3196 3205
+f 3211 3104 3106
+f 3106 3205 3211
+f 3215 3102 3104
+f 3104 3211 3215
+f 3217 3101 3102
+f 3102 3215 3217
+f 3220 3098 3101
+f 3101 3217 3220
+f 3222 3097 3098
+f 3098 3220 3222
+f 3223 3095 3097
+f 3097 3222 3223
+f 3227 3186 3182
+f 3182 3225 3227
+f 3229 3192 3186
+f 3186 3227 3229
+f 3231 3196 3192
+f 3192 3229 3231
+f 3233 3205 3196
+f 3196 3231 3233
+f 3235 3211 3205
+f 3205 3233 3235
+f 3241 3215 3211
+f 3211 3235 3241
+f 3245 3217 3215
+f 3215 3241 3245
+f 3249 3220 3217
+f 3217 3245 3249
+f 3251 3222 3220
+f 3220 3249 3251
+f 3253 3223 3222
+f 3222 3251 3253
+f 3239 3227 3225
+f 3225 3237 3239
+f 3243 3229 3227
+f 3227 3239 3243
+f 3247 3231 3229
+f 3229 3243 3247
+f 3257 3233 3231
+f 3231 3247 3257
+f 3263 3235 3233
+f 3233 3257 3263
+f 3271 3241 3235
+f 3235 3263 3271
+f 3279 3245 3241
+f 3241 3271 3279
+f 3285 3249 3245
+f 3245 3279 3285
+f 3293 3251 3249
+f 3249 3285 3293
+f 3297 3253 3251
+f 3251 3293 3297
+f 3259 3239 3237
+f 3237 3255 3259
+f 3261 3243 3239
+f 3239 3259 3261
+f 3265 3247 3243
+f 3243 3261 3265
+f 3275 3257 3247
+f 3247 3265 3275
+f 3287 3263 3257
+f 3257 3275 3287
+f 3303 3271 3263
+f 3263 3287 3303
+f 3314 3279 3271
+f 3271 3303 3314
+f 3320 3285 3279
+f 3279 3314 3320
+f 3330 3293 3285
+f 3285 3320 3330
+f 3332 3297 3293
+f 3293 3330 3332
+f 3270 3259 3255
+f 3255 3268 3270
+f 3273 3261 3259
+f 3259 3270 3273
+f 3283 3265 3261
+f 3261 3273 3283
+f 3299 3275 3265
+f 3265 3283 3299
+f 3308 3287 3275
+f 3275 3299 3308
+f 3322 3303 3287
+f 3287 3308 3322
+f 3338 3314 3303
+f 3303 3322 3338
+f 3346 3320 3314
+f 3314 3338 3346
+f 3351 3330 3320
+f 3320 3346 3351
+f 3355 3332 3330
+f 3330 3351 3355
+f 3282 3270 3268
+f 3268 3278 3282
+f 3290 3273 3270
+f 3270 3282 3290
+f 3302 3283 3273
+f 3273 3290 3302
+f 3312 3299 3283
+f 3283 3302 3312
+f 3324 3308 3299
+f 3299 3312 3324
+f 3340 3322 3308
+f 3308 3324 3340
+f 3353 3338 3322
+f 3322 3340 3353
+f 3368 3346 3338
+f 3338 3353 3368
+f 3373 3351 3346
+f 3346 3368 3373
+f 3379 3355 3351
+f 3351 3373 3379
+f 3295 3282 3278
+f 3278 3292 3295
+f 3306 3290 3282
+f 3282 3295 3306
+f 3316 3302 3290
+f 3290 3306 3316
+f 3326 3312 3302
+f 3302 3316 3326
+f 3345 3324 3312
+f 3312 3326 3345
+f 3359 3340 3324
+f 3324 3345 3359
+f 3376 3353 3340
+f 3340 3359 3376
+f 3394 3368 3353
+f 3353 3376 3394
+f 3404 3373 3368
+f 3368 3394 3404
+f 3406 3379 3373
+f 3373 3404 3406
+f 3310 3295 3292
+f 3292 3307 3310
+f 3318 3306 3295
+f 3295 3310 3318
+f 3336 3316 3306
+f 3306 3318 3336
+f 3348 3326 3316
+f 3316 3336 3348
+f 3369 3345 3326
+f 3326 3348 3369
+f 3389 3359 3345
+f 3345 3369 3389
+f 3425 3376 3359
+f 3359 3389 3425
+f 3449 3394 3376
+f 3376 3425 3449
+f 3468 3404 3394
+f 3394 3449 3468
+f 3472 3406 3404
+f 3404 3468 3472
+f 3335 3310 3307
+f 3307 3329 3335
+f 3343 3318 3310
+f 3310 3335 3343
+f 3362 3336 3318
+f 3318 3343 3362
+f 3386 3348 3336
+f 3336 3362 3386
+f 3422 3369 3348
+f 3348 3386 3422
+f 3464 3389 3369
+f 3369 3422 3464
+f 3490 3425 3389
+f 3389 3464 3490
+f 3505 3449 3425
+f 3425 3490 3505
+f 3521 3468 3449
+f 3449 3505 3521
+f 3523 3472 3468
+f 3468 3521 3523
+f 3364 3335 3329
+f 3329 3357 3364
+f 3382 3343 3335
+f 3335 3364 3382
+f 3416 3362 3343
+f 3343 3382 3416
+f 3465 3386 3362
+f 3362 3416 3465
+f 3495 3422 3386
+f 3386 3465 3495
+f 3528 3464 3422
+f 3422 3495 3528
+f 3553 3490 3464
+f 3464 3528 3553
+f 3579 3505 3490
+f 3490 3553 3579
+f 3592 3521 3505
+f 3505 3579 3592
+f 3604 3523 3521
+f 3521 3592 3604
+f 3221 3096 3094
+f 3094 3224 3221
+f 3219 3099 3096
+f 3096 3221 3219
+f 3218 3100 3099
+f 3099 3219 3218
+f 3216 3103 3100
+f 3100 3218 3216
+f 3212 3105 3103
+f 3103 3216 3212
+f 3206 3107 3105
+f 3105 3212 3206
+f 3197 3108 3107
+f 3107 3206 3197
+f 3193 3111 3108
+f 3108 3197 3193
+f 3187 3112 3111
+f 3111 3193 3187
+f 3183 3114 3112
+f 3112 3187 3183
+f 3252 3221 3224
+f 3224 3254 3252
+f 3250 3219 3221
+f 3221 3252 3250
+f 3246 3218 3219
+f 3219 3250 3246
+f 3242 3216 3218
+f 3218 3246 3242
+f 3236 3212 3216
+f 3216 3242 3236
+f 3234 3206 3212
+f 3212 3236 3234
+f 3232 3197 3206
+f 3206 3234 3232
+f 3230 3193 3197
+f 3197 3232 3230
+f 3228 3187 3193
+f 3193 3230 3228
+f 3226 3183 3187
+f 3187 3228 3226
+f 3294 3252 3254
+f 3254 3298 3294
+f 3286 3250 3252
+f 3252 3294 3286
+f 3280 3246 3250
+f 3250 3286 3280
+f 3272 3242 3246
+f 3246 3280 3272
+f 3264 3236 3242
+f 3242 3272 3264
+f 3258 3234 3236
+f 3236 3264 3258
+f 3248 3232 3234
+f 3234 3258 3248
+f 3244 3230 3232
+f 3232 3248 3244
+f 3240 3228 3230
+f 3230 3244 3240
+f 3238 3226 3228
+f 3228 3240 3238
+f 3331 3294 3298
+f 3298 3333 3331
+f 3321 3286 3294
+f 3294 3331 3321
+f 3315 3280 3286
+f 3286 3321 3315
+f 3304 3272 3280
+f 3280 3315 3304
+f 3288 3264 3272
+f 3272 3304 3288
+f 3276 3258 3264
+f 3264 3288 3276
+f 3266 3248 3258
+f 3258 3276 3266
+f 3262 3244 3248
+f 3248 3266 3262
+f 3260 3240 3244
+f 3244 3262 3260
+f 3256 3238 3240
+f 3240 3260 3256
+f 3350 3331 3333
+f 3333 3354 3350
+f 3347 3321 3331
+f 3331 3350 3347
+f 3339 3315 3321
+f 3321 3347 3339
+f 3323 3304 3315
+f 3315 3339 3323
+f 3309 3288 3304
+f 3304 3323 3309
+f 3300 3276 3288
+f 3288 3309 3300
+f 3284 3266 3276
+f 3276 3300 3284
+f 3274 3262 3266
+f 3266 3284 3274
+f 3269 3260 3262
+f 3262 3274 3269
+f 3267 3256 3260
+f 3260 3269 3267
+f 3372 3350 3354
+f 3354 3378 3372
+f 3367 3347 3350
+f 3350 3372 3367
+f 3352 3339 3347
+f 3347 3367 3352
+f 3341 3323 3339
+f 3339 3352 3341
+f 3325 3309 3323
+f 3323 3341 3325
+f 3313 3300 3309
+f 3309 3325 3313
+f 3301 3284 3300
+f 3300 3313 3301
+f 3289 3274 3284
+f 3284 3301 3289
+f 3281 3269 3274
+f 3274 3289 3281
+f 3277 3267 3269
+f 3269 3281 3277
+f 3403 3372 3378
+f 3378 3405 3403
+f 3393 3367 3372
+f 3372 3403 3393
+f 3377 3352 3367
+f 3367 3393 3377
+f 3360 3341 3352
+f 3352 3377 3360
+f 3344 3325 3341
+f 3341 3360 3344
+f 3327 3313 3325
+f 3325 3344 3327
+f 3317 3301 3313
+f 3313 3327 3317
+f 3305 3289 3301
+f 3301 3317 3305
+f 3296 3281 3289
+f 3289 3305 3296
+f 3291 3277 3281
+f 3281 3296 3291
+f 3469 3403 3405
+f 3405 3472 3469
+f 3450 3393 3403
+f 3403 3469 3450
+f 3426 3377 3393
+f 3393 3450 3426
+f 3390 3360 3377
+f 3377 3426 3390
+f 3370 3344 3360
+f 3360 3390 3370
+f 3349 3327 3344
+f 3344 3370 3349
+f 3337 3317 3327
+f 3327 3349 3337
+f 3319 3305 3317
+f 3317 3337 3319
+f 3311 3296 3305
+f 3305 3319 3311
+f 3307 3291 3296
+f 3296 3311 3307
+f 3520 3469 3472
+f 3472 3522 3520
+f 3504 3450 3469
+f 3469 3520 3504
+f 3489 3426 3450
+f 3450 3504 3489
+f 3463 3390 3426
+f 3426 3489 3463
+f 3421 3370 3390
+f 3390 3463 3421
+f 3385 3349 3370
+f 3370 3421 3385
+f 3361 3337 3349
+f 3349 3385 3361
+f 3342 3319 3337
+f 3337 3361 3342
+f 3334 3311 3319
+f 3319 3342 3334
+f 3328 3307 3311
+f 3311 3334 3328
+f 3591 3520 3522
+f 3522 3603 3591
+f 3578 3504 3520
+f 3520 3591 3578
+f 3552 3489 3504
+f 3504 3578 3552
+f 3530 3463 3489
+f 3489 3552 3530
+f 3499 3421 3463
+f 3463 3530 3499
+f 3467 3385 3421
+f 3421 3499 3467
+f 3415 3361 3385
+f 3385 3467 3415
+f 3381 3342 3361
+f 3361 3415 3381
+f 3363 3334 3342
+f 3342 3381 3363
+f 3356 3328 3334
+f 3334 3363 3356
+f 3374 3365 3358
+f 3358 3371 3374
+f 3395 3383 3365
+f 3365 3374 3395
+f 3443 3417 3383
+f 3383 3395 3443
+f 3481 3466 3417
+f 3417 3443 3481
+f 3514 3496 3466
+f 3466 3481 3514
+f 3545 3529 3496
+f 3496 3514 3545
+f 3573 3551 3529
+f 3529 3545 3573
+f 3597 3577 3551
+f 3551 3573 3597
+f 3613 3590 3577
+f 3577 3597 3613
+f 3619 3603 3590
+f 3590 3613 3619
+f 3387 3374 3371
+f 3371 3380 3387
+f 3413 3395 3374
+f 3374 3387 3413
+f 3461 3443 3395
+f 3395 3413 3461
+f 3493 3481 3443
+f 3443 3461 3493
+f 3524 3514 3481
+f 3481 3493 3524
+f 3556 3545 3514
+f 3514 3524 3556
+f 3584 3573 3545
+f 3545 3556 3584
+f 3611 3597 3573
+f 3573 3584 3611
+f 3628 3613 3597
+f 3597 3611 3628
+f 3632 3619 3613
+f 3613 3628 3632
+f 3398 3387 3380
+f 3380 3391 3398
+f 3435 3413 3387
+f 3387 3398 3435
+f 3473 3461 3413
+f 3413 3435 3473
+f 3500 3493 3461
+f 3461 3473 3500
+f 3531 3524 3493
+f 3493 3500 3531
+f 3562 3556 3524
+f 3524 3531 3562
+f 3595 3584 3556
+f 3556 3562 3595
+f 3617 3611 3584
+f 3584 3595 3617
+f 3633 3628 3611
+f 3611 3617 3633
+f 3641 3632 3628
+f 3628 3633 3641
+f 3409 3398 3391
+f 3391 3400 3409
+f 3447 3435 3398
+f 3398 3409 3447
+f 3477 3473 3435
+f 3435 3447 3477
+f 3506 3500 3473
+f 3473 3477 3506
+f 3540 3531 3500
+f 3500 3506 3540
+f 3567 3562 3531
+f 3531 3540 3567
+f 3601 3595 3562
+f 3562 3567 3601
+f 3624 3617 3595
+f 3595 3601 3624
+f 3639 3633 3617
+f 3617 3624 3639
+f 3644 3641 3633
+f 3633 3639 3644
+f 3433 3409 3400
+f 3400 3411 3433
+f 3453 3447 3409
+f 3409 3433 3453
+f 3483 3477 3447
+f 3447 3453 3483
+f 3510 3506 3477
+f 3477 3483 3510
+f 3543 3540 3506
+f 3506 3510 3543
+f 3569 3567 3540
+f 3540 3543 3569
+f 3599 3601 3567
+f 3567 3569 3599
+f 3622 3624 3601
+f 3601 3599 3622
+f 3637 3639 3624
+f 3624 3622 3637
+f 3642 3644 3639
+f 3639 3637 3642
+f 3439 3433 3411
+f 3411 3424 3439
+f 3458 3453 3433
+f 3433 3439 3458
+f 3487 3483 3453
+f 3453 3458 3487
+f 3513 3510 3483
+f 3483 3487 3513
+f 3542 3543 3510
+f 3510 3513 3542
+f 3566 3569 3543
+f 3543 3542 3566
+f 3593 3599 3569
+f 3569 3566 3593
+f 3616 3622 3599
+f 3599 3593 3616
+f 3630 3637 3622
+f 3622 3616 3630
+f 3636 3642 3637
+f 3637 3630 3636
+f 3441 3439 3424
+f 3424 3429 3441
+f 3459 3458 3439
+f 3439 3441 3459
+f 3485 3487 3458
+f 3458 3459 3485
+f 3508 3513 3487
+f 3487 3485 3508
+f 3533 3542 3513
+f 3513 3508 3533
+f 3558 3566 3542
+f 3542 3533 3558
+f 3582 3593 3566
+f 3566 3558 3582
+f 3607 3616 3593
+f 3593 3582 3607
+f 3620 3630 3616
+f 3616 3607 3620
+f 3626 3636 3630
+f 3630 3620 3626
+f 3437 3441 3429
+f 3429 3427 3437
+f 3455 3459 3441
+f 3441 3437 3455
+f 3479 3485 3459
+f 3459 3455 3479
+f 3502 3508 3485
+f 3485 3479 3502
+f 3526 3533 3508
+f 3508 3502 3526
+f 3547 3558 3533
+f 3533 3526 3547
+f 3571 3582 3558
+f 3558 3547 3571
+f 3588 3607 3582
+f 3582 3571 3588
+f 3605 3620 3607
+f 3607 3588 3605
+f 3609 3626 3620
+f 3620 3605 3609
+f 3419 3437 3427
+f 3427 3408 3419
+f 3445 3455 3437
+f 3437 3419 3445
+f 3470 3479 3455
+f 3455 3445 3470
+f 3492 3502 3479
+f 3479 3470 3492
+f 3517 3526 3502
+f 3502 3492 3517
+f 3536 3547 3526
+f 3526 3517 3536
+f 3554 3571 3547
+f 3547 3536 3554
+f 3575 3588 3571
+f 3571 3554 3575
+f 3580 3605 3588
+f 3588 3575 3580
+f 3587 3609 3605
+f 3605 3580 3587
+f 3401 3419 3408
+f 3408 3397 3401
+f 3431 3445 3419
+f 3419 3401 3431
+f 3451 3470 3445
+f 3445 3431 3451
+f 3475 3492 3470
+f 3470 3451 3475
+f 3497 3517 3492
+f 3492 3475 3497
+f 3518 3536 3517
+f 3517 3497 3518
+f 3537 3554 3536
+f 3536 3518 3537
+f 3549 3575 3554
+f 3554 3537 3549
+f 3560 3580 3575
+f 3575 3549 3560
+f 3564 3587 3580
+f 3580 3560 3564
+f 3614 3591 3603
+f 3603 3619 3614
+f 3598 3578 3591
+f 3591 3614 3598
+f 3574 3552 3578
+f 3578 3598 3574
+f 3546 3530 3552
+f 3552 3574 3546
+f 3515 3499 3530
+f 3530 3546 3515
+f 3482 3467 3499
+f 3499 3515 3482
+f 3444 3418 3467
+f 3467 3482 3444
+f 3396 3384 3418
+f 3418 3444 3396
+f 3375 3366 3384
+f 3384 3396 3375
+f 3371 3358 3366
+f 3366 3375 3371
+f 3629 3614 3619
+f 3619 3632 3629
+f 3612 3598 3614
+f 3614 3629 3612
+f 3585 3574 3598
+f 3598 3612 3585
+f 3557 3546 3574
+f 3574 3585 3557
+f 3525 3515 3546
+f 3546 3557 3525
+f 3494 3482 3515
+f 3515 3525 3494
+f 3462 3444 3482
+f 3482 3494 3462
+f 3414 3396 3444
+f 3444 3462 3414
+f 3388 3375 3396
+f 3396 3414 3388
+f 3380 3371 3375
+f 3375 3388 3380
+f 3634 3629 3632
+f 3632 3641 3634
+f 3618 3612 3629
+f 3629 3634 3618
+f 3596 3585 3612
+f 3612 3618 3596
+f 3563 3557 3585
+f 3585 3596 3563
+f 3532 3525 3557
+f 3557 3563 3532
+f 3501 3494 3525
+f 3525 3532 3501
+f 3474 3462 3494
+f 3494 3501 3474
+f 3436 3414 3462
+f 3462 3474 3436
+f 3399 3388 3414
+f 3414 3436 3399
+f 3392 3380 3388
+f 3388 3399 3392
+f 3640 3634 3641
+f 3641 3644 3640
+f 3625 3618 3634
+f 3634 3640 3625
+f 3602 3596 3618
+f 3618 3625 3602
+f 3568 3563 3596
+f 3596 3602 3568
+f 3539 3532 3563
+f 3563 3568 3539
+f 3507 3501 3532
+f 3532 3539 3507
+f 3478 3474 3501
+f 3501 3507 3478
+f 3448 3436 3474
+f 3474 3478 3448
+f 3410 3399 3436
+f 3436 3448 3410
+f 3400 3392 3399
+f 3399 3410 3400
+f 3638 3640 3644
+f 3644 3643 3638
+f 3623 3625 3640
+f 3640 3638 3623
+f 3600 3602 3625
+f 3625 3623 3600
+f 3570 3568 3602
+f 3602 3600 3570
+f 3544 3539 3568
+f 3568 3570 3544
+f 3511 3507 3539
+f 3539 3544 3511
+f 3484 3478 3507
+f 3507 3511 3484
+f 3454 3448 3478
+f 3478 3484 3454
+f 3434 3410 3448
+f 3448 3454 3434
+f 3412 3400 3410
+f 3410 3434 3412
+f 3631 3638 3643
+f 3643 3635 3631
+f 3615 3623 3638
+f 3638 3631 3615
+f 3594 3600 3623
+f 3623 3615 3594
+f 3565 3570 3600
+f 3600 3594 3565
+f 3541 3544 3570
+f 3570 3565 3541
+f 3512 3511 3544
+f 3544 3541 3512
+f 3488 3484 3511
+f 3511 3512 3488
+f 3457 3454 3484
+f 3484 3488 3457
+f 3440 3434 3454
+f 3454 3457 3440
+f 3423 3412 3434
+f 3434 3440 3423
+f 3621 3631 3635
+f 3635 3627 3621
+f 3608 3615 3631
+f 3631 3621 3608
+f 3583 3594 3615
+f 3615 3608 3583
+f 3559 3565 3594
+f 3594 3583 3559
+f 3534 3541 3565
+f 3565 3559 3534
+f 3509 3512 3541
+f 3541 3534 3509
+f 3486 3488 3512
+f 3512 3509 3486
+f 3460 3457 3488
+f 3488 3486 3460
+f 3442 3440 3457
+f 3457 3460 3442
+f 3430 3423 3440
+f 3440 3442 3430
+f 3606 3621 3627
+f 3627 3610 3606
+f 3589 3608 3621
+f 3621 3606 3589
+f 3572 3583 3608
+f 3608 3589 3572
+f 3548 3559 3583
+f 3583 3572 3548
+f 3527 3534 3559
+f 3559 3548 3527
+f 3503 3509 3534
+f 3534 3527 3503
+f 3480 3486 3509
+f 3509 3503 3480
+f 3456 3460 3486
+f 3486 3480 3456
+f 3438 3442 3460
+f 3460 3456 3438
+f 3428 3430 3442
+f 3442 3438 3428
+f 3581 3606 3610
+f 3610 3586 3581
+f 3576 3589 3606
+f 3606 3581 3576
+f 3555 3572 3589
+f 3589 3576 3555
+f 3535 3548 3572
+f 3572 3555 3535
+f 3516 3527 3548
+f 3548 3535 3516
+f 3491 3503 3527
+f 3527 3516 3491
+f 3471 3480 3503
+f 3503 3491 3471
+f 3446 3456 3480
+f 3480 3471 3446
+f 3420 3438 3456
+f 3456 3446 3420
+f 3407 3428 3438
+f 3438 3420 3407
+f 3561 3581 3586
+f 3586 3564 3561
+f 3550 3576 3581
+f 3581 3561 3550
+f 3538 3555 3576
+f 3576 3550 3538
+f 3519 3535 3555
+f 3555 3538 3519
+f 3498 3516 3535
+f 3535 3519 3498
+f 3476 3491 3516
+f 3516 3498 3476
+f 3452 3471 3491
+f 3491 3476 3452
+f 3432 3446 3471
+f 3471 3452 3432
+f 3402 3420 3446
+f 3446 3432 3402
+f 3397 3407 3420
+f 3420 3402 3397
+f 1888 2110 2104
+f 1888 2104 2096
+f 1888 2096 2076
+f 1888 2076 2048
+f 1888 2048 2030
+f 1888 2030 2006
+f 1888 2006 1982
+f 1888 1982 1960
+f 1888 1960 1936
+f 1888 1936 1732
+f 2257 2104 2110
+f 2110 2261 2257
+f 2249 2096 2104
+f 2104 2257 2249
+f 2226 2076 2096
+f 2096 2249 2226
+f 2200 2048 2076
+f 2076 2226 2200
+f 2142 2030 2048
+f 2048 2200 2142
+f 2094 2006 2030
+f 2030 2142 2094
+f 2036 1982 2006
+f 2006 2094 2036
+f 1988 1960 1982
+f 1982 2036 1988
+f 1948 1936 1960
+f 1960 1988 1948
+f 1728 1732 1936
+f 1936 1948 1728
+f 2310 2257 2261
+f 2261 2315 2310
+f 2300 2249 2257
+f 2257 2310 2300
+f 2279 2226 2249
+f 2249 2300 2279
+f 2243 2200 2226
+f 2226 2279 2243
+f 2204 2142 2200
+f 2200 2243 2204
+f 2132 2094 2142
+f 2142 2204 2132
+f 2067 2036 2094
+f 2094 2132 2067
+f 2000 1988 2036
+f 2036 2067 2000
+f 1956 1948 1988
+f 1988 2000 1956
+f 1734 1728 1948
+f 1948 1956 1734
+f 2312 2310 2315
+f 2315 2316 2312
+f 2302 2300 2310
+f 2310 2312 2302
+f 2281 2279 2300
+f 2300 2302 2281
+f 2245 2243 2279
+f 2279 2281 2245
+f 2206 2204 2243
+f 2243 2245 2206
+f 2134 2132 2204
+f 2204 2206 2134
+f 2068 2067 2132
+f 2132 2134 2068
+f 2002 2000 2067
+f 2067 2068 2002
+f 1958 1956 2000
+f 2000 2002 1958
+f 1878 1734 1956
+f 1956 1958 1878
+f 2285 2312 2316
+f 2316 2289 2285
+f 2259 2302 2312
+f 2312 2285 2259
+f 2241 2281 2302
+f 2302 2259 2241
+f 2214 2245 2281
+f 2281 2241 2214
+f 2168 2206 2245
+f 2245 2214 2168
+f 2106 2134 2206
+f 2206 2168 2106
+f 2042 2068 2134
+f 2134 2106 2042
+f 1994 2002 2068
+f 2068 2042 1994
+f 1952 1958 2002
+f 2002 1994 1952
+f 1731 1878 1958
+f 1958 1952 1731
+f 2220 2285 2289
+f 2289 2225 2220
+f 2210 2259 2285
+f 2285 2220 2210
+f 2186 2241 2259
+f 2259 2210 2186
+f 2146 2214 2241
+f 2241 2186 2146
+f 2108 2168 2214
+f 2214 2146 2108
+f 2060 2106 2168
+f 2168 2108 2060
+f 2018 2042 2106
+f 2106 2060 2018
+f 1978 1994 2042
+f 2042 2018 1978
+f 1944 1952 1994
+f 1994 1978 1944
+f 1727 1731 1952
+f 1952 1944 1727
+f 2141 2220 2225
+f 2225 2145 2141
+f 2127 2210 2220
+f 2220 2141 2127
+f 2112 2186 2210
+f 2210 2127 2112
+f 2084 2146 2186
+f 2186 2112 2084
+f 2044 2108 2146
+f 2146 2084 2044
+f 2024 2060 2108
+f 2108 2044 2024
+f 1992 2018 2060
+f 2060 2024 1992
+f 1970 1978 2018
+f 2018 1992 1970
+f 1942 1944 1978
+f 1978 1970 1942
+f 1721 1727 1944
+f 1944 1942 1721
+f 2079 2141 2145
+f 2145 2087 2079
+f 2075 2127 2141
+f 2141 2079 2075
+f 2055 2112 2127
+f 2127 2075 2055
+f 2039 2084 2112
+f 2112 2055 2039
+f 2021 2044 2084
+f 2084 2039 2021
+f 1996 2024 2044
+f 2044 2021 1996
+f 1974 1992 2024
+f 2024 1996 1974
+f 1954 1970 1992
+f 1992 1974 1954
+f 1934 1942 1970
+f 1970 1954 1934
+f 1720 1721 1942
+f 1942 1934 1720
+f 2063 2079 2087
+f 2087 2071 2063
+f 2051 2075 2079
+f 2079 2063 2051
+f 2041 2055 2075
+f 2075 2051 2041
+f 2029 2039 2055
+f 2055 2041 2029
+f 2013 2021 2039
+f 2039 2029 2013
+f 1991 1996 2021
+f 2021 2013 1991
+f 1972 1974 1996
+f 1996 1991 1972
+f 1950 1954 1974
+f 1974 1972 1950
+f 1932 1934 1954
+f 1954 1950 1932
+f 1701 1720 1934
+f 1934 1932 1701
+f 2115 2063 2071
+f 2071 2123 2115
+f 2101 2051 2063
+f 2063 2115 2101
+f 2081 2041 2051
+f 2051 2101 2081
+f 2057 2029 2041
+f 2041 2081 2057
+f 2033 2013 2029
+f 2029 2057 2033
+f 2009 1991 2013
+f 2013 2033 2009
+f 1984 1972 1991
+f 1991 2009 1984
+f 1964 1950 1972
+f 1972 1984 1964
+f 1938 1932 1950
+f 1950 1964 1938
+f 1698 1701 1932
+f 1932 1938 1698
+f 1888 1886 1686
+f 1888 1686 1662
+f 1888 1662 1640
+f 1888 1640 1616
+f 1888 1616 1592
+f 1888 1592 1574
+f 1888 1574 1546
+f 1888 1546 1526
+f 1888 1526 1518
+f 1888 1518 1512
+f 1674 1686 1886
+f 1886 1884 1674
+f 1634 1662 1686
+f 1686 1674 1634
+f 1586 1640 1662
+f 1662 1634 1586
+f 1528 1616 1640
+f 1640 1586 1528
+f 1480 1592 1616
+f 1616 1528 1480
+f 1422 1574 1592
+f 1592 1480 1422
+f 1396 1546 1574
+f 1574 1422 1396
+f 1373 1526 1546
+f 1546 1396 1373
+f 1365 1518 1526
+f 1526 1373 1365
+f 1361 1512 1518
+f 1518 1365 1361
+f 1666 1674 1884
+f 1884 1882 1666
+f 1622 1634 1674
+f 1674 1666 1622
+f 1557 1586 1634
+f 1634 1622 1557
+f 1490 1528 1586
+f 1586 1557 1490
+f 1418 1480 1528
+f 1528 1490 1418
+f 1379 1422 1480
+f 1480 1418 1379
+f 1343 1396 1422
+f 1422 1379 1343
+f 1322 1373 1396
+f 1396 1343 1322
+f 1312 1365 1373
+f 1373 1322 1312
+f 1309 1361 1365
+f 1365 1312 1309
+f 1664 1666 1882
+f 1882 1879 1664
+f 1620 1622 1666
+f 1666 1664 1620
+f 1554 1557 1622
+f 1622 1620 1554
+f 1488 1490 1557
+f 1557 1554 1488
+f 1416 1418 1490
+f 1490 1488 1416
+f 1377 1379 1418
+f 1418 1416 1377
+f 1341 1343 1379
+f 1379 1377 1341
+f 1320 1322 1343
+f 1343 1341 1320
+f 1310 1312 1322
+f 1322 1320 1310
+f 1306 1309 1312
+f 1312 1310 1306
+f 1670 1664 1879
+f 1879 1876 1670
+f 1628 1620 1664
+f 1664 1670 1628
+f 1580 1554 1620
+f 1620 1628 1580
+f 1516 1488 1554
+f 1554 1580 1516
+f 1454 1416 1488
+f 1488 1516 1454
+f 1408 1377 1416
+f 1416 1454 1408
+f 1381 1341 1377
+f 1377 1408 1381
+f 1363 1320 1341
+f 1341 1381 1363
+f 1337 1310 1320
+f 1320 1363 1337
+f 1333 1306 1310
+f 1310 1337 1333
+f 1678 1670 1876
+f 1876 1874 1678
+f 1644 1628 1670
+f 1670 1678 1644
+f 1604 1580 1628
+f 1628 1644 1604
+f 1562 1516 1580
+f 1580 1604 1562
+f 1514 1454 1516
+f 1516 1562 1514
+f 1476 1408 1454
+f 1454 1514 1476
+f 1436 1381 1408
+f 1408 1476 1436
+f 1412 1363 1381
+f 1381 1436 1412
+f 1402 1337 1363
+f 1363 1412 1402
+f 1399 1333 1337
+f 1337 1402 1399
+f 1680 1678 1874
+f 1874 1872 1680
+f 1652 1644 1678
+f 1678 1680 1652
+f 1630 1604 1644
+f 1644 1652 1630
+f 1598 1562 1604
+f 1604 1630 1598
+f 1578 1514 1562
+f 1562 1598 1578
+f 1538 1476 1514
+f 1514 1578 1538
+f 1510 1436 1476
+f 1476 1538 1510
+f 1497 1412 1436
+f 1436 1510 1497
+f 1483 1402 1412
+f 1412 1497 1483
+f 1479 1399 1402
+f 1402 1483 1479
+f 1688 1680 1872
+f 1872 1870 1688
+f 1668 1652 1680
+f 1680 1688 1668
+f 1648 1630 1652
+f 1652 1668 1648
+f 1626 1598 1630
+f 1630 1648 1626
+f 1603 1578 1598
+f 1598 1626 1603
+f 1585 1538 1578
+f 1578 1603 1585
+f 1569 1510 1538
+f 1538 1585 1569
+f 1549 1497 1510
+f 1510 1569 1549
+f 1545 1483 1497
+f 1497 1549 1545
+f 1537 1479 1483
+f 1483 1545 1537
+f 1690 1688 1870
+f 1870 1868 1690
+f 1672 1668 1688
+f 1688 1690 1672
+f 1650 1648 1668
+f 1668 1672 1650
+f 1633 1626 1648
+f 1648 1650 1633
+f 1611 1603 1626
+f 1626 1633 1611
+f 1595 1585 1603
+f 1603 1611 1595
+f 1583 1569 1585
+f 1585 1595 1583
+f 1573 1549 1569
+f 1569 1583 1573
+f 1561 1545 1549
+f 1549 1573 1561
+f 1553 1537 1545
+f 1545 1561 1553
+f 1684 1690 1868
+f 1868 1865 1684
+f 1658 1672 1690
+f 1690 1684 1658
+f 1638 1650 1672
+f 1672 1658 1638
+f 1615 1633 1650
+f 1650 1638 1615
+f 1591 1611 1633
+f 1633 1615 1591
+f 1567 1595 1611
+f 1611 1591 1567
+f 1543 1583 1595
+f 1595 1567 1543
+f 1523 1573 1583
+f 1583 1543 1523
+f 1509 1561 1573
+f 1573 1523 1509
+f 1501 1553 1561
+f 1561 1509 1501
+f 1888 1513 1519
+f 1888 1519 1527
+f 1888 1527 1547
+f 1888 1547 1575
+f 1888 1575 1593
+f 1888 1593 1617
+f 1888 1617 1641
+f 1888 1641 1663
+f 1888 1663 1687
+f 1888 1687 1894
+f 1366 1519 1513
+f 1513 1362 1366
+f 1374 1527 1519
+f 1519 1366 1374
+f 1397 1547 1527
+f 1527 1374 1397
+f 1423 1575 1547
+f 1547 1397 1423
+f 1481 1593 1575
+f 1575 1423 1481
+f 1529 1617 1593
+f 1593 1481 1529
+f 1587 1641 1617
+f 1617 1529 1587
+f 1635 1663 1641
+f 1641 1587 1635
+f 1675 1687 1663
+f 1663 1635 1675
+f 1895 1894 1687
+f 1687 1675 1895
+f 1313 1366 1362
+f 1362 1308 1313
+f 1323 1374 1366
+f 1366 1313 1323
+f 1344 1397 1374
+f 1374 1323 1344
+f 1380 1423 1397
+f 1397 1344 1380
+f 1419 1481 1423
+f 1423 1380 1419
+f 1491 1529 1481
+f 1481 1419 1491
+f 1556 1587 1529
+f 1529 1491 1556
+f 1623 1635 1587
+f 1587 1556 1623
+f 1667 1675 1635
+f 1635 1623 1667
+f 1890 1895 1675
+f 1675 1667 1890
+f 1311 1313 1308
+f 1308 1307 1311
+f 1321 1323 1313
+f 1313 1311 1321
+f 1342 1344 1323
+f 1323 1321 1342
+f 1378 1380 1344
+f 1344 1342 1378
+f 1417 1419 1380
+f 1380 1378 1417
+f 1489 1491 1419
+f 1419 1417 1489
+f 1555 1556 1491
+f 1491 1489 1555
+f 1621 1623 1556
+f 1556 1555 1621
+f 1665 1667 1623
+f 1623 1621 1665
+f 1881 1890 1667
+f 1667 1665 1881
+f 1338 1311 1307
+f 1307 1334 1338
+f 1364 1321 1311
+f 1311 1338 1364
+f 1382 1342 1321
+f 1321 1364 1382
+f 1409 1378 1342
+f 1342 1382 1409
+f 1455 1417 1378
+f 1378 1409 1455
+f 1517 1489 1417
+f 1417 1455 1517
+f 1581 1555 1489
+f 1489 1517 1581
+f 1629 1621 1555
+f 1555 1581 1629
+f 1671 1665 1621
+f 1621 1629 1671
+f 1893 1881 1665
+f 1665 1671 1893
+f 1403 1338 1334
+f 1334 1398 1403
+f 1413 1364 1338
+f 1338 1403 1413
+f 1437 1382 1364
+f 1364 1413 1437
+f 1477 1409 1382
+f 1382 1437 1477
+f 1515 1455 1409
+f 1409 1477 1515
+f 1563 1517 1455
+f 1455 1515 1563
+f 1605 1581 1517
+f 1517 1563 1605
+f 1645 1629 1581
+f 1581 1605 1645
+f 1679 1671 1629
+f 1629 1645 1679
+f 1900 1893 1671
+f 1671 1679 1900
+f 1482 1403 1398
+f 1398 1478 1482
+f 1496 1413 1403
+f 1403 1482 1496
+f 1511 1437 1413
+f 1413 1496 1511
+f 1539 1477 1437
+f 1437 1511 1539
+f 1579 1515 1477
+f 1477 1539 1579
+f 1599 1563 1515
+f 1515 1579 1599
+f 1631 1605 1563
+f 1563 1599 1631
+f 1653 1645 1605
+f 1605 1631 1653
+f 1681 1679 1645
+f 1645 1653 1681
+f 1902 1900 1679
+f 1679 1681 1902
+f 1544 1482 1478
+f 1478 1536 1544
+f 1548 1496 1482
+f 1482 1544 1548
+f 1568 1511 1496
+f 1496 1548 1568
+f 1584 1539 1511
+f 1511 1568 1584
+f 1602 1579 1539
+f 1539 1584 1602
+f 1627 1599 1579
+f 1579 1602 1627
+f 1649 1631 1599
+f 1599 1627 1649
+f 1669 1653 1631
+f 1631 1649 1669
+f 1689 1681 1653
+f 1653 1669 1689
+f 1921 1902 1681
+f 1681 1689 1921
+f 1560 1544 1536
+f 1536 1552 1560
+f 1572 1548 1544
+f 1544 1560 1572
+f 1582 1568 1548
+f 1548 1572 1582
+f 1594 1584 1568
+f 1568 1582 1594
+f 1610 1602 1584
+f 1584 1594 1610
+f 1632 1627 1602
+f 1602 1610 1632
+f 1651 1649 1627
+f 1627 1632 1651
+f 1673 1669 1649
+f 1649 1651 1673
+f 1691 1689 1669
+f 1669 1673 1691
+f 1922 1921 1689
+f 1689 1691 1922
+f 1508 1560 1552
+f 1552 1500 1508
+f 1522 1572 1560
+f 1560 1508 1522
+f 1542 1582 1572
+f 1572 1522 1542
+f 1566 1594 1582
+f 1582 1542 1566
+f 1590 1610 1594
+f 1594 1566 1590
+f 1614 1632 1610
+f 1610 1590 1614
+f 1639 1651 1632
+f 1632 1614 1639
+f 1659 1673 1651
+f 1651 1639 1659
+f 1685 1691 1673
+f 1673 1659 1685
+f 1928 1922 1691
+f 1691 1685 1928
+f 1888 1887 1937
+f 1888 1937 1961
+f 1888 1961 1983
+f 1888 1983 2007
+f 1888 2007 2031
+f 1888 2031 2049
+f 1888 2049 2077
+f 1888 2077 2097
+f 1888 2097 2105
+f 1888 2105 2111
+f 1949 1937 1887
+f 1887 1885 1949
+f 1989 1961 1937
+f 1937 1949 1989
+f 2037 1983 1961
+f 1961 1989 2037
+f 2095 2007 1983
+f 1983 2037 2095
+f 2143 2031 2007
+f 2007 2095 2143
+f 2201 2049 2031
+f 2031 2143 2201
+f 2227 2077 2049
+f 2049 2201 2227
+f 2250 2097 2077
+f 2077 2227 2250
+f 2258 2105 2097
+f 2097 2250 2258
+f 2262 2111 2105
+f 2105 2258 2262
+f 1957 1949 1885
+f 1885 1883 1957
+f 2001 1989 1949
+f 1949 1957 2001
+f 2066 2037 1989
+f 1989 2001 2066
+f 2133 2095 2037
+f 2037 2066 2133
+f 2205 2143 2095
+f 2095 2133 2205
+f 2244 2201 2143
+f 2143 2205 2244
+f 2280 2227 2201
+f 2201 2244 2280
+f 2301 2250 2227
+f 2227 2280 2301
+f 2311 2258 2250
+f 2250 2301 2311
+f 2314 2262 2258
+f 2258 2311 2314
+f 1959 1957 1883
+f 1883 1880 1959
+f 2003 2001 1957
+f 1957 1959 2003
+f 2069 2066 2001
+f 2001 2003 2069
+f 2135 2133 2066
+f 2066 2069 2135
+f 2207 2205 2133
+f 2133 2135 2207
+f 2246 2244 2205
+f 2205 2207 2246
+f 2282 2280 2244
+f 2244 2246 2282
+f 2303 2301 2280
+f 2280 2282 2303
+f 2313 2311 2301
+f 2301 2303 2313
+f 2317 2314 2311
+f 2311 2313 2317
+f 1953 1959 1880
+f 1880 1877 1953
+f 1995 2003 1959
+f 1959 1953 1995
+f 2043 2069 2003
+f 2003 1995 2043
+f 2107 2135 2069
+f 2069 2043 2107
+f 2169 2207 2135
+f 2135 2107 2169
+f 2215 2246 2207
+f 2207 2169 2215
+f 2242 2282 2246
+f 2246 2215 2242
+f 2260 2303 2282
+f 2282 2242 2260
+f 2286 2313 2303
+f 2303 2260 2286
+f 2290 2317 2313
+f 2313 2286 2290
+f 1945 1953 1877
+f 1877 1875 1945
+f 1979 1995 1953
+f 1953 1945 1979
+f 2019 2043 1995
+f 1995 1979 2019
+f 2061 2107 2043
+f 2043 2019 2061
+f 2109 2169 2107
+f 2107 2061 2109
+f 2147 2215 2169
+f 2169 2109 2147
+f 2187 2242 2215
+f 2215 2147 2187
+f 2211 2260 2242
+f 2242 2187 2211
+f 2221 2286 2260
+f 2260 2211 2221
+f 2224 2290 2286
+f 2286 2221 2224
+f 1943 1945 1875
+f 1875 1873 1943
+f 1971 1979 1945
+f 1945 1943 1971
+f 1993 2019 1979
+f 1979 1971 1993
+f 2025 2061 2019
+f 2019 1993 2025
+f 2045 2109 2061
+f 2061 2025 2045
+f 2085 2147 2109
+f 2109 2045 2085
+f 2113 2187 2147
+f 2147 2085 2113
+f 2126 2211 2187
+f 2187 2113 2126
+f 2140 2221 2211
+f 2211 2126 2140
+f 2144 2224 2221
+f 2221 2140 2144
+f 1935 1943 1873
+f 1873 1871 1935
+f 1955 1971 1943
+f 1943 1935 1955
+f 1975 1993 1971
+f 1971 1955 1975
+f 1997 2025 1993
+f 1993 1975 1997
+f 2020 2045 2025
+f 2025 1997 2020
+f 2038 2085 2045
+f 2045 2020 2038
+f 2054 2113 2085
+f 2085 2038 2054
+f 2074 2126 2113
+f 2113 2054 2074
+f 2078 2140 2126
+f 2126 2074 2078
+f 2086 2144 2140
+f 2140 2078 2086
+f 1933 1935 1871
+f 1871 1869 1933
+f 1951 1955 1935
+f 1935 1933 1951
+f 1973 1975 1955
+f 1955 1951 1973
+f 1990 1997 1975
+f 1975 1973 1990
+f 2012 2020 1997
+f 1997 1990 2012
+f 2028 2038 2020
+f 2020 2012 2028
+f 2040 2054 2038
+f 2038 2028 2040
+f 2050 2074 2054
+f 2054 2040 2050
+f 2062 2078 2074
+f 2074 2050 2062
+f 2070 2086 2078
+f 2078 2062 2070
+f 1939 1933 1869
+f 1869 1866 1939
+f 1965 1951 1933
+f 1933 1939 1965
+f 1985 1973 1951
+f 1951 1965 1985
+f 2008 1990 1973
+f 1973 1985 2008
+f 2032 2012 1990
+f 1990 2008 2032
+f 2056 2028 2012
+f 2012 2032 2056
+f 2080 2040 2028
+f 2028 2056 2080
+f 2100 2050 2040
+f 2040 2080 2100
+f 2114 2062 2050
+f 2050 2100 2114
+f 2122 2070 2062
+f 2062 2114 2122
+f 2232 2116 2124
+f 2124 2236 2232
+f 2218 2102 2116
+f 2116 2232 2218
+f 2199 2082 2102
+f 2102 2218 2199
+f 2150 2058 2082
+f 2082 2199 2150
+f 2120 2034 2058
+f 2058 2150 2120
+f 2064 2010 2034
+f 2034 2120 2064
+f 2023 1986 2010
+f 2010 2064 2023
+f 1980 1966 1986
+f 1986 2023 1980
+f 1946 1940 1966
+f 1966 1980 1946
+f 1862 1730 1940
+f 1940 1946 1862
+f 2332 2232 2236
+f 2236 2336 2332
+f 2322 2218 2232
+f 2232 2332 2322
+f 2306 2199 2218
+f 2218 2322 2306
+f 2275 2150 2199
+f 2199 2306 2275
+f 2234 2120 2150
+f 2150 2275 2234
+f 2170 2064 2120
+f 2120 2234 2170
+f 2093 2023 2064
+f 2064 2170 2093
+f 2016 1980 2023
+f 2023 2093 2016
+f 1968 1946 1980
+f 1980 2016 1968
+f 1858 1862 1946
+f 1946 1968 1858
+f 2409 2332 2336
+f 2336 2413 2409
+f 2400 2322 2332
+f 2332 2409 2400
+f 2376 2306 2322
+f 2322 2400 2376
+f 2349 2275 2306
+f 2306 2376 2349
+f 2324 2234 2275
+f 2275 2349 2324
+f 2271 2170 2234
+f 2234 2324 2271
+f 2185 2093 2170
+f 2170 2271 2185
+f 2072 2016 2093
+f 2093 2185 2072
+f 1976 1968 2016
+f 2016 2072 1976
+f 1729 1858 1968
+f 1968 1976 1729
+f 2488 2409 2413
+f 2413 2498 2488
+f 2470 2400 2409
+f 2409 2488 2470
+f 2444 2376 2400
+f 2400 2470 2444
+f 2418 2349 2376
+f 2376 2444 2418
+f 2384 2324 2349
+f 2349 2418 2384
+f 2338 2271 2324
+f 2324 2384 2338
+f 2269 2185 2271
+f 2271 2338 2269
+f 2138 2072 2185
+f 2185 2269 2138
+f 1998 1976 2072
+f 2072 2138 1998
+f 1722 1729 1976
+f 1976 1998 1722
+f 2559 2488 2498
+f 2498 2569 2559
+f 2549 2470 2488
+f 2488 2559 2549
+f 2531 2444 2470
+f 2470 2549 2531
+f 2492 2418 2444
+f 2444 2531 2492
+f 2436 2384 2418
+f 2418 2492 2436
+f 2394 2338 2384
+f 2384 2436 2394
+f 2326 2269 2338
+f 2338 2394 2326
+f 2212 2138 2269
+f 2269 2326 2212
+f 2026 1998 2138
+f 2138 2212 2026
+f 1850 1722 1998
+f 1998 2026 1850
+f 2653 2559 2569
+f 2569 2655 2653
+f 2631 2549 2559
+f 2559 2653 2631
+f 2593 2531 2549
+f 2549 2631 2593
+f 2551 2492 2531
+f 2531 2593 2551
+f 2510 2436 2492
+f 2492 2551 2510
+f 2432 2394 2436
+f 2436 2510 2432
+f 2366 2326 2394
+f 2394 2432 2366
+f 2263 2212 2326
+f 2326 2366 2263
+f 2052 2026 2212
+f 2212 2263 2052
+f 1726 1850 2026
+f 2026 2052 1726
+f 2720 2653 2655
+f 2655 2726 2720
+f 2697 2631 2653
+f 2653 2720 2697
+f 2662 2593 2631
+f 2631 2697 2662
+f 2607 2551 2593
+f 2593 2662 2607
+f 2547 2510 2551
+f 2551 2607 2547
+f 2484 2432 2510
+f 2510 2547 2484
+f 2405 2366 2432
+f 2432 2484 2405
+f 2308 2263 2366
+f 2366 2405 2308
+f 2090 2052 2263
+f 2263 2308 2090
+f 1719 1726 2052
+f 2052 2090 1719
+f 2787 2720 2726
+f 2726 2795 2787
+f 2759 2697 2720
+f 2720 2787 2759
+f 2713 2662 2697
+f 2697 2759 2713
+f 2657 2607 2662
+f 2662 2713 2657
+f 2589 2547 2607
+f 2607 2657 2589
+f 2525 2484 2547
+f 2547 2589 2525
+f 2422 2405 2484
+f 2484 2525 2422
+f 2330 2308 2405
+f 2405 2422 2330
+f 2118 2090 2308
+f 2308 2330 2118
+f 1700 1719 2090
+f 2090 2118 1700
+f 2834 2787 2795
+f 2795 2844 2834
+f 2798 2759 2787
+f 2787 2834 2798
+f 2750 2713 2759
+f 2759 2798 2750
+f 2690 2657 2713
+f 2713 2750 2690
+f 2624 2589 2657
+f 2657 2690 2624
+f 2536 2525 2589
+f 2589 2624 2536
+f 2441 2422 2525
+f 2525 2536 2441
+f 2340 2330 2422
+f 2422 2441 2340
+f 2128 2118 2330
+f 2330 2340 2128
+f 1825 1700 2118
+f 2118 2128 1825
+f 2847 2834 2844
+f 2844 2857 2847
+f 2821 2798 2834
+f 2834 2847 2821
+f 2765 2750 2798
+f 2798 2821 2765
+f 2703 2690 2750
+f 2750 2765 2703
+f 2637 2624 2690
+f 2690 2703 2637
+f 2543 2536 2624
+f 2624 2637 2543
+f 2446 2441 2536
+f 2536 2543 2446
+f 2344 2340 2441
+f 2441 2446 2344
+f 2136 2128 2340
+f 2340 2344 2136
+f 1713 1825 2128
+f 2128 2136 1713
+f 1676 1682 1864
+f 1864 1862 1676
+f 1642 1656 1682
+f 1682 1676 1642
+f 1601 1636 1656
+f 1656 1642 1601
+f 1558 1612 1636
+f 1636 1601 1558
+f 1502 1588 1612
+f 1612 1558 1502
+f 1472 1564 1588
+f 1588 1502 1472
+f 1425 1540 1564
+f 1564 1472 1425
+f 1404 1520 1540
+f 1540 1425 1404
+f 1390 1506 1520
+f 1520 1404 1390
+f 1387 1498 1506
+f 1506 1390 1387
+f 1654 1676 1862
+f 1862 1859 1654
+f 1606 1642 1676
+f 1676 1654 1606
+f 1531 1601 1642
+f 1642 1606 1531
+f 1452 1558 1601
+f 1601 1531 1452
+f 1388 1502 1558
+f 1558 1452 1388
+f 1347 1472 1502
+f 1502 1388 1347
+f 1316 1425 1472
+f 1472 1347 1316
+f 1300 1404 1425
+f 1425 1316 1300
+f 1290 1390 1404
+f 1404 1300 1290
+f 1286 1387 1390
+f 1390 1290 1286
+f 1646 1654 1859
+f 1859 1856 1646
+f 1550 1606 1654
+f 1654 1646 1550
+f 1439 1531 1606
+f 1606 1550 1439
+f 1351 1452 1531
+f 1531 1439 1351
+f 1298 1388 1452
+f 1452 1351 1298
+f 1275 1347 1388
+f 1388 1298 1275
+f 1246 1316 1347
+f 1347 1275 1246
+f 1222 1300 1316
+f 1316 1246 1222
+f 1215 1290 1300
+f 1300 1222 1215
+f 1211 1286 1290
+f 1290 1215 1211
+f 1624 1646 1856
+f 1856 1854 1624
+f 1484 1550 1646
+f 1646 1624 1484
+f 1353 1439 1550
+f 1550 1484 1353
+f 1284 1351 1439
+f 1439 1353 1284
+f 1238 1298 1351
+f 1351 1284 1238
+f 1204 1275 1298
+f 1298 1238 1204
+f 1178 1246 1275
+f 1275 1204 1178
+f 1152 1222 1246
+f 1246 1178 1152
+f 1134 1215 1222
+f 1222 1152 1134
+f 1124 1211 1215
+f 1215 1134 1124
+f 1596 1624 1854
+f 1854 1851 1596
+f 1410 1484 1624
+f 1624 1596 1410
+f 1296 1353 1484
+f 1484 1410 1296
+f 1228 1284 1353
+f 1353 1296 1228
+f 1186 1238 1284
+f 1284 1228 1186
+f 1130 1204 1238
+f 1238 1186 1130
+f 1091 1178 1204
+f 1204 1130 1091
+f 1073 1152 1178
+f 1178 1091 1073
+f 1063 1134 1152
+f 1152 1073 1063
+f 1053 1124 1134
+f 1134 1063 1053
+f 1570 1596 1851
+f 1851 1848 1570
+f 1359 1410 1596
+f 1596 1570 1359
+f 1256 1296 1410
+f 1410 1359 1256
+f 1190 1228 1296
+f 1296 1256 1190
+f 1112 1186 1228
+f 1228 1190 1112
+f 1071 1130 1186
+f 1186 1112 1071
+f 1029 1091 1130
+f 1130 1071 1029
+f 991 1073 1091
+f 1091 1029 991
+f 969 1063 1073
+f 1073 991 969
+f 967 1053 1063
+f 1063 969 967
+f 1532 1570 1848
+f 1848 1846 1532
+f 1314 1359 1570
+f 1570 1532 1314
+f 1219 1256 1359
+f 1359 1314 1219
+f 1138 1190 1256
+f 1256 1219 1138
+f 1075 1112 1190
+f 1190 1138 1075
+f 1015 1071 1112
+f 1112 1075 1015
+f 962 1029 1071
+f 1071 1015 962
+f 925 991 1029
+f 1029 962 925
+f 904 969 991
+f 991 925 904
+f 898 967 969
+f 969 904 898
+f 1504 1532 1846
+f 1846 1832 1504
+f 1292 1314 1532
+f 1532 1504 1292
+f 1200 1219 1314
+f 1314 1292 1200
+f 1097 1138 1219
+f 1219 1200 1097
+f 1033 1075 1138
+f 1138 1097 1033
+f 965 1015 1075
+f 1075 1033 965
+f 909 962 1015
+f 1015 965 909
+f 863 925 962
+f 962 909 863
+f 835 904 925
+f 925 863 835
+f 827 898 904
+f 904 835 827
+f 1494 1504 1832
+f 1832 1824 1494
+f 1282 1292 1504
+f 1504 1494 1282
+f 1183 1200 1292
+f 1292 1282 1183
+f 1088 1097 1200
+f 1200 1183 1088
+f 1000 1033 1097
+f 1097 1088 1000
+f 934 965 1033
+f 1033 1000 934
+f 874 909 965
+f 965 934 874
+f 826 863 909
+f 909 874 826
+f 790 835 863
+f 863 826 790
+f 780 827 835
+f 835 790 780
+f 1486 1494 1824
+f 1824 1814 1486
+f 1278 1282 1494
+f 1494 1486 1278
+f 1176 1183 1282
+f 1282 1278 1176
+f 1079 1088 1183
+f 1183 1176 1079
+f 985 1000 1088
+f 1088 1079 985
+f 919 934 1000
+f 1000 985 919
+f 857 874 934
+f 934 919 857
+f 801 826 874
+f 874 857 801
+f 775 790 826
+f 826 801 775
+f 765 780 790
+f 790 775 765
+f 1391 1507 1499
+f 1499 1387 1391
+f 1405 1521 1507
+f 1507 1391 1405
+f 1424 1541 1521
+f 1521 1405 1424
+f 1473 1565 1541
+f 1541 1424 1473
+f 1503 1589 1565
+f 1565 1473 1503
+f 1559 1613 1589
+f 1589 1503 1559
+f 1600 1637 1613
+f 1613 1559 1600
+f 1643 1657 1637
+f 1637 1600 1643
+f 1677 1683 1657
+f 1657 1643 1677
+f 1863 1892 1683
+f 1683 1677 1863
+f 1291 1391 1387
+f 1387 1287 1291
+f 1301 1405 1391
+f 1391 1291 1301
+f 1317 1424 1405
+f 1405 1301 1317
+f 1348 1473 1424
+f 1424 1317 1348
+f 1389 1503 1473
+f 1473 1348 1389
+f 1453 1559 1503
+f 1503 1389 1453
+f 1530 1600 1559
+f 1559 1453 1530
+f 1607 1643 1600
+f 1600 1530 1607
+f 1655 1677 1643
+f 1643 1607 1655
+f 1861 1863 1677
+f 1677 1655 1861
+f 1214 1291 1287
+f 1287 1210 1214
+f 1223 1301 1291
+f 1291 1214 1223
+f 1247 1317 1301
+f 1301 1223 1247
+f 1274 1348 1317
+f 1317 1247 1274
+f 1299 1389 1348
+f 1348 1274 1299
+f 1352 1453 1389
+f 1389 1299 1352
+f 1438 1530 1453
+f 1453 1352 1438
+f 1551 1607 1530
+f 1530 1438 1551
+f 1647 1655 1607
+f 1607 1551 1647
+f 1891 1861 1655
+f 1655 1647 1891
+f 1135 1214 1210
+f 1210 1125 1135
+f 1153 1223 1214
+f 1214 1135 1153
+f 1179 1247 1223
+f 1223 1153 1179
+f 1205 1274 1247
+f 1247 1179 1205
+f 1239 1299 1274
+f 1274 1205 1239
+f 1285 1352 1299
+f 1299 1239 1285
+f 1354 1438 1352
+f 1352 1285 1354
+f 1485 1551 1438
+f 1438 1354 1485
+f 1625 1647 1551
+f 1551 1485 1625
+f 1901 1891 1647
+f 1647 1625 1901
+f 1064 1135 1125
+f 1125 1054 1064
+f 1074 1153 1135
+f 1135 1064 1074
+f 1092 1179 1153
+f 1153 1074 1092
+f 1131 1205 1179
+f 1179 1092 1131
+f 1187 1239 1205
+f 1205 1131 1187
+f 1229 1285 1239
+f 1239 1187 1229
+f 1297 1354 1285
+f 1285 1229 1297
+f 1411 1485 1354
+f 1354 1297 1411
+f 1597 1625 1485
+f 1485 1411 1597
+f 1853 1901 1625
+f 1625 1597 1853
+f 970 1064 1054
+f 1054 968 970
+f 992 1074 1064
+f 1064 970 992
+f 1030 1092 1074
+f 1074 992 1030
+f 1072 1131 1092
+f 1092 1030 1072
+f 1113 1187 1131
+f 1131 1072 1113
+f 1191 1229 1187
+f 1187 1113 1191
+f 1257 1297 1229
+f 1229 1191 1257
+f 1360 1411 1297
+f 1297 1257 1360
+f 1571 1597 1411
+f 1411 1360 1571
+f 1899 1853 1597
+f 1597 1571 1899
+f 903 970 968
+f 968 897 903
+f 926 992 970
+f 970 903 926
+f 961 1030 992
+f 992 926 961
+f 1016 1072 1030
+f 1030 961 1016
+f 1076 1113 1072
+f 1072 1016 1076
+f 1139 1191 1113
+f 1113 1076 1139
+f 1218 1257 1191
+f 1191 1139 1218
+f 1315 1360 1257
+f 1257 1218 1315
+f 1533 1571 1360
+f 1360 1315 1533
+f 1920 1899 1571
+f 1571 1533 1920
+f 836 903 897
+f 897 828 836
+f 864 926 903
+f 903 836 864
+f 910 961 926
+f 926 864 910
+f 966 1016 961
+f 961 910 966
+f 1034 1076 1016
+f 1016 966 1034
+f 1098 1139 1076
+f 1076 1034 1098
+f 1201 1218 1139
+f 1139 1098 1201
+f 1293 1315 1218
+f 1218 1201 1293
+f 1505 1533 1315
+f 1315 1293 1505
+f 1924 1920 1533
+f 1533 1505 1924
+f 789 836 828
+f 828 779 789
+f 825 864 836
+f 836 789 825
+f 873 910 864
+f 864 825 873
+f 933 966 910
+f 910 873 933
+f 999 1034 966
+f 966 933 999
+f 1087 1098 1034
+f 1034 999 1087
+f 1182 1201 1098
+f 1098 1087 1182
+f 1283 1293 1201
+f 1201 1182 1283
+f 1495 1505 1293
+f 1293 1283 1495
+f 1826 1924 1505
+f 1505 1495 1826
+f 776 789 779
+f 779 766 776
+f 802 825 789
+f 789 776 802
+f 858 873 825
+f 825 802 858
+f 920 933 873
+f 873 858 920
+f 986 999 933
+f 933 920 986
+f 1080 1087 999
+f 999 986 1080
+f 1177 1182 1087
+f 1087 1080 1177
+f 1279 1283 1182
+f 1182 1177 1279
+f 1487 1495 1283
+f 1283 1279 1487
+f 1914 1826 1495
+f 1495 1487 1914
+f 1947 1941 1867
+f 1867 1863 1947
+f 1981 1967 1941
+f 1941 1947 1981
+f 2022 1987 1967
+f 1967 1981 2022
+f 2065 2011 1987
+f 1987 2022 2065
+f 2121 2035 2011
+f 2011 2065 2121
+f 2151 2059 2035
+f 2035 2121 2151
+f 2198 2083 2059
+f 2059 2151 2198
+f 2219 2103 2083
+f 2083 2198 2219
+f 2233 2117 2103
+f 2103 2219 2233
+f 2236 2125 2117
+f 2117 2233 2236
+f 1969 1947 1863
+f 1863 1860 1969
+f 2017 1981 1947
+f 1947 1969 2017
+f 2092 2022 1981
+f 1981 2017 2092
+f 2171 2065 2022
+f 2022 2092 2171
+f 2235 2121 2065
+f 2065 2171 2235
+f 2276 2151 2121
+f 2121 2235 2276
+f 2307 2198 2151
+f 2151 2276 2307
+f 2323 2219 2198
+f 2198 2307 2323
+f 2333 2233 2219
+f 2219 2323 2333
+f 2337 2236 2233
+f 2233 2333 2337
+f 1977 1969 1860
+f 1860 1857 1977
+f 2073 2017 1969
+f 1969 1977 2073
+f 2184 2092 2017
+f 2017 2073 2184
+f 2272 2171 2092
+f 2092 2184 2272
+f 2325 2235 2171
+f 2171 2272 2325
+f 2348 2276 2235
+f 2235 2325 2348
+f 2377 2307 2276
+f 2276 2348 2377
+f 2401 2323 2307
+f 2307 2377 2401
+f 2408 2333 2323
+f 2323 2401 2408
+f 2412 2337 2333
+f 2333 2408 2412
+f 1999 1977 1857
+f 1857 1855 1999
+f 2139 2073 1977
+f 1977 1999 2139
+f 2270 2184 2073
+f 2073 2139 2270
+f 2339 2272 2184
+f 2184 2270 2339
+f 2385 2325 2272
+f 2272 2339 2385
+f 2419 2348 2325
+f 2325 2385 2419
+f 2445 2377 2348
+f 2348 2419 2445
+f 2471 2401 2377
+f 2377 2445 2471
+f 2489 2408 2401
+f 2401 2471 2489
+f 2499 2412 2408
+f 2408 2489 2499
+f 2027 1999 1855
+f 1855 1852 2027
+f 2213 2139 1999
+f 1999 2027 2213
+f 2327 2270 2139
+f 2139 2213 2327
+f 2395 2339 2270
+f 2270 2327 2395
+f 2437 2385 2339
+f 2339 2395 2437
+f 2493 2419 2385
+f 2385 2437 2493
+f 2532 2445 2419
+f 2419 2493 2532
+f 2550 2471 2445
+f 2445 2532 2550
+f 2560 2489 2471
+f 2471 2550 2560
+f 2570 2499 2489
+f 2489 2560 2570
+f 2053 2027 1852
+f 1852 1849 2053
+f 2264 2213 2027
+f 2027 2053 2264
+f 2367 2327 2213
+f 2213 2264 2367
+f 2433 2395 2327
+f 2327 2367 2433
+f 2511 2437 2395
+f 2395 2433 2511
+f 2552 2493 2437
+f 2437 2511 2552
+f 2594 2532 2493
+f 2493 2552 2594
+f 2632 2550 2532
+f 2532 2594 2632
+f 2654 2560 2550
+f 2550 2632 2654
+f 2656 2570 2560
+f 2560 2654 2656
+f 2091 2053 1849
+f 1849 1847 2091
+f 2309 2264 2053
+f 2053 2091 2309
+f 2404 2367 2264
+f 2264 2309 2404
+f 2485 2433 2367
+f 2367 2404 2485
+f 2548 2511 2433
+f 2433 2485 2548
+f 2608 2552 2511
+f 2511 2548 2608
+f 2661 2594 2552
+f 2552 2608 2661
+f 2698 2632 2594
+f 2594 2661 2698
+f 2719 2654 2632
+f 2632 2698 2719
+f 2725 2656 2654
+f 2654 2719 2725
+f 2119 2091 1847
+f 1847 1833 2119
+f 2331 2309 2091
+f 2091 2119 2331
+f 2423 2404 2309
+f 2309 2331 2423
+f 2526 2485 2404
+f 2404 2423 2526
+f 2590 2548 2485
+f 2485 2526 2590
+f 2658 2608 2548
+f 2548 2590 2658
+f 2714 2661 2608
+f 2608 2658 2714
+f 2760 2698 2661
+f 2661 2714 2760
+f 2788 2719 2698
+f 2698 2760 2788
+f 2796 2725 2719
+f 2719 2788 2796
+f 2129 2119 1833
+f 1833 1827 2129
+f 2341 2331 2119
+f 2119 2129 2341
+f 2440 2423 2331
+f 2331 2341 2440
+f 2535 2526 2423
+f 2423 2440 2535
+f 2623 2590 2526
+f 2526 2535 2623
+f 2689 2658 2590
+f 2590 2623 2689
+f 2749 2714 2658
+f 2658 2689 2749
+f 2797 2760 2714
+f 2714 2749 2797
+f 2833 2788 2760
+f 2760 2797 2833
+f 2843 2796 2788
+f 2788 2833 2843
+f 2137 2129 1827
+f 1827 1815 2137
+f 2345 2341 2129
+f 2129 2137 2345
+f 2447 2440 2341
+f 2341 2345 2447
+f 2544 2535 2440
+f 2440 2447 2544
+f 2638 2623 2535
+f 2535 2544 2638
+f 2704 2689 2623
+f 2623 2638 2704
+f 2766 2749 2689
+f 2689 2704 2766
+f 2822 2797 2749
+f 2749 2766 2822
+f 2848 2833 2797
+f 2797 2822 2848
+f 2858 2843 2833
+f 2833 2848 2858
+f 1735 2334 2329
+f 1735 2329 2321
+f 1735 2321 2305
+f 1735 2305 2274
+f 1735 2274 2231
+f 1735 2231 2167
+f 1735 2167 2089
+f 1735 2089 2014
+f 1735 2014 1962
+f 1735 1962 1733
+f 2515 2329 2334
+f 2334 2524 2515
+f 2495 2321 2329
+f 2329 2515 2495
+f 2456 2305 2321
+f 2321 2495 2456
+f 2429 2274 2305
+f 2305 2456 2429
+f 2399 2231 2274
+f 2274 2429 2399
+f 2347 2167 2231
+f 2231 2399 2347
+f 2292 2089 2167
+f 2167 2347 2292
+f 2148 2014 2089
+f 2089 2292 2148
+f 2004 1962 2014
+f 2014 2148 2004
+f 1739 1733 1962
+f 1962 2004 1739
+f 2647 2515 2524
+f 2524 2649 2647
+f 2621 2495 2515
+f 2515 2647 2621
+f 2584 2456 2495
+f 2495 2621 2584
+f 2541 2429 2456
+f 2456 2584 2541
+f 2502 2399 2429
+f 2429 2541 2502
+f 2426 2347 2399
+f 2399 2502 2426
+f 2352 2292 2347
+f 2347 2426 2352
+f 2255 2148 2292
+f 2292 2352 2255
+f 2046 2004 2148
+f 2148 2255 2046
+f 1702 1739 2004
+f 2004 2046 1702
+f 2746 2647 2649
+f 2649 2757 2746
+f 2721 2621 2647
+f 2647 2746 2721
+f 2681 2584 2621
+f 2621 2721 2681
+f 2639 2541 2584
+f 2584 2681 2639
+f 2557 2502 2541
+f 2541 2639 2557
+f 2505 2426 2502
+f 2502 2557 2505
+f 2415 2352 2426
+f 2426 2505 2415
+f 2318 2255 2352
+f 2352 2415 2318
+f 2098 2046 2255
+f 2255 2318 2098
+f 1745 1702 2046
+f 2046 2098 1745
+f 2840 2746 2757
+f 2757 2849 2840
+f 2808 2721 2746
+f 2746 2840 2808
+f 2756 2681 2721
+f 2721 2808 2756
+f 2696 2639 2681
+f 2681 2756 2696
+f 2626 2557 2639
+f 2639 2696 2626
+f 2538 2505 2557
+f 2557 2626 2538
+f 2443 2415 2505
+f 2505 2538 2443
+f 2342 2318 2415
+f 2415 2443 2342
+f 2131 2098 2318
+f 2318 2342 2131
+f 1904 1745 2098
+f 2098 2131 1904
+f 2906 2840 2849
+f 2849 2925 2906
+f 2867 2808 2840
+f 2840 2906 2867
+f 2818 2756 2808
+f 2808 2867 2818
+f 2736 2696 2756
+f 2756 2818 2736
+f 2667 2626 2696
+f 2696 2736 2667
+f 2565 2538 2626
+f 2626 2667 2565
+f 2475 2443 2538
+f 2538 2565 2475
+f 2356 2342 2443
+f 2443 2475 2356
+f 2156 2131 2342
+f 2342 2356 2156
+f 1704 1904 2131
+f 2131 2156 1704
+f 2976 2906 2925
+f 2925 2987 2976
+f 2914 2867 2906
+f 2906 2976 2914
+f 2852 2818 2867
+f 2867 2914 2852
+f 2772 2736 2818
+f 2818 2852 2772
+f 2688 2667 2736
+f 2736 2772 2688
+f 2592 2565 2667
+f 2667 2688 2592
+f 2497 2475 2565
+f 2565 2592 2497
+f 2372 2356 2475
+f 2475 2497 2372
+f 2176 2156 2356
+f 2356 2372 2176
+f 1752 1704 2156
+f 2156 2176 1752
+f 2993 2976 2987
+f 2987 3011 2993
+f 2952 2914 2976
+f 2976 2993 2952
+f 2874 2852 2914
+f 2914 2952 2874
+f 2794 2772 2852
+f 2852 2874 2794
+f 2702 2688 2772
+f 2772 2794 2702
+f 2604 2592 2688
+f 2688 2702 2604
+f 2509 2497 2592
+f 2592 2604 2509
+f 2380 2372 2497
+f 2497 2509 2380
+f 2182 2176 2372
+f 2372 2380 2182
+f 1723 1752 2176
+f 2176 2182 1723
+f 3000 2993 3011
+f 3011 3020 3000
+f 2967 2952 2993
+f 2993 3000 2967
+f 2879 2874 2952
+f 2952 2967 2879
+f 2799 2794 2874
+f 2874 2879 2799
+f 2707 2702 2794
+f 2794 2799 2707
+f 2605 2604 2702
+f 2702 2707 2605
+f 2512 2509 2604
+f 2604 2605 2512
+f 2382 2380 2509
+f 2509 2512 2382
+f 2188 2182 2380
+f 2380 2382 2188
+f 1699 1723 2182
+f 2182 2188 1699
+f 3006 3000 3020
+f 3020 3022 3006
+f 2972 2967 3000
+f 3000 3006 2972
+f 2888 2879 2967
+f 2967 2972 2888
+f 2804 2799 2879
+f 2879 2888 2804
+f 2710 2707 2799
+f 2799 2804 2710
+f 2613 2605 2707
+f 2707 2710 2613
+f 2520 2512 2605
+f 2605 2613 2520
+f 2388 2382 2512
+f 2512 2520 2388
+f 2192 2188 2382
+f 2382 2388 2192
+f 1760 1699 2188
+f 2188 2192 1760
+f 1735 1737 1660
+f 1735 1660 1608
+f 1735 1608 1535
+f 1735 1535 1457
+f 1735 1457 1393
+f 1735 1393 1350
+f 1735 1350 1319
+f 1735 1319 1303
+f 1735 1303 1295
+f 1735 1295 1288
+f 1618 1660 1737
+f 1737 1739 1618
+f 1474 1608 1660
+f 1660 1618 1474
+f 1332 1535 1608
+f 1608 1474 1332
+f 1277 1457 1535
+f 1535 1332 1277
+f 1225 1393 1457
+f 1457 1277 1225
+f 1195 1350 1393
+f 1393 1225 1195
+f 1166 1319 1350
+f 1350 1195 1166
+f 1129 1303 1319
+f 1319 1166 1129
+f 1109 1295 1303
+f 1303 1129 1109
+f 1099 1288 1295
+f 1295 1109 1099
+f 1576 1618 1739
+f 1739 1741 1576
+f 1367 1474 1618
+f 1618 1576 1367
+f 1270 1332 1474
+f 1474 1367 1270
+f 1196 1277 1332
+f 1332 1270 1196
+f 1120 1225 1277
+f 1277 1196 1120
+f 1081 1195 1225
+f 1225 1120 1081
+f 1040 1166 1195
+f 1195 1081 1040
+f 1001 1129 1166
+f 1166 1040 1001
+f 975 1109 1129
+f 1129 1001 975
+f 973 1099 1109
+f 1109 975 973
+f 1524 1576 1741
+f 1741 1744 1524
+f 1304 1367 1576
+f 1576 1524 1304
+f 1209 1270 1367
+f 1367 1304 1209
+f 1119 1196 1270
+f 1270 1209 1119
+f 1065 1120 1196
+f 1196 1119 1065
+f 983 1081 1120
+f 1120 1065 983
+f 941 1040 1081
+f 1081 983 941
+f 901 1001 1040
+f 1040 941 901
+f 878 975 1001
+f 1001 901 878
+f 865 973 975
+f 975 878 865
+f 1493 1524 1744
+f 1744 1747 1493
+f 1280 1304 1524
+f 1524 1493 1280
+f 1181 1209 1304
+f 1304 1280 1181
+f 1086 1119 1209
+f 1209 1181 1086
+f 998 1065 1119
+f 1119 1086 998
+f 928 983 1065
+f 1065 998 928
+f 868 941 983
+f 983 928 868
+f 816 901 941
+f 941 868 816
+f 784 878 901
+f 901 816 784
+f 773 865 878
+f 878 784 773
+f 1466 1493 1747
+f 1747 1749 1466
+f 1266 1280 1493
+f 1493 1466 1266
+f 1149 1181 1280
+f 1280 1266 1149
+f 1057 1086 1181
+f 1181 1149 1057
+f 955 998 1086
+f 1086 1057 955
+f 888 928 998
+f 998 955 888
+f 806 868 928
+f 928 888 806
+f 755 816 868
+f 868 806 755
+f 718 784 816
+f 816 755 718
+f 697 773 784
+f 784 718 697
+f 1446 1466 1749
+f 1749 1753 1446
+f 1250 1266 1466
+f 1466 1446 1250
+f 1127 1149 1266
+f 1266 1250 1127
+f 1032 1057 1149
+f 1149 1127 1032
+f 936 955 1057
+f 1057 1032 936
+f 852 888 955
+f 955 936 852
+f 772 806 888
+f 888 852 772
+f 710 755 806
+f 806 772 710
+f 648 718 755
+f 755 710 648
+f 637 697 718
+f 718 648 637
+f 1440 1446 1753
+f 1753 1755 1440
+f 1242 1250 1446
+f 1446 1440 1242
+f 1115 1127 1250
+f 1250 1242 1115
+f 1020 1032 1127
+f 1127 1115 1020
+f 922 936 1032
+f 1032 1020 922
+f 830 852 936
+f 936 922 830
+f 750 772 852
+f 852 830 750
+f 672 710 772
+f 772 750 672
+f 631 648 710
+f 710 672 631
+f 613 637 648
+f 648 631 613
+f 1434 1440 1755
+f 1755 1757 1434
+f 1240 1242 1440
+f 1440 1434 1240
+f 1110 1115 1242
+f 1242 1240 1110
+f 1017 1020 1115
+f 1115 1110 1017
+f 915 922 1020
+f 1020 1017 915
+f 823 830 922
+f 922 915 823
+f 743 750 830
+f 830 823 743
+f 655 672 750
+f 750 743 655
+f 622 631 672
+f 672 655 622
+f 602 613 631
+f 631 622 602
+f 1428 1434 1757
+f 1757 1760 1428
+f 1232 1240 1434
+f 1434 1428 1232
+f 1105 1110 1240
+f 1240 1232 1105
+f 1010 1017 1110
+f 1110 1105 1010
+f 913 915 1017
+f 1017 1010 913
+f 821 823 915
+f 915 913 821
+f 736 743 823
+f 823 821 736
+f 652 655 743
+f 743 736 652
+f 619 622 655
+f 655 652 619
+f 601 602 622
+f 622 619 601
+f 1735 1289 1294
+f 1735 1294 1302
+f 1735 1302 1318
+f 1735 1318 1349
+f 1735 1349 1392
+f 1735 1392 1456
+f 1735 1456 1534
+f 1735 1534 1609
+f 1735 1609 1661
+f 1735 1661 1889
+f 1108 1294 1289
+f 1289 1099 1108
+f 1128 1302 1294
+f 1294 1108 1128
+f 1167 1318 1302
+f 1302 1128 1167
+f 1194 1349 1318
+f 1318 1167 1194
+f 1224 1392 1349
+f 1349 1194 1224
+f 1276 1456 1392
+f 1392 1224 1276
+f 1331 1534 1456
+f 1456 1276 1331
+f 1475 1609 1534
+f 1534 1331 1475
+f 1619 1661 1609
+f 1609 1475 1619
+f 1738 1889 1661
+f 1661 1619 1738
+f 976 1108 1099
+f 1099 974 976
+f 1002 1128 1108
+f 1108 976 1002
+f 1039 1167 1128
+f 1128 1002 1039
+f 1082 1194 1167
+f 1167 1039 1082
+f 1121 1224 1194
+f 1194 1082 1121
+f 1197 1276 1224
+f 1224 1121 1197
+f 1271 1331 1276
+f 1276 1197 1271
+f 1368 1475 1331
+f 1331 1271 1368
+f 1577 1619 1475
+f 1475 1368 1577
+f 1903 1738 1619
+f 1619 1577 1903
+f 877 976 974
+f 974 866 877
+f 902 1002 976
+f 976 877 902
+f 942 1039 1002
+f 1002 902 942
+f 984 1082 1039
+f 1039 942 984
+f 1066 1121 1082
+f 1082 984 1066
+f 1118 1197 1121
+f 1121 1066 1118
+f 1208 1271 1197
+f 1197 1118 1208
+f 1305 1368 1271
+f 1271 1208 1305
+f 1525 1577 1368
+f 1368 1305 1525
+f 1742 1903 1577
+f 1577 1525 1742
+f 783 877 866
+f 866 774 783
+f 815 902 877
+f 877 783 815
+f 867 942 902
+f 902 815 867
+f 927 984 942
+f 942 867 927
+f 997 1066 984
+f 984 927 997
+f 1085 1118 1066
+f 1066 997 1085
+f 1180 1208 1118
+f 1118 1085 1180
+f 1281 1305 1208
+f 1208 1180 1281
+f 1492 1525 1305
+f 1305 1281 1492
+f 1703 1742 1525
+f 1525 1492 1703
+f 717 783 774
+f 774 698 717
+f 756 815 783
+f 783 717 756
+f 805 867 815
+f 815 756 805
+f 887 927 867
+f 867 805 887
+f 956 997 927
+f 927 887 956
+f 1058 1085 997
+f 997 956 1058
+f 1148 1180 1085
+f 1085 1058 1148
+f 1267 1281 1180
+f 1180 1148 1267
+f 1467 1492 1281
+f 1281 1267 1467
+f 1905 1703 1492
+f 1492 1467 1905
+f 647 717 698
+f 698 636 647
+f 709 756 717
+f 717 647 709
+f 771 805 756
+f 756 709 771
+f 851 887 805
+f 805 771 851
+f 935 956 887
+f 887 851 935
+f 1031 1058 956
+f 956 935 1031
+f 1126 1148 1058
+f 1058 1031 1126
+f 1251 1267 1148
+f 1148 1126 1251
+f 1447 1467 1267
+f 1267 1251 1447
+f 1751 1905 1467
+f 1467 1447 1751
+f 630 647 636
+f 636 612 630
+f 671 709 647
+f 647 630 671
+f 749 771 709
+f 709 671 749
+f 829 851 771
+f 771 749 829
+f 921 935 851
+f 851 829 921
+f 1019 1031 935
+f 935 921 1019
+f 1114 1126 1031
+f 1031 1019 1114
+f 1243 1251 1126
+f 1126 1114 1243
+f 1441 1447 1251
+f 1251 1243 1441
+f 1896 1751 1447
+f 1447 1441 1896
+f 623 630 612
+f 612 603 623
+f 656 671 630
+f 630 623 656
+f 744 749 671
+f 671 656 744
+f 824 829 749
+f 749 744 824
+f 916 921 829
+f 829 824 916
+f 1018 1019 921
+f 921 916 1018
+f 1111 1114 1019
+f 1019 1018 1111
+f 1241 1243 1114
+f 1114 1111 1241
+f 1435 1441 1243
+f 1243 1241 1435
+f 1923 1896 1441
+f 1441 1435 1923
+f 617 623 603
+f 603 601 617
+f 650 656 623
+f 623 617 650
+f 734 744 656
+f 656 650 734
+f 818 824 744
+f 744 734 818
+f 912 916 824
+f 824 818 912
+f 1009 1018 916
+f 916 912 1009
+f 1102 1111 1018
+f 1018 1009 1102
+f 1235 1241 1111
+f 1111 1102 1235
+f 1431 1435 1241
+f 1241 1235 1431
+f 1759 1923 1435
+f 1435 1431 1759
+f 1735 1736 1963
+f 1735 1963 2015
+f 1735 2015 2088
+f 1735 2088 2166
+f 1735 2166 2230
+f 1735 2230 2273
+f 1735 2273 2304
+f 1735 2304 2320
+f 1735 2320 2328
+f 1735 2328 2335
+f 2005 1963 1736
+f 1736 1738 2005
+f 2149 2015 1963
+f 1963 2005 2149
+f 2291 2088 2015
+f 2015 2149 2291
+f 2346 2166 2088
+f 2088 2291 2346
+f 2398 2230 2166
+f 2166 2346 2398
+f 2428 2273 2230
+f 2230 2398 2428
+f 2457 2304 2273
+f 2273 2428 2457
+f 2494 2320 2304
+f 2304 2457 2494
+f 2514 2328 2320
+f 2320 2494 2514
+f 2524 2335 2328
+f 2328 2514 2524
+f 2047 2005 1738
+f 1738 1740 2047
+f 2256 2149 2005
+f 2005 2047 2256
+f 2353 2291 2149
+f 2149 2256 2353
+f 2427 2346 2291
+f 2291 2353 2427
+f 2503 2398 2346
+f 2346 2427 2503
+f 2542 2428 2398
+f 2398 2503 2542
+f 2583 2457 2428
+f 2428 2542 2583
+f 2622 2494 2457
+f 2457 2583 2622
+f 2648 2514 2494
+f 2494 2622 2648
+f 2650 2524 2514
+f 2514 2648 2650
+f 2099 2047 1740
+f 1740 1743 2099
+f 2319 2256 2047
+f 2047 2099 2319
+f 2414 2353 2256
+f 2256 2319 2414
+f 2504 2427 2353
+f 2353 2414 2504
+f 2558 2503 2427
+f 2427 2504 2558
+f 2640 2542 2503
+f 2503 2558 2640
+f 2682 2583 2542
+f 2542 2640 2682
+f 2722 2622 2583
+f 2583 2682 2722
+f 2745 2648 2622
+f 2622 2722 2745
+f 2758 2650 2648
+f 2648 2745 2758
+f 2130 2099 1743
+f 1743 1746 2130
+f 2343 2319 2099
+f 2099 2130 2343
+f 2442 2414 2319
+f 2319 2343 2442
+f 2537 2504 2414
+f 2414 2442 2537
+f 2625 2558 2504
+f 2504 2537 2625
+f 2695 2640 2558
+f 2558 2625 2695
+f 2755 2682 2640
+f 2640 2695 2755
+f 2807 2722 2682
+f 2682 2755 2807
+f 2839 2745 2722
+f 2722 2807 2839
+f 2850 2758 2745
+f 2745 2839 2850
+f 2157 2130 1746
+f 1746 1748 2157
+f 2357 2343 2130
+f 2130 2157 2357
+f 2474 2442 2343
+f 2343 2357 2474
+f 2566 2537 2442
+f 2442 2474 2566
+f 2668 2625 2537
+f 2537 2566 2668
+f 2735 2695 2625
+f 2625 2668 2735
+f 2817 2755 2695
+f 2695 2735 2817
+f 2868 2807 2755
+f 2755 2817 2868
+f 2905 2839 2807
+f 2807 2868 2905
+f 2926 2850 2839
+f 2839 2905 2926
+f 2177 2157 1748
+f 1748 1750 2177
+f 2373 2357 2157
+f 2157 2177 2373
+f 2496 2474 2357
+f 2357 2373 2496
+f 2591 2566 2474
+f 2474 2496 2591
+f 2687 2668 2566
+f 2566 2591 2687
+f 2771 2735 2668
+f 2668 2687 2771
+f 2851 2817 2735
+f 2735 2771 2851
+f 2913 2868 2817
+f 2817 2851 2913
+f 2975 2905 2868
+f 2868 2913 2975
+f 2986 2926 2905
+f 2905 2975 2986
+f 2183 2177 1750
+f 1750 1754 2183
+f 2381 2373 2177
+f 2177 2183 2381
+f 2508 2496 2373
+f 2373 2381 2508
+f 2603 2591 2496
+f 2496 2508 2603
+f 2701 2687 2591
+f 2591 2603 2701
+f 2793 2771 2687
+f 2687 2701 2793
+f 2873 2851 2771
+f 2771 2793 2873
+f 2951 2913 2851
+f 2851 2873 2951
+f 2992 2975 2913
+f 2913 2951 2992
+f 3010 2986 2975
+f 2975 2992 3010
+f 2189 2183 1754
+f 1754 1756 2189
+f 2383 2381 2183
+f 2183 2189 2383
+f 2513 2508 2381
+f 2381 2383 2513
+f 2606 2603 2508
+f 2508 2513 2606
+f 2708 2701 2603
+f 2603 2606 2708
+f 2800 2793 2701
+f 2701 2708 2800
+f 2880 2873 2793
+f 2793 2800 2880
+f 2968 2951 2873
+f 2873 2880 2968
+f 3001 2992 2951
+f 2951 2968 3001
+f 3021 3010 2992
+f 2992 3001 3021
+f 2195 2189 1756
+f 1756 1759 2195
+f 2390 2383 2189
+f 2189 2195 2390
+f 2517 2513 2383
+f 2383 2390 2517
+f 2612 2606 2513
+f 2513 2517 2612
+f 2709 2708 2606
+f 2606 2612 2709
+f 2801 2800 2708
+f 2708 2709 2801
+f 2886 2880 2800
+f 2800 2801 2886
+f 2970 2968 2880
+f 2880 2886 2970
+f 3004 3001 2968
+f 2968 2970 3004
+f 3022 3021 3001
+f 3001 3004 3022
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_08/Ex_08.pde b/content/handbook_2e/examples/17 Shapes/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..38883e5ff
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_08/Ex_08.pde
@@ -0,0 +1,15 @@
+PShape pot;
+
+void setup() {
+ size(100, 100, P3D);
+ pot = loadShape("teapot.obj");
+ pot.scale(12);
+}
+
+void draw() {
+ background(0);
+ lights();
+ translate(50, 50);
+ pot.rotateX(0.05);
+ shape(pot, 0, 0);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_08/data/teapot-upsidedown.obj b/content/handbook_2e/examples/17 Shapes/Ex_08/data/teapot-upsidedown.obj
new file mode 100644
index 000000000..1fabb3d74
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_08/data/teapot-upsidedown.obj
@@ -0,0 +1,9965 @@
+v -3.000000 1.800000 0.000000
+v -2.991600 1.800000 -0.081000
+v -2.991600 1.800000 0.081000
+v -2.989450 1.666162 0.000000
+v -2.985000 1.921950 0.000000
+v -2.985000 1.921950 0.000000
+v -2.981175 1.667844 -0.081000
+v -2.981175 1.667844 0.081000
+v -2.976687 1.920243 -0.081000
+v -2.976687 1.920243 0.081000
+v -2.968800 1.800000 -0.144000
+v -2.968800 1.800000 0.144000
+v -2.958713 1.672406 -0.144000
+v -2.958713 1.672406 0.144000
+v -2.957600 1.534800 0.000000
+v -2.957600 1.534800 0.000000
+v -2.954122 1.915609 -0.144000
+v -2.954122 1.915609 0.144000
+v -2.949693 1.537790 -0.081000
+v -2.949693 1.537790 0.081000
+v -2.940000 2.019600 0.000000
+v -2.935200 1.800000 -0.189000
+v -2.935200 1.800000 0.189000
+v -2.931958 2.016526 0.081000
+v -2.931958 2.016526 -0.081000
+v -2.928230 1.545907 -0.144000
+v -2.928230 1.545907 0.144000
+v -2.925611 1.679131 -0.189000
+v -2.925611 1.679131 0.189000
+v -2.920870 1.908779 -0.189000
+v -2.920870 1.908779 0.189000
+v -2.910131 2.008181 -0.144000
+v -2.910131 2.008181 0.144000
+v -2.904150 1.406137 0.000000
+v -2.904150 1.406137 0.000000
+v -2.896846 1.410135 0.081000
+v -2.896846 1.410135 -0.081000
+v -2.896602 1.557869 -0.189000
+v -2.896602 1.557869 0.189000
+v -2.894400 1.800000 -0.216000
+v -2.894400 1.800000 0.216000
+v -2.885416 1.687296 -0.216000
+v -2.885416 1.687296 0.216000
+v -2.880491 1.900487 -0.216000
+v -2.880491 1.900487 0.216000
+v -2.877965 1.995883 -0.189000
+v -2.877965 1.995883 0.189000
+v -2.877022 1.420985 -0.144000
+v -2.877022 1.420985 0.144000
+v -2.865000 2.095650 0.000000
+v -2.858195 1.572394 0.216000
+v -2.858195 1.572394 -0.216000
+v -2.857432 2.091511 -0.081000
+v -2.857432 2.091511 0.081000
+v -2.850000 1.800000 -0.225000
+v -2.850000 1.800000 0.225000
+v -2.847806 1.436974 0.189000
+v -2.847806 1.436974 -0.189000
+v -2.841675 1.696181 0.225000
+v -2.841675 1.696181 -0.225000
+v -2.838906 1.980950 -0.216000
+v -2.838906 1.980950 0.216000
+v -2.836889 2.080276 -0.144000
+v -2.836889 2.080276 0.144000
+v -2.836550 1.891463 -0.225000
+v -2.836550 1.891463 0.225000
+v -2.828800 1.280400 0.000000
+v -2.822326 1.285171 -0.081000
+v -2.822326 1.285171 0.081000
+v -2.816400 1.588200 -0.225000
+v -2.816400 1.588200 0.225000
+v -2.812331 1.456390 0.216000
+v -2.812331 1.456390 -0.216000
+v -2.806615 2.063720 -0.189000
+v -2.806615 2.063720 0.189000
+v -2.805600 1.800000 -0.216000
+v -2.805600 1.800000 0.216000
+v -2.804755 1.298122 -0.144000
+v -2.804755 1.298122 0.144000
+v -2.797934 1.705067 -0.216000
+v -2.797934 1.705067 0.216000
+v -2.796400 1.964700 0.225000
+v -2.796400 1.964700 -0.225000
+v -2.792609 1.882438 -0.216000
+v -2.792609 1.882438 0.216000
+v -2.778861 1.317206 -0.189000
+v -2.778861 1.317206 0.189000
+v -2.774605 1.604006 0.216000
+v -2.774605 1.604006 -0.216000
+v -2.773725 1.477519 0.225000
+v -2.773725 1.477519 -0.225000
+v -2.769854 2.043616 -0.216000
+v -2.769854 2.043616 0.216000
+v -2.764800 1.800000 -0.189000
+v -2.764800 1.800000 0.189000
+v -2.760000 2.152800 0.000000
+v -2.760000 2.152800 0.000000
+v -2.757739 1.713232 -0.189000
+v -2.757739 1.713232 0.189000
+v -2.753894 1.948450 -0.216000
+v -2.753894 1.948450 0.216000
+v -2.753123 2.147861 -0.081000
+v -2.753123 2.147861 0.081000
+v -2.752230 1.874146 -0.189000
+v -2.752230 1.874146 0.189000
+v -2.747418 1.340381 -0.216000
+v -2.747418 1.340381 0.216000
+v -2.736198 1.618531 -0.189000
+v -2.736198 1.618531 0.189000
+v -2.735119 1.498648 0.216000
+v -2.735119 1.498648 -0.216000
+v -2.734458 2.134454 -0.144000
+v -2.734458 2.134454 0.144000
+v -2.731250 1.157813 0.000000
+v -2.731250 1.157813 0.000000
+v -2.731200 1.800000 -0.144000
+v -2.731200 1.800000 0.144000
+v -2.729850 2.021737 -0.225000
+v -2.729850 2.021737 0.225000
+v -2.725825 1.163194 0.081000
+v -2.725825 1.163194 -0.081000
+v -2.724637 1.719956 -0.144000
+v -2.724637 1.719956 0.144000
+v -2.718978 1.867316 -0.144000
+v -2.718978 1.867316 0.144000
+v -2.714835 1.933517 -0.189000
+v -2.714835 1.933517 0.189000
+v -2.713200 1.365600 -0.225000
+v -2.713200 1.365600 0.225000
+v -2.711100 1.177800 -0.144000
+v -2.711100 1.177800 0.144000
+v -2.708400 1.800000 -0.081000
+v -2.708400 1.800000 0.081000
+v -2.706950 2.114698 -0.189000
+v -2.706950 2.114698 0.189000
+v -2.704570 1.630493 -0.144000
+v -2.704570 1.630493 0.144000
+v -2.702175 1.724519 -0.081000
+v -2.702175 1.724519 0.081000
+v -2.700000 1.800000 0.000000
+v -2.699644 1.518063 0.189000
+v -2.699644 1.518063 -0.189000
+v -2.696413 1.862682 -0.081000
+v -2.696413 1.862682 0.081000
+v -2.693900 1.726200 0.000000
+v -2.689846 1.999859 -0.216000
+v -2.689846 1.999859 0.216000
+v -2.689400 1.199325 -0.189000
+v -2.689400 1.199325 0.189000
+v -2.688100 1.860975 0.000000
+v -2.688100 1.860975 0.000000
+v -2.683107 1.638610 -0.081000
+v -2.683107 1.638610 0.081000
+v -2.682669 1.921219 -0.144000
+v -2.682669 1.921219 0.144000
+v -2.678982 1.390819 -0.216000
+v -2.678982 1.390819 0.216000
+v -2.675200 1.641600 0.000000
+v -2.675200 1.641600 0.000000
+v -2.673549 2.090707 -0.216000
+v -2.673549 2.090707 0.216000
+v -2.670428 1.534053 -0.144000
+v -2.670428 1.534053 0.144000
+v -2.663050 1.225463 -0.216000
+v -2.663050 1.225463 0.216000
+v -2.660842 1.912874 0.081000
+v -2.660842 1.912874 -0.081000
+v -2.653085 1.979755 -0.189000
+v -2.653085 1.979755 0.189000
+v -2.652800 1.909800 0.000000
+v -2.652800 1.909800 0.000000
+v -2.650604 1.544903 0.081000
+v -2.650604 1.544903 -0.081000
+v -2.647539 1.413994 -0.189000
+v -2.647539 1.413994 0.189000
+v -2.643300 1.548900 0.000000
+v -2.637200 2.064600 -0.225000
+v -2.637200 2.064600 0.225000
+v -2.634375 1.253906 0.225000
+v -2.634375 1.253906 -0.225000
+v -2.625000 2.193750 0.000000
+v -2.622811 1.963199 -0.144000
+v -2.622811 1.963199 0.144000
+v -2.621645 1.433078 -0.144000
+v -2.621645 1.433078 0.144000
+v -2.619050 2.188238 -0.081000
+v -2.619050 2.188238 0.081000
+v -2.611200 1.038600 0.000000
+v -2.611200 1.038600 0.000000
+v -2.607034 1.044497 0.081000
+v -2.607034 1.044497 -0.081000
+v -2.605700 1.282350 -0.216000
+v -2.605700 1.282350 0.216000
+v -2.604074 1.446029 -0.081000
+v -2.604074 1.446029 0.081000
+v -2.602900 2.173275 -0.144000
+v -2.602900 2.173275 0.144000
+v -2.602268 1.951964 -0.081000
+v -2.602268 1.951964 0.081000
+v -2.600851 2.038493 -0.216000
+v -2.600851 2.038493 0.216000
+v -2.597600 1.450800 0.000000
+v -2.595725 1.060502 -0.144000
+v -2.595725 1.060502 0.144000
+v -2.594700 1.947825 0.000000
+v -2.579350 1.308488 -0.189000
+v -2.579350 1.308488 0.189000
+v -2.579100 2.151225 -0.189000
+v -2.579100 2.151225 0.189000
+v -2.579059 1.084090 -0.189000
+v -2.579059 1.084090 0.189000
+v -2.567450 2.014502 -0.189000
+v -2.567450 2.014502 0.189000
+v -2.558822 1.112731 0.216000
+v -2.558822 1.112731 -0.216000
+v -2.557650 1.330013 -0.144000
+v -2.557650 1.330013 0.144000
+v -2.550200 2.124450 -0.216000
+v -2.550200 2.124450 0.216000
+v -2.542925 1.344619 0.081000
+v -2.542925 1.344619 -0.081000
+v -2.539942 1.994746 -0.144000
+v -2.539942 1.994746 0.144000
+v -2.537500 1.350000 0.000000
+v -2.537500 1.350000 0.000000
+v -2.536800 1.143900 0.225000
+v -2.536800 1.143900 -0.225000
+v -2.521277 1.981339 -0.081000
+v -2.521277 1.981339 0.081000
+v -2.518750 2.095312 -0.225000
+v -2.518750 2.095312 0.225000
+v -2.514778 1.175069 0.216000
+v -2.514778 1.175069 -0.216000
+v -2.514400 1.976400 0.000000
+v -2.514400 1.976400 0.000000
+v -2.494541 1.203710 -0.189000
+v -2.494541 1.203710 0.189000
+v -2.487300 2.066175 -0.216000
+v -2.487300 2.066175 0.216000
+v -2.477875 1.227298 -0.144000
+v -2.477875 1.227298 0.144000
+v -2.468350 0.922987 0.000000
+v -2.466566 1.243303 0.081000
+v -2.466566 1.243303 -0.081000
+v -2.465644 0.929375 -0.081000
+v -2.465644 0.929375 0.081000
+v -2.462400 1.249200 0.000000
+v -2.462400 1.249200 0.000000
+v -2.460000 2.221200 0.000000
+v -2.460000 2.221200 0.000000
+v -2.458400 2.039400 -0.189000
+v -2.458400 2.039400 0.189000
+v -2.458298 0.946711 -0.144000
+v -2.458298 0.946711 0.144000
+v -2.455229 2.215303 -0.081000
+v -2.455229 2.215303 0.081000
+v -2.447474 0.972260 0.189000
+v -2.447474 0.972260 -0.189000
+v -2.442278 2.199298 -0.144000
+v -2.442278 2.199298 0.144000
+v -2.434600 2.017350 -0.144000
+v -2.434600 2.017350 0.144000
+v -2.434329 1.003283 -0.216000
+v -2.434329 1.003283 0.216000
+v -2.423194 2.175710 -0.189000
+v -2.423194 2.175710 0.189000
+v -2.420025 1.037044 -0.225000
+v -2.420025 1.037044 0.225000
+v -2.418450 2.002387 -0.081000
+v -2.418450 2.002388 0.081000
+v -2.412500 1.996875 0.000000
+v -2.412500 1.996875 0.000000
+v -2.405721 1.070804 -0.216000
+v -2.405721 1.070804 0.216000
+v -2.400019 2.147069 -0.216000
+v -2.400019 2.147069 0.216000
+v -2.392576 1.101828 -0.189000
+v -2.392576 1.101828 0.189000
+v -2.381752 1.127376 -0.144000
+v -2.381752 1.127376 0.144000
+v -2.374800 2.115900 -0.225000
+v -2.374800 2.115900 0.225000
+v -2.374406 1.144713 0.081000
+v -2.374406 1.144713 -0.081000
+v -2.371700 1.151100 0.000000
+v -2.349581 2.084731 -0.216000
+v -2.349581 2.084731 0.216000
+v -2.326406 2.056090 -0.189000
+v -2.326406 2.056090 0.189000
+v -2.307322 2.032502 -0.144000
+v -2.307322 2.032502 0.144000
+v -2.302400 0.811200 0.000000
+v -2.302400 0.811200 0.000000
+v -2.301347 0.818122 0.081000
+v -2.301347 0.818122 -0.081000
+v -2.298490 0.836909 0.144000
+v -2.298490 0.836909 -0.144000
+v -2.294371 2.016497 -0.081000
+v -2.294371 2.016497 0.081000
+v -2.294278 0.864595 0.189000
+v -2.294278 0.864595 -0.189000
+v -2.289600 2.010600 0.000000
+v -2.289600 2.010600 0.000000
+v -2.289165 0.898214 0.216000
+v -2.289165 0.898214 -0.216000
+v -2.283600 0.934800 0.225000
+v -2.283600 0.934800 -0.225000
+v -2.278035 0.971386 0.216000
+v -2.278035 0.971386 -0.216000
+v -2.272922 1.005005 0.189000
+v -2.272922 1.005005 -0.189000
+v -2.268710 1.032691 -0.144000
+v -2.268710 1.032691 0.144000
+v -2.265853 1.051478 0.081000
+v -2.265853 1.051478 -0.081000
+v -2.265000 2.237850 0.000000
+v -2.264800 1.058400 0.000000
+v -2.264800 1.058400 0.000000
+v -2.261676 2.231720 -0.081000
+v -2.261676 2.231720 0.081000
+v -2.252655 2.215082 -0.144000
+v -2.252655 2.215082 0.144000
+v -2.239361 2.190562 -0.189000
+v -2.239361 2.190562 0.189000
+v -2.223218 2.160788 -0.216000
+v -2.223218 2.160788 0.216000
+v -2.205650 2.128387 0.225000
+v -2.205650 2.128388 -0.225000
+v -2.188082 2.095987 -0.216000
+v -2.188082 2.095987 0.216000
+v -2.171939 2.066213 -0.189000
+v -2.171939 2.066213 0.189000
+v -2.158645 2.041693 -0.144000
+v -2.158645 2.041693 0.144000
+v -2.149624 2.025055 -0.081000
+v -2.149624 2.025055 0.081000
+v -2.146300 2.018925 0.000000
+v -2.141100 0.973800 0.000000
+v -2.141100 0.973800 0.000000
+v -2.140315 0.966231 0.081000
+v -2.140315 0.966231 -0.081000
+v -2.138183 0.945685 0.144000
+v -2.138183 0.945685 -0.144000
+v -2.135041 0.915407 0.189000
+v -2.135041 0.915407 -0.189000
+v -2.131226 0.878641 0.216000
+v -2.131226 0.878641 -0.216000
+v -2.127075 0.838631 0.225000
+v -2.127075 0.838631 -0.225000
+v -2.122924 0.798621 0.216000
+v -2.122924 0.798621 -0.216000
+v -2.119109 0.761855 0.189000
+v -2.119109 0.761855 -0.189000
+v -2.115967 0.731578 0.144000
+v -2.115967 0.731578 -0.144000
+v -2.113835 0.711032 0.081000
+v -2.113835 0.711032 -0.081000
+v -2.113050 0.703463 0.000000
+v -2.113050 0.703463 0.000000
+v -2.040000 2.246400 0.000000
+v -2.040000 2.246400 0.000000
+v -2.038410 2.240150 -0.081000
+v -2.038410 2.240150 0.081000
+v -2.034093 2.223187 -0.144000
+v -2.034093 2.223187 0.144000
+v -2.027731 2.198189 -0.189000
+v -2.027731 2.198189 0.189000
+v -2.020006 2.167834 0.216000
+v -2.020006 2.167834 -0.216000
+v -2.011600 2.134800 0.225000
+v -2.011600 2.134800 -0.225000
+v -2.003194 2.101766 0.216000
+v -2.003194 2.101766 -0.216000
+v -2.000000 0.900000 0.000000
+v -2.000000 0.900000 0.000000
+v -2.000000 0.900000 0.000000
+v -1.997200 0.891600 0.081000
+v -1.997200 0.891600 -0.081000
+v -1.995469 2.071411 -0.189000
+v -1.995469 2.071411 0.189000
+v -1.992750 1.037175 -0.000000
+v -1.992750 1.037175 0.000000
+v -1.989600 0.868800 0.144000
+v -1.989600 0.868800 -0.144000
+v -1.989107 2.046413 0.144000
+v -1.989107 2.046413 -0.144000
+v -1.986000 0.771675 0.000000
+v -1.986000 0.771675 0.000000
+v -1.984790 2.029450 -0.081000
+v -1.984790 2.029450 0.081000
+v -1.983200 2.023200 0.000000
+v -1.983200 2.023200 0.000000
+v -1.978400 0.835200 0.189000
+v -1.978400 0.835200 -0.189000
+v -1.974240 0.900000 -0.328160
+v -1.974240 0.900000 -0.328160
+v -1.974240 0.900000 0.328160
+v -1.972000 1.178400 -0.000000
+v -1.972000 1.178400 0.000000
+v -1.967083 1.037175 -0.326970
+v -1.967083 1.037175 0.326970
+v -1.964800 0.794400 0.216000
+v -1.964800 0.794400 -0.216000
+v -1.960420 0.771675 -0.325863
+v -1.960420 0.771675 0.325863
+v -1.950000 0.750000 -0.225000
+v -1.950000 0.750000 0.225000
+v -1.948000 0.656400 0.000000
+v -1.948000 0.656400 0.000000
+v -1.946601 1.178400 -0.323566
+v -1.946601 1.178400 0.323566
+v -1.939250 1.323225 0.000000
+v -1.939250 1.323225 0.000000
+v -1.935200 0.705600 0.216000
+v -1.935200 0.705600 -0.216000
+v -1.922910 0.656400 -0.319628
+v -1.922910 0.656400 0.319628
+v -1.921600 0.664800 0.189000
+v -1.921600 0.664800 -0.189000
+v -1.914272 1.323225 -0.318192
+v -1.914272 1.323225 0.318192
+v -1.910400 0.631200 0.144000
+v -1.910400 0.631200 -0.144000
+v -1.902800 0.608400 0.081000
+v -1.902800 0.608400 -0.081000
+v -1.900000 0.600000 0.000000
+v -1.900000 0.600000 0.000000
+v -1.899520 0.900000 -0.638080
+v -1.899520 0.900000 -0.638080
+v -1.899520 0.900000 0.638080
+v -1.899520 0.900000 0.638080
+v -1.896000 1.471200 0.000000
+v -1.896000 1.471200 0.000000
+v -1.892634 1.037175 -0.635767
+v -1.892634 1.037175 0.635767
+v -1.892000 0.553725 0.000000
+v -1.892000 0.553725 0.000000
+v -1.886223 0.771675 -0.633613
+v -1.886223 0.771675 0.633613
+v -1.872927 1.178400 -0.629147
+v -1.872927 1.178400 0.629147
+v -1.871580 1.471200 -0.311096
+v -1.871580 1.471200 0.311096
+v -1.867631 0.553725 -0.310439
+v -1.867631 0.553725 0.310439
+v -1.850132 0.656400 -0.621490
+v -1.850132 0.656400 0.621490
+v -1.843750 1.621875 0.000000
+v -1.843750 1.621875 0.000000
+v -1.841822 1.323225 -0.618698
+v -1.841822 1.323225 0.618698
+v -1.824000 0.463200 -0.000000
+v -1.824000 0.463200 0.000000
+v -1.820003 1.621875 -0.302522
+v -1.820003 1.621875 0.302523
+v -1.800900 2.024775 0.000000
+v -1.800745 1.471200 -0.604900
+v -1.800745 1.471200 0.604900
+v -1.800507 0.463200 -0.299282
+v -1.800507 0.463200 0.299282
+v -1.800455 2.031069 -0.081000
+v -1.800455 2.031069 0.081000
+v -1.799246 2.048152 -0.144000
+v -1.799246 2.048152 0.144000
+v -1.797466 2.073326 -0.189000
+v -1.797466 2.073326 0.189000
+v -1.796946 0.553725 -0.603624
+v -1.796946 0.553725 0.603624
+v -1.795303 2.103896 -0.216000
+v -1.795303 2.103896 0.216000
+v -1.792950 2.137163 -0.225000
+v -1.792950 2.137163 0.225000
+v -1.790597 2.170429 -0.216000
+v -1.790597 2.170429 0.216000
+v -1.788434 2.200999 -0.189000
+v -1.788434 2.200999 0.189000
+v -1.786654 2.226173 -0.144000
+v -1.786654 2.226173 0.144000
+v -1.785445 2.243256 -0.081000
+v -1.785445 2.243256 0.081000
+v -1.785000 2.249550 0.000000
+v -1.784000 1.774800 -0.000000
+v -1.784000 1.774800 0.000000
+v -1.779680 0.900000 -0.925920
+v -1.779680 0.900000 -0.925920
+v -1.779680 0.900000 0.925920
+v -1.779680 0.900000 0.925920
+v -1.773229 1.037175 -0.922564
+v -1.773229 1.037175 0.922564
+v -1.767222 0.771675 -0.919439
+v -1.767222 0.771675 0.919439
+v -1.761022 1.774800 -0.292719
+v -1.761022 1.774800 0.292719
+v -1.754764 1.178400 -0.912957
+v -1.754764 1.178400 0.912957
+v -1.751120 1.621875 -0.588230
+v -1.751120 1.621875 0.588230
+v -1.750000 0.384375 -0.000000
+v -1.750000 0.384375 0.000000
+v -1.733408 0.656400 -0.901846
+v -1.733408 0.656400 0.901846
+v -1.732362 0.463200 -0.581929
+v -1.732362 0.463200 0.581929
+v -1.727460 0.384375 -0.287140
+v -1.727460 0.384375 0.287140
+v -1.725622 1.323225 -0.897795
+v -1.725622 1.323225 0.897795
+v -1.718250 1.929525 -0.000000
+v -1.718250 1.929525 0.000000
+v -1.696119 1.929525 -0.281930
+v -1.696119 1.929525 0.281930
+v -1.694372 1.774800 -0.569167
+v -1.694372 1.774800 0.569167
+v -1.687137 1.471200 -0.877772
+v -1.687137 1.471200 0.877772
+v -1.683577 0.553725 -0.875920
+v -1.683577 0.553725 0.875920
+v -1.676000 0.316800 0.000000
+v -1.676000 0.316800 0.000000
+v -1.662080 0.384375 -0.558320
+v -1.662080 0.384375 0.558320
+v -1.654413 0.316800 -0.274998
+v -1.654413 0.316800 0.274998
+v -1.648000 2.085600 0.000000
+v -1.648000 2.085600 0.000000
+v -1.640643 1.621875 -0.853583
+v -1.640643 1.621875 0.853583
+v -1.631925 1.929525 -0.548190
+v -1.631925 1.929525 0.548190
+v -1.626774 2.085600 -0.270404
+v -1.626774 2.085600 0.270404
+v -1.623068 0.463200 -0.844439
+v -1.623068 0.463200 0.844439
+v -1.618560 0.900000 -1.187840
+v -1.618560 0.900000 -1.187840
+v -1.618560 0.900000 1.187840
+v -1.618560 0.900000 1.187840
+v -1.612693 1.037175 -1.183534
+v -1.612693 1.037175 1.183534
+v -1.608000 0.260025 -0.000000
+v -1.608000 0.260025 0.000000
+v -1.607230 0.771675 -1.179525
+v -1.607230 0.771675 1.179525
+v -1.600000 2.025000 0.000000
+v -1.597200 2.031300 -0.081000
+v -1.597200 2.031300 0.081000
+v -1.595900 1.178400 -1.171210
+v -1.595900 1.178400 1.171210
+v -1.591798 0.316800 -0.534711
+v -1.591798 0.316800 0.534711
+v -1.589600 2.048400 -0.144000
+v -1.589600 2.048400 0.144000
+v -1.587475 1.774800 -0.825921
+v -1.587475 1.774800 0.825921
+v -1.587289 0.260025 0.263841
+v -1.587289 0.260025 -0.263841
+v -1.578400 2.073600 -0.189000
+v -1.578400 2.073600 0.189000
+v -1.576477 0.656400 -1.156956
+v -1.576477 0.656400 1.156956
+v -1.574750 2.242575 0.000000
+v -1.574750 2.242575 0.000000
+v -1.569396 1.323225 -1.151759
+v -1.569396 1.323225 1.151759
+v -1.565204 2.085600 -0.525778
+v -1.565204 2.085600 0.525778
+v -1.564800 2.104200 -0.216000
+v -1.564800 2.104200 0.216000
+v -1.557220 0.384375 -0.810180
+v -1.557220 0.384375 0.810180
+v -1.554467 2.242575 -0.258385
+v -1.554467 2.242575 0.258385
+v -1.552000 0.213600 0.000000
+v -1.552000 0.213600 0.000000
+v -1.550000 2.137500 -0.225000
+v -1.550000 2.137500 0.225000
+v -1.535200 2.170800 -0.216000
+v -1.535200 2.170800 0.216000
+v -1.534395 1.471200 -1.126072
+v -1.534395 1.471200 1.126072
+v -1.532010 0.213600 0.254652
+v -1.532010 0.213600 -0.254652
+v -1.531158 0.553725 -1.123697
+v -1.531158 0.553725 1.123697
+v -1.528968 1.929525 -0.795481
+v -1.528968 1.929525 0.795481
+v -1.527214 0.260025 -0.513016
+v -1.527214 0.260025 0.513016
+v -1.521600 2.201400 -0.189000
+v -1.521600 2.201400 0.189000
+v -1.514000 0.177075 0.000000
+v -1.514000 0.177075 0.000000
+v -1.510400 2.226600 -0.144000
+v -1.510400 2.226600 0.144000
+v -1.502800 2.243700 -0.081000
+v -1.502800 2.243700 0.081000
+v -1.500000 2.400000 0.000000
+v -1.500000 0.150000 0.000000
+v -1.500000 2.250000 0.000000
+v -1.500000 2.400000 0.000000
+v -1.500000 0.150000 0.000000
+v -1.496475 0.127575 -0.000000
+v -1.496475 0.127575 0.000000
+v -1.495635 2.242575 -0.502408
+v -1.495635 2.242575 0.502408
+v -1.494500 0.177075 0.248417
+v -1.494500 0.177075 -0.248417
+v -1.492110 1.621875 -1.095040
+v -1.492110 1.621875 1.095040
+v -1.491372 0.316800 -0.775921
+v -1.491372 0.316800 0.775921
+v -1.480800 0.105600 0.000000
+v -1.480800 0.105600 -0.000000
+v -1.480680 2.400000 -0.246120
+v -1.480680 0.150000 0.246120
+v -1.480680 2.400000 0.246120
+v -1.480680 0.150000 -0.246120
+v -1.480680 0.150000 -0.246120
+v -1.480680 0.150000 0.246120
+v -1.480325 2.435437 0.000000
+v -1.480325 2.435437 0.000000
+v -1.477200 0.127575 0.245542
+v -1.477200 0.127575 -0.245542
+v -1.476127 0.463200 -1.083310
+v -1.476127 0.463200 1.083310
+v -1.474028 0.213600 0.495150
+v -1.474028 0.213600 -0.495150
+v -1.466456 2.085600 -0.762958
+v -1.466456 2.085600 0.762958
+v -1.461727 0.105600 -0.242970
+v -1.461727 0.105600 0.242970
+v -1.461258 2.435437 -0.242892
+v -1.461258 2.435437 0.242892
+v -1.459600 2.463000 0.000000
+v -1.459600 2.463000 0.000000
+v -1.445325 0.084525 0.000000
+v -1.445325 0.084525 0.000000
+v -1.443756 1.774800 -1.059553
+v -1.443756 1.774800 1.059553
+v -1.440800 2.463000 -0.239491
+v -1.440800 2.463000 0.239491
+v -1.439025 2.482687 0.000000
+v -1.437937 0.177075 0.483027
+v -1.437937 0.177075 -0.483027
+v -1.430863 0.260025 0.744440
+v -1.430863 0.260025 -0.744440
+v -1.426709 0.084525 -0.237149
+v -1.426709 0.084525 0.237149
+v -1.424640 2.400000 -0.478560
+v -1.424640 0.150000 -0.478560
+v -1.424640 0.150000 -0.478560
+v -1.424640 0.150000 0.478560
+v -1.424640 0.150000 0.478560
+v -1.424640 2.400000 0.478560
+v -1.421292 0.127575 0.477435
+v -1.421292 0.127575 -0.477435
+v -1.420490 2.482687 -0.236115
+v -1.420490 2.482687 0.236115
+v -1.420000 0.900000 -1.420000
+v -1.420000 0.900000 -1.420000
+v -1.420000 0.900000 1.420000
+v -1.420000 0.900000 1.420000
+v -1.419800 2.494500 0.000000
+v -1.419800 2.494500 0.000000
+v -1.416240 0.384375 -1.039360
+v -1.416240 0.384375 1.039360
+v -1.414853 1.037175 -1.414853
+v -1.414853 1.037175 1.414853
+v -1.410060 0.771675 -1.410060
+v -1.410060 0.771675 1.410060
+v -1.406405 0.105600 -0.472434
+v -1.406405 0.105600 0.472434
+v -1.405953 2.435437 -0.472283
+v -1.405953 2.435437 0.472283
+v -1.403125 2.498438 0.000000
+v -1.403125 2.498438 0.000000
+v -1.401513 2.494500 -0.232961
+v -1.401513 2.494500 0.232961
+v -1.401276 2.242575 -0.729046
+v -1.401276 2.242575 0.729046
+v -1.400120 1.178400 -1.400120
+v -1.400120 1.178400 1.400120
+v -1.400000 2.400000 0.000000
+v -1.400000 2.400000 0.000000
+v -1.390545 1.929525 -1.020503
+v -1.390545 1.929525 1.020503
+v -1.390200 2.494500 0.000000
+v -1.390200 2.494500 0.000000
+v -1.386270 2.463000 -0.465671
+v -1.386270 2.463000 0.465671
+v -1.385925 2.435437 0.000000
+v -1.385925 2.435437 0.000000
+v -1.385053 2.498438 -0.230225
+v -1.385053 2.498438 0.230225
+v -1.383080 0.656400 -1.383080
+v -1.383080 0.656400 1.383080
+v -1.382400 0.064800 -0.000000
+v -1.382400 0.064800 0.000000
+v -1.382225 2.482687 -0.000000
+v -1.382225 2.482687 0.000000
+v -1.381968 2.400000 -0.229712
+v -1.381968 2.400000 0.229712
+v -1.381032 0.213600 0.718514
+v -1.381032 0.213600 -0.718514
+v -1.380400 2.463000 0.000000
+v -1.380400 2.463000 0.000000
+v -1.376868 1.323225 -1.376867
+v -1.376867 1.323225 1.376868
+v -1.372712 0.084525 -0.461116
+v -1.372712 0.084525 0.461116
+v -1.372294 2.494500 -0.228104
+v -1.372294 2.494500 0.228104
+v -1.368074 2.435437 -0.227403
+v -1.368074 2.435437 0.227403
+v -1.366728 2.482687 -0.459107
+v -1.366728 2.482687 0.459107
+v -1.364595 0.064800 -0.226824
+v -1.364595 0.064800 0.226824
+v -1.364422 2.482687 -0.226795
+v -1.364422 2.482687 0.226795
+v -1.362620 2.463000 -0.226496
+v -1.362620 2.463000 0.226496
+v -1.356353 0.316800 -0.995410
+v -1.356353 0.316800 0.995410
+v -1.348469 2.494500 -0.452973
+v -1.348469 2.494500 0.452973
+v -1.347218 0.177075 0.700921
+v -1.347218 0.177075 -0.700921
+v -1.346160 1.471200 -1.346160
+v -1.346160 1.471200 1.346160
+v -1.343320 0.553725 -1.343320
+v -1.343320 0.553725 1.343320
+v -1.334760 2.400000 -0.694440
+v -1.334760 0.150000 -0.694440
+v -1.334760 0.150000 0.694440
+v -1.334760 0.150000 0.694440
+v -1.334760 2.400000 0.694440
+v -1.334760 0.150000 -0.694440
+v -1.333693 2.085600 -0.978780
+v -1.333693 2.085600 0.978780
+v -1.332632 2.498438 -0.447653
+v -1.332632 2.498438 0.447653
+v -1.331623 0.127575 0.692808
+v -1.331623 0.127575 -0.692808
+v -1.329664 2.400000 -0.446656
+v -1.329664 2.400000 0.446656
+v -1.320356 2.494500 -0.443529
+v -1.320356 2.494500 0.443529
+v -1.317675 0.105600 -0.685551
+v -1.317675 0.105600 0.685551
+v -1.317252 2.435437 -0.685331
+v -1.317252 2.435437 0.685331
+v -1.316296 2.435437 -0.442166
+v -1.316296 2.435437 0.442166
+v -1.312948 0.064800 0.441041
+v -1.312948 0.064800 -0.441041
+v -1.312782 2.482687 -0.440985
+v -1.312782 2.482687 0.440985
+v -1.311049 2.463000 -0.440403
+v -1.311049 2.463000 0.440403
+v -1.309063 1.621875 -1.309063
+v -1.309063 1.621875 1.309063
+v -1.301322 0.260025 0.955023
+v -1.301322 0.260025 -0.955023
+v -1.300000 2.400000 0.000000
+v -1.300000 2.400000 0.000000
+v -1.298810 2.463000 -0.675736
+v -1.298810 2.463000 0.675736
+v -1.295040 0.463200 -1.295040
+v -1.295040 0.463200 1.295040
+v -1.286108 0.084525 -0.669128
+v -1.286108 0.084525 0.669128
+v -1.284375 0.046875 0.000000
+v -1.284375 0.046875 0.000000
+v -1.283256 2.400000 -0.213304
+v -1.283256 2.400000 0.213304
+v -1.280502 2.482687 -0.666211
+v -1.280502 2.482687 0.666211
+v -1.274600 2.440800 0.000000
+v -1.274600 2.440800 0.000000
+v -1.274414 2.242575 -0.935276
+v -1.274414 2.242575 0.935276
+v -1.267832 0.046875 -0.210740
+v -1.267832 0.046875 0.210740
+v -1.266640 1.774800 -1.266640
+v -1.266640 1.774800 1.266640
+v -1.263395 2.494500 -0.657311
+v -1.263395 2.494500 0.657311
+v -1.258183 2.440800 0.209136
+v -1.258183 2.440800 -0.209136
+v -1.256003 0.213600 0.921764
+v -1.256003 0.213600 -0.921764
+v -1.248557 2.498438 -0.649591
+v -1.248557 2.498438 0.649591
+v -1.245776 2.400000 -0.648144
+v -1.245776 2.400000 0.648144
+v -1.242500 0.384375 -1.242500
+v -1.242500 0.384375 1.242500
+v -1.237056 2.494500 -0.643607
+v -1.237056 2.494500 0.643607
+v -1.234688 2.400000 -0.414752
+v -1.234688 2.400000 0.414752
+v -1.233252 2.435437 -0.641628
+v -1.233252 2.435437 0.641628
+v -1.230115 0.064800 -0.639996
+v -1.230115 0.064800 0.639996
+v -1.229959 2.482687 -0.639915
+v -1.229959 2.482687 0.639915
+v -1.228335 2.463000 -0.639070
+v -1.228335 2.463000 0.639070
+v -1.225250 0.177075 0.899195
+v -1.225250 0.177075 -0.899195
+v -1.219958 1.929525 1.219958
+v -1.219958 1.929525 -1.219958
+v -1.219848 0.046875 -0.409767
+v -1.219848 0.046875 0.409767
+v -1.213920 2.400000 -0.890880
+v -1.213920 0.150000 -0.890880
+v -1.213920 0.150000 -0.890880
+v -1.213920 0.150000 0.890880
+v -1.213920 0.150000 0.890880
+v -1.213920 2.400000 0.890880
+v -1.211067 0.127575 0.888786
+v -1.211067 0.127575 -0.888786
+v -1.210564 2.440800 0.406648
+v -1.210564 2.440800 -0.406648
+v -1.204800 2.474400 0.000000
+v -1.204800 2.474400 0.000000
+v -1.198382 0.105600 -0.879477
+v -1.198382 0.105600 0.879477
+v -1.197997 2.435437 -0.879195
+v -1.197997 2.435437 0.879195
+v -1.189960 0.316800 -1.189960
+v -1.189960 0.316800 1.189960
+v -1.189282 2.474400 -0.197684
+v -1.189282 2.474400 0.197684
+v -1.187840 0.900000 -1.618560
+v -1.187840 0.900000 -1.618560
+v -1.187840 0.900000 1.618560
+v -1.187840 0.900000 1.618560
+v -1.183534 1.037175 -1.612693
+v -1.183534 1.037175 1.612693
+v -1.181225 2.463000 -0.866886
+v -1.181225 2.463000 0.866886
+v -1.179525 0.771675 -1.607230
+v -1.179525 0.771675 1.607230
+v -1.171210 1.178400 -1.595900
+v -1.171210 1.178400 1.595900
+v -1.170080 2.085600 -1.170080
+v -1.170080 2.085600 1.170080
+v -1.169673 0.084525 -0.858407
+v -1.169673 0.084525 0.858407
+v -1.164574 2.482687 -0.854666
+v -1.164574 2.482687 0.854666
+v -1.156956 0.656400 -1.576477
+v -1.156956 0.656400 1.576477
+v -1.156792 2.400000 -0.601848
+v -1.156792 2.400000 0.601848
+v -1.151759 1.323225 -1.569396
+v -1.151759 1.323225 1.569396
+v -1.149016 2.494500 -0.843248
+v -1.149016 2.494500 0.843248
+v -1.144271 2.474400 -0.384379
+v -1.144271 2.474400 0.384379
+v -1.143600 0.031200 0.000000
+v -1.143600 0.031200 0.000000
+v -1.142888 0.046875 -0.594614
+v -1.142888 0.046875 0.594614
+v -1.141680 0.260025 1.141680
+v -1.141680 0.260025 -1.141680
+v -1.135521 2.498438 -0.833344
+v -1.135521 2.498438 0.833344
+v -1.134190 2.440800 0.590089
+v -1.134190 2.440800 -0.590089
+v -1.132992 2.400000 -0.831488
+v -1.132992 2.400000 0.831488
+v -1.128870 0.031200 -0.187642
+v -1.128870 0.031200 0.187642
+v -1.126072 1.471200 -1.534395
+v -1.126072 1.471200 1.534395
+v -1.125061 2.494500 -0.825668
+v -1.125061 2.494500 0.825668
+v -1.123697 0.553725 -1.531158
+v -1.123697 0.553725 1.531158
+v -1.121601 2.435437 -0.823129
+v -1.121601 2.435437 0.823129
+v -1.118749 0.064800 -0.821035
+v -1.118749 0.064800 0.821035
+v -1.118607 2.482687 -0.820931
+v -1.118607 2.482687 0.820931
+v -1.118073 2.242575 -1.118073
+v -1.118073 2.242575 1.118073
+v -1.117130 2.463000 -0.819847
+v -1.117130 2.463000 0.819847
+v -1.101920 0.213600 1.101920
+v -1.101920 0.213600 -1.101920
+v -1.100200 2.502600 0.000000
+v -1.100200 2.502600 0.000000
+v -1.095040 1.621875 -1.492110
+v -1.095040 1.621875 1.492110
+v -1.086146 0.031200 0.364854
+v -1.086146 0.031200 -0.364854
+v -1.086029 2.502600 0.180521
+v -1.086029 2.502600 -0.180521
+v -1.083310 0.463200 -1.476127
+v -1.083310 0.463200 1.476127
+v -1.074940 0.177075 -1.074940
+v -1.074940 0.177075 1.074940
+v -1.072079 2.474400 -0.557774
+v -1.072079 2.474400 0.557774
+v -1.065000 2.400000 -1.065000
+v -1.065000 0.150000 -1.065000
+v -1.065000 0.150000 1.065000
+v -1.065000 2.400000 1.065000
+v -1.062497 0.127575 1.062497
+v -1.062497 0.127575 -1.062497
+v -1.059553 1.774800 -1.443756
+v -1.059553 1.774800 1.443756
+v -1.052064 2.400000 -0.772096
+v -1.052064 2.400000 0.772096
+v -1.051368 0.105600 -1.051368
+v -1.051368 0.105600 1.051368
+v -1.051031 2.435437 -1.051031
+v -1.051031 2.435437 1.051031
+v -1.044926 2.502600 -0.351008
+v -1.044926 2.502600 0.351008
+v -1.039419 0.046875 -0.762816
+v -1.039419 0.046875 0.762816
+v -1.039360 0.384375 -1.416240
+v -1.039360 0.384375 1.416240
+v -1.036316 2.463000 -1.036316
+v -1.036316 2.463000 1.036316
+v -1.031508 2.440800 0.757010
+v -1.031508 2.440800 -0.757010
+v -1.026181 0.084525 -1.026181
+v -1.026181 0.084525 1.026181
+v -1.021708 2.482687 -1.021708
+v -1.021708 2.482687 1.021708
+v -1.020503 1.929525 -1.390545
+v -1.020503 1.929525 1.390545
+v -1.017621 0.031200 0.529441
+v -1.017621 0.031200 -0.529441
+v -1.008058 2.494500 -1.008058
+v -1.008058 2.494500 1.008058
+v -0.996219 2.498438 -0.996219
+v -0.996219 2.498438 0.996219
+v -0.995410 0.316800 -1.356353
+v -0.995410 0.316800 1.356353
+v -0.994000 2.400000 -0.994000
+v -0.994000 2.400000 0.994000
+v -0.987042 2.494500 -0.987042
+v -0.987042 2.494500 0.987042
+v -0.984007 2.435437 -0.984007
+v -0.984007 2.435437 0.984007
+v -0.981504 0.064800 0.981504
+v -0.981504 0.064800 -0.981504
+v -0.981380 2.482687 -0.981380
+v -0.981380 2.482687 0.981380
+v -0.980084 2.463000 -0.980084
+v -0.980084 2.463000 0.980084
+v -0.979002 2.502600 0.509349
+v -0.979002 2.502600 -0.509349
+v -0.978780 2.085600 -1.333693
+v -0.978780 2.085600 1.333693
+v -0.975021 2.474400 -0.715555
+v -0.975021 2.474400 0.715555
+v -0.970400 2.527200 0.000000
+v -0.970400 2.527200 0.000000
+v -0.957901 2.527200 -0.159223
+v -0.957901 2.527200 0.159223
+v -0.955023 0.260025 1.301322
+v -0.955023 0.260025 -1.301322
+v -0.952425 0.018225 -0.000000
+v -0.952425 0.018225 0.000000
+v -0.940158 0.018225 0.156274
+v -0.940158 0.018225 -0.156274
+v -0.935276 2.242575 -1.274414
+v -0.935276 2.242575 1.274414
+v -0.925920 0.900000 -1.779680
+v -0.925920 0.900000 1.779680
+v -0.925920 0.900000 1.779680
+v -0.925920 0.900000 -1.779680
+v -0.925493 0.031200 0.679207
+v -0.925493 0.031200 -0.679207
+v -0.923000 2.400000 -0.923000
+v -0.923000 2.400000 0.923000
+v -0.922564 1.037175 1.773229
+v -0.922564 1.037175 -1.773229
+v -0.921764 0.213600 1.256003
+v -0.921764 0.213600 -1.256003
+v -0.921647 2.527200 -0.309596
+v -0.921647 2.527200 0.309596
+v -0.919439 0.771675 -1.767222
+v -0.919439 0.771675 1.767222
+v -0.912957 1.178400 -1.754764
+v -0.912957 1.178400 1.754764
+v -0.911906 0.046875 -0.911906
+v -0.911906 0.046875 0.911906
+v -0.904966 2.440800 0.904966
+v -0.904966 2.440800 -0.904966
+v -0.904575 0.018225 0.303862
+v -0.904575 0.018225 -0.303862
+v -0.901846 0.656400 -1.733408
+v -0.901846 0.656400 1.733408
+v -0.899195 0.177075 1.225250
+v -0.899195 0.177075 -1.225250
+v -0.897795 1.323225 -1.725622
+v -0.897795 1.323225 1.725622
+v -0.890880 0.150000 -1.213920
+v -0.890880 0.150000 1.213920
+v -0.890880 2.400000 -1.213920
+v -0.890880 0.150000 -1.213920
+v -0.890880 0.150000 1.213920
+v -0.890880 2.400000 1.213920
+v -0.890370 2.502600 -0.653431
+v -0.890370 2.502600 0.653431
+v -0.888786 0.127575 1.211067
+v -0.888786 0.127575 -1.211067
+v -0.879477 0.105600 -1.198382
+v -0.879477 0.105600 1.198382
+v -0.879195 2.435437 -1.197997
+v -0.879195 2.435437 1.197997
+v -0.877772 1.471200 -1.687137
+v -0.877772 1.471200 1.687137
+v -0.875920 0.553725 -1.683577
+v -0.875920 0.553725 1.683577
+v -0.866886 2.463000 -1.181225
+v -0.866886 2.463000 1.181225
+v -0.863501 2.527200 -0.449256
+v -0.863501 2.527200 0.449256
+v -0.858407 0.084525 -1.169673
+v -0.858407 0.084525 1.169673
+v -0.855408 2.474400 -0.855408
+v -0.855408 2.474400 0.855408
+v -0.854666 2.482687 -1.164574
+v -0.854666 2.482687 1.164574
+v -0.853583 1.621875 -1.640643
+v -0.853583 1.621875 1.640643
+v -0.847506 0.018225 -0.440935
+v -0.847506 0.018225 0.440935
+v -0.844439 0.463200 1.623068
+v -0.844439 0.463200 -1.623068
+v -0.843248 2.494500 -1.149016
+v -0.843248 2.494500 1.149016
+v -0.833344 2.498438 -1.135521
+v -0.833344 2.498438 1.135521
+v -0.831488 2.400000 -1.132992
+v -0.831488 2.400000 1.132992
+v -0.825921 1.774800 1.587475
+v -0.825921 1.774800 -1.587475
+v -0.825668 2.494500 -1.125061
+v -0.825668 2.494500 1.125061
+v -0.825000 2.550000 0.000000
+v -0.825000 2.550000 0.000000
+v -0.823129 2.435437 -1.121601
+v -0.823129 2.435437 1.121601
+v -0.821035 0.064800 1.118749
+v -0.821035 0.064800 -1.118749
+v -0.820931 2.482687 1.118607
+v -0.820931 2.482687 -1.118607
+v -0.819847 2.463000 -1.117130
+v -0.819847 2.463000 1.117130
+v -0.814374 2.550000 -0.135366
+v -0.814374 2.550000 0.135366
+v -0.811956 0.031200 0.811956
+v -0.811956 0.031200 -0.811956
+v -0.810180 0.384375 1.557220
+v -0.810180 0.384375 -1.557220
+v -0.795481 1.929525 1.528968
+v -0.795481 1.929525 -1.528968
+v -0.785325 2.527200 -0.576340
+v -0.785325 2.527200 0.576340
+v -0.783552 2.550000 -0.263208
+v -0.783552 2.550000 0.263208
+v -0.781142 2.502600 -0.781142
+v -0.781142 2.502600 0.781142
+v -0.775921 0.316800 -1.491372
+v -0.775921 0.316800 1.491372
+v -0.772096 2.400000 -1.052064
+v -0.772096 2.400000 1.052064
+v -0.770779 0.018225 0.565664
+v -0.770779 0.018225 -0.565664
+v -0.762958 2.085600 -1.466456
+v -0.762958 2.085600 1.466456
+v -0.762816 0.046875 -1.039419
+v -0.762816 0.046875 1.039419
+v -0.757010 2.440800 1.031508
+v -0.757010 2.440800 -1.031508
+v -0.744440 0.260025 1.430863
+v -0.744440 0.260025 -1.430863
+v -0.734118 2.550000 -0.381942
+v -0.734118 2.550000 0.381942
+v -0.729046 2.242575 -1.401276
+v -0.729046 2.242575 1.401276
+v -0.718514 0.213600 1.381032
+v -0.718514 0.213600 -1.381032
+v -0.715555 2.474400 -0.975021
+v -0.715555 2.474400 0.975021
+v -0.703200 0.008400 0.000000
+v -0.700921 0.177075 1.347218
+v -0.700921 0.177075 -1.347218
+v -0.694440 0.150000 -1.334760
+v -0.694440 0.150000 1.334760
+v -0.694440 2.400000 1.334760
+v -0.694440 0.150000 1.334760
+v -0.694440 2.400000 -1.334760
+v -0.694440 0.150000 -1.334760
+v -0.694143 0.008400 -0.115381
+v -0.694143 0.008400 0.115381
+v -0.692808 0.127575 1.331623
+v -0.692808 0.127575 -1.331623
+v -0.688984 2.527200 -0.688984
+v -0.688984 2.527200 0.688984
+v -0.685551 0.105600 -1.317675
+v -0.685551 0.105600 1.317675
+v -0.685331 2.435437 -1.317252
+v -0.685331 2.435437 1.317252
+v -0.679207 0.031200 -0.925493
+v -0.679207 0.031200 0.925493
+v -0.676222 0.018225 0.676222
+v -0.676222 0.018225 -0.676222
+v -0.675736 2.463000 -1.298810
+v -0.675736 2.463000 1.298810
+v -0.673600 2.572800 0.000000
+v -0.673600 2.572800 0.000000
+v -0.669128 0.084525 -1.286108
+v -0.669128 0.084525 1.286108
+v -0.667871 0.008400 -0.224349
+v -0.667871 0.008400 0.224349
+v -0.667656 2.550000 -0.489984
+v -0.667656 2.550000 0.489984
+v -0.666211 2.482687 1.280502
+v -0.666211 2.482687 -1.280502
+v -0.664924 2.572800 -0.110524
+v -0.664924 2.572800 0.110524
+v -0.657311 2.494500 -1.263395
+v -0.657311 2.494500 1.263395
+v -0.653431 2.502600 -0.890370
+v -0.653431 2.502600 0.890370
+v -0.649591 2.498438 -1.248557
+v -0.649591 2.498438 1.248557
+v -0.648144 2.400000 -1.245776
+v -0.648144 2.400000 1.245776
+v -0.643607 2.494500 -1.237056
+v -0.643607 2.494500 1.237056
+v -0.641628 2.435437 -1.233252
+v -0.641628 2.435437 1.233252
+v -0.639996 0.064800 -1.230115
+v -0.639996 0.064800 1.230115
+v -0.639915 2.482687 1.229959
+v -0.639915 2.482687 -1.229959
+v -0.639758 2.572800 -0.214905
+v -0.639758 2.572800 0.214905
+v -0.639070 2.463000 -1.228335
+v -0.639070 2.463000 1.228335
+v -0.638080 0.900000 -1.899520
+v -0.638080 0.900000 -1.899520
+v -0.638080 0.900000 1.899520
+v -0.638080 0.900000 1.899520
+v -0.635767 1.037175 -1.892634
+v -0.635767 1.037175 1.892634
+v -0.633613 0.771675 -1.886223
+v -0.633613 0.771675 1.886223
+v -0.629147 1.178400 -1.872927
+v -0.629147 1.178400 1.872927
+v -0.625735 0.008400 0.325553
+v -0.625735 0.008400 -0.325553
+v -0.621490 0.656400 -1.850132
+v -0.621490 0.656400 1.850132
+v -0.618698 1.323225 -1.841822
+v -0.618698 1.323225 1.841822
+v -0.604900 1.471200 -1.800745
+v -0.604900 1.471200 1.800745
+v -0.603624 0.553725 -1.796946
+v -0.603624 0.553725 1.796946
+v -0.601848 2.400000 -1.156792
+v -0.601848 2.400000 1.156792
+v -0.599396 2.572800 -0.311850
+v -0.599396 2.572800 0.311850
+v -0.594614 0.046875 -1.142888
+v -0.594614 0.046875 1.142888
+v -0.590089 2.440800 1.134190
+v -0.590089 2.440800 -1.134190
+v -0.588230 1.621875 -1.751120
+v -0.588230 1.621875 1.751120
+v -0.585750 2.550000 -0.585750
+v -0.585750 2.550000 0.585750
+v -0.581929 0.463200 -1.732362
+v -0.581929 0.463200 1.732362
+v -0.576340 2.527200 -0.785325
+v -0.576340 2.527200 0.785325
+v -0.569167 1.774800 -1.694372
+v -0.569167 1.774800 1.694372
+v -0.569086 0.008400 -0.417645
+v -0.569086 0.008400 0.417645
+v -0.565664 0.018225 0.770779
+v -0.565664 0.018225 -0.770779
+v -0.558320 0.384375 -1.662080
+v -0.558320 0.384375 1.662080
+v -0.557774 2.474400 -1.072079
+v -0.557774 2.474400 1.072079
+v -0.548190 1.929525 -1.631925
+v -0.548190 1.929525 1.631925
+v -0.545131 2.572800 -0.400065
+v -0.545131 2.572800 0.400065
+v -0.534711 0.316800 -1.591798
+v -0.534711 0.316800 1.591798
+v -0.529441 0.031200 -1.017621
+v -0.529441 0.031200 1.017621
+v -0.525800 2.597400 0.000000
+v -0.525800 2.597400 0.000000
+v -0.525778 2.085600 -1.565204
+v -0.525778 2.085600 1.565204
+v -0.519028 2.597400 0.086273
+v -0.519028 2.597400 -0.086273
+v -0.513016 0.260025 -1.527214
+v -0.513016 0.260025 1.527214
+v -0.509349 2.502600 0.979002
+v -0.509349 2.502600 -0.979002
+v -0.502408 2.242575 -1.495635
+v -0.502408 2.242575 1.495635
+v -0.499384 2.597400 -0.167751
+v -0.499384 2.597400 0.167751
+v -0.499272 0.008400 -0.499272
+v -0.499272 0.008400 0.499272
+v -0.495150 0.213600 -1.474028
+v -0.495150 0.213600 1.474028
+v -0.489984 2.550000 -0.667656
+v -0.489984 2.550000 0.667656
+v -0.483027 0.177075 -1.437937
+v -0.483027 0.177075 1.437937
+v -0.478560 0.150000 1.424640
+v -0.478560 2.400000 -1.424640
+v -0.478560 0.150000 -1.424640
+v -0.478560 0.150000 -1.424640
+v -0.478560 0.150000 1.424640
+v -0.478560 2.400000 1.424640
+v -0.478256 2.572800 -0.478256
+v -0.478256 2.572800 0.478256
+v -0.477435 0.127575 1.421292
+v -0.477435 0.127575 -1.421292
+v -0.472434 0.105600 1.406405
+v -0.472434 0.105600 -1.406405
+v -0.472283 2.435437 -1.405953
+v -0.472283 2.435437 1.405953
+v -0.467878 2.597400 -0.243424
+v -0.467878 2.597400 0.243424
+v -0.465671 2.463000 -1.386270
+v -0.465671 2.463000 1.386270
+v -0.461116 0.084525 1.372712
+v -0.461116 0.084525 -1.372712
+v -0.459107 2.482687 -1.366728
+v -0.459107 2.482687 1.366728
+v -0.452973 2.494500 -1.348469
+v -0.452973 2.494500 1.348469
+v -0.449256 2.527200 -0.863501
+v -0.449256 2.527200 0.863501
+v -0.447653 2.498438 -1.332632
+v -0.447653 2.498438 1.332632
+v -0.446656 2.400000 -1.329664
+v -0.446656 2.400000 1.329664
+v -0.443529 2.494500 -1.320356
+v -0.443529 2.494500 1.320356
+v -0.442166 2.435437 -1.316296
+v -0.442166 2.435437 1.316296
+v -0.441041 0.064800 1.312948
+v -0.441041 0.064800 -1.312948
+v -0.440985 2.482687 -1.312782
+v -0.440985 2.482687 1.312782
+v -0.440935 0.018225 0.847506
+v -0.440935 0.018225 -0.847506
+v -0.440403 2.463000 -1.311049
+v -0.440403 2.463000 1.311049
+v -0.425519 2.597400 0.312283
+v -0.425519 2.597400 -0.312283
+v -0.417645 0.008400 -0.569086
+v -0.417645 0.008400 0.569086
+v -0.414752 2.400000 -1.234688
+v -0.414752 2.400000 1.234688
+v -0.409767 0.046875 1.219848
+v -0.409767 0.046875 -1.219848
+v -0.406648 2.440800 -1.210564
+v -0.406648 2.440800 1.210564
+v -0.400065 2.572800 -0.545131
+v -0.400065 2.572800 0.545131
+v -0.391200 2.625600 0.000000
+v -0.391200 2.625600 0.000000
+v -0.388275 0.002175 -0.000000
+v -0.388275 0.002175 0.000000
+v -0.386161 2.625600 -0.064188
+v -0.386161 2.625600 0.064188
+v -0.384379 2.474400 -1.144271
+v -0.384379 2.474400 1.144271
+v -0.383274 0.002175 -0.063708
+v -0.383274 0.002175 0.063708
+v -0.381942 2.550000 -0.734118
+v -0.381942 2.550000 0.734118
+v -0.373318 2.597400 -0.373318
+v -0.373318 2.597400 0.373318
+v -0.371546 2.625600 -0.124808
+v -0.371546 2.625600 0.124808
+v -0.368768 0.002175 -0.123875
+v -0.368768 0.002175 0.123875
+v -0.364854 0.031200 1.086146
+v -0.364854 0.031200 -1.086146
+v -0.358400 3.034800 0.000000
+v -0.358400 3.034800 0.000000
+v -0.358200 3.081150 0.000000
+v -0.358200 3.081150 0.000000
+v -0.353807 3.034800 -0.059016
+v -0.353807 3.034800 0.059016
+v -0.353610 3.081150 -0.058988
+v -0.353610 3.081150 0.058988
+v -0.351008 2.502600 -1.044926
+v -0.351008 2.502600 1.044926
+v -0.348105 2.625600 -0.181110
+v -0.348105 2.625600 0.181110
+v -0.345503 0.002175 -0.179756
+v -0.345503 0.002175 0.179756
+v -0.340477 3.034800 -0.114676
+v -0.340477 3.034800 0.114676
+v -0.340289 3.081150 -0.114619
+v -0.340289 3.081150 0.114619
+v -0.328160 0.900000 -1.974240
+v -0.328160 0.900000 1.974240
+v -0.328160 0.900000 1.974240
+v -0.326970 1.037175 -1.967083
+v -0.326970 1.037175 1.967083
+v -0.325863 0.771675 -1.960420
+v -0.325863 0.771675 1.960420
+v -0.325553 0.008400 -0.625735
+v -0.325553 0.008400 0.625735
+v -0.325000 2.981250 0.000000
+v -0.325000 2.981250 0.000000
+v -0.323566 1.178400 -1.946601
+v -0.323566 1.178400 1.946601
+v -0.320834 2.981250 -0.053508
+v -0.320834 2.981250 0.053508
+v -0.319628 0.656400 -1.922910
+v -0.319628 0.656400 1.922910
+v -0.319082 3.034800 -0.166306
+v -0.319082 3.034800 0.166306
+v -0.318907 3.081150 -0.166221
+v -0.318907 3.081150 0.166221
+v -0.318192 1.323225 -1.914272
+v -0.318192 1.323225 1.914272
+v -0.316590 2.625600 -0.232342
+v -0.316590 2.625600 0.232342
+v -0.314223 0.002175 -0.230604
+v -0.314223 0.002175 0.230604
+v -0.312283 2.597400 -0.425519
+v -0.312283 2.597400 0.425519
+v -0.311850 2.572800 -0.599396
+v -0.311850 2.572800 0.599396
+v -0.311096 1.471200 -1.871580
+v -0.311096 1.471200 1.871580
+v -0.310439 0.553725 -1.867631
+v -0.310439 0.553725 1.867631
+v -0.309596 2.527200 -0.921647
+v -0.309596 2.527200 0.921647
+v -0.308800 3.117600 0.000000
+v -0.308800 3.117600 0.000000
+v -0.308744 2.981250 -0.103976
+v -0.308744 2.981250 0.103976
+v -0.304843 3.117600 -0.050855
+v -0.304843 3.117600 0.050855
+v -0.303862 0.018225 0.904575
+v -0.303862 0.018225 -0.904575
+v -0.302523 1.621875 -1.820003
+v -0.302522 1.621875 1.820003
+v -0.299282 0.463200 -1.800507
+v -0.299282 0.463200 1.800507
+v -0.293360 3.117600 -0.098814
+v -0.293360 3.117600 0.098814
+v -0.292719 1.774800 -1.761022
+v -0.292719 1.774800 1.761022
+v -0.290295 3.034800 -0.213234
+v -0.290295 3.034800 0.213234
+v -0.290138 3.081150 -0.213123
+v -0.290138 3.081150 0.213123
+v -0.289340 2.981250 -0.150793
+v -0.289340 2.981250 0.150793
+v -0.287140 0.384375 -1.727460
+v -0.287140 0.384375 1.727460
+v -0.281930 1.929525 1.696119
+v -0.281930 1.929525 -1.696119
+v -0.279400 2.659200 0.000000
+v -0.277752 2.625600 -0.277752
+v -0.277752 2.625600 0.277752
+v -0.275801 2.659200 -0.045844
+v -0.275801 2.659200 0.045844
+v -0.275675 0.002175 -0.275675
+v -0.275675 0.002175 0.275675
+v -0.274998 0.316800 -1.654413
+v -0.274998 0.316800 1.654413
+v -0.274928 3.117600 -0.143301
+v -0.274928 3.117600 0.143301
+v -0.273600 2.923200 0.000000
+v -0.273600 2.923200 0.000000
+v -0.270404 2.085600 -1.626774
+v -0.270404 2.085600 1.626774
+v -0.270092 2.923200 -0.045032
+v -0.270092 2.923200 0.045032
+v -0.265363 2.659200 -0.089140
+v -0.265363 2.659200 0.089140
+v -0.263841 0.260025 1.587289
+v -0.263841 0.260025 -1.587289
+v -0.263232 2.981250 -0.193348
+v -0.263232 2.981250 0.193348
+v -0.263208 2.550000 -0.783552
+v -0.263208 2.550000 0.783552
+v -0.259910 2.923200 -0.087511
+v -0.259910 2.923200 0.087511
+v -0.258385 2.242575 -1.554467
+v -0.258385 2.242575 1.554467
+v -0.254788 3.034800 -0.254788
+v -0.254788 3.034800 0.254788
+v -0.254653 3.081150 -0.254653
+v -0.254653 3.081150 0.254653
+v -0.254652 0.213600 -1.532010
+v -0.254652 0.213600 1.532010
+v -0.250127 3.117600 -0.183734
+v -0.250127 3.117600 0.183734
+v -0.248621 2.659200 0.129351
+v -0.248621 2.659200 -0.129351
+v -0.248417 0.177075 -1.494500
+v -0.248417 0.177075 1.494500
+v -0.246120 0.150000 1.480680
+v -0.246120 2.400000 -1.480680
+v -0.246120 0.150000 -1.480680
+v -0.246120 0.150000 -1.480680
+v -0.246120 0.150000 1.480680
+v -0.246120 2.400000 1.480680
+v -0.245542 0.127575 1.477200
+v -0.245542 0.127575 -1.477200
+v -0.243569 2.923200 -0.126920
+v -0.243569 2.923200 0.126920
+v -0.243424 2.597400 0.467878
+v -0.243424 2.597400 -0.467878
+v -0.242970 0.105600 1.461727
+v -0.242970 0.105600 -1.461727
+v -0.242892 2.435437 -1.461258
+v -0.242892 2.435437 1.461258
+v -0.239491 2.463000 -1.440800
+v -0.239491 2.463000 1.440800
+v -0.237149 0.084525 1.426709
+v -0.237149 0.084525 -1.426709
+v -0.236115 2.482687 -1.420490
+v -0.236115 2.482687 1.420490
+v -0.232961 2.494500 -1.401513
+v -0.232961 2.494500 1.401513
+v -0.232342 2.625600 -0.316590
+v -0.232342 2.625600 0.316590
+v -0.231031 2.981250 -0.231031
+v -0.231031 2.981250 0.231031
+v -0.230604 0.002175 -0.314223
+v -0.230604 0.002175 0.314223
+v -0.230225 2.498438 -1.385053
+v -0.230225 2.498438 1.385053
+v -0.229712 2.400000 -1.381968
+v -0.229712 2.400000 1.381968
+v -0.228104 2.494500 -1.372294
+v -0.228104 2.494500 1.372294
+v -0.227403 2.435437 -1.368074
+v -0.227403 2.435437 1.368074
+v -0.226824 0.064800 1.364595
+v -0.226824 0.064800 -1.364595
+v -0.226795 2.482687 1.364422
+v -0.226795 2.482687 -1.364422
+v -0.226496 2.463000 -1.362620
+v -0.226496 2.463000 1.362620
+v -0.226113 2.659200 -0.165941
+v -0.226113 2.659200 0.165941
+v -0.224349 0.008400 0.667871
+v -0.224349 0.008400 -0.667871
+v -0.221585 2.923200 -0.162745
+v -0.221585 2.923200 0.162745
+v -0.219800 2.863350 0.000000
+v -0.219800 2.863350 0.000000
+v -0.219536 3.117600 -0.219536
+v -0.219536 3.117600 0.219536
+v -0.216979 2.863350 0.036157
+v -0.216979 2.863350 -0.036157
+v -0.214905 2.572800 -0.639758
+v -0.214905 2.572800 0.639758
+v -0.213304 2.400000 -1.283256
+v -0.213304 2.400000 1.283256
+v -0.213234 3.034800 -0.290295
+v -0.213234 3.034800 0.290295
+v -0.213123 3.081150 -0.290138
+v -0.213123 3.081150 0.290138
+v -0.210740 0.046875 -1.267832
+v -0.210740 0.046875 1.267832
+v -0.209136 2.440800 -1.258183
+v -0.209136 2.440800 1.258183
+v -0.208794 2.863350 0.070270
+v -0.208794 2.863350 -0.070270
+v -0.200000 2.700000 0.000000
+v -0.200000 2.700000 0.000000
+v -0.200000 2.700000 0.000000
+v -0.200000 2.700000 0.000000
+v -0.198374 2.659200 -0.198374
+v -0.198374 2.659200 0.198374
+v -0.197684 2.474400 -1.189282
+v -0.197684 2.474400 1.189282
+v -0.197424 2.700000 -0.032816
+v -0.197424 2.700000 0.032816
+v -0.197424 2.700000 0.032816
+v -0.197424 2.700000 -0.032816
+v -0.195658 2.863350 -0.101925
+v -0.195658 2.863350 0.101925
+v -0.194600 3.141450 0.000000
+v -0.194600 3.141450 0.000000
+v -0.194472 2.923200 -0.194472
+v -0.194472 2.923200 0.194472
+v -0.193348 2.981250 -0.263232
+v -0.193348 2.981250 0.263232
+v -0.192107 3.141450 -0.032048
+v -0.192107 3.141450 0.032048
+v -0.189952 2.700000 -0.063808
+v -0.189952 2.700000 0.063808
+v -0.189952 2.700000 0.063808
+v -0.189952 2.700000 -0.063808
+v -0.187642 0.031200 1.128870
+v -0.187642 0.031200 -1.128870
+v -0.184870 3.141450 -0.062272
+v -0.184870 3.141450 0.062272
+v -0.183734 3.117600 -0.250127
+v -0.183734 3.117600 0.250127
+v -0.181110 2.625600 0.348105
+v -0.181110 2.625600 -0.348105
+v -0.180521 2.502600 -1.086029
+v -0.180521 2.502600 1.086029
+v -0.179756 0.002175 -0.345503
+v -0.179756 0.002175 0.345503
+v -0.179200 2.804400 0.000000
+v -0.179200 2.804400 0.000000
+v -0.177989 2.863350 -0.130707
+v -0.177989 2.863350 0.130707
+v -0.177968 2.700000 -0.092592
+v -0.177968 2.700000 0.092592
+v -0.177968 2.700000 0.092592
+v -0.177968 2.700000 -0.092592
+v -0.176897 2.804400 0.029450
+v -0.176897 2.804400 -0.029450
+v -0.173255 3.141450 -0.090306
+v -0.173255 3.141450 0.090306
+v -0.170215 2.804400 0.057246
+v -0.170215 2.804400 -0.057246
+v -0.167751 2.597400 -0.499384
+v -0.167751 2.597400 0.499384
+v -0.167400 2.749050 0.000000
+v -0.167400 2.749050 0.000000
+v -0.166306 3.034800 -0.319082
+v -0.166306 3.034800 0.319082
+v -0.166221 3.081150 0.318907
+v -0.166221 3.081150 -0.318907
+v -0.165941 2.659200 -0.226113
+v -0.165941 2.659200 0.226113
+v -0.165245 2.749050 0.027480
+v -0.165245 2.749050 -0.027480
+v -0.162745 2.923200 -0.221585
+v -0.162745 2.923200 0.221585
+v -0.161856 2.700000 -0.118784
+v -0.161856 2.700000 0.118784
+v -0.161856 2.700000 0.118784
+v -0.161856 2.700000 -0.118784
+v -0.159496 2.804400 0.083047
+v -0.159496 2.804400 -0.083047
+v -0.159223 2.527200 -0.957901
+v -0.159223 2.527200 0.957901
+v -0.158995 2.749050 0.053428
+v -0.158995 2.749050 -0.053428
+v -0.157626 3.141450 -0.115787
+v -0.157626 3.141450 0.115787
+v -0.156274 0.018225 0.940158
+v -0.156274 0.018225 -0.940158
+v -0.156200 2.863350 -0.156200
+v -0.156200 2.863350 0.156200
+v -0.150793 2.981250 -0.289340
+v -0.150793 2.981250 0.289340
+v -0.148969 2.749050 0.077523
+v -0.148969 2.749050 -0.077523
+v -0.145078 2.804400 0.106513
+v -0.145078 2.804400 -0.106513
+v -0.143301 3.117600 -0.274928
+v -0.143301 3.117600 0.274928
+v -0.142000 2.700000 -0.142000
+v -0.142000 2.700000 0.142000
+v -0.142000 2.700000 0.142000
+v -0.142000 2.700000 -0.142000
+v -0.138348 3.141450 -0.138348
+v -0.138348 3.141450 0.138348
+v -0.135489 2.749050 0.099446
+v -0.135489 2.749050 -0.099446
+v -0.135366 2.550000 -0.814374
+v -0.135366 2.550000 0.814374
+v -0.130707 2.863350 -0.177989
+v -0.130707 2.863350 0.177989
+v -0.129351 2.659200 0.248621
+v -0.129351 2.659200 -0.248621
+v -0.127304 2.804400 0.127304
+v -0.127304 2.804400 -0.127304
+v -0.126920 2.923200 -0.243569
+v -0.126920 2.923200 0.243569
+v -0.124808 2.625600 -0.371546
+v -0.124808 2.625600 0.371546
+v -0.123875 0.002175 0.368768
+v -0.123875 0.002175 -0.368768
+v -0.118874 2.749050 0.118874
+v -0.118874 2.749050 -0.118874
+v -0.118784 2.700000 -0.161856
+v -0.118784 2.700000 0.161856
+v -0.118784 2.700000 0.161856
+v -0.118784 2.700000 -0.161856
+v -0.115787 3.141450 -0.157626
+v -0.115787 3.141450 0.157626
+v -0.115381 0.008400 0.694143
+v -0.115381 0.008400 -0.694143
+v -0.114676 3.034800 -0.340477
+v -0.114676 3.034800 0.340477
+v -0.114619 3.081150 -0.340289
+v -0.114619 3.081150 0.340289
+v -0.110524 2.572800 -0.664924
+v -0.110524 2.572800 0.664924
+v -0.106513 2.804400 -0.145078
+v -0.106513 2.804400 0.145078
+v -0.103976 2.981250 -0.308744
+v -0.103976 2.981250 0.308744
+v -0.101925 2.863350 -0.195658
+v -0.101925 2.863350 0.195658
+v -0.099446 2.749050 0.135489
+v -0.099446 2.749050 -0.135489
+v -0.098814 3.117600 -0.293360
+v -0.098814 3.117600 0.293360
+v -0.092592 2.700000 -0.177968
+v -0.092592 2.700000 0.177968
+v -0.092592 2.700000 -0.177968
+v -0.092592 2.700000 0.177968
+v -0.090306 3.141450 -0.173255
+v -0.090306 3.141450 0.173255
+v -0.089140 2.659200 -0.265363
+v -0.089140 2.659200 0.265363
+v -0.087511 2.923200 -0.259910
+v -0.087511 2.923200 0.259910
+v -0.086273 2.597400 -0.519028
+v -0.086273 2.597400 0.519028
+v -0.083047 2.804400 -0.159496
+v -0.083047 2.804400 0.159496
+v -0.077523 2.749050 -0.148969
+v -0.077523 2.749050 0.148969
+v -0.070270 2.863350 -0.208794
+v -0.070270 2.863350 0.208794
+v -0.064188 2.625600 -0.386161
+v -0.064188 2.625600 0.386161
+v -0.063808 2.700000 -0.189952
+v -0.063808 2.700000 0.189952
+v -0.063808 2.700000 -0.189952
+v -0.063808 2.700000 0.189952
+v -0.063708 0.002175 0.383274
+v -0.063708 0.002175 -0.383274
+v -0.062272 3.141450 -0.184870
+v -0.062272 3.141450 0.184870
+v -0.059016 3.034800 -0.353807
+v -0.059016 3.034800 0.353807
+v -0.058988 3.081150 -0.353610
+v -0.058988 3.081150 0.353610
+v -0.057246 2.804400 -0.170215
+v -0.057246 2.804400 0.170215
+v -0.053508 2.981250 -0.320834
+v -0.053508 2.981250 0.320834
+v -0.053428 2.749050 -0.158995
+v -0.053428 2.749050 0.158995
+v -0.050855 3.117600 -0.304843
+v -0.050855 3.117600 0.304843
+v -0.045844 2.659200 -0.275801
+v -0.045844 2.659200 0.275801
+v -0.045032 2.923200 -0.270092
+v -0.045032 2.923200 0.270092
+v -0.036157 2.863350 -0.216979
+v -0.036157 2.863350 0.216979
+v -0.032816 2.700000 -0.197424
+v -0.032816 2.700000 0.197424
+v -0.032816 2.700000 -0.197424
+v -0.032816 2.700000 0.197424
+v -0.032048 3.141450 -0.192107
+v -0.032048 3.141450 0.192107
+v -0.029450 2.804400 -0.176897
+v -0.029450 2.804400 0.176897
+v -0.027480 2.749050 -0.165245
+v -0.027480 2.749050 0.165245
+v -0.000000 0.260025 1.608000
+v -0.000000 1.929525 1.718250
+v -0.000000 2.085600 -1.648000
+v -0.000000 0.656400 -1.948000
+v -0.000000 0.771675 -1.986000
+v -0.000000 2.482687 1.382225
+v -0.000000 2.700000 -0.200000
+v -0.000000 0.127575 1.496475
+v -0.000000 2.474400 -1.204800
+v -0.000000 2.749050 -0.167400
+v -0.000000 0.018225 0.952425
+v -0.000000 0.046875 -1.284375
+v -0.000000 0.064800 1.382400
+v -0.000000 0.384375 1.750000
+v -0.000000 0.463200 1.824000
+v -0.000000 0.553725 -1.892000
+v -0.000000 1.037175 1.992750
+v -0.000000 1.178400 1.972000
+v -0.000000 1.323225 -1.939250
+v -0.000000 1.621875 -1.843750
+v -0.000000 1.774800 1.784000
+v -0.000000 2.400000 -1.300000
+v -0.000000 2.435437 -1.480325
+v -0.000000 2.435437 -1.385925
+v -0.000000 2.463000 -1.459600
+v -0.000000 2.463000 -1.380400
+v -0.000000 2.494500 -1.390200
+v -0.000000 2.502600 -1.100200
+v -0.000000 2.804400 -0.179200
+v -0.000000 2.863350 -0.219800
+v -0.000000 2.572800 -0.673600
+v -0.000000 0.105600 1.480800
+v -0.000000 0.177075 -1.514000
+v -0.000000 2.494500 -1.419800
+v -0.000000 2.527200 -0.970400
+v -0.000000 2.923200 -0.273600
+v -0.000000 3.117600 -0.308800
+v -0.000000 2.597400 -0.525800
+v -0.000000 2.700000 -0.200000
+v -0.000000 2.981250 -0.325000
+v -0.000000 3.141450 -0.194600
+v -0.000000 0.002175 0.388275
+v -0.000000 3.081150 -0.358200
+v 0.000000 0.000000 0.000000
+v 0.000000 0.002175 -0.388275
+v 0.000000 0.002175 0.388275
+v 0.000000 0.008400 -0.703200
+v 0.000000 0.008400 0.703200
+v 0.000000 0.018225 -0.952425
+v 0.000000 0.018225 0.952425
+v 0.000000 0.031200 -1.143600
+v 0.000000 0.031200 -1.143600
+v 0.000000 0.031200 1.143600
+v 0.000000 0.031200 1.143600
+v 0.000000 0.046875 -1.284375
+v 0.000000 0.046875 1.284375
+v 0.000000 0.064800 -1.382400
+v 0.000000 0.064800 1.382400
+v 0.000000 0.084525 -1.445325
+v 0.000000 0.084525 -1.445325
+v 0.000000 0.084525 1.445325
+v 0.000000 0.084525 1.445325
+v 0.000000 0.105600 -1.480800
+v 0.000000 0.105600 1.480800
+v 0.000000 0.127575 -1.496475
+v 0.000000 0.127575 1.496475
+v 0.000000 0.150000 -1.500000
+v 0.000000 0.150000 -1.500000
+v 0.000000 0.150000 1.500000
+v 0.000000 0.150000 1.500000
+v 0.000000 0.177075 -1.514000
+v 0.000000 0.177075 1.514000
+v 0.000000 0.213600 -1.552000
+v 0.000000 0.213600 -1.552000
+v 0.000000 0.213600 1.552000
+v 0.000000 0.213600 1.552000
+v 0.000000 0.260025 -1.608000
+v 0.000000 0.260025 1.608000
+v 0.000000 0.316800 -1.676000
+v 0.000000 0.316800 -1.676000
+v 0.000000 0.316800 1.676000
+v 0.000000 0.316800 1.676000
+v 0.000000 0.384375 -1.750000
+v 0.000000 0.384375 1.750000
+v 0.000000 0.463200 -1.824000
+v 0.000000 0.463200 1.824000
+v 0.000000 0.553725 -1.892000
+v 0.000000 0.553725 1.892000
+v 0.000000 0.656400 -1.948000
+v 0.000000 0.656400 1.948000
+v 0.000000 0.771675 -1.986000
+v 0.000000 0.771675 1.986000
+v 0.000000 0.900000 -2.000000
+v 0.000000 0.900000 -2.000000
+v 0.000000 0.900000 2.000000
+v 0.000000 0.900000 2.000000
+v 0.000000 1.037175 -1.992750
+v 0.000000 1.037175 1.992750
+v 0.000000 1.178400 -1.972000
+v 0.000000 1.178400 1.972000
+v 0.000000 1.323225 -1.939250
+v 0.000000 1.323225 1.939250
+v 0.000000 1.471200 -1.896000
+v 0.000000 1.471200 -1.896000
+v 0.000000 1.471200 1.896000
+v 0.000000 1.471200 1.896000
+v 0.000000 1.621875 -1.843750
+v 0.000000 1.621875 1.843750
+v 0.000000 1.774800 -1.784000
+v 0.000000 1.774800 1.784000
+v 0.000000 1.929525 -1.718250
+v 0.000000 1.929525 1.718250
+v 0.000000 2.085600 -1.648000
+v 0.000000 2.085600 1.648000
+v 0.000000 2.242575 -1.574750
+v 0.000000 2.242575 -1.574750
+v 0.000000 2.242575 1.574750
+v 0.000000 2.242575 1.574750
+v 0.000000 2.400000 -1.500000
+v 0.000000 2.400000 -1.500000
+v 0.000000 2.400000 -1.400000
+v 0.000000 2.400000 -1.400000
+v 0.000000 2.400000 -1.300000
+v 0.000000 2.400000 1.300000
+v 0.000000 2.400000 1.400000
+v 0.000000 2.400000 1.400000
+v 0.000000 2.400000 1.500000
+v 0.000000 2.400000 1.500000
+v 0.000000 2.435437 -1.480325
+v 0.000000 2.435437 -1.385925
+v 0.000000 2.435437 1.385925
+v 0.000000 2.435437 1.480325
+v 0.000000 2.440800 -1.274600
+v 0.000000 2.440800 -1.274600
+v 0.000000 2.440800 1.274600
+v 0.000000 2.440800 1.274600
+v 0.000000 2.463000 -1.459600
+v 0.000000 2.463000 -1.380400
+v 0.000000 2.463000 1.380400
+v 0.000000 2.463000 1.459600
+v 0.000000 2.474400 -1.204800
+v 0.000000 2.474400 1.204800
+v 0.000000 2.482687 -1.439025
+v 0.000000 2.482687 -1.382225
+v 0.000000 2.482687 1.382225
+v 0.000000 2.482687 1.439025
+v 0.000000 2.494500 -1.419800
+v 0.000000 2.494500 -1.390200
+v 0.000000 2.494500 1.390200
+v 0.000000 2.494500 1.419800
+v 0.000000 2.498438 -1.403125
+v 0.000000 2.498438 -1.403125
+v 0.000000 2.498438 1.403125
+v 0.000000 2.498438 1.403125
+v 0.000000 2.502600 -1.100200
+v 0.000000 2.502600 1.100200
+v 0.000000 2.527200 -0.970400
+v 0.000000 2.527200 0.970400
+v 0.000000 2.550000 -0.825000
+v 0.000000 2.550000 -0.825000
+v 0.000000 2.550000 0.825000
+v 0.000000 2.550000 0.825000
+v 0.000000 2.572800 -0.673600
+v 0.000000 2.572800 0.673600
+v 0.000000 2.597400 -0.525800
+v 0.000000 2.597400 0.525800
+v 0.000000 2.625600 -0.391200
+v 0.000000 2.625600 -0.391200
+v 0.000000 2.625600 0.391200
+v 0.000000 2.625600 0.391200
+v 0.000000 2.659200 -0.279400
+v 0.000000 2.659200 0.279400
+v 0.000000 2.700000 -0.200000
+v 0.000000 2.700000 -0.200000
+v 0.000000 2.700000 0.200000
+v 0.000000 2.700000 0.200000
+v 0.000000 2.749050 -0.167400
+v 0.000000 2.749050 0.167400
+v 0.000000 2.804400 -0.179200
+v 0.000000 2.804400 0.179200
+v 0.000000 2.863350 -0.219800
+v 0.000000 2.863350 0.219800
+v 0.000000 2.923200 -0.273600
+v 0.000000 2.923200 0.273600
+v 0.000000 2.981250 -0.325000
+v 0.000000 2.981250 0.325000
+v 0.000000 3.034800 -0.358400
+v 0.000000 3.034800 -0.358400
+v 0.000000 3.034800 0.358400
+v 0.000000 3.034800 0.358400
+v 0.000000 3.081150 -0.358200
+v 0.000000 3.081150 0.358200
+v 0.000000 3.117600 -0.308800
+v 0.000000 3.117600 0.308800
+v 0.000000 3.141450 -0.194600
+v 0.000000 3.141450 0.194600
+v 0.000000 3.150000 0.000000
+v 0.000000 0.002175 -0.388275
+v 0.000000 3.081150 0.358200
+v 0.000000 2.597400 0.525800
+v 0.000000 2.700000 0.200000
+v 0.000000 2.981250 0.325000
+v 0.000000 3.141450 0.194600
+v 0.000000 3.117600 0.308800
+v 0.000000 0.105600 -1.480800
+v 0.000000 0.177075 1.514000
+v 0.000000 2.494500 1.419800
+v 0.000000 2.527200 0.970400
+v 0.000000 2.923200 0.273600
+v 0.000000 2.572800 0.673600
+v 0.000000 2.863350 0.219800
+v 0.000000 0.018225 -0.952425
+v 0.000000 0.046875 1.284375
+v 0.000000 0.064800 -1.382400
+v 0.000000 0.384375 -1.750000
+v 0.000000 0.463200 -1.824000
+v 0.000000 0.553725 1.892000
+v 0.000000 1.037175 -1.992750
+v 0.000000 1.178400 -1.972000
+v 0.000000 1.323225 1.939250
+v 0.000000 1.621875 1.843750
+v 0.000000 1.774800 -1.784000
+v 0.000000 2.400000 1.300000
+v 0.000000 2.435437 1.385925
+v 0.000000 2.435437 1.480325
+v 0.000000 2.463000 1.380400
+v 0.000000 2.463000 1.459600
+v 0.000000 2.494500 1.390200
+v 0.000000 2.502600 1.100200
+v 0.000000 2.804400 0.179200
+v 0.000000 2.749050 0.167400
+v 0.000000 0.127575 -1.496475
+v 0.000000 2.474400 1.204800
+v 0.000000 0.656400 1.948000
+v 0.000000 0.771675 1.986000
+v 0.000000 2.482687 -1.382225
+v 0.000000 2.700000 0.200000
+v 0.000000 0.260025 -1.608000
+v 0.000000 1.929525 -1.718250
+v 0.000000 2.085600 1.648000
+v 0.027480 2.749050 -0.165245
+v 0.027480 2.749050 0.165245
+v 0.029450 2.804400 -0.176897
+v 0.029450 2.804400 0.176897
+v 0.032048 3.141450 -0.192107
+v 0.032048 3.141450 0.192107
+v 0.032816 2.700000 -0.197424
+v 0.032816 2.700000 0.197424
+v 0.032816 2.700000 -0.197424
+v 0.032816 2.700000 0.197424
+v 0.036157 2.863350 -0.216979
+v 0.036157 2.863350 0.216979
+v 0.045032 2.923200 -0.270092
+v 0.045032 2.923200 0.270092
+v 0.045844 2.659200 -0.275801
+v 0.045844 2.659200 0.275801
+v 0.050855 3.117600 -0.304843
+v 0.050855 3.117600 0.304843
+v 0.053428 2.749050 -0.158995
+v 0.053428 2.749050 0.158995
+v 0.053508 2.981250 -0.320834
+v 0.053508 2.981250 0.320834
+v 0.057246 2.804400 -0.170215
+v 0.057246 2.804400 0.170215
+v 0.058988 3.081150 -0.353610
+v 0.058988 3.081150 0.353610
+v 0.059016 3.034800 -0.353807
+v 0.059016 3.034800 0.353807
+v 0.062272 3.141450 -0.184870
+v 0.062272 3.141450 0.184870
+v 0.063708 0.002175 0.383274
+v 0.063708 0.002175 -0.383274
+v 0.063808 2.700000 -0.189952
+v 0.063808 2.700000 0.189952
+v 0.063808 2.700000 -0.189952
+v 0.063808 2.700000 0.189952
+v 0.064188 2.625600 -0.386161
+v 0.064188 2.625600 0.386161
+v 0.070270 2.863350 -0.208794
+v 0.070270 2.863350 0.208794
+v 0.077523 2.749050 -0.148969
+v 0.077523 2.749050 0.148969
+v 0.083047 2.804400 -0.159496
+v 0.083047 2.804400 0.159496
+v 0.086273 2.597400 -0.519028
+v 0.086273 2.597400 0.519028
+v 0.087511 2.923200 -0.259910
+v 0.087511 2.923200 0.259910
+v 0.089140 2.659200 -0.265363
+v 0.089140 2.659200 0.265363
+v 0.090306 3.141450 -0.173255
+v 0.090306 3.141450 0.173255
+v 0.092592 2.700000 -0.177968
+v 0.092592 2.700000 0.177968
+v 0.092592 2.700000 -0.177968
+v 0.092592 2.700000 0.177968
+v 0.098814 3.117600 -0.293360
+v 0.098814 3.117600 0.293360
+v 0.099446 2.749050 0.135489
+v 0.099446 2.749050 -0.135489
+v 0.101925 2.863350 -0.195658
+v 0.101925 2.863350 0.195658
+v 0.103976 2.981250 -0.308744
+v 0.103976 2.981250 0.308744
+v 0.106513 2.804400 -0.145078
+v 0.106513 2.804400 0.145078
+v 0.110524 2.572800 -0.664924
+v 0.110524 2.572800 0.664924
+v 0.114619 3.081150 -0.340289
+v 0.114619 3.081150 0.340289
+v 0.114676 3.034800 -0.340477
+v 0.114676 3.034800 0.340477
+v 0.115381 0.008400 0.694143
+v 0.115381 0.008400 -0.694143
+v 0.115787 3.141450 -0.157626
+v 0.115787 3.141450 0.157626
+v 0.118784 2.700000 0.161856
+v 0.118784 2.700000 -0.161856
+v 0.118784 2.700000 -0.161856
+v 0.118784 2.700000 0.161856
+v 0.118874 2.749050 0.118874
+v 0.118874 2.749050 -0.118874
+v 0.123875 0.002175 0.368768
+v 0.123875 0.002175 -0.368768
+v 0.124808 2.625600 -0.371546
+v 0.124808 2.625600 0.371546
+v 0.126920 2.923200 -0.243569
+v 0.126920 2.923200 0.243569
+v 0.127304 2.804400 0.127304
+v 0.127304 2.804400 -0.127304
+v 0.129351 2.659200 0.248621
+v 0.129351 2.659200 -0.248621
+v 0.130707 2.863350 -0.177989
+v 0.130707 2.863350 0.177989
+v 0.135366 2.550000 -0.814374
+v 0.135366 2.550000 0.814374
+v 0.135489 2.749050 0.099446
+v 0.135489 2.749050 -0.099446
+v 0.138348 3.141450 -0.138348
+v 0.138348 3.141450 0.138348
+v 0.142000 2.700000 0.142000
+v 0.142000 2.700000 -0.142000
+v 0.142000 2.700000 -0.142000
+v 0.142000 2.700000 0.142000
+v 0.143301 3.117600 -0.274928
+v 0.143301 3.117600 0.274928
+v 0.145078 2.804400 0.106513
+v 0.145078 2.804400 -0.106513
+v 0.148969 2.749050 0.077523
+v 0.148969 2.749050 -0.077523
+v 0.150793 2.981250 -0.289340
+v 0.150793 2.981250 0.289340
+v 0.156200 2.863350 -0.156200
+v 0.156200 2.863350 0.156200
+v 0.156274 0.018225 0.940158
+v 0.156274 0.018225 -0.940158
+v 0.157626 3.141450 -0.115787
+v 0.157626 3.141450 0.115787
+v 0.158995 2.749050 0.053428
+v 0.158995 2.749050 -0.053428
+v 0.159223 2.527200 -0.957901
+v 0.159223 2.527200 0.957901
+v 0.159496 2.804400 0.083047
+v 0.159496 2.804400 -0.083047
+v 0.161856 2.700000 0.118784
+v 0.161856 2.700000 -0.118784
+v 0.161856 2.700000 -0.118784
+v 0.161856 2.700000 0.118784
+v 0.162745 2.923200 -0.221585
+v 0.162745 2.923200 0.221585
+v 0.165245 2.749050 0.027480
+v 0.165245 2.749050 -0.027480
+v 0.165941 2.659200 -0.226113
+v 0.165941 2.659200 0.226113
+v 0.166221 3.081150 0.318907
+v 0.166221 3.081150 -0.318907
+v 0.166306 3.034800 -0.319082
+v 0.166306 3.034800 0.319082
+v 0.167400 2.749050 -0.000000
+v 0.167400 2.749050 0.000000
+v 0.167751 2.597400 -0.499384
+v 0.167751 2.597400 0.499384
+v 0.170215 2.804400 0.057246
+v 0.170215 2.804400 -0.057246
+v 0.173255 3.141450 -0.090306
+v 0.173255 3.141450 0.090306
+v 0.176897 2.804400 0.029450
+v 0.176897 2.804400 -0.029450
+v 0.177968 2.700000 0.092592
+v 0.177968 2.700000 -0.092592
+v 0.177968 2.700000 -0.092592
+v 0.177968 2.700000 0.092592
+v 0.177989 2.863350 -0.130707
+v 0.177989 2.863350 0.130707
+v 0.179200 2.804400 -0.000000
+v 0.179200 2.804400 0.000000
+v 0.179756 0.002175 -0.345503
+v 0.179756 0.002175 0.345503
+v 0.180521 2.502600 -1.086029
+v 0.180521 2.502600 1.086029
+v 0.181110 2.625600 0.348105
+v 0.181110 2.625600 -0.348105
+v 0.183734 3.117600 -0.250127
+v 0.183734 3.117600 0.250127
+v 0.184870 3.141450 -0.062272
+v 0.184870 3.141450 0.062272
+v 0.187642 0.031200 1.128870
+v 0.187642 0.031200 -1.128870
+v 0.189952 2.700000 0.063808
+v 0.189952 2.700000 -0.063808
+v 0.189952 2.700000 -0.063808
+v 0.189952 2.700000 0.063808
+v 0.192107 3.141450 -0.032048
+v 0.192107 3.141450 0.032048
+v 0.193348 2.981250 -0.263232
+v 0.193348 2.981250 0.263232
+v 0.194472 2.923200 -0.194472
+v 0.194472 2.923200 0.194472
+v 0.194600 3.141450 0.000000
+v 0.194600 3.141450 -0.000000
+v 0.195658 2.863350 -0.101925
+v 0.195658 2.863350 0.101925
+v 0.197424 2.700000 0.032816
+v 0.197424 2.700000 -0.032816
+v 0.197424 2.700000 -0.032816
+v 0.197424 2.700000 0.032816
+v 0.197684 2.474400 -1.189282
+v 0.197684 2.474400 1.189282
+v 0.198374 2.659200 -0.198374
+v 0.198374 2.659200 0.198374
+v 0.200000 2.700000 -0.000000
+v 0.200000 2.700000 0.000000
+v 0.200000 2.700000 0.000000
+v 0.200000 2.700000 -0.000000
+v 0.208794 2.863350 0.070270
+v 0.208794 2.863350 -0.070270
+v 0.209136 2.440800 -1.258183
+v 0.209136 2.440800 1.258183
+v 0.210740 0.046875 -1.267832
+v 0.210740 0.046875 1.267832
+v 0.213123 3.081150 -0.290138
+v 0.213123 3.081150 0.290138
+v 0.213234 3.034800 -0.290295
+v 0.213234 3.034800 0.290295
+v 0.213304 2.400000 -1.283256
+v 0.213304 2.400000 1.283256
+v 0.214905 2.572800 -0.639758
+v 0.214905 2.572800 0.639758
+v 0.216979 2.863350 0.036157
+v 0.216979 2.863350 -0.036157
+v 0.219536 3.117600 -0.219536
+v 0.219536 3.117600 0.219536
+v 0.219800 2.863350 -0.000000
+v 0.219800 2.863350 0.000000
+v 0.221585 2.923200 -0.162745
+v 0.221585 2.923200 0.162745
+v 0.224349 0.008400 0.667871
+v 0.224349 0.008400 -0.667871
+v 0.226113 2.659200 -0.165941
+v 0.226113 2.659200 0.165941
+v 0.226496 2.463000 -1.362620
+v 0.226496 2.463000 1.362620
+v 0.226795 2.482687 1.364422
+v 0.226795 2.482687 -1.364422
+v 0.226824 0.064800 1.364595
+v 0.226824 0.064800 -1.364595
+v 0.227403 2.435437 -1.368074
+v 0.227403 2.435437 1.368074
+v 0.228104 2.494500 -1.372294
+v 0.228104 2.494500 1.372294
+v 0.229712 2.400000 -1.381968
+v 0.229712 2.400000 1.381968
+v 0.230225 2.498438 -1.385053
+v 0.230225 2.498438 1.385053
+v 0.230604 0.002175 -0.314223
+v 0.230604 0.002175 0.314223
+v 0.231031 2.981250 -0.231031
+v 0.231031 2.981250 0.231031
+v 0.232342 2.625600 -0.316590
+v 0.232342 2.625600 0.316590
+v 0.232961 2.494500 -1.401513
+v 0.232961 2.494500 1.401513
+v 0.236115 2.482687 -1.420490
+v 0.236115 2.482687 1.420490
+v 0.237149 0.084525 1.426709
+v 0.237149 0.084525 -1.426709
+v 0.239491 2.463000 -1.440800
+v 0.239491 2.463000 1.440800
+v 0.242892 2.435437 -1.461258
+v 0.242892 2.435437 1.461258
+v 0.242970 0.105600 1.461727
+v 0.242970 0.105600 -1.461727
+v 0.243424 2.597400 0.467878
+v 0.243424 2.597400 -0.467878
+v 0.243569 2.923200 -0.126920
+v 0.243569 2.923200 0.126920
+v 0.245542 0.127575 1.477200
+v 0.245542 0.127575 -1.477200
+v 0.246120 0.150000 -1.480680
+v 0.246120 2.400000 -1.480680
+v 0.246120 0.150000 1.480680
+v 0.246120 0.150000 1.480680
+v 0.246120 2.400000 1.480680
+v 0.246120 0.150000 -1.480680
+v 0.248417 0.177075 -1.494500
+v 0.248417 0.177075 1.494500
+v 0.248621 2.659200 0.129351
+v 0.248621 2.659200 -0.129351
+v 0.250127 3.117600 -0.183734
+v 0.250127 3.117600 0.183734
+v 0.254652 0.213600 -1.532010
+v 0.254652 0.213600 1.532010
+v 0.254653 3.081150 -0.254653
+v 0.254653 3.081150 0.254653
+v 0.254788 3.034800 -0.254788
+v 0.254788 3.034800 0.254788
+v 0.258385 2.242575 -1.554467
+v 0.258385 2.242575 1.554467
+v 0.259910 2.923200 -0.087511
+v 0.259910 2.923200 0.087511
+v 0.263208 2.550000 -0.783552
+v 0.263208 2.550000 0.783552
+v 0.263232 2.981250 -0.193348
+v 0.263232 2.981250 0.193348
+v 0.263841 0.260025 1.587289
+v 0.263841 0.260025 -1.587289
+v 0.265363 2.659200 -0.089140
+v 0.265363 2.659200 0.089140
+v 0.270092 2.923200 -0.045032
+v 0.270092 2.923200 0.045032
+v 0.270404 2.085600 -1.626774
+v 0.270404 2.085600 1.626774
+v 0.273600 2.923200 -0.000000
+v 0.273600 2.923200 0.000000
+v 0.274928 3.117600 -0.143301
+v 0.274928 3.117600 0.143301
+v 0.274998 0.316800 -1.654413
+v 0.274998 0.316800 1.654413
+v 0.275675 0.002175 -0.275675
+v 0.275675 0.002175 0.275675
+v 0.275801 2.659200 -0.045844
+v 0.275801 2.659200 0.045844
+v 0.277752 2.625600 -0.277752
+v 0.277752 2.625600 0.277752
+v 0.279400 2.659200 0.000000
+v 0.281930 1.929525 1.696119
+v 0.281930 1.929525 -1.696119
+v 0.287140 0.384375 -1.727460
+v 0.287140 0.384375 1.727460
+v 0.289340 2.981250 -0.150793
+v 0.289340 2.981250 0.150793
+v 0.290138 3.081150 -0.213123
+v 0.290138 3.081150 0.213123
+v 0.290295 3.034800 -0.213234
+v 0.290295 3.034800 0.213234
+v 0.292719 1.774800 -1.761022
+v 0.292719 1.774800 1.761022
+v 0.293360 3.117600 -0.098814
+v 0.293360 3.117600 0.098814
+v 0.299282 0.463200 -1.800507
+v 0.299282 0.463200 1.800507
+v 0.302522 1.621875 -1.820003
+v 0.302523 1.621875 1.820003
+v 0.303862 0.018225 0.904575
+v 0.303862 0.018225 -0.904575
+v 0.304843 3.117600 -0.050855
+v 0.304843 3.117600 0.050855
+v 0.308744 2.981250 -0.103976
+v 0.308744 2.981250 0.103976
+v 0.308800 3.117600 0.000000
+v 0.308800 3.117600 -0.000000
+v 0.309596 2.527200 -0.921647
+v 0.309596 2.527200 0.921647
+v 0.310439 0.553725 -1.867631
+v 0.310439 0.553725 1.867631
+v 0.311096 1.471200 -1.871580
+v 0.311096 1.471200 1.871580
+v 0.311850 2.572800 -0.599396
+v 0.311850 2.572800 0.599396
+v 0.312283 2.597400 -0.425519
+v 0.312283 2.597400 0.425519
+v 0.314223 0.002175 -0.230604
+v 0.314223 0.002175 0.230604
+v 0.316590 2.625600 -0.232342
+v 0.316590 2.625600 0.232342
+v 0.318192 1.323225 -1.914272
+v 0.318192 1.323225 1.914272
+v 0.318907 3.081150 -0.166221
+v 0.318907 3.081150 0.166221
+v 0.319082 3.034800 -0.166306
+v 0.319082 3.034800 0.166306
+v 0.319628 0.656400 -1.922910
+v 0.319628 0.656400 1.922910
+v 0.320834 2.981250 -0.053508
+v 0.320834 2.981250 0.053508
+v 0.323566 1.178400 -1.946601
+v 0.323566 1.178400 1.946601
+v 0.325000 2.981250 0.000000
+v 0.325000 2.981250 -0.000000
+v 0.325553 0.008400 -0.625735
+v 0.325553 0.008400 0.625735
+v 0.325863 0.771675 -1.960420
+v 0.325863 0.771675 1.960420
+v 0.326970 1.037175 -1.967083
+v 0.326970 1.037175 1.967083
+v 0.328160 0.900000 -1.974240
+v 0.328160 0.900000 -1.974240
+v 0.328160 0.900000 1.974240
+v 0.340289 3.081150 -0.114619
+v 0.340289 3.081150 0.114619
+v 0.340477 3.034800 -0.114676
+v 0.340477 3.034800 0.114676
+v 0.345503 0.002175 -0.179756
+v 0.345503 0.002175 0.179756
+v 0.348105 2.625600 -0.181110
+v 0.348105 2.625600 0.181110
+v 0.351008 2.502600 -1.044926
+v 0.351008 2.502600 1.044926
+v 0.353610 3.081150 -0.058988
+v 0.353610 3.081150 0.058988
+v 0.353807 3.034800 -0.059016
+v 0.353807 3.034800 0.059016
+v 0.358200 3.081150 -0.000000
+v 0.358200 3.081150 0.000000
+v 0.358400 3.034800 0.000000
+v 0.358400 3.034800 0.000000
+v 0.364854 0.031200 1.086146
+v 0.364854 0.031200 -1.086146
+v 0.368768 0.002175 -0.123875
+v 0.368768 0.002175 0.123875
+v 0.371546 2.625600 -0.124808
+v 0.371546 2.625600 0.124808
+v 0.373318 2.597400 -0.373318
+v 0.373318 2.597400 0.373318
+v 0.381942 2.550000 -0.734118
+v 0.381942 2.550000 0.734118
+v 0.383274 0.002175 -0.063708
+v 0.383274 0.002175 0.063708
+v 0.384379 2.474400 -1.144271
+v 0.384379 2.474400 1.144271
+v 0.386161 2.625600 -0.064188
+v 0.386161 2.625600 0.064188
+v 0.388275 0.002175 0.000000
+v 0.388275 0.002175 0.000000
+v 0.391200 2.625600 0.000000
+v 0.391200 2.625600 0.000000
+v 0.400065 2.572800 -0.545131
+v 0.400065 2.572800 0.545131
+v 0.406648 2.440800 -1.210564
+v 0.406648 2.440800 1.210564
+v 0.409767 0.046875 1.219848
+v 0.409767 0.046875 -1.219848
+v 0.414752 2.400000 -1.234688
+v 0.414752 2.400000 1.234688
+v 0.417645 0.008400 -0.569086
+v 0.417645 0.008400 0.569086
+v 0.425519 2.597400 0.312283
+v 0.425519 2.597400 -0.312283
+v 0.440403 2.463000 -1.311049
+v 0.440403 2.463000 1.311049
+v 0.440935 0.018225 0.847506
+v 0.440935 0.018225 -0.847506
+v 0.440985 2.482687 -1.312782
+v 0.440985 2.482687 1.312782
+v 0.441041 0.064800 1.312948
+v 0.441041 0.064800 -1.312948
+v 0.442166 2.435437 -1.316296
+v 0.442166 2.435437 1.316296
+v 0.443529 2.494500 -1.320356
+v 0.443529 2.494500 1.320356
+v 0.446656 2.400000 -1.329664
+v 0.446656 2.400000 1.329664
+v 0.447653 2.498438 -1.332632
+v 0.447653 2.498438 1.332632
+v 0.449256 2.527200 -0.863501
+v 0.449256 2.527200 0.863501
+v 0.452973 2.494500 -1.348469
+v 0.452973 2.494500 1.348469
+v 0.459107 2.482687 -1.366728
+v 0.459107 2.482687 1.366728
+v 0.461116 0.084525 1.372712
+v 0.461116 0.084525 -1.372712
+v 0.465671 2.463000 -1.386270
+v 0.465671 2.463000 1.386270
+v 0.467878 2.597400 -0.243424
+v 0.467878 2.597400 0.243424
+v 0.472283 2.435437 -1.405953
+v 0.472283 2.435437 1.405953
+v 0.472434 0.105600 1.406405
+v 0.472434 0.105600 -1.406405
+v 0.477435 0.127575 1.421292
+v 0.477435 0.127575 -1.421292
+v 0.478256 2.572800 -0.478256
+v 0.478256 2.572800 0.478256
+v 0.478560 0.150000 -1.424640
+v 0.478560 2.400000 -1.424640
+v 0.478560 0.150000 1.424640
+v 0.478560 0.150000 1.424640
+v 0.478560 0.150000 -1.424640
+v 0.478560 2.400000 1.424640
+v 0.483027 0.177075 -1.437937
+v 0.483027 0.177075 1.437937
+v 0.489984 2.550000 -0.667656
+v 0.489984 2.550000 0.667656
+v 0.495150 0.213600 -1.474028
+v 0.495150 0.213600 1.474028
+v 0.499272 0.008400 -0.499272
+v 0.499272 0.008400 0.499272
+v 0.499384 2.597400 -0.167751
+v 0.499384 2.597400 0.167751
+v 0.502408 2.242575 -1.495635
+v 0.502408 2.242575 1.495635
+v 0.509349 2.502600 0.979002
+v 0.509349 2.502600 -0.979002
+v 0.513016 0.260025 -1.527214
+v 0.513016 0.260025 1.527214
+v 0.519028 2.597400 0.086273
+v 0.519028 2.597400 -0.086273
+v 0.525778 2.085600 -1.565204
+v 0.525778 2.085600 1.565204
+v 0.525800 2.597400 -0.000000
+v 0.525800 2.597400 0.000000
+v 0.529441 0.031200 -1.017621
+v 0.529441 0.031200 1.017621
+v 0.534711 0.316800 -1.591798
+v 0.534711 0.316800 1.591798
+v 0.545131 2.572800 -0.400065
+v 0.545131 2.572800 0.400065
+v 0.548190 1.929525 -1.631925
+v 0.548190 1.929525 1.631925
+v 0.557774 2.474400 -1.072079
+v 0.557774 2.474400 1.072079
+v 0.558320 0.384375 -1.662080
+v 0.558320 0.384375 1.662080
+v 0.565664 0.018225 0.770779
+v 0.565664 0.018225 -0.770779
+v 0.569086 0.008400 -0.417645
+v 0.569086 0.008400 0.417645
+v 0.569167 1.774800 -1.694372
+v 0.569167 1.774800 1.694372
+v 0.576340 2.527200 -0.785325
+v 0.576340 2.527200 0.785325
+v 0.581929 0.463200 -1.732362
+v 0.581929 0.463200 1.732362
+v 0.585750 2.550000 -0.585750
+v 0.585750 2.550000 0.585750
+v 0.588230 1.621875 -1.751120
+v 0.588230 1.621875 1.751120
+v 0.590089 2.440800 1.134190
+v 0.590089 2.440800 -1.134190
+v 0.594614 0.046875 -1.142888
+v 0.594614 0.046875 1.142888
+v 0.599396 2.572800 -0.311850
+v 0.599396 2.572800 0.311850
+v 0.601848 2.400000 -1.156792
+v 0.601848 2.400000 1.156792
+v 0.603624 0.553725 -1.796946
+v 0.603624 0.553725 1.796946
+v 0.604900 1.471200 -1.800745
+v 0.604900 1.471200 1.800745
+v 0.618698 1.323225 -1.841822
+v 0.618698 1.323225 1.841822
+v 0.621490 0.656400 -1.850132
+v 0.621490 0.656400 1.850132
+v 0.625735 0.008400 0.325553
+v 0.625735 0.008400 -0.325553
+v 0.629147 1.178400 -1.872927
+v 0.629147 1.178400 1.872927
+v 0.633613 0.771675 -1.886223
+v 0.633613 0.771675 1.886223
+v 0.635767 1.037175 -1.892634
+v 0.635767 1.037175 1.892634
+v 0.638080 0.900000 -1.899520
+v 0.638080 0.900000 -1.899520
+v 0.638080 0.900000 1.899520
+v 0.638080 0.900000 1.899520
+v 0.639070 2.463000 -1.228335
+v 0.639070 2.463000 1.228335
+v 0.639758 2.572800 -0.214905
+v 0.639758 2.572800 0.214905
+v 0.639915 2.482687 1.229959
+v 0.639915 2.482687 -1.229959
+v 0.639996 0.064800 -1.230115
+v 0.639996 0.064800 1.230115
+v 0.641628 2.435437 -1.233252
+v 0.641628 2.435437 1.233252
+v 0.643607 2.494500 -1.237056
+v 0.643607 2.494500 1.237056
+v 0.648144 2.400000 -1.245776
+v 0.648144 2.400000 1.245776
+v 0.649591 2.498438 -1.248557
+v 0.649591 2.498438 1.248557
+v 0.653431 2.502600 -0.890370
+v 0.653431 2.502600 0.890370
+v 0.657311 2.494500 -1.263395
+v 0.657311 2.494500 1.263395
+v 0.664924 2.572800 -0.110524
+v 0.664924 2.572800 0.110524
+v 0.666211 2.482687 1.280502
+v 0.666211 2.482687 -1.280502
+v 0.667656 2.550000 -0.489984
+v 0.667656 2.550000 0.489984
+v 0.667871 0.008400 -0.224349
+v 0.667871 0.008400 0.224349
+v 0.669128 0.084525 -1.286108
+v 0.669128 0.084525 1.286108
+v 0.673600 2.572800 0.000000
+v 0.673600 2.572800 -0.000000
+v 0.675736 2.463000 -1.298810
+v 0.675736 2.463000 1.298810
+v 0.676222 0.018225 0.676222
+v 0.676222 0.018225 -0.676222
+v 0.679207 0.031200 -0.925493
+v 0.679207 0.031200 0.925493
+v 0.685331 2.435437 -1.317252
+v 0.685331 2.435437 1.317252
+v 0.685551 0.105600 -1.317675
+v 0.685551 0.105600 1.317675
+v 0.688984 2.527200 -0.688984
+v 0.688984 2.527200 0.688984
+v 0.692808 0.127575 1.331623
+v 0.692808 0.127575 -1.331623
+v 0.694143 0.008400 -0.115381
+v 0.694143 0.008400 0.115381
+v 0.694440 0.150000 1.334760
+v 0.694440 0.150000 -1.334760
+v 0.694440 2.400000 1.334760
+v 0.694440 0.150000 -1.334760
+v 0.694440 0.150000 1.334760
+v 0.694440 2.400000 -1.334760
+v 0.700921 0.177075 1.347218
+v 0.700921 0.177075 -1.347218
+v 0.703200 0.008400 0.000000
+v 0.715555 2.474400 -0.975021
+v 0.715555 2.474400 0.975021
+v 0.718514 0.213600 1.381032
+v 0.718514 0.213600 -1.381032
+v 0.729046 2.242575 -1.401276
+v 0.729046 2.242575 1.401276
+v 0.734118 2.550000 -0.381942
+v 0.734118 2.550000 0.381942
+v 0.744440 0.260025 1.430863
+v 0.744440 0.260025 -1.430863
+v 0.757010 2.440800 1.031508
+v 0.757010 2.440800 -1.031508
+v 0.762816 0.046875 -1.039419
+v 0.762816 0.046875 1.039419
+v 0.762958 2.085600 -1.466456
+v 0.762958 2.085600 1.466456
+v 0.770779 0.018225 0.565664
+v 0.770779 0.018225 -0.565664
+v 0.772096 2.400000 -1.052064
+v 0.772096 2.400000 1.052064
+v 0.775921 0.316800 -1.491372
+v 0.775921 0.316800 1.491372
+v 0.781142 2.502600 -0.781142
+v 0.781142 2.502600 0.781142
+v 0.783552 2.550000 -0.263208
+v 0.783552 2.550000 0.263208
+v 0.785325 2.527200 -0.576340
+v 0.785325 2.527200 0.576340
+v 0.795481 1.929525 1.528968
+v 0.795481 1.929525 -1.528968
+v 0.810180 0.384375 1.557220
+v 0.810180 0.384375 -1.557220
+v 0.811956 0.031200 0.811956
+v 0.811956 0.031200 -0.811956
+v 0.814374 2.550000 -0.135366
+v 0.814374 2.550000 0.135366
+v 0.819847 2.463000 -1.117130
+v 0.819847 2.463000 1.117130
+v 0.820931 2.482687 1.118607
+v 0.820931 2.482687 -1.118607
+v 0.821035 0.064800 1.118749
+v 0.821035 0.064800 -1.118749
+v 0.823129 2.435437 -1.121601
+v 0.823129 2.435437 1.121601
+v 0.825000 2.550000 0.000000
+v 0.825000 2.550000 0.000000
+v 0.825668 2.494500 -1.125061
+v 0.825668 2.494500 1.125061
+v 0.825921 1.774800 1.587475
+v 0.825921 1.774800 -1.587475
+v 0.831488 2.400000 -1.132992
+v 0.831488 2.400000 1.132992
+v 0.833344 2.498438 -1.135521
+v 0.833344 2.498438 1.135521
+v 0.843248 2.494500 -1.149016
+v 0.843248 2.494500 1.149016
+v 0.844439 0.463200 1.623068
+v 0.844439 0.463200 -1.623068
+v 0.847506 0.018225 -0.440935
+v 0.847506 0.018225 0.440935
+v 0.853583 1.621875 -1.640643
+v 0.853583 1.621875 1.640643
+v 0.854666 2.482687 -1.164574
+v 0.854666 2.482687 1.164574
+v 0.855408 2.474400 -0.855408
+v 0.855408 2.474400 0.855408
+v 0.858407 0.084525 -1.169673
+v 0.858407 0.084525 1.169673
+v 0.863501 2.527200 -0.449256
+v 0.863501 2.527200 0.449256
+v 0.866886 2.463000 -1.181225
+v 0.866886 2.463000 1.181225
+v 0.875920 0.553725 -1.683577
+v 0.875920 0.553725 1.683577
+v 0.877772 1.471200 -1.687137
+v 0.877772 1.471200 1.687137
+v 0.879195 2.435437 -1.197997
+v 0.879195 2.435437 1.197997
+v 0.879477 0.105600 -1.198382
+v 0.879477 0.105600 1.198382
+v 0.888786 0.127575 1.211067
+v 0.888786 0.127575 -1.211067
+v 0.890370 2.502600 -0.653431
+v 0.890370 2.502600 0.653431
+v 0.890880 0.150000 -1.213920
+v 0.890880 0.150000 1.213920
+v 0.890880 2.400000 -1.213920
+v 0.890880 0.150000 -1.213920
+v 0.890880 0.150000 1.213920
+v 0.890880 2.400000 1.213920
+v 0.897795 1.323225 -1.725622
+v 0.897795 1.323225 1.725622
+v 0.899195 0.177075 1.225250
+v 0.899195 0.177075 -1.225250
+v 0.901846 0.656400 -1.733408
+v 0.901846 0.656400 1.733408
+v 0.904575 0.018225 0.303862
+v 0.904575 0.018225 -0.303862
+v 0.904966 2.440800 0.904966
+v 0.904966 2.440800 -0.904966
+v 0.911906 0.046875 -0.911906
+v 0.911906 0.046875 0.911906
+v 0.912957 1.178400 -1.754764
+v 0.912957 1.178400 1.754764
+v 0.919439 0.771675 -1.767222
+v 0.919439 0.771675 1.767222
+v 0.921647 2.527200 -0.309596
+v 0.921647 2.527200 0.309596
+v 0.921764 0.213600 1.256003
+v 0.921764 0.213600 -1.256003
+v 0.922564 1.037175 1.773229
+v 0.922564 1.037175 -1.773229
+v 0.923000 2.400000 -0.923000
+v 0.923000 2.400000 0.923000
+v 0.925493 0.031200 0.679207
+v 0.925493 0.031200 -0.679207
+v 0.925920 0.900000 1.779680
+v 0.925920 0.900000 -1.779680
+v 0.925920 0.900000 -1.779680
+v 0.925920 0.900000 1.779680
+v 0.935276 2.242575 -1.274414
+v 0.935276 2.242575 1.274414
+v 0.940158 0.018225 0.156274
+v 0.940158 0.018225 -0.156274
+v 0.952425 0.018225 0.000000
+v 0.952425 0.018225 0.000000
+v 0.955023 0.260025 1.301322
+v 0.955023 0.260025 -1.301322
+v 0.957901 2.527200 -0.159223
+v 0.957901 2.527200 0.159223
+v 0.970400 2.527200 0.000000
+v 0.970400 2.527200 -0.000000
+v 0.975021 2.474400 -0.715555
+v 0.975021 2.474400 0.715555
+v 0.978780 2.085600 -1.333693
+v 0.978780 2.085600 1.333693
+v 0.979002 2.502600 0.509349
+v 0.979002 2.502600 -0.509349
+v 0.980084 2.463000 -0.980084
+v 0.980084 2.463000 0.980084
+v 0.981380 2.482687 -0.981380
+v 0.981380 2.482687 0.981380
+v 0.981504 0.064800 0.981504
+v 0.981504 0.064800 -0.981504
+v 0.984007 2.435437 -0.984007
+v 0.984007 2.435437 0.984007
+v 0.987042 2.494500 -0.987042
+v 0.987042 2.494500 0.987042
+v 0.994000 2.400000 -0.994000
+v 0.994000 2.400000 0.994000
+v 0.995410 0.316800 -1.356353
+v 0.995410 0.316800 1.356353
+v 0.996219 2.498438 -0.996219
+v 0.996219 2.498438 0.996219
+v 1.008058 2.494500 -1.008058
+v 1.008058 2.494500 1.008058
+v 1.017621 0.031200 0.529441
+v 1.017621 0.031200 -0.529441
+v 1.020503 1.929525 -1.390545
+v 1.020503 1.929525 1.390545
+v 1.021708 2.482687 -1.021708
+v 1.021708 2.482687 1.021708
+v 1.026181 0.084525 -1.026181
+v 1.026181 0.084525 1.026181
+v 1.031508 2.440800 0.757010
+v 1.031508 2.440800 -0.757010
+v 1.036316 2.463000 -1.036316
+v 1.036316 2.463000 1.036316
+v 1.039360 0.384375 -1.416240
+v 1.039360 0.384375 1.416240
+v 1.039419 0.046875 -0.762816
+v 1.039419 0.046875 0.762816
+v 1.044926 2.502600 -0.351008
+v 1.044926 2.502600 0.351008
+v 1.051031 2.435437 -1.051031
+v 1.051031 2.435437 1.051031
+v 1.051368 0.105600 -1.051368
+v 1.051368 0.105600 1.051368
+v 1.052064 2.400000 -0.772096
+v 1.052064 2.400000 0.772096
+v 1.059553 1.774800 -1.443756
+v 1.059553 1.774800 1.443756
+v 1.062497 0.127575 1.062497
+v 1.062497 0.127575 -1.062497
+v 1.065000 0.150000 -1.065000
+v 1.065000 0.150000 1.065000
+v 1.065000 2.400000 -1.065000
+v 1.065000 2.400000 1.065000
+v 1.072079 2.474400 -0.557774
+v 1.072079 2.474400 0.557774
+v 1.074940 0.177075 -1.074940
+v 1.074940 0.177075 1.074940
+v 1.083310 0.463200 -1.476127
+v 1.083310 0.463200 1.476127
+v 1.086029 2.502600 0.180521
+v 1.086029 2.502600 -0.180521
+v 1.086146 0.031200 0.364854
+v 1.086146 0.031200 -0.364854
+v 1.095040 1.621875 -1.492110
+v 1.095040 1.621875 1.492110
+v 1.100200 2.502600 -0.000000
+v 1.100200 2.502600 0.000000
+v 1.101920 0.213600 1.101920
+v 1.101920 0.213600 -1.101920
+v 1.117130 2.463000 -0.819847
+v 1.117130 2.463000 0.819847
+v 1.118073 2.242575 -1.118073
+v 1.118073 2.242575 1.118073
+v 1.118607 2.482687 -0.820931
+v 1.118607 2.482687 0.820931
+v 1.118749 0.064800 -0.821035
+v 1.118749 0.064800 0.821035
+v 1.121601 2.435437 -0.823129
+v 1.121601 2.435437 0.823129
+v 1.123697 0.553725 -1.531158
+v 1.123697 0.553725 1.531158
+v 1.125061 2.494500 -0.825668
+v 1.125061 2.494500 0.825668
+v 1.126072 1.471200 -1.534395
+v 1.126072 1.471200 1.534395
+v 1.128870 0.031200 -0.187642
+v 1.128870 0.031200 0.187642
+v 1.132992 2.400000 -0.831488
+v 1.132992 2.400000 0.831488
+v 1.134190 2.440800 0.590089
+v 1.134190 2.440800 -0.590089
+v 1.135521 2.498438 -0.833344
+v 1.135521 2.498438 0.833344
+v 1.141680 0.260025 1.141680
+v 1.141680 0.260025 -1.141680
+v 1.142888 0.046875 -0.594614
+v 1.142888 0.046875 0.594614
+v 1.143600 0.031200 0.000000
+v 1.143600 0.031200 0.000000
+v 1.144271 2.474400 -0.384379
+v 1.144271 2.474400 0.384379
+v 1.149016 2.494500 -0.843248
+v 1.149016 2.494500 0.843248
+v 1.151759 1.323225 -1.569396
+v 1.151759 1.323225 1.569396
+v 1.156792 2.400000 -0.601848
+v 1.156792 2.400000 0.601848
+v 1.156956 0.656400 -1.576477
+v 1.156956 0.656400 1.576477
+v 1.164574 2.482687 -0.854666
+v 1.164574 2.482687 0.854666
+v 1.169673 0.084525 -0.858407
+v 1.169673 0.084525 0.858407
+v 1.170080 2.085600 -1.170080
+v 1.170080 2.085600 1.170080
+v 1.171210 1.178400 -1.595900
+v 1.171210 1.178400 1.595900
+v 1.179525 0.771675 -1.607230
+v 1.179525 0.771675 1.607230
+v 1.181225 2.463000 -0.866886
+v 1.181225 2.463000 0.866886
+v 1.183534 1.037175 -1.612693
+v 1.183534 1.037175 1.612693
+v 1.187840 0.900000 -1.618560
+v 1.187840 0.900000 -1.618560
+v 1.187840 0.900000 1.618560
+v 1.187840 0.900000 1.618560
+v 1.189282 2.474400 -0.197684
+v 1.189282 2.474400 0.197684
+v 1.189960 0.316800 -1.189960
+v 1.189960 0.316800 1.189960
+v 1.197997 2.435437 -0.879195
+v 1.197997 2.435437 0.879195
+v 1.198382 0.105600 -0.879477
+v 1.198382 0.105600 0.879477
+v 1.204800 2.474400 0.000000
+v 1.204800 2.474400 -0.000000
+v 1.210564 2.440800 0.406648
+v 1.210564 2.440800 -0.406648
+v 1.211067 0.127575 0.888786
+v 1.211067 0.127575 -0.888786
+v 1.213920 0.150000 -0.890880
+v 1.213920 0.150000 -0.890880
+v 1.213920 0.150000 0.890880
+v 1.213920 0.150000 0.890880
+v 1.213920 2.400000 -0.890880
+v 1.213920 2.400000 0.890880
+v 1.219848 0.046875 -0.409767
+v 1.219848 0.046875 0.409767
+v 1.219958 1.929525 1.219958
+v 1.219958 1.929525 -1.219958
+v 1.225250 0.177075 0.899195
+v 1.225250 0.177075 -0.899195
+v 1.228335 2.463000 -0.639070
+v 1.228335 2.463000 0.639070
+v 1.229959 2.482687 -0.639915
+v 1.229959 2.482687 0.639915
+v 1.230115 0.064800 -0.639996
+v 1.230115 0.064800 0.639996
+v 1.233252 2.435437 -0.641628
+v 1.233252 2.435437 0.641628
+v 1.234688 2.400000 -0.414752
+v 1.234688 2.400000 0.414752
+v 1.237056 2.494500 -0.643607
+v 1.237056 2.494500 0.643607
+v 1.242500 0.384375 -1.242500
+v 1.242500 0.384375 1.242500
+v 1.245776 2.400000 -0.648144
+v 1.245776 2.400000 0.648144
+v 1.248557 2.498438 -0.649591
+v 1.248557 2.498438 0.649591
+v 1.256003 0.213600 0.921764
+v 1.256003 0.213600 -0.921764
+v 1.258183 2.440800 0.209136
+v 1.258183 2.440800 -0.209136
+v 1.263395 2.494500 -0.657311
+v 1.263395 2.494500 0.657311
+v 1.266640 1.774800 -1.266640
+v 1.266640 1.774800 1.266640
+v 1.267832 0.046875 -0.210740
+v 1.267832 0.046875 0.210740
+v 1.274414 2.242575 -0.935276
+v 1.274414 2.242575 0.935276
+v 1.274600 2.440800 0.000000
+v 1.274600 2.440800 0.000000
+v 1.280502 2.482687 -0.666211
+v 1.280502 2.482687 0.666211
+v 1.283256 2.400000 -0.213304
+v 1.283256 2.400000 0.213304
+v 1.284375 0.046875 0.000000
+v 1.284375 0.046875 -0.000000
+v 1.286108 0.084525 -0.669128
+v 1.286108 0.084525 0.669128
+v 1.295040 0.463200 -1.295040
+v 1.295040 0.463200 1.295040
+v 1.298810 2.463000 -0.675736
+v 1.298810 2.463000 0.675736
+v 1.300000 2.400000 0.000000
+v 1.300000 2.400000 -0.000000
+v 1.301322 0.260025 0.955023
+v 1.301322 0.260025 -0.955023
+v 1.309063 1.621875 -1.309063
+v 1.309063 1.621875 1.309063
+v 1.311049 2.463000 -0.440403
+v 1.311049 2.463000 0.440403
+v 1.312782 2.482687 -0.440985
+v 1.312782 2.482687 0.440985
+v 1.312948 0.064800 0.441041
+v 1.312948 0.064800 -0.441041
+v 1.316296 2.435437 -0.442166
+v 1.316296 2.435437 0.442166
+v 1.317252 2.435437 -0.685331
+v 1.317252 2.435437 0.685331
+v 1.317675 0.105600 -0.685551
+v 1.317675 0.105600 0.685551
+v 1.320356 2.494500 -0.443529
+v 1.320356 2.494500 0.443529
+v 1.329664 2.400000 -0.446656
+v 1.329664 2.400000 0.446656
+v 1.331623 0.127575 0.692808
+v 1.331623 0.127575 -0.692808
+v 1.332632 2.498438 -0.447653
+v 1.332632 2.498438 0.447653
+v 1.333693 2.085600 -0.978780
+v 1.333693 2.085600 0.978780
+v 1.334760 0.150000 0.694440
+v 1.334760 0.150000 -0.694440
+v 1.334760 0.150000 -0.694440
+v 1.334760 0.150000 0.694440
+v 1.334760 2.400000 -0.694440
+v 1.334760 2.400000 0.694440
+v 1.343320 0.553725 -1.343320
+v 1.343320 0.553725 1.343320
+v 1.346160 1.471200 -1.346160
+v 1.346160 1.471200 1.346160
+v 1.347218 0.177075 0.700921
+v 1.347218 0.177075 -0.700921
+v 1.348469 2.494500 -0.452973
+v 1.348469 2.494500 0.452973
+v 1.356353 0.316800 -0.995410
+v 1.356353 0.316800 0.995410
+v 1.362620 2.463000 -0.226496
+v 1.362620 2.463000 0.226496
+v 1.364422 2.482687 -0.226795
+v 1.364422 2.482687 0.226795
+v 1.364595 0.064800 -0.226824
+v 1.364595 0.064800 0.226824
+v 1.366728 2.482687 -0.459107
+v 1.366728 2.482687 0.459107
+v 1.368074 2.435437 -0.227403
+v 1.368074 2.435437 0.227403
+v 1.372294 2.494500 -0.228104
+v 1.372294 2.494500 0.228104
+v 1.372712 0.084525 -0.461116
+v 1.372712 0.084525 0.461116
+v 1.376867 1.323225 -1.376868
+v 1.376868 1.323225 1.376867
+v 1.380400 2.463000 0.000000
+v 1.380400 2.463000 -0.000000
+v 1.381032 0.213600 0.718514
+v 1.381032 0.213600 -0.718514
+v 1.381968 2.400000 -0.229712
+v 1.381968 2.400000 0.229712
+v 1.382225 2.482687 0.000000
+v 1.382225 2.482687 0.000000
+v 1.382400 0.064800 0.000000
+v 1.382400 0.064800 0.000000
+v 1.383080 0.656400 -1.383080
+v 1.383080 0.656400 1.383080
+v 1.385053 2.498438 -0.230225
+v 1.385053 2.498438 0.230225
+v 1.385925 2.435437 0.000000
+v 1.385925 2.435437 -0.000000
+v 1.386270 2.463000 -0.465671
+v 1.386270 2.463000 0.465671
+v 1.390200 2.494500 0.000000
+v 1.390200 2.494500 -0.000000
+v 1.390545 1.929525 -1.020503
+v 1.390545 1.929525 1.020503
+v 1.400000 2.400000 0.000000
+v 1.400000 2.400000 0.000000
+v 1.400120 1.178400 -1.400120
+v 1.400120 1.178400 1.400120
+v 1.401276 2.242575 -0.729046
+v 1.401276 2.242575 0.729046
+v 1.401513 2.494500 -0.232961
+v 1.401513 2.494500 0.232961
+v 1.403125 2.498438 0.000000
+v 1.403125 2.498438 0.000000
+v 1.405953 2.435437 -0.472283
+v 1.405953 2.435437 0.472283
+v 1.406405 0.105600 -0.472434
+v 1.406405 0.105600 0.472434
+v 1.410060 0.771675 -1.410060
+v 1.410060 0.771675 1.410060
+v 1.414853 1.037175 -1.414853
+v 1.414853 1.037175 1.414853
+v 1.416240 0.384375 -1.039360
+v 1.416240 0.384375 1.039360
+v 1.419800 2.494500 0.000000
+v 1.419800 2.494500 -0.000000
+v 1.420000 0.900000 -1.420000
+v 1.420000 0.900000 -1.420000
+v 1.420000 0.900000 1.420000
+v 1.420000 0.900000 1.420000
+v 1.420490 2.482687 -0.236115
+v 1.420490 2.482687 0.236115
+v 1.421292 0.127575 0.477435
+v 1.421292 0.127575 -0.477435
+v 1.424640 0.150000 -0.478560
+v 1.424640 0.150000 -0.478560
+v 1.424640 0.150000 0.478560
+v 1.424640 0.150000 0.478560
+v 1.424640 2.400000 -0.478560
+v 1.424640 2.400000 0.478560
+v 1.426709 0.084525 -0.237149
+v 1.426709 0.084525 0.237149
+v 1.430863 0.260025 0.744440
+v 1.430863 0.260025 -0.744440
+v 1.437937 0.177075 0.483027
+v 1.437937 0.177075 -0.483027
+v 1.439025 2.482687 0.000000
+v 1.440800 2.463000 -0.239491
+v 1.440800 2.463000 0.239491
+v 1.443756 1.774800 -1.059553
+v 1.443756 1.774800 1.059553
+v 1.445325 0.084525 0.000000
+v 1.445325 0.084525 0.000000
+v 1.459600 2.463000 0.000000
+v 1.459600 2.463000 -0.000000
+v 1.461258 2.435437 -0.242892
+v 1.461258 2.435437 0.242892
+v 1.461727 0.105600 -0.242970
+v 1.461727 0.105600 0.242970
+v 1.466456 2.085600 -0.762958
+v 1.466456 2.085600 0.762958
+v 1.474028 0.213600 0.495150
+v 1.474028 0.213600 -0.495150
+v 1.476127 0.463200 -1.083310
+v 1.476127 0.463200 1.083310
+v 1.477200 0.127575 0.245542
+v 1.477200 0.127575 -0.245542
+v 1.480325 2.435437 0.000000
+v 1.480325 2.435437 -0.000000
+v 1.480680 0.150000 -0.246120
+v 1.480680 0.150000 0.246120
+v 1.480680 0.150000 0.246120
+v 1.480680 0.150000 -0.246120
+v 1.480680 2.400000 -0.246120
+v 1.480680 2.400000 0.246120
+v 1.480800 0.105600 0.000000
+v 1.480800 0.105600 0.000000
+v 1.491372 0.316800 -0.775921
+v 1.491372 0.316800 0.775921
+v 1.492110 1.621875 -1.095040
+v 1.492110 1.621875 1.095040
+v 1.494500 0.177075 0.248417
+v 1.494500 0.177075 -0.248417
+v 1.495635 2.242575 -0.502408
+v 1.495635 2.242575 0.502408
+v 1.496475 0.127575 0.000000
+v 1.496475 0.127575 0.000000
+v 1.500000 0.150000 0.000000
+v 1.500000 0.150000 0.000000
+v 1.500000 2.400000 0.000000
+v 1.500000 2.400000 0.000000
+v 1.514000 0.177075 -0.000000
+v 1.514000 0.177075 0.000000
+v 1.527214 0.260025 -0.513016
+v 1.527214 0.260025 0.513016
+v 1.528968 1.929525 -0.795481
+v 1.528968 1.929525 0.795481
+v 1.531158 0.553725 -1.123697
+v 1.531158 0.553725 1.123697
+v 1.532010 0.213600 0.254652
+v 1.532010 0.213600 -0.254652
+v 1.534395 1.471200 -1.126072
+v 1.534395 1.471200 1.126072
+v 1.552000 0.213600 0.000000
+v 1.552000 0.213600 0.000000
+v 1.554467 2.242575 -0.258385
+v 1.554467 2.242575 0.258385
+v 1.557220 0.384375 -0.810180
+v 1.557220 0.384375 0.810180
+v 1.565204 2.085600 -0.525778
+v 1.565204 2.085600 0.525778
+v 1.569396 1.323225 -1.151759
+v 1.569396 1.323225 1.151759
+v 1.574750 2.242575 0.000000
+v 1.574750 2.242575 0.000000
+v 1.576477 0.656400 -1.156956
+v 1.576477 0.656400 1.156956
+v 1.587289 0.260025 0.263841
+v 1.587289 0.260025 -0.263841
+v 1.587475 1.774800 -0.825921
+v 1.587475 1.774800 0.825921
+v 1.591798 0.316800 -0.534711
+v 1.591798 0.316800 0.534711
+v 1.595900 1.178400 -1.171210
+v 1.595900 1.178400 1.171210
+v 1.607230 0.771675 -1.179525
+v 1.607230 0.771675 1.179525
+v 1.608000 0.260025 0.000000
+v 1.608000 0.260025 0.000000
+v 1.612693 1.037175 -1.183534
+v 1.612693 1.037175 1.183534
+v 1.618560 0.900000 -1.187840
+v 1.618560 0.900000 -1.187840
+v 1.618560 0.900000 1.187840
+v 1.618560 0.900000 1.187840
+v 1.623068 0.463200 -0.844439
+v 1.623068 0.463200 0.844439
+v 1.626774 2.085600 -0.270404
+v 1.626774 2.085600 0.270404
+v 1.631925 1.929525 -0.548190
+v 1.631925 1.929525 0.548190
+v 1.640643 1.621875 -0.853583
+v 1.640643 1.621875 0.853583
+v 1.648000 2.085600 0.000000
+v 1.648000 2.085600 -0.000000
+v 1.654413 0.316800 -0.274998
+v 1.654413 0.316800 0.274998
+v 1.662080 0.384375 -0.558320
+v 1.662080 0.384375 0.558320
+v 1.676000 0.316800 0.000000
+v 1.676000 0.316800 0.000000
+v 1.683577 0.553725 -0.875920
+v 1.683577 0.553725 0.875920
+v 1.687137 1.471200 -0.877772
+v 1.687137 1.471200 0.877772
+v 1.694372 1.774800 -0.569167
+v 1.694372 1.774800 0.569167
+v 1.696119 1.929525 -0.281930
+v 1.696119 1.929525 0.281930
+v 1.700000 0.600000 0.000000
+v 1.700000 0.600000 0.000000
+v 1.700000 0.623100 0.178200
+v 1.700000 0.623100 -0.178200
+v 1.700000 0.685800 -0.316800
+v 1.700000 0.685800 0.316800
+v 1.700000 0.778200 0.415800
+v 1.700000 0.778200 -0.415800
+v 1.700000 0.890400 -0.475200
+v 1.700000 0.890400 0.475200
+v 1.700000 1.012500 -0.495000
+v 1.700000 1.012500 0.495000
+v 1.700000 1.134600 -0.475200
+v 1.700000 1.134600 0.475200
+v 1.700000 1.246800 0.415800
+v 1.700000 1.246800 -0.415800
+v 1.700000 1.339200 -0.316800
+v 1.700000 1.339200 0.316800
+v 1.700000 1.401900 0.178200
+v 1.700000 1.401900 -0.178200
+v 1.700000 1.425000 0.000000
+v 1.700000 1.425000 0.000000
+v 1.718250 1.929525 0.000000
+v 1.718250 1.929525 0.000000
+v 1.725622 1.323225 -0.897795
+v 1.725622 1.323225 0.897795
+v 1.727460 0.384375 -0.287140
+v 1.727460 0.384375 0.287140
+v 1.732362 0.463200 -0.581929
+v 1.732362 0.463200 0.581929
+v 1.733408 0.656400 -0.901846
+v 1.733408 0.656400 0.901846
+v 1.750000 0.384375 0.000000
+v 1.750000 0.384375 0.000000
+v 1.751120 1.621875 -0.588230
+v 1.751120 1.621875 0.588230
+v 1.754764 1.178400 -0.912957
+v 1.754764 1.178400 0.912957
+v 1.761022 1.774800 -0.292719
+v 1.761022 1.774800 0.292719
+v 1.767222 0.771675 -0.919439
+v 1.767222 0.771675 0.919439
+v 1.773229 1.037175 -0.922564
+v 1.773229 1.037175 0.922564
+v 1.779680 0.900000 -0.925920
+v 1.779680 0.900000 -0.925920
+v 1.779680 0.900000 0.925920
+v 1.779680 0.900000 0.925920
+v 1.784000 1.774800 0.000000
+v 1.784000 1.774800 0.000000
+v 1.796946 0.553725 -0.603624
+v 1.796946 0.553725 0.603624
+v 1.800507 0.463200 -0.299282
+v 1.800507 0.463200 0.299282
+v 1.800745 1.471200 -0.604900
+v 1.800745 1.471200 0.604900
+v 1.820003 1.621875 -0.302523
+v 1.820003 1.621875 0.302522
+v 1.824000 0.463200 0.000000
+v 1.824000 0.463200 0.000000
+v 1.841822 1.323225 -0.618698
+v 1.841822 1.323225 0.618698
+v 1.843750 1.621875 0.000000
+v 1.843750 1.621875 -0.000000
+v 1.850132 0.656400 -0.621490
+v 1.850132 0.656400 0.621490
+v 1.867631 0.553725 -0.310439
+v 1.867631 0.553725 0.310439
+v 1.871580 1.471200 -0.311096
+v 1.871580 1.471200 0.311096
+v 1.872927 1.178400 -0.629147
+v 1.872927 1.178400 0.629147
+v 1.886223 0.771675 -0.633613
+v 1.886223 0.771675 0.633613
+v 1.892000 0.553725 0.000000
+v 1.892000 0.553725 -0.000000
+v 1.892634 1.037175 -0.635767
+v 1.892634 1.037175 0.635767
+v 1.896000 1.471200 0.000000
+v 1.896000 1.471200 0.000000
+v 1.899520 0.900000 -0.638080
+v 1.899520 0.900000 -0.638080
+v 1.899520 0.900000 0.638080
+v 1.899520 0.900000 0.638080
+v 1.914272 1.323225 -0.318192
+v 1.914272 1.323225 0.318192
+v 1.922910 0.656400 -0.319628
+v 1.922910 0.656400 0.319628
+v 1.935900 1.444200 0.000000
+v 1.935900 1.444200 0.000000
+v 1.939250 1.323225 0.000000
+v 1.939250 1.323225 -0.000000
+v 1.939394 1.423221 -0.175100
+v 1.939394 1.423221 0.175100
+v 1.946601 1.178400 -0.323566
+v 1.946601 1.178400 0.323566
+v 1.948000 0.656400 0.000000
+v 1.948000 0.656400 -0.000000
+v 1.948879 1.366278 -0.311290
+v 1.948879 1.366278 0.311290
+v 1.960420 0.771675 -0.325863
+v 1.960420 0.771675 0.325863
+v 1.962857 1.282362 -0.408568
+v 1.962857 1.282362 0.408568
+v 1.967083 1.037175 -0.326970
+v 1.967083 1.037175 0.326970
+v 1.972000 1.178400 0.000000
+v 1.972000 1.178400 0.000000
+v 1.974240 0.900000 -0.328160
+v 1.974240 0.900000 0.328160
+v 1.974240 0.900000 0.328160
+v 1.979830 1.180464 -0.466934
+v 1.979830 1.180464 0.466934
+v 1.986000 0.771675 0.000000
+v 1.986000 0.771675 -0.000000
+v 1.992750 1.037175 0.000000
+v 1.992750 1.037175 0.000000
+v 1.998300 1.069575 -0.486390
+v 1.998300 1.069575 0.486390
+v 2.000000 0.900000 0.000000
+v 2.000000 0.900000 0.000000
+v 2.016770 0.958686 -0.466934
+v 2.016770 0.958686 0.466934
+v 2.033743 0.856788 -0.408568
+v 2.033743 0.856788 0.408568
+v 2.047721 0.772872 0.311290
+v 2.047721 0.772872 -0.311290
+v 2.057206 0.715929 0.175100
+v 2.057206 0.715929 -0.175100
+v 2.060700 0.694950 0.000000
+v 2.060700 0.694950 0.000000
+v 2.111200 1.497600 0.000000
+v 2.111200 1.497600 0.000000
+v 2.116979 1.479120 -0.166687
+v 2.116979 1.479120 0.166687
+v 2.132666 1.428960 -0.296333
+v 2.132666 1.428960 0.296333
+v 2.155782 1.355040 -0.388937
+v 2.155782 1.355040 0.388937
+v 2.183853 1.265280 -0.444499
+v 2.183853 1.265280 0.444499
+v 2.214400 1.167600 -0.463020
+v 2.214400 1.167600 0.463020
+v 2.237300 1.578900 0.000000
+v 2.237300 1.578900 0.000000
+v 2.244457 1.563171 -0.154289
+v 2.244457 1.563171 0.154289
+v 2.244947 1.069920 -0.444499
+v 2.244947 1.069920 0.444499
+v 2.263882 1.520478 -0.274291
+v 2.263882 1.520478 0.274291
+v 2.273018 0.980160 -0.388937
+v 2.273018 0.980160 0.388937
+v 2.292510 1.457562 -0.360007
+v 2.292510 1.457562 0.360007
+v 2.296134 0.906240 -0.296333
+v 2.296134 0.906240 0.296333
+v 2.311821 0.856080 -0.166687
+v 2.311821 0.856080 0.166687
+v 2.317600 0.837600 0.000000
+v 2.317600 0.837600 0.000000
+v 2.325600 1.681800 0.000000
+v 2.325600 1.681800 0.000000
+v 2.327271 1.381164 -0.411437
+v 2.327271 1.381164 0.411437
+v 2.333530 1.668948 -0.139234
+v 2.333530 1.668948 0.139234
+v 2.355053 1.634064 -0.247526
+v 2.355053 1.634064 0.247526
+v 2.365100 1.298025 -0.428580
+v 2.365100 1.298025 0.428580
+v 2.386771 1.582656 -0.324878
+v 2.386771 1.582656 0.324878
+v 2.387500 1.800000 0.000000
+v 2.387500 1.800000 0.000000
+v 2.395900 1.790025 0.122850
+v 2.395900 1.790025 -0.122850
+v 2.402929 1.214886 -0.411437
+v 2.402929 1.214886 0.411437
+v 2.418700 1.762950 -0.218400
+v 2.418700 1.762950 0.218400
+v 2.425286 1.520232 -0.371290
+v 2.425286 1.520232 0.371290
+v 2.434400 1.927200 0.000000
+v 2.434400 1.927200 0.000000
+v 2.437690 1.138488 -0.360007
+v 2.437690 1.138488 0.360007
+v 2.443270 1.919976 0.106466
+v 2.443270 1.919976 -0.106466
+v 2.452300 1.723050 -0.286650
+v 2.452300 1.723050 0.286650
+v 2.466318 1.075572 -0.274291
+v 2.466318 1.075572 0.274291
+v 2.467200 1.452300 -0.386760
+v 2.467200 1.452300 0.386760
+v 2.467347 1.900368 0.189274
+v 2.467347 1.900368 -0.189274
+v 2.477700 2.057100 0.000000
+v 2.477700 2.057100 0.000000
+v 2.485743 1.032879 -0.154289
+v 2.485743 1.032879 0.154289
+v 2.487343 2.052375 -0.091411
+v 2.487343 2.052375 0.091411
+v 2.492900 1.017150 0.000000
+v 2.492900 1.017150 0.000000
+v 2.493100 1.674600 -0.327600
+v 2.493100 1.674600 0.327600
+v 2.502829 1.871472 0.248422
+v 2.502829 1.871472 -0.248422
+v 2.509114 1.384368 -0.371290
+v 2.509114 1.384368 0.371290
+v 2.513518 2.039550 0.162509
+v 2.513518 2.039550 -0.162509
+v 2.528800 2.183400 0.000000
+v 2.537500 1.621875 -0.341250
+v 2.537500 1.621875 0.341250
+v 2.539821 2.180796 -0.079013
+v 2.539821 2.180796 0.079013
+v 2.545914 1.836384 -0.283910
+v 2.545914 1.836384 0.283910
+v 2.547629 1.321944 -0.324878
+v 2.547629 1.321944 0.324878
+v 2.552090 2.020650 -0.213293
+v 2.552090 2.020650 0.213293
+v 2.569734 2.173728 -0.140467
+v 2.569734 2.173728 0.140467
+v 2.579347 1.270536 -0.247526
+v 2.579347 1.270536 0.247526
+v 2.581900 1.569150 -0.327600
+v 2.581900 1.569150 0.327600
+v 2.592800 1.798200 -0.295740
+v 2.592800 1.798200 0.295740
+v 2.598929 1.997700 -0.243763
+v 2.598929 1.997700 0.243763
+v 2.599100 2.299800 0.000000
+v 2.599100 2.299800 0.000000
+v 2.600870 1.235652 -0.139234
+v 2.600870 1.235652 0.139234
+v 2.608800 1.222800 0.000000
+v 2.608800 1.222800 0.000000
+v 2.612406 2.298813 0.070600
+v 2.612406 2.298813 -0.070600
+v 2.613818 2.163312 -0.184363
+v 2.613818 2.163312 0.184363
+v 2.622700 1.520700 -0.286650
+v 2.622700 1.520700 0.286650
+v 2.639686 1.760016 -0.283910
+v 2.639686 1.760016 0.283910
+v 2.648521 2.296134 0.125510
+v 2.648521 2.296134 -0.125510
+v 2.649900 1.972725 0.253920
+v 2.649900 1.972725 -0.253920
+v 2.656300 1.480800 -0.218400
+v 2.656300 1.480800 0.218400
+v 2.667347 2.150664 -0.210701
+v 2.667347 2.150664 0.210701
+v 2.679100 1.453725 0.122850
+v 2.679100 1.453725 -0.122850
+v 2.682771 1.724928 0.248422
+v 2.682771 1.724928 -0.248422
+v 2.687500 1.443750 0.000000
+v 2.687500 1.443750 0.000000
+v 2.700000 2.400000 0.000000
+v 2.700000 2.400000 0.000000
+v 2.700000 2.400000 0.000000
+v 2.700871 1.947750 -0.243763
+v 2.700871 1.947750 0.243763
+v 2.701743 2.292186 0.164732
+v 2.701743 2.292186 -0.164732
+v 2.716800 2.400000 0.067500
+v 2.716800 2.400000 -0.067500
+v 2.716800 2.400000 -0.067500
+v 2.716800 2.400000 0.067500
+v 2.718253 1.696032 0.189274
+v 2.718253 1.696032 -0.189274
+v 2.725600 2.136900 -0.219480
+v 2.725600 2.136900 0.219480
+v 2.729800 2.420250 0.000000
+v 2.742330 1.676424 0.106466
+v 2.742330 1.676424 -0.106466
+v 2.747407 2.420406 -0.066744
+v 2.747407 2.420406 0.066744
+v 2.747710 1.924800 -0.213293
+v 2.747710 1.924800 0.213293
+v 2.751200 1.669200 0.000000
+v 2.751200 1.669200 0.000000
+v 2.758400 2.436000 0.000000
+v 2.762400 2.400000 0.120000
+v 2.762400 2.400000 -0.120000
+v 2.762400 2.400000 -0.120000
+v 2.762400 2.400000 0.120000
+v 2.766370 2.287392 0.188266
+v 2.766370 2.287392 -0.188266
+v 2.776365 2.436302 -0.064692
+v 2.776365 2.436302 0.064692
+v 2.783853 2.123136 -0.210701
+v 2.783853 2.123136 0.210701
+v 2.784600 2.447250 0.000000
+v 2.784600 2.447250 0.000000
+v 2.786282 1.905900 0.162509
+v 2.786282 1.905900 -0.162509
+v 2.795198 2.420829 -0.118656
+v 2.795198 2.420829 0.118656
+v 2.800000 2.400000 0.000000
+v 2.802528 2.447680 -0.061668
+v 2.802528 2.447680 0.061668
+v 2.807200 2.454000 0.000000
+v 2.811200 2.400000 -0.040500
+v 2.811200 2.400000 0.040500
+v 2.812457 1.893075 0.091411
+v 2.812457 1.893075 -0.091411
+v 2.822100 1.888350 0.000000
+v 2.822100 1.888350 0.000000
+v 2.824200 2.420250 0.000000
+v 2.824200 2.420250 0.000000
+v 2.824750 2.454529 -0.057996
+v 2.824750 2.454529 0.057996
+v 2.825000 2.456250 0.000000
+v 2.825000 2.456250 0.000000
+v 2.825126 2.437123 -0.115008
+v 2.825126 2.437123 0.115008
+v 2.829600 2.400000 0.157500
+v 2.829600 2.400000 -0.157500
+v 2.829600 2.400000 -0.157500
+v 2.829600 2.400000 0.157500
+v 2.836672 2.420519 -0.041256
+v 2.836672 2.420519 0.041256
+v 2.836700 2.282175 0.196110
+v 2.836700 2.282175 -0.196110
+v 2.836800 2.454000 0.000000
+v 2.836800 2.454000 0.000000
+v 2.837382 2.110488 -0.184363
+v 2.837382 2.110488 0.184363
+v 2.837600 2.436000 0.000000
+v 2.837600 2.436000 0.000000
+v 2.841400 2.447250 0.000000
+v 2.841400 2.447250 0.000000
+v 2.841600 2.400000 -0.072000
+v 2.841600 2.400000 0.072000
+v 2.841887 2.456841 -0.054000
+v 2.841887 2.456841 0.054000
+v 2.851189 2.448847 -0.109632
+v 2.851189 2.448847 0.109632
+v 2.851331 2.436454 -0.043308
+v 2.851331 2.436454 0.043308
+v 2.852794 2.454605 -0.050004
+v 2.852794 2.454605 0.050004
+v 2.856323 2.447812 -0.046332
+v 2.856323 2.447812 0.046332
+v 2.865626 2.421453 -0.155736
+v 2.865626 2.421453 0.155736
+v 2.870524 2.421250 -0.073344
+v 2.870524 2.421250 0.073344
+v 2.872387 2.455966 -0.103104
+v 2.872387 2.455966 0.103104
+v 2.881466 2.100072 -0.140467
+v 2.881466 2.100072 0.140467
+v 2.886400 2.400000 -0.094500
+v 2.886400 2.400000 0.094500
+v 2.887725 2.458444 -0.096000
+v 2.887725 2.458444 0.096000
+v 2.888602 2.437685 -0.076992
+v 2.888602 2.437685 0.076992
+v 2.896205 2.456246 0.088896
+v 2.896205 2.456246 -0.088896
+v 2.896829 2.449338 -0.082368
+v 2.896829 2.449338 0.082368
+v 2.896986 2.438333 -0.150948
+v 2.896986 2.438333 0.150948
+v 2.907030 2.276958 0.188266
+v 2.907030 2.276958 -0.188266
+v 2.911200 2.400000 -0.180000
+v 2.911200 2.400000 -0.180000
+v 2.911200 2.400000 0.180000
+v 2.911379 2.093004 -0.079013
+v 2.911379 2.093004 0.079013
+v 2.920412 2.422328 -0.096264
+v 2.920412 2.422328 0.096264
+v 2.922400 2.090400 0.000000
+v 2.922899 2.450567 -0.143892
+v 2.922899 2.450567 0.143892
+v 2.940800 2.400000 -0.108000
+v 2.940800 2.400000 0.108000
+v 2.942589 2.458082 -0.135324
+v 2.942589 2.458082 0.135324
+v 2.943526 2.439499 -0.101052
+v 2.943526 2.439499 0.101052
+v 2.951146 2.422210 -0.177984
+v 2.951146 2.422210 0.177984
+v 2.955275 2.460806 -0.126000
+v 2.955275 2.460806 0.126000
+v 2.956523 2.451588 -0.108108
+v 2.956523 2.451588 0.108108
+v 2.960179 2.458666 -0.116676
+v 2.960179 2.458666 0.116676
+v 2.971657 2.272164 0.164732
+v 2.971657 2.272164 -0.164732
+v 2.980990 2.423636 0.110016
+v 2.980990 2.423636 -0.110016
+v 2.984243 2.439802 -0.172512
+v 2.984243 2.439802 0.172512
+v 3.000000 2.400000 -0.187500
+v 3.000000 2.400000 -0.187500
+v 3.000000 2.400000 -0.112500
+v 3.000000 2.400000 0.112500
+v 3.000000 2.400000 0.187500
+v 3.009977 2.452655 -0.164448
+v 3.009977 2.452655 0.164448
+v 3.010221 2.441702 -0.115488
+v 3.010221 2.441702 0.115488
+v 3.024879 2.268216 0.125510
+v 3.024879 2.268216 -0.125510
+v 3.027834 2.460653 -0.154656
+v 3.027834 2.460653 0.154656
+v 3.029007 2.454319 -0.123552
+v 3.029007 2.454319 0.123552
+v 3.037300 2.463675 -0.144000
+v 3.037300 2.463675 0.144000
+v 3.037862 2.461603 0.133344
+v 3.037862 2.461603 -0.133344
+v 3.044212 2.423034 -0.185400
+v 3.044212 2.423034 0.185400
+v 3.046912 2.425059 0.114600
+v 3.046912 2.425059 -0.114600
+v 3.059200 2.400000 -0.108000
+v 3.059200 2.400000 0.108000
+v 3.060994 2.265537 0.070600
+v 3.060994 2.265537 -0.070600
+v 3.074300 2.264550 0.000000
+v 3.074300 2.264550 0.000000
+v 3.079200 2.441400 -0.179700
+v 3.079200 2.441400 0.179700
+v 3.082800 2.444100 -0.120300
+v 3.082800 2.444100 0.120300
+v 3.088800 2.400000 -0.180000
+v 3.088800 2.400000 -0.180000
+v 3.088800 2.400000 0.180000
+v 3.104737 2.454928 -0.171300
+v 3.104738 2.454928 0.171300
+v 3.107887 2.457291 -0.128700
+v 3.107887 2.457291 0.128700
+v 3.112835 2.426483 0.110016
+v 3.112835 2.426483 -0.110016
+v 3.113600 2.400000 -0.094500
+v 3.113600 2.400000 0.094500
+v 3.120600 2.463450 0.161100
+v 3.120600 2.463450 -0.161100
+v 3.122400 2.464800 0.138900
+v 3.122400 2.464800 -0.138900
+v 3.126562 2.466797 -0.150000
+v 3.126562 2.466797 0.150000
+v 3.137279 2.423859 -0.177984
+v 3.137279 2.423859 0.177984
+v 3.155379 2.446498 -0.115488
+v 3.155379 2.446498 0.115488
+v 3.158400 2.400000 -0.072000
+v 3.158400 2.400000 0.072000
+v 3.170400 2.400000 -0.157500
+v 3.170400 2.400000 0.157500
+v 3.170400 2.400000 -0.157500
+v 3.173413 2.427791 -0.096264
+v 3.173413 2.427791 0.096264
+v 3.174157 2.442998 -0.172512
+v 3.174157 2.442998 0.172512
+v 3.186768 2.460263 -0.123552
+v 3.186768 2.460263 0.123552
+v 3.188800 2.400000 -0.040500
+v 3.188800 2.400000 0.040500
+v 3.199498 2.457201 -0.164448
+v 3.199498 2.457201 0.164448
+v 3.200000 2.400000 0.000000
+v 3.206938 2.467997 0.133344
+v 3.206938 2.467997 -0.133344
+v 3.213366 2.466247 -0.154656
+v 3.213366 2.466247 0.154656
+v 3.215825 2.469919 -0.144000
+v 3.215825 2.469919 0.144000
+v 3.222074 2.448701 -0.101052
+v 3.222074 2.448701 0.101052
+v 3.222799 2.424616 -0.155736
+v 3.222799 2.424616 0.155736
+v 3.223301 2.428868 -0.073344
+v 3.223301 2.428868 0.073344
+v 3.237600 2.400000 -0.120000
+v 3.237600 2.400000 0.120000
+v 3.237600 2.400000 -0.120000
+v 3.257153 2.429599 -0.041256
+v 3.257153 2.429599 0.041256
+v 3.259252 2.462994 -0.108108
+v 3.259252 2.462994 0.108108
+v 3.261414 2.444467 -0.150948
+v 3.261414 2.444467 0.150948
+v 3.269625 2.429869 0.000000
+v 3.269625 2.429869 0.000000
+v 3.276998 2.450515 -0.076992
+v 3.276998 2.450515 0.076992
+v 3.283200 2.400000 -0.067500
+v 3.283200 2.400000 0.067500
+v 3.283200 2.400000 -0.067500
+v 3.284621 2.470934 -0.116676
+v 3.284621 2.470934 0.116676
+v 3.286576 2.459289 -0.143892
+v 3.286576 2.459289 0.143892
+v 3.293227 2.425240 -0.118656
+v 3.293227 2.425240 0.118656
+v 3.297850 2.472787 -0.126000
+v 3.297850 2.472788 0.126000
+v 3.298611 2.468818 -0.135324
+v 3.298611 2.468818 0.135324
+v 3.300000 2.400000 0.000000
+v 3.300000 2.400000 0.000000
+v 3.314269 2.451746 -0.043308
+v 3.314269 2.451746 0.043308
+v 3.318946 2.465243 -0.082368
+v 3.318946 2.465243 0.082368
+v 3.328000 2.452200 0.000000
+v 3.328000 2.452200 0.000000
+v 3.333274 2.445677 -0.115008
+v 3.333274 2.445677 0.115008
+v 3.341018 2.425663 -0.066744
+v 3.341018 2.425663 0.066744
+v 3.348595 2.473354 0.088896
+v 3.348595 2.473354 -0.088896
+v 3.358286 2.461009 -0.109632
+v 3.358286 2.461009 0.109632
+v 3.358625 2.425819 0.000000
+v 3.359452 2.466769 -0.046332
+v 3.359452 2.466769 0.046332
+v 3.365400 2.475150 -0.096000
+v 3.365400 2.475150 0.096000
+v 3.368813 2.470934 -0.103104
+v 3.368813 2.470934 0.103104
+v 3.374375 2.467331 0.000000
+v 3.374375 2.467331 0.000000
+v 3.382035 2.446498 -0.064692
+v 3.382035 2.446498 0.064692
+v 3.392006 2.474995 -0.050004
+v 3.392006 2.474995 0.050004
+v 3.400000 2.446800 0.000000
+v 3.406947 2.462176 -0.061668
+v 3.406947 2.462176 0.061668
+v 3.408000 2.475600 0.000000
+v 3.408000 2.475600 0.000000
+v 3.411237 2.476753 -0.054000
+v 3.411237 2.476753 0.054000
+v 3.416450 2.472371 -0.057996
+v 3.416450 2.472371 0.057996
+v 3.424875 2.462606 0.000000
+v 3.428125 2.477344 0.000000
+v 3.428125 2.477344 0.000000
+v 3.434000 2.472900 0.000000
+
+f 2909 2921 2939
+f 2939 2931 2909
+f 2869 2877 2921
+f 2921 2909 2869
+f 2819 2827 2877
+f 2877 2869 2819
+f 2737 2747 2827
+f 2827 2819 2737
+f 2669 2673 2747
+f 2747 2737 2669
+f 2567 2575 2673
+f 2673 2669 2567
+f 2476 2480 2575
+f 2575 2567 2476
+f 2358 2362 2480
+f 2480 2476 2358
+f 2158 2162 2362
+f 2362 2358 2158
+f 1715 1812 2162
+f 2162 2158 1715
+f 2901 2909 2931
+f 2931 2917 2901
+f 2863 2869 2909
+f 2909 2901 2863
+f 2813 2819 2869
+f 2869 2863 2813
+f 2729 2737 2819
+f 2819 2813 2729
+f 2663 2669 2737
+f 2737 2729 2663
+f 2561 2567 2669
+f 2669 2663 2561
+f 2468 2476 2567
+f 2567 2561 2468
+f 2350 2358 2476
+f 2476 2468 2350
+f 2152 2158 2358
+f 2358 2350 2152
+f 1717 1715 2158
+f 2158 2152 1717
+f 2903 2901 2917
+f 2917 2923 2903
+f 2865 2863 2901
+f 2901 2903 2865
+f 2815 2813 2863
+f 2863 2865 2815
+f 2733 2729 2813
+f 2813 2815 2733
+f 2665 2663 2729
+f 2729 2733 2665
+f 2564 2561 2663
+f 2663 2665 2564
+f 2473 2468 2561
+f 2561 2564 2473
+f 2354 2350 2468
+f 2468 2473 2354
+f 2155 2152 2350
+f 2350 2354 2155
+f 1927 1717 2152
+f 2152 2155 1927
+f 2911 2903 2923
+f 2923 2935 2911
+f 2875 2865 2903
+f 2903 2911 2875
+f 2823 2815 2865
+f 2865 2875 2823
+f 2741 2733 2815
+f 2815 2823 2741
+f 2671 2665 2733
+f 2733 2741 2671
+f 2571 2564 2665
+f 2665 2671 2571
+f 2478 2473 2564
+f 2564 2571 2478
+f 2360 2354 2473
+f 2473 2478 2360
+f 2160 2155 2354
+f 2354 2360 2160
+f 1718 1927 2155
+f 2155 2160 1718
+f 2929 2911 2935
+f 2935 2947 2929
+f 2881 2875 2911
+f 2911 2929 2881
+f 2829 2823 2875
+f 2875 2881 2829
+f 2751 2741 2823
+f 2823 2829 2751
+f 2677 2671 2741
+f 2741 2751 2677
+f 2577 2571 2671
+f 2671 2677 2577
+f 2482 2478 2571
+f 2571 2577 2482
+f 2364 2360 2478
+f 2478 2482 2364
+f 2164 2160 2360
+f 2360 2364 2164
+f 1842 1718 2160
+f 2160 2164 1842
+f 2945 2929 2947
+f 2947 2959 2945
+f 2897 2881 2929
+f 2929 2945 2897
+f 2835 2829 2881
+f 2881 2897 2835
+f 2761 2751 2829
+f 2829 2835 2761
+f 2679 2677 2751
+f 2751 2761 2679
+f 2579 2577 2677
+f 2677 2679 2579
+f 2486 2482 2577
+f 2577 2579 2486
+f 2368 2364 2482
+f 2482 2486 2368
+f 2172 2164 2364
+f 2364 2368 2172
+f 1725 1842 2164
+f 2164 2172 1725
+f 2965 2945 2959
+f 2959 2981 2965
+f 2907 2897 2945
+f 2945 2965 2907
+f 2845 2835 2897
+f 2897 2907 2845
+f 2769 2761 2835
+f 2835 2845 2769
+f 2685 2679 2761
+f 2761 2769 2685
+f 2587 2579 2679
+f 2679 2685 2587
+f 2491 2486 2579
+f 2579 2587 2491
+f 2370 2368 2486
+f 2486 2491 2370
+f 2174 2172 2368
+f 2368 2370 2174
+f 1834 1725 2172
+f 2172 2174 1834
+f 2982 2965 2981
+f 2981 2988 2982
+f 2933 2907 2965
+f 2965 2982 2933
+f 2855 2845 2907
+f 2907 2933 2855
+f 2779 2769 2845
+f 2845 2855 2779
+f 2691 2685 2769
+f 2769 2779 2691
+f 2595 2587 2685
+f 2685 2691 2595
+f 2500 2491 2587
+f 2587 2595 2500
+f 2374 2370 2491
+f 2491 2500 2374
+f 2178 2174 2370
+f 2370 2374 2178
+f 1716 1834 2174
+f 2174 2178 1716
+f 2990 2982 2988
+f 2988 3002 2990
+f 2949 2933 2982
+f 2982 2990 2949
+f 2871 2855 2933
+f 2933 2949 2871
+f 2791 2779 2855
+f 2855 2871 2791
+f 2699 2691 2779
+f 2779 2791 2699
+f 2601 2595 2691
+f 2691 2699 2601
+f 2506 2500 2595
+f 2595 2601 2506
+f 2378 2374 2500
+f 2500 2506 2378
+f 2180 2178 2374
+f 2374 2378 2180
+f 1714 1716 2178
+f 2178 2180 1714
+f 3008 2990 3002
+f 3002 3024 3008
+f 2973 2949 2990
+f 2990 3008 2973
+f 2889 2871 2949
+f 2949 2973 2889
+f 2805 2791 2871
+f 2871 2889 2805
+f 2711 2699 2791
+f 2791 2805 2711
+f 2611 2601 2699
+f 2699 2711 2611
+f 2521 2506 2601
+f 2601 2611 2521
+f 2387 2378 2506
+f 2506 2521 2387
+f 2191 2180 2378
+f 2378 2387 2191
+f 1810 1714 2180
+f 2180 2191 1810
+f 1464 1460 1813
+f 1813 1821 1464
+f 1264 1260 1460
+f 1460 1464 1264
+f 1146 1142 1260
+f 1260 1264 1146
+f 1055 1047 1142
+f 1142 1146 1055
+f 953 949 1047
+f 1047 1055 953
+f 885 875 949
+f 949 953 885
+f 803 795 875
+f 875 885 803
+f 753 745 795
+f 795 803 753
+f 713 701 745
+f 745 753 713
+f 691 683 701
+f 701 713 691
+f 1470 1464 1821
+f 1821 1829 1470
+f 1272 1264 1464
+f 1464 1470 1272
+f 1154 1146 1264
+f 1264 1272 1154
+f 1061 1055 1146
+f 1146 1154 1061
+f 959 953 1055
+f 1055 1061 959
+f 893 885 953
+f 953 959 893
+f 809 803 885
+f 885 893 809
+f 759 753 803
+f 803 809 759
+f 721 713 753
+f 753 759 721
+f 705 691 713
+f 713 721 705
+f 1469 1470 1829
+f 1829 1835 1469
+f 1268 1272 1470
+f 1470 1469 1268
+f 1151 1154 1272
+f 1272 1268 1151
+f 1060 1061 1154
+f 1154 1151 1060
+f 957 959 1061
+f 1061 1060 957
+f 889 893 959
+f 959 957 889
+f 807 809 893
+f 893 889 807
+f 757 759 809
+f 809 807 757
+f 719 721 759
+f 759 757 719
+f 699 705 721
+f 721 719 699
+f 1462 1469 1835
+f 1835 1839 1462
+f 1262 1268 1469
+f 1469 1462 1262
+f 1144 1151 1268
+f 1268 1262 1144
+f 1051 1060 1151
+f 1151 1144 1051
+f 951 957 1060
+f 1060 1051 951
+f 881 889 957
+f 957 951 881
+f 799 807 889
+f 889 881 799
+f 747 757 807
+f 807 799 747
+f 711 719 757
+f 757 747 711
+f 687 699 719
+f 719 711 687
+f 1458 1462 1839
+f 1839 1843 1458
+f 1258 1262 1462
+f 1462 1458 1258
+f 1140 1144 1262
+f 1262 1258 1140
+f 1045 1051 1144
+f 1144 1140 1045
+f 945 951 1051
+f 1051 1045 945
+f 871 881 951
+f 951 945 871
+f 793 799 881
+f 881 871 793
+f 741 747 799
+f 799 793 741
+f 693 711 747
+f 747 741 693
+f 675 687 711
+f 711 693 675
+f 1450 1458 1843
+f 1843 1838 1450
+f 1254 1258 1458
+f 1458 1450 1254
+f 1136 1140 1258
+f 1258 1254 1136
+f 1043 1045 1140
+f 1140 1136 1043
+f 943 945 1045
+f 1045 1043 943
+f 861 871 945
+f 945 943 861
+f 787 793 871
+f 871 861 787
+f 725 741 793
+f 793 787 725
+f 677 693 741
+f 741 725 677
+f 663 675 693
+f 693 677 663
+f 1448 1450 1838
+f 1838 1834 1448
+f 1252 1254 1450
+f 1450 1448 1252
+f 1133 1136 1254
+f 1254 1252 1133
+f 1035 1043 1136
+f 1136 1133 1035
+f 937 943 1043
+f 1043 1035 937
+f 853 861 943
+f 943 937 853
+f 777 787 861
+f 861 853 777
+f 715 725 787
+f 787 777 715
+f 657 677 725
+f 725 715 657
+f 642 663 677
+f 677 657 642
+f 1444 1448 1834
+f 1834 1828 1444
+f 1248 1252 1448
+f 1448 1444 1248
+f 1122 1133 1252
+f 1252 1248 1122
+f 1027 1035 1133
+f 1133 1122 1027
+f 931 937 1035
+f 1035 1027 931
+f 843 853 937
+f 937 931 843
+f 767 777 853
+f 853 843 767
+f 689 715 777
+f 777 767 689
+f 640 657 715
+f 715 689 640
+f 634 642 657
+f 657 640 634
+f 1442 1444 1828
+f 1828 1820 1442
+f 1244 1248 1444
+f 1444 1442 1244
+f 1116 1122 1248
+f 1248 1244 1116
+f 1021 1027 1122
+f 1122 1116 1021
+f 923 931 1027
+f 1027 1021 923
+f 831 843 931
+f 931 923 831
+f 751 767 843
+f 843 831 751
+f 673 689 767
+f 767 751 673
+f 632 640 689
+f 689 673 632
+f 620 634 640
+f 640 632 620
+f 1429 1442 1820
+f 1820 1811 1429
+f 1233 1244 1442
+f 1442 1429 1233
+f 1106 1116 1244
+f 1244 1233 1106
+f 1011 1021 1116
+f 1116 1106 1011
+f 911 923 1021
+f 1021 1011 911
+f 817 831 923
+f 923 911 817
+f 733 751 831
+f 831 817 733
+f 649 673 751
+f 751 733 649
+f 614 632 673
+f 673 649 614
+f 597 620 632
+f 632 614 597
+f 714 702 684
+f 684 692 714
+f 754 746 702
+f 702 714 754
+f 804 796 746
+f 746 754 804
+f 886 876 796
+f 796 804 886
+f 954 950 876
+f 876 886 954
+f 1056 1048 950
+f 950 954 1056
+f 1147 1143 1048
+f 1048 1056 1147
+f 1265 1261 1143
+f 1143 1147 1265
+f 1465 1461 1261
+f 1261 1265 1465
+f 1915 1817 1461
+f 1461 1465 1915
+f 722 714 692
+f 692 706 722
+f 760 754 714
+f 714 722 760
+f 810 804 754
+f 754 760 810
+f 894 886 804
+f 804 810 894
+f 960 954 886
+f 886 894 960
+f 1062 1056 954
+f 954 960 1062
+f 1155 1147 1056
+f 1056 1062 1155
+f 1273 1265 1147
+f 1147 1155 1273
+f 1471 1465 1265
+f 1265 1273 1471
+f 1917 1915 1465
+f 1465 1471 1917
+f 720 722 706
+f 706 700 720
+f 758 760 722
+f 722 720 758
+f 808 810 760
+f 760 758 808
+f 890 894 810
+f 810 808 890
+f 958 960 894
+f 894 890 958
+f 1059 1062 960
+f 960 958 1059
+f 1150 1155 1062
+f 1062 1059 1150
+f 1269 1273 1155
+f 1155 1150 1269
+f 1468 1471 1273
+f 1273 1269 1468
+f 1697 1917 1471
+f 1471 1468 1697
+f 712 720 700
+f 700 688 712
+f 748 758 720
+f 720 712 748
+f 800 808 758
+f 758 748 800
+f 882 890 808
+f 808 800 882
+f 952 958 890
+f 890 882 952
+f 1052 1059 958
+f 958 952 1052
+f 1145 1150 1059
+f 1059 1052 1145
+f 1263 1269 1150
+f 1150 1145 1263
+f 1463 1468 1269
+f 1269 1263 1463
+f 1919 1697 1468
+f 1468 1463 1919
+f 694 712 688
+f 688 676 694
+f 742 748 712
+f 712 694 742
+f 794 800 748
+f 748 742 794
+f 872 882 800
+f 800 794 872
+f 946 952 882
+f 882 872 946
+f 1046 1052 952
+f 952 946 1046
+f 1141 1145 1052
+f 1052 1046 1141
+f 1259 1263 1145
+f 1145 1141 1259
+f 1459 1463 1263
+f 1263 1259 1459
+f 1845 1919 1463
+f 1463 1459 1845
+f 678 694 676
+f 676 664 678
+f 726 742 694
+f 694 678 726
+f 788 794 742
+f 742 726 788
+f 862 872 794
+f 794 788 862
+f 944 946 872
+f 872 862 944
+f 1044 1046 946
+f 946 944 1044
+f 1137 1141 1046
+f 1046 1044 1137
+f 1255 1259 1141
+f 1141 1137 1255
+f 1451 1459 1259
+f 1259 1255 1451
+f 1898 1845 1459
+f 1459 1451 1898
+f 658 678 664
+f 664 642 658
+f 716 726 678
+f 678 658 716
+f 778 788 726
+f 726 716 778
+f 854 862 788
+f 788 778 854
+f 938 944 862
+f 862 854 938
+f 1036 1044 944
+f 944 938 1036
+f 1132 1137 1044
+f 1044 1036 1132
+f 1253 1255 1137
+f 1137 1132 1253
+f 1449 1451 1255
+f 1255 1253 1449
+f 1837 1898 1451
+f 1451 1449 1837
+f 641 658 642
+f 642 635 641
+f 690 716 658
+f 658 641 690
+f 768 778 716
+f 716 690 768
+f 844 854 778
+f 778 768 844
+f 932 938 854
+f 854 844 932
+f 1028 1036 938
+f 938 932 1028
+f 1123 1132 1036
+f 1036 1028 1123
+f 1249 1253 1132
+f 1132 1123 1249
+f 1445 1449 1253
+f 1253 1249 1445
+f 1918 1837 1449
+f 1449 1445 1918
+f 633 641 635
+f 635 621 633
+f 674 690 641
+f 641 633 674
+f 752 768 690
+f 690 674 752
+f 832 844 768
+f 768 752 832
+f 924 932 844
+f 844 832 924
+f 1022 1028 932
+f 932 924 1022
+f 1117 1123 1028
+f 1028 1022 1117
+f 1245 1249 1123
+f 1123 1117 1245
+f 1443 1445 1249
+f 1249 1245 1443
+f 1916 1918 1445
+f 1445 1443 1916
+f 616 633 621
+f 621 600 616
+f 654 674 633
+f 633 616 654
+f 737 752 674
+f 674 654 737
+f 822 832 752
+f 752 737 822
+f 914 924 832
+f 832 822 914
+f 1014 1022 924
+f 924 914 1014
+f 1104 1117 1022
+f 1022 1014 1104
+f 1237 1245 1117
+f 1117 1104 1237
+f 1433 1443 1245
+f 1245 1237 1433
+f 1819 1916 1443
+f 1443 1433 1819
+f 2159 2163 1816
+f 1816 1822 2159
+f 2359 2363 2163
+f 2163 2159 2359
+f 2477 2481 2363
+f 2363 2359 2477
+f 2568 2576 2481
+f 2481 2477 2568
+f 2670 2674 2576
+f 2576 2568 2670
+f 2738 2748 2674
+f 2674 2670 2738
+f 2820 2828 2748
+f 2748 2738 2820
+f 2870 2878 2828
+f 2828 2820 2870
+f 2910 2922 2878
+f 2878 2870 2910
+f 2932 2940 2922
+f 2922 2910 2932
+f 2153 2159 1822
+f 1822 1830 2153
+f 2351 2359 2159
+f 2159 2153 2351
+f 2469 2477 2359
+f 2359 2351 2469
+f 2562 2568 2477
+f 2477 2469 2562
+f 2664 2670 2568
+f 2568 2562 2664
+f 2730 2738 2670
+f 2670 2664 2730
+f 2814 2820 2738
+f 2738 2730 2814
+f 2864 2870 2820
+f 2820 2814 2864
+f 2902 2910 2870
+f 2870 2864 2902
+f 2918 2932 2910
+f 2910 2902 2918
+f 2154 2153 1830
+f 1830 1836 2154
+f 2355 2351 2153
+f 2153 2154 2355
+f 2472 2469 2351
+f 2351 2355 2472
+f 2563 2562 2469
+f 2469 2472 2563
+f 2666 2664 2562
+f 2562 2563 2666
+f 2734 2730 2664
+f 2664 2666 2734
+f 2816 2814 2730
+f 2730 2734 2816
+f 2866 2864 2814
+f 2814 2816 2866
+f 2904 2902 2864
+f 2864 2866 2904
+f 2924 2918 2902
+f 2902 2904 2924
+f 2161 2154 1836
+f 1836 1840 2161
+f 2361 2355 2154
+f 2154 2161 2361
+f 2479 2472 2355
+f 2355 2361 2479
+f 2572 2563 2472
+f 2472 2479 2572
+f 2672 2666 2563
+f 2563 2572 2672
+f 2742 2734 2666
+f 2666 2672 2742
+f 2824 2816 2734
+f 2734 2742 2824
+f 2876 2866 2816
+f 2816 2824 2876
+f 2912 2904 2866
+f 2866 2876 2912
+f 2936 2924 2904
+f 2904 2912 2936
+f 2165 2161 1840
+f 1840 1844 2165
+f 2365 2361 2161
+f 2161 2165 2365
+f 2483 2479 2361
+f 2361 2365 2483
+f 2578 2572 2479
+f 2479 2483 2578
+f 2678 2672 2572
+f 2572 2578 2678
+f 2752 2742 2672
+f 2672 2678 2752
+f 2830 2824 2742
+f 2742 2752 2830
+f 2882 2876 2824
+f 2824 2830 2882
+f 2930 2912 2876
+f 2876 2882 2930
+f 2948 2936 2912
+f 2912 2930 2948
+f 2173 2165 1844
+f 1844 1841 2173
+f 2369 2365 2165
+f 2165 2173 2369
+f 2487 2483 2365
+f 2365 2369 2487
+f 2580 2578 2483
+f 2483 2487 2580
+f 2680 2678 2578
+f 2578 2580 2680
+f 2762 2752 2678
+f 2678 2680 2762
+f 2836 2830 2752
+f 2752 2762 2836
+f 2898 2882 2830
+f 2830 2836 2898
+f 2946 2930 2882
+f 2882 2898 2946
+f 2960 2948 2930
+f 2930 2946 2960
+f 2175 2173 1841
+f 1841 1837 2175
+f 2371 2369 2173
+f 2173 2175 2371
+f 2490 2487 2369
+f 2369 2371 2490
+f 2588 2580 2487
+f 2487 2490 2588
+f 2686 2680 2580
+f 2580 2588 2686
+f 2770 2762 2680
+f 2680 2686 2770
+f 2846 2836 2762
+f 2762 2770 2846
+f 2908 2898 2836
+f 2836 2846 2908
+f 2966 2946 2898
+f 2898 2908 2966
+f 2981 2960 2946
+f 2946 2966 2981
+f 2179 2175 1837
+f 1837 1831 2179
+f 2375 2371 2175
+f 2175 2179 2375
+f 2501 2490 2371
+f 2371 2375 2501
+f 2596 2588 2490
+f 2490 2501 2596
+f 2692 2686 2588
+f 2588 2596 2692
+f 2780 2770 2686
+f 2686 2692 2780
+f 2856 2846 2770
+f 2770 2780 2856
+f 2934 2908 2846
+f 2846 2856 2934
+f 2983 2966 2908
+f 2908 2934 2983
+f 2989 2981 2966
+f 2966 2983 2989
+f 2181 2179 1831
+f 1831 1823 2181
+f 2379 2375 2179
+f 2179 2181 2379
+f 2507 2501 2375
+f 2375 2379 2507
+f 2602 2596 2501
+f 2501 2507 2602
+f 2700 2692 2596
+f 2596 2602 2700
+f 2792 2780 2692
+f 2692 2700 2792
+f 2872 2856 2780
+f 2780 2792 2872
+f 2950 2934 2856
+f 2856 2872 2950
+f 2991 2983 2934
+f 2934 2950 2991
+f 3003 2989 2983
+f 2983 2991 3003
+f 2194 2181 1823
+f 1823 1818 2194
+f 2391 2379 2181
+f 2181 2194 2391
+f 2518 2507 2379
+f 2379 2391 2518
+f 2614 2602 2507
+f 2507 2518 2614
+f 2712 2700 2602
+f 2602 2614 2712
+f 2806 2792 2700
+f 2700 2712 2806
+f 2890 2872 2792
+f 2792 2806 2890
+f 2974 2950 2872
+f 2872 2890 2974
+f 3009 2991 2950
+f 2950 2974 3009
+f 3025 3003 2991
+f 2991 3009 3025
+f 3040 3008 3024
+f 3024 3048 3040
+f 3018 2973 3008
+f 3008 3040 3018
+f 2943 2889 2973
+f 2973 3018 2943
+f 2841 2805 2889
+f 2889 2943 2841
+f 2731 2711 2805
+f 2805 2841 2731
+f 2645 2611 2711
+f 2711 2731 2645
+f 2529 2521 2611
+f 2611 2645 2529
+f 2402 2387 2521
+f 2521 2529 2402
+f 2208 2191 2387
+f 2387 2402 2208
+f 1806 1810 2191
+f 2191 2208 1806
+f 3072 3040 3048
+f 3048 3078 3072
+f 3044 3018 3040
+f 3040 3072 3044
+f 2994 2943 3018
+f 3018 3044 2994
+f 2883 2841 2943
+f 2943 2994 2883
+f 2773 2731 2841
+f 2841 2883 2773
+f 2659 2645 2731
+f 2731 2773 2659
+f 2539 2529 2645
+f 2645 2659 2539
+f 2410 2402 2529
+f 2529 2539 2410
+f 2222 2208 2402
+f 2402 2410 2222
+f 1694 1806 2208
+f 2208 2222 1694
+f 3092 3072 3078
+f 3078 3116 3092
+f 3074 3044 3072
+f 3072 3092 3074
+f 3030 2994 3044
+f 3044 3074 3030
+f 2937 2883 2994
+f 2994 3030 2937
+f 2810 2773 2883
+f 2883 2937 2810
+f 2683 2659 2773
+f 2773 2810 2683
+f 2554 2539 2659
+f 2659 2683 2554
+f 2420 2410 2539
+f 2539 2554 2420
+f 2238 2222 2410
+f 2410 2420 2238
+f 1930 1694 2222
+f 2222 2238 1930
+f 3132 3092 3116
+f 3116 3142 3132
+f 3090 3074 3092
+f 3092 3132 3090
+f 3054 3030 3074
+f 3074 3090 3054
+f 2984 2937 3030
+f 3030 3054 2984
+f 2837 2810 2937
+f 2937 2984 2837
+f 2705 2683 2810
+f 2810 2837 2705
+f 2574 2554 2683
+f 2683 2705 2574
+f 2430 2420 2554
+f 2554 2574 2430
+f 2247 2238 2420
+f 2420 2430 2247
+f 1913 1930 2238
+f 2238 2247 1913
+f 3150 3132 3142
+f 3142 3156 3150
+f 3128 3090 3132
+f 3132 3150 3128
+f 3076 3054 3090
+f 3090 3128 3076
+f 3014 2984 3054
+f 3054 3076 3014
+f 2861 2837 2984
+f 2984 3014 2861
+f 2723 2705 2837
+f 2837 2861 2723
+f 2585 2574 2705
+f 2705 2723 2585
+f 2438 2430 2574
+f 2574 2585 2438
+f 2253 2247 2430
+f 2430 2438 2253
+f 1711 1913 2247
+f 2247 2253 1711
+f 3162 3150 3156
+f 3156 3172 3162
+f 3148 3128 3150
+f 3150 3162 3148
+f 3088 3076 3128
+f 3128 3148 3088
+f 3036 3014 3076
+f 3076 3088 3036
+f 2893 2861 3014
+f 3014 3036 2893
+f 2743 2723 2861
+f 2861 2893 2743
+f 2599 2585 2723
+f 2723 2743 2599
+f 2450 2438 2585
+f 2585 2599 2450
+f 2267 2253 2438
+f 2438 2450 2267
+f 1794 1711 2253
+f 2253 2267 1794
+f 3178 3162 3172
+f 3172 3184 3178
+f 3154 3148 3162
+f 3162 3178 3154
+f 3118 3088 3148
+f 3148 3154 3118
+f 3046 3036 3088
+f 3088 3118 3046
+f 2915 2893 3036
+f 3036 3046 2915
+f 2763 2743 2893
+f 2893 2915 2763
+f 2615 2599 2743
+f 2743 2763 2615
+f 2452 2450 2599
+f 2599 2615 2452
+f 2277 2267 2450
+f 2450 2452 2277
+f 1710 1794 2267
+f 2267 2277 1710
+f 3188 3178 3184
+f 3184 3200 3188
+f 3164 3154 3178
+f 3178 3188 3164
+f 3130 3118 3154
+f 3154 3164 3130
+f 3058 3046 3118
+f 3118 3130 3058
+f 2941 2915 3046
+f 3046 3058 2941
+f 2775 2763 2915
+f 2915 2941 2775
+f 2627 2615 2763
+f 2763 2775 2627
+f 2458 2452 2615
+f 2615 2627 2458
+f 2287 2277 2452
+f 2452 2458 2287
+f 1910 1710 2277
+f 2277 2287 1910
+f 3198 3188 3200
+f 3200 3209 3198
+f 3170 3164 3188
+f 3188 3198 3170
+f 3136 3130 3164
+f 3164 3170 3136
+f 3064 3058 3130
+f 3130 3136 3064
+f 2955 2941 3058
+f 3058 3064 2955
+f 2781 2775 2941
+f 2941 2955 2781
+f 2636 2627 2775
+f 2775 2781 2636
+f 2462 2458 2627
+f 2627 2636 2462
+f 2295 2287 2458
+f 2458 2462 2295
+f 1909 1910 2287
+f 2287 2295 1909
+f 3202 3198 3209
+f 3209 3213 3202
+f 3174 3170 3198
+f 3198 3202 3174
+f 3138 3136 3170
+f 3170 3174 3138
+f 3066 3064 3136
+f 3136 3138 3066
+f 2961 2955 3064
+f 3064 3066 2961
+f 2783 2781 2955
+f 2955 2961 2783
+f 2642 2636 2781
+f 2781 2783 2642
+f 2464 2462 2636
+f 2636 2642 2464
+f 2297 2295 2462
+f 2462 2464 2297
+f 1784 1909 2295
+f 2295 2297 1784
+f 1414 1429 1811
+f 1811 1807 1414
+f 1220 1233 1429
+f 1429 1414 1220
+f 1093 1106 1233
+f 1233 1220 1093
+f 977 1011 1106
+f 1106 1093 977
+f 891 911 1011
+f 1011 977 891
+f 781 817 911
+f 911 891 781
+f 679 733 817
+f 817 781 679
+f 604 649 733
+f 733 679 604
+f 571 614 649
+f 649 604 571
+f 561 597 614
+f 614 571 561
+f 1400 1414 1807
+f 1807 1804 1400
+f 1212 1220 1414
+f 1414 1400 1212
+f 1083 1093 1220
+f 1220 1212 1083
+f 963 977 1093
+f 1093 1083 963
+f 849 891 977
+f 977 963 849
+f 739 781 891
+f 891 849 739
+f 628 679 781
+f 781 739 628
+f 565 604 679
+f 679 628 565
+f 530 571 604
+f 604 565 530
+f 524 561 571
+f 571 530 524
+f 1386 1400 1804
+f 1804 1802 1386
+f 1202 1212 1400
+f 1400 1386 1202
+f 1070 1083 1212
+f 1212 1202 1070
+f 939 963 1083
+f 1083 1070 939
+f 814 849 963
+f 963 939 814
+f 685 739 849
+f 849 814 685
+f 585 628 739
+f 739 685 585
+f 528 565 628
+f 628 585 528
+f 510 530 565
+f 565 528 510
+f 508 524 530
+f 530 510 508
+f 1375 1386 1802
+f 1802 1800 1375
+f 1192 1202 1386
+f 1386 1375 1192
+f 1050 1070 1202
+f 1202 1192 1050
+f 917 939 1070
+f 1070 1050 917
+f 785 814 939
+f 939 917 785
+f 638 685 814
+f 814 785 638
+f 553 585 685
+f 685 638 553
+f 512 528 585
+f 585 553 512
+f 492 510 528
+f 528 512 492
+f 482 508 510
+f 510 492 482
+f 1369 1375 1800
+f 1800 1798 1369
+f 1184 1192 1375
+f 1375 1369 1184
+f 1037 1050 1192
+f 1192 1184 1037
+f 899 917 1050
+f 1050 1037 899
+f 761 785 917
+f 917 899 761
+f 608 638 785
+f 785 761 608
+f 526 553 638
+f 638 608 526
+f 496 512 553
+f 553 526 496
+f 454 492 512
+f 512 496 454
+f 448 482 492
+f 492 454 448
+f 1355 1369 1798
+f 1798 1795 1355
+f 1172 1184 1369
+f 1369 1355 1172
+f 1023 1037 1184
+f 1184 1172 1023
+f 879 899 1037
+f 1037 1023 879
+f 729 761 899
+f 899 879 729
+f 579 608 761
+f 761 729 579
+f 514 526 608
+f 608 579 514
+f 457 496 526
+f 526 514 457
+f 442 454 496
+f 496 457 442
+f 432 448 454
+f 454 442 432
+f 1345 1355 1795
+f 1795 1792 1345
+f 1170 1172 1355
+f 1355 1345 1170
+f 1007 1023 1172
+f 1172 1170 1007
+f 859 879 1023
+f 1023 1007 859
+f 707 729 879
+f 879 859 707
+f 563 579 729
+f 729 707 563
+f 506 514 579
+f 579 563 506
+f 450 457 514
+f 514 506 450
+f 420 442 457
+f 457 450 420
+f 412 432 442
+f 442 420 412
+f 1335 1345 1792
+f 1792 1790 1335
+f 1164 1170 1345
+f 1345 1335 1164
+f 995 1007 1170
+f 1170 1164 995
+f 847 859 1007
+f 1007 995 847
+f 681 707 859
+f 859 847 681
+f 547 563 707
+f 707 681 547
+f 494 506 563
+f 563 547 494
+f 440 450 506
+f 506 494 440
+f 410 420 450
+f 450 440 410
+f 398 412 420
+f 420 410 398
+f 1327 1335 1790
+f 1790 1788 1327
+f 1160 1164 1335
+f 1335 1327 1160
+f 988 995 1164
+f 1164 1160 988
+f 841 847 995
+f 995 988 841
+f 667 681 847
+f 847 841 667
+f 538 547 681
+f 681 667 538
+f 488 494 547
+f 547 538 488
+f 434 440 494
+f 494 488 434
+f 400 410 440
+f 440 434 400
+f 381 398 410
+f 410 400 381
+f 1324 1327 1788
+f 1788 1785 1324
+f 1156 1160 1327
+f 1327 1324 1156
+f 979 988 1160
+f 1160 1156 979
+f 837 841 988
+f 988 979 837
+f 659 667 841
+f 841 837 659
+f 534 538 667
+f 667 659 534
+f 484 488 538
+f 538 534 484
+f 428 434 488
+f 488 484 428
+f 395 400 434
+f 434 428 395
+f 374 381 400
+f 400 395 374
+f 572 616 600
+f 600 562 572
+f 605 654 616
+f 616 572 605
+f 680 737 654
+f 654 605 680
+f 782 822 737
+f 737 680 782
+f 892 914 822
+f 822 782 892
+f 978 1014 914
+f 914 892 978
+f 1094 1104 1014
+f 1014 978 1094
+f 1221 1237 1104
+f 1104 1094 1221
+f 1415 1433 1237
+f 1237 1221 1415
+f 1809 1819 1433
+f 1433 1415 1809
+f 531 572 562
+f 562 525 531
+f 566 605 572
+f 572 531 566
+f 629 680 605
+f 605 566 629
+f 740 782 680
+f 680 629 740
+f 850 892 782
+f 782 740 850
+f 964 978 892
+f 892 850 964
+f 1084 1094 978
+f 978 964 1084
+f 1213 1221 1094
+f 1094 1084 1213
+f 1401 1415 1221
+f 1221 1213 1401
+f 1931 1809 1415
+f 1415 1401 1931
+f 511 531 525
+f 525 509 511
+f 529 566 531
+f 531 511 529
+f 586 629 566
+f 566 529 586
+f 686 740 629
+f 629 586 686
+f 813 850 740
+f 740 686 813
+f 940 964 850
+f 850 813 940
+f 1069 1084 964
+f 964 940 1069
+f 1203 1213 1084
+f 1084 1069 1203
+f 1385 1401 1213
+f 1213 1203 1385
+f 1693 1931 1401
+f 1401 1385 1693
+f 493 511 509
+f 509 483 493
+f 513 529 511
+f 511 493 513
+f 554 586 529
+f 529 513 554
+f 639 686 586
+f 586 554 639
+f 786 813 686
+f 686 639 786
+f 918 940 813
+f 813 786 918
+f 1049 1069 940
+f 940 918 1049
+f 1193 1203 1069
+f 1069 1049 1193
+f 1376 1385 1203
+f 1203 1193 1376
+f 1712 1693 1385
+f 1385 1376 1712
+f 455 493 483
+f 483 449 455
+f 497 513 493
+f 493 455 497
+f 527 554 513
+f 513 497 527
+f 609 639 554
+f 554 527 609
+f 762 786 639
+f 639 609 762
+f 900 918 786
+f 786 762 900
+f 1038 1049 918
+f 918 900 1038
+f 1185 1193 1049
+f 1049 1038 1185
+f 1370 1376 1193
+f 1193 1185 1370
+f 1912 1712 1376
+f 1376 1370 1912
+f 443 455 449
+f 449 433 443
+f 458 497 455
+f 455 443 458
+f 515 527 497
+f 497 458 515
+f 580 609 527
+f 527 515 580
+f 730 762 609
+f 609 580 730
+f 880 900 762
+f 762 730 880
+f 1024 1038 900
+f 900 880 1024
+f 1173 1185 1038
+f 1038 1024 1173
+f 1356 1370 1185
+f 1185 1173 1356
+f 1797 1912 1370
+f 1370 1356 1797
+f 421 443 433
+f 433 413 421
+f 451 458 443
+f 443 421 451
+f 507 515 458
+f 458 451 507
+f 564 580 515
+f 515 507 564
+f 708 730 580
+f 580 564 708
+f 860 880 730
+f 730 708 860
+f 1008 1024 880
+f 880 860 1008
+f 1171 1173 1024
+f 1024 1008 1171
+f 1346 1356 1173
+f 1173 1171 1346
+f 1911 1797 1356
+f 1356 1346 1911
+f 411 421 413
+f 413 399 411
+f 441 451 421
+f 421 411 441
+f 495 507 451
+f 451 441 495
+f 548 564 507
+f 507 495 548
+f 682 708 564
+f 564 548 682
+f 848 860 708
+f 708 682 848
+f 996 1008 860
+f 860 848 996
+f 1165 1171 1008
+f 1008 996 1165
+f 1336 1346 1171
+f 1171 1165 1336
+f 1709 1911 1346
+f 1346 1336 1709
+f 401 411 399
+f 399 382 401
+f 435 441 411
+f 411 401 435
+f 489 495 441
+f 441 435 489
+f 539 548 495
+f 495 489 539
+f 668 682 548
+f 548 539 668
+f 842 848 682
+f 682 668 842
+f 987 996 848
+f 848 842 987
+f 1161 1165 996
+f 996 987 1161
+f 1328 1336 1165
+f 1165 1161 1328
+f 1708 1709 1336
+f 1336 1328 1708
+f 397 401 382
+f 382 376 397
+f 431 435 401
+f 401 397 431
+f 487 489 435
+f 435 431 487
+f 537 539 489
+f 489 487 537
+f 662 668 539
+f 539 537 662
+f 840 842 668
+f 668 662 840
+f 981 987 842
+f 842 840 981
+f 1159 1161 987
+f 987 981 1159
+f 1326 1328 1161
+f 1161 1159 1326
+f 1787 1708 1328
+f 1328 1326 1787
+f 2209 2194 1818
+f 1818 1808 2209
+f 2403 2391 2194
+f 2194 2209 2403
+f 2530 2518 2391
+f 2391 2403 2530
+f 2646 2614 2518
+f 2518 2530 2646
+f 2732 2712 2614
+f 2614 2646 2732
+f 2842 2806 2712
+f 2712 2732 2842
+f 2944 2890 2806
+f 2806 2842 2944
+f 3019 2974 2890
+f 2890 2944 3019
+f 3041 3009 2974
+f 2974 3019 3041
+f 3049 3025 3009
+f 3009 3041 3049
+f 2223 2209 1808
+f 1808 1805 2223
+f 2411 2403 2209
+f 2209 2223 2411
+f 2540 2530 2403
+f 2403 2411 2540
+f 2660 2646 2530
+f 2530 2540 2660
+f 2774 2732 2646
+f 2646 2660 2774
+f 2884 2842 2732
+f 2732 2774 2884
+f 2995 2944 2842
+f 2842 2884 2995
+f 3045 3019 2944
+f 2944 2995 3045
+f 3073 3041 3019
+f 3019 3045 3073
+f 3079 3049 3041
+f 3041 3073 3079
+f 2237 2223 1805
+f 1805 1803 2237
+f 2421 2411 2223
+f 2223 2237 2421
+f 2553 2540 2411
+f 2411 2421 2553
+f 2684 2660 2540
+f 2540 2553 2684
+f 2809 2774 2660
+f 2660 2684 2809
+f 2938 2884 2774
+f 2774 2809 2938
+f 3031 2995 2884
+f 2884 2938 3031
+f 3075 3045 2995
+f 2995 3031 3075
+f 3093 3073 3045
+f 3045 3075 3093
+f 3117 3079 3073
+f 3073 3093 3117
+f 2248 2237 1803
+f 1803 1801 2248
+f 2431 2421 2237
+f 2237 2248 2431
+f 2573 2553 2421
+f 2421 2431 2573
+f 2706 2684 2553
+f 2553 2573 2706
+f 2838 2809 2684
+f 2684 2706 2838
+f 2985 2938 2809
+f 2809 2838 2985
+f 3055 3031 2938
+f 2938 2985 3055
+f 3091 3075 3031
+f 3031 3055 3091
+f 3133 3093 3075
+f 3075 3091 3133
+f 3143 3117 3093
+f 3093 3133 3143
+f 2254 2248 1801
+f 1801 1799 2254
+f 2439 2431 2248
+f 2248 2254 2439
+f 2586 2573 2431
+f 2431 2439 2586
+f 2724 2706 2573
+f 2573 2586 2724
+f 2862 2838 2706
+f 2706 2724 2862
+f 3015 2985 2838
+f 2838 2862 3015
+f 3077 3055 2985
+f 2985 3015 3077
+f 3129 3091 3055
+f 3055 3077 3129
+f 3151 3133 3091
+f 3091 3129 3151
+f 3157 3143 3133
+f 3133 3151 3157
+f 2268 2254 1799
+f 1799 1796 2268
+f 2451 2439 2254
+f 2254 2268 2451
+f 2600 2586 2439
+f 2439 2451 2600
+f 2744 2724 2586
+f 2586 2600 2744
+f 2894 2862 2724
+f 2724 2744 2894
+f 3037 3015 2862
+f 2862 2894 3037
+f 3089 3077 3015
+f 3015 3037 3089
+f 3149 3129 3077
+f 3077 3089 3149
+f 3163 3151 3129
+f 3129 3149 3163
+f 3173 3157 3151
+f 3151 3163 3173
+f 2278 2268 1796
+f 1796 1793 2278
+f 2453 2451 2268
+f 2268 2278 2453
+f 2616 2600 2451
+f 2451 2453 2616
+f 2764 2744 2600
+f 2600 2616 2764
+f 2916 2894 2744
+f 2744 2764 2916
+f 3047 3037 2894
+f 2894 2916 3047
+f 3119 3089 3037
+f 3037 3047 3119
+f 3155 3149 3089
+f 3089 3119 3155
+f 3179 3163 3149
+f 3149 3155 3179
+f 3185 3173 3163
+f 3163 3179 3185
+f 2288 2278 1793
+f 1793 1791 2288
+f 2459 2453 2278
+f 2278 2288 2459
+f 2628 2616 2453
+f 2453 2459 2628
+f 2776 2764 2616
+f 2616 2628 2776
+f 2942 2916 2764
+f 2764 2776 2942
+f 3059 3047 2916
+f 2916 2942 3059
+f 3131 3119 3047
+f 3047 3059 3131
+f 3165 3155 3119
+f 3119 3131 3165
+f 3189 3179 3155
+f 3155 3165 3189
+f 3201 3185 3179
+f 3179 3189 3201
+f 2296 2288 1791
+f 1791 1789 2296
+f 2463 2459 2288
+f 2288 2296 2463
+f 2635 2628 2459
+f 2459 2463 2635
+f 2782 2776 2628
+f 2628 2635 2782
+f 2956 2942 2776
+f 2776 2782 2956
+f 3065 3059 2942
+f 2942 2956 3065
+f 3137 3131 3059
+f 3059 3065 3137
+f 3171 3165 3131
+f 3131 3137 3171
+f 3199 3189 3165
+f 3165 3171 3199
+f 3210 3201 3189
+f 3189 3199 3210
+f 2299 2296 1789
+f 1789 1786 2299
+f 2467 2463 2296
+f 2296 2299 2467
+f 2644 2635 2463
+f 2463 2467 2644
+f 2786 2782 2635
+f 2635 2644 2786
+f 2964 2956 2782
+f 2782 2786 2964
+f 3069 3065 2956
+f 2956 2964 3069
+f 3141 3137 3065
+f 3065 3069 3141
+f 3177 3171 3137
+f 3137 3141 3177
+f 3204 3199 3171
+f 3171 3177 3204
+f 3214 3210 3199
+f 3199 3204 3214
+f 3194 3202 3213
+f 3213 3207 3194
+f 3166 3175 3202
+f 3202 3194 3166
+f 3134 3139 3175
+f 3175 3166 3134
+f 3060 3067 3139
+f 3139 3134 3060
+f 2953 2962 3067
+f 3067 3060 2953
+f 2777 2784 2962
+f 2962 2953 2777
+f 2629 2643 2784
+f 2784 2777 2629
+f 2460 2465 2643
+f 2643 2629 2460
+f 2293 2298 2465
+f 2465 2460 2293
+f 1696 1785 2298
+f 2298 2293 1696
+f 3180 3194 3207
+f 3207 3190 3180
+f 3158 3166 3194
+f 3194 3180 3158
+f 3124 3134 3166
+f 3166 3158 3124
+f 3050 3060 3134
+f 3134 3124 3050
+f 2927 2953 3060
+f 3060 3050 2927
+f 2767 2777 2953
+f 2953 2927 2767
+f 2619 2629 2777
+f 2777 2767 2619
+f 2454 2460 2629
+f 2629 2619 2454
+f 2283 2293 2460
+f 2460 2454 2283
+f 1695 1696 2293
+f 2293 2283 1695
+f 3160 3180 3190
+f 3190 3168 3160
+f 3144 3158 3180
+f 3180 3160 3144
+f 3086 3124 3158
+f 3158 3144 3086
+f 3032 3050 3124
+f 3124 3086 3032
+f 2891 2927 3050
+f 3050 3032 2891
+f 2739 2767 2927
+f 2927 2891 2739
+f 2597 2619 2767
+f 2767 2739 2597
+f 2448 2454 2619
+f 2619 2597 2448
+f 2265 2283 2454
+f 2454 2448 2265
+f 1707 1695 2283
+f 2283 2265 1707
+f 3146 3160 3168
+f 3168 3152 3146
+f 3122 3144 3160
+f 3160 3146 3122
+f 3070 3086 3144
+f 3144 3122 3070
+f 2998 3032 3086
+f 3086 3070 2998
+f 2853 2891 3032
+f 3032 2998 2853
+f 2717 2739 2891
+f 2891 2853 2717
+f 2582 2597 2739
+f 2739 2717 2582
+f 2434 2448 2597
+f 2597 2582 2434
+f 2251 2265 2448
+f 2448 2434 2251
+f 1907 1707 2265
+f 2265 2251 1907
+f 3120 3146 3152
+f 3152 3126 3120
+f 3082 3122 3146
+f 3146 3120 3082
+f 3042 3070 3122
+f 3122 3082 3042
+f 2957 2998 3070
+f 3070 3042 2957
+f 2825 2853 2998
+f 2998 2957 2825
+f 2693 2717 2853
+f 2853 2825 2693
+f 2556 2582 2717
+f 2717 2693 2556
+f 2424 2434 2582
+f 2582 2556 2424
+f 2239 2251 2434
+f 2434 2424 2239
+f 1906 1907 2251
+f 2251 2239 1906
+f 3080 3120 3126
+f 3126 3084 3080
+f 3056 3082 3120
+f 3120 3080 3056
+f 3012 3042 3082
+f 3082 3056 3012
+f 2899 2957 3042
+f 3042 3012 2899
+f 2789 2825 2957
+f 2957 2899 2789
+f 2675 2693 2825
+f 2825 2789 2675
+f 2545 2556 2693
+f 2693 2675 2545
+f 2416 2424 2556
+f 2556 2545 2416
+f 2228 2239 2424
+f 2424 2416 2228
+f 1770 1906 2239
+f 2239 2228 1770
+f 3053 3080 3084
+f 3084 3062 3053
+f 3028 3056 3080
+f 3080 3053 3028
+f 2978 3012 3056
+f 3056 3028 2978
+f 2860 2899 3012
+f 3012 2978 2860
+f 2754 2789 2899
+f 2899 2860 2754
+f 2652 2675 2789
+f 2789 2754 2652
+f 2534 2545 2675
+f 2675 2652 2534
+f 2406 2416 2545
+f 2545 2534 2406
+f 2217 2228 2416
+f 2416 2406 2217
+f 1929 1770 2228
+f 2228 2217 1929
+f 3035 3053 3062
+f 3062 3039 3035
+f 2997 3028 3053
+f 3053 3035 2997
+f 2920 2978 3028
+f 3028 2997 2920
+f 2832 2860 2978
+f 2978 2920 2832
+f 2728 2754 2860
+f 2860 2832 2728
+f 2634 2652 2754
+f 2754 2728 2634
+f 2528 2534 2652
+f 2652 2634 2528
+f 2396 2406 2534
+f 2534 2528 2396
+f 2202 2217 2406
+f 2406 2396 2202
+f 1765 1929 2217
+f 2217 2202 1765
+f 3017 3035 3039
+f 3039 3027 3017
+f 2980 2997 3035
+f 3035 3017 2980
+f 2896 2920 2997
+f 2997 2980 2896
+f 2812 2832 2920
+f 2920 2896 2812
+f 2715 2728 2832
+f 2832 2812 2715
+f 2618 2634 2728
+f 2728 2715 2618
+f 2523 2528 2634
+f 2634 2618 2523
+f 2392 2396 2528
+f 2528 2523 2392
+f 2196 2202 2396
+f 2396 2392 2196
+f 1724 1765 2202
+f 2202 2196 1724
+f 3007 3017 3027
+f 3027 3023 3007
+f 2969 2980 3017
+f 3017 3007 2969
+f 2887 2896 2980
+f 2980 2969 2887
+f 2802 2812 2896
+f 2896 2887 2802
+f 2709 2715 2812
+f 2812 2802 2709
+f 2609 2618 2715
+f 2715 2709 2609
+f 2519 2523 2618
+f 2618 2609 2519
+f 2386 2392 2523
+f 2523 2519 2386
+f 2190 2196 2392
+f 2392 2386 2190
+f 1759 1724 2196
+f 2196 2190 1759
+f 1329 1324 1785
+f 1785 1782 1329
+f 1162 1157 1324
+f 1324 1329 1162
+f 993 982 1157
+f 1157 1162 993
+f 845 838 982
+f 982 993 845
+f 669 660 838
+f 838 845 669
+f 542 535 660
+f 660 669 542
+f 490 485 535
+f 535 542 490
+f 438 429 485
+f 485 490 438
+f 404 396 429
+f 429 438 404
+f 387 376 396
+f 396 404 387
+f 1339 1329 1782
+f 1782 1780 1339
+f 1168 1162 1329
+f 1329 1339 1168
+f 1003 993 1162
+f 1162 1168 1003
+f 855 845 993
+f 993 1003 855
+f 695 669 845
+f 845 855 695
+f 559 542 669
+f 669 695 559
+f 500 490 542
+f 542 559 500
+f 446 438 490
+f 490 500 446
+f 416 404 438
+f 438 446 416
+f 408 387 404
+f 404 416 408
+f 1357 1339 1780
+f 1780 1778 1357
+f 1174 1168 1339
+f 1339 1357 1174
+f 1025 1003 1168
+f 1168 1174 1025
+f 883 855 1003
+f 1003 1025 883
+f 731 695 855
+f 855 883 731
+f 583 559 695
+f 695 731 583
+f 516 500 559
+f 559 583 516
+f 467 446 500
+f 500 516 467
+f 444 416 446
+f 446 467 444
+f 436 408 416
+f 416 444 436
+f 1371 1357 1778
+f 1778 1776 1371
+f 1188 1174 1357
+f 1357 1371 1188
+f 1042 1025 1174
+f 1174 1188 1042
+f 905 883 1025
+f 1025 1042 905
+f 769 731 883
+f 883 905 769
+f 624 583 731
+f 731 769 624
+f 532 516 583
+f 583 624 532
+f 502 467 516
+f 516 532 502
+f 459 444 467
+f 467 502 459
+f 452 436 444
+f 444 459 452
+f 1383 1371 1776
+f 1776 1774 1383
+f 1198 1188 1371
+f 1371 1383 1198
+f 1068 1042 1188
+f 1188 1198 1068
+f 929 905 1042
+f 1042 1068 929
+f 797 769 905
+f 905 929 797
+f 665 624 769
+f 769 797 665
+f 569 532 624
+f 624 665 569
+f 520 502 532
+f 532 569 520
+f 504 459 502
+f 502 520 504
+f 498 452 459
+f 459 504 498
+f 1394 1383 1774
+f 1774 1771 1394
+f 1206 1198 1383
+f 1383 1394 1206
+f 1077 1068 1198
+f 1198 1206 1077
+f 947 929 1068
+f 1068 1077 947
+f 833 797 929
+f 929 947 833
+f 723 665 797
+f 797 833 723
+f 610 569 665
+f 665 723 610
+f 549 520 569
+f 569 610 549
+f 522 504 520
+f 520 549 522
+f 518 498 504
+f 504 522 518
+f 1407 1394 1771
+f 1771 1768 1407
+f 1216 1206 1394
+f 1394 1407 1216
+f 1090 1077 1206
+f 1206 1216 1090
+f 972 947 1077
+f 1077 1090 972
+f 870 833 947
+f 947 972 870
+f 764 723 833
+f 833 870 764
+f 646 610 723
+f 723 764 646
+f 587 549 610
+f 610 646 587
+f 556 522 549
+f 549 587 556
+f 540 518 522
+f 522 556 540
+f 1420 1407 1768
+f 1768 1764 1420
+f 1226 1216 1407
+f 1407 1420 1226
+f 1096 1090 1216
+f 1216 1226 1096
+f 990 972 1090
+f 1090 1096 990
+f 896 870 972
+f 972 990 896
+f 792 764 870
+f 870 896 792
+f 704 646 764
+f 764 792 704
+f 627 587 646
+f 646 704 627
+f 582 556 587
+f 587 627 582
+f 574 540 556
+f 556 582 574
+f 1426 1420 1764
+f 1764 1762 1426
+f 1230 1226 1420
+f 1420 1426 1230
+f 1101 1096 1226
+f 1226 1230 1101
+f 1006 990 1096
+f 1096 1101 1006
+f 907 896 990
+f 990 1006 907
+f 812 792 896
+f 896 907 812
+f 728 704 792
+f 792 812 728
+f 644 627 704
+f 704 728 644
+f 607 582 627
+f 627 644 607
+f 592 574 582
+f 582 607 592
+f 1430 1426 1762
+f 1762 1758 1430
+f 1234 1230 1426
+f 1426 1430 1234
+f 1107 1101 1230
+f 1230 1234 1107
+f 1012 1006 1101
+f 1101 1107 1012
+f 912 907 1006
+f 1006 1012 912
+f 819 812 907
+f 907 912 819
+f 738 728 812
+f 812 819 738
+f 651 644 728
+f 728 738 651
+f 618 607 644
+f 644 651 618
+f 601 592 607
+f 607 618 601
+f 405 397 376
+f 376 388 405
+f 439 430 397
+f 397 405 439
+f 491 486 430
+f 430 439 491
+f 543 536 486
+f 486 491 543
+f 670 661 536
+f 536 543 670
+f 846 839 661
+f 661 670 846
+f 994 980 839
+f 839 846 994
+f 1163 1158 980
+f 980 994 1163
+f 1330 1325 1158
+f 1158 1163 1330
+f 1926 1786 1325
+f 1325 1330 1926
+f 417 405 388
+f 388 409 417
+f 447 439 405
+f 405 417 447
+f 501 491 439
+f 439 447 501
+f 560 543 491
+f 491 501 560
+f 696 670 543
+f 543 560 696
+f 856 846 670
+f 670 696 856
+f 1004 994 846
+f 846 856 1004
+f 1169 1163 994
+f 994 1004 1169
+f 1340 1330 1163
+f 1163 1169 1340
+f 1925 1926 1330
+f 1330 1340 1925
+f 445 417 409
+f 409 437 445
+f 468 447 417
+f 417 445 468
+f 517 501 447
+f 447 468 517
+f 584 560 501
+f 501 517 584
+f 732 696 560
+f 560 584 732
+f 884 856 696
+f 696 732 884
+f 1026 1004 856
+f 856 884 1026
+f 1175 1169 1004
+f 1004 1026 1175
+f 1358 1340 1169
+f 1169 1175 1358
+f 1908 1925 1340
+f 1340 1358 1908
+f 460 445 437
+f 437 453 460
+f 503 468 445
+f 445 460 503
+f 533 517 468
+f 468 503 533
+f 625 584 517
+f 517 533 625
+f 770 732 584
+f 584 625 770
+f 906 884 732
+f 732 770 906
+f 1041 1026 884
+f 884 906 1041
+f 1189 1175 1026
+f 1026 1041 1189
+f 1372 1358 1175
+f 1175 1189 1372
+f 1706 1908 1358
+f 1358 1372 1706
+f 505 460 453
+f 453 499 505
+f 521 503 460
+f 460 505 521
+f 570 533 503
+f 503 521 570
+f 666 625 533
+f 533 570 666
+f 798 770 625
+f 625 666 798
+f 930 906 770
+f 770 798 930
+f 1067 1041 906
+f 906 930 1067
+f 1199 1189 1041
+f 1041 1067 1199
+f 1384 1372 1189
+f 1189 1199 1384
+f 1705 1706 1372
+f 1372 1384 1705
+f 523 505 499
+f 499 519 523
+f 550 521 505
+f 505 523 550
+f 611 570 521
+f 521 550 611
+f 724 666 570
+f 570 611 724
+f 834 798 666
+f 666 724 834
+f 948 930 798
+f 798 834 948
+f 1078 1067 930
+f 930 948 1078
+f 1207 1199 1067
+f 1067 1078 1207
+f 1395 1384 1199
+f 1199 1207 1395
+f 1773 1705 1384
+f 1384 1395 1773
+f 555 523 519
+f 519 541 555
+f 588 550 523
+f 523 555 588
+f 645 611 550
+f 550 588 645
+f 763 724 611
+f 611 645 763
+f 869 834 724
+f 724 763 869
+f 971 948 834
+f 834 869 971
+f 1089 1078 948
+f 948 971 1089
+f 1217 1207 1078
+f 1078 1089 1217
+f 1406 1395 1207
+f 1207 1217 1406
+f 1692 1773 1395
+f 1395 1406 1692
+f 581 555 541
+f 541 573 581
+f 626 588 555
+f 555 581 626
+f 703 645 588
+f 588 626 703
+f 791 763 645
+f 645 703 791
+f 895 869 763
+f 763 791 895
+f 989 971 869
+f 869 895 989
+f 1095 1089 971
+f 971 989 1095
+f 1227 1217 1089
+f 1089 1095 1227
+f 1421 1406 1217
+f 1217 1227 1421
+f 1766 1692 1406
+f 1406 1421 1766
+f 606 581 573
+f 573 591 606
+f 643 626 581
+f 581 606 643
+f 727 703 626
+f 626 643 727
+f 811 791 703
+f 703 727 811
+f 908 895 791
+f 791 811 908
+f 1005 989 895
+f 895 908 1005
+f 1100 1095 989
+f 989 1005 1100
+f 1231 1227 1095
+f 1095 1100 1231
+f 1427 1421 1227
+f 1227 1231 1427
+f 1897 1766 1421
+f 1421 1427 1897
+f 615 606 591
+f 591 598 615
+f 653 643 606
+f 606 615 653
+f 735 727 643
+f 643 653 735
+f 820 811 727
+f 727 735 820
+f 913 908 811
+f 811 820 913
+f 1013 1005 908
+f 908 913 1013
+f 1103 1100 1005
+f 1005 1013 1103
+f 1236 1231 1100
+f 1100 1103 1236
+f 1432 1427 1231
+f 1231 1236 1432
+f 1760 1897 1427
+f 1427 1432 1760
+f 2294 2299 1786
+f 1786 1783 2294
+f 2461 2466 2299
+f 2299 2294 2461
+f 2630 2641 2466
+f 2466 2461 2630
+f 2778 2785 2641
+f 2641 2630 2778
+f 2954 2963 2785
+f 2785 2778 2954
+f 3061 3068 2963
+f 2963 2954 3061
+f 3135 3140 3068
+f 3068 3061 3135
+f 3167 3176 3140
+f 3140 3135 3167
+f 3195 3203 3176
+f 3176 3167 3195
+f 3208 3213 3203
+f 3203 3195 3208
+f 2284 2294 1783
+f 1783 1781 2284
+f 2455 2461 2294
+f 2294 2284 2455
+f 2620 2630 2461
+f 2461 2455 2620
+f 2768 2778 2630
+f 2630 2620 2768
+f 2928 2954 2778
+f 2778 2768 2928
+f 3051 3061 2954
+f 2954 2928 3051
+f 3125 3135 3061
+f 3061 3051 3125
+f 3159 3167 3135
+f 3135 3125 3159
+f 3181 3195 3167
+f 3167 3159 3181
+f 3191 3208 3195
+f 3195 3181 3191
+f 2266 2284 1781
+f 1781 1779 2266
+f 2449 2455 2284
+f 2284 2266 2449
+f 2598 2620 2455
+f 2455 2449 2598
+f 2740 2768 2620
+f 2620 2598 2740
+f 2892 2928 2768
+f 2768 2740 2892
+f 3033 3051 2928
+f 2928 2892 3033
+f 3087 3125 3051
+f 3051 3033 3087
+f 3145 3159 3125
+f 3125 3087 3145
+f 3161 3181 3159
+f 3159 3145 3161
+f 3169 3191 3181
+f 3181 3161 3169
+f 2252 2266 1779
+f 1779 1777 2252
+f 2435 2449 2266
+f 2266 2252 2435
+f 2581 2598 2449
+f 2449 2435 2581
+f 2718 2740 2598
+f 2598 2581 2718
+f 2854 2892 2740
+f 2740 2718 2854
+f 2999 3033 2892
+f 2892 2854 2999
+f 3071 3087 3033
+f 3033 2999 3071
+f 3123 3145 3087
+f 3087 3071 3123
+f 3147 3161 3145
+f 3145 3123 3147
+f 3153 3169 3161
+f 3161 3147 3153
+f 2240 2252 1777
+f 1777 1775 2240
+f 2425 2435 2252
+f 2252 2240 2425
+f 2555 2581 2435
+f 2435 2425 2555
+f 2694 2718 2581
+f 2581 2555 2694
+f 2826 2854 2718
+f 2718 2694 2826
+f 2958 2999 2854
+f 2854 2826 2958
+f 3043 3071 2999
+f 2999 2958 3043
+f 3083 3123 3071
+f 3071 3043 3083
+f 3121 3147 3123
+f 3123 3083 3121
+f 3127 3153 3147
+f 3147 3121 3127
+f 2229 2240 1775
+f 1775 1772 2229
+f 2417 2425 2240
+f 2240 2229 2417
+f 2546 2555 2425
+f 2425 2417 2546
+f 2676 2694 2555
+f 2555 2546 2676
+f 2790 2826 2694
+f 2694 2676 2790
+f 2900 2958 2826
+f 2826 2790 2900
+f 3013 3043 2958
+f 2958 2900 3013
+f 3057 3083 3043
+f 3043 3013 3057
+f 3081 3121 3083
+f 3083 3057 3081
+f 3085 3127 3121
+f 3121 3081 3085
+f 2216 2229 1772
+f 1772 1769 2216
+f 2407 2417 2229
+f 2229 2216 2407
+f 2533 2546 2417
+f 2417 2407 2533
+f 2651 2676 2546
+f 2546 2533 2651
+f 2753 2790 2676
+f 2676 2651 2753
+f 2859 2900 2790
+f 2790 2753 2859
+f 2977 3013 2900
+f 2900 2859 2977
+f 3029 3057 3013
+f 3013 2977 3029
+f 3052 3081 3057
+f 3057 3029 3052
+f 3063 3085 3081
+f 3081 3052 3063
+f 2203 2216 1769
+f 1769 1767 2203
+f 2397 2407 2216
+f 2216 2203 2397
+f 2527 2533 2407
+f 2407 2397 2527
+f 2633 2651 2533
+f 2533 2527 2633
+f 2727 2753 2651
+f 2651 2633 2727
+f 2831 2859 2753
+f 2753 2727 2831
+f 2919 2977 2859
+f 2859 2831 2919
+f 2996 3029 2977
+f 2977 2919 2996
+f 3034 3052 3029
+f 3029 2996 3034
+f 3038 3063 3052
+f 3052 3034 3038
+f 2197 2203 1767
+f 1767 1763 2197
+f 2393 2397 2203
+f 2203 2197 2393
+f 2522 2527 2397
+f 2397 2393 2522
+f 2617 2633 2527
+f 2527 2522 2617
+f 2716 2727 2633
+f 2633 2617 2716
+f 2811 2831 2727
+f 2727 2716 2811
+f 2895 2919 2831
+f 2831 2811 2895
+f 2979 2996 2919
+f 2919 2895 2979
+f 3016 3034 2996
+f 2996 2979 3016
+f 3026 3038 3034
+f 3034 3016 3026
+f 2193 2197 1763
+f 1763 1761 2193
+f 2389 2393 2197
+f 2197 2193 2389
+f 2516 2522 2393
+f 2393 2389 2516
+f 2610 2617 2522
+f 2522 2516 2610
+f 2710 2716 2617
+f 2617 2610 2710
+f 2803 2811 2716
+f 2716 2710 2803
+f 2885 2895 2811
+f 2811 2803 2885
+f 2971 2979 2895
+f 2895 2885 2971
+f 3005 3016 2979
+f 2979 2971 3005
+f 3022 3026 3016
+f 3016 3005 3022
+f 461 545 544
+f 544 456 461
+f 463 551 545
+f 545 461 463
+f 465 557 551
+f 551 463 465
+f 469 567 557
+f 557 465 469
+f 471 575 567
+f 567 469 471
+f 473 577 575
+f 575 471 473
+f 475 589 577
+f 577 473 475
+f 477 593 589
+f 589 475 477
+f 479 595 593
+f 593 477 479
+f 481 599 595
+f 595 479 481
+f 389 461 456
+f 456 392 389
+f 386 463 461
+f 461 389 386
+f 379 465 463
+f 463 386 379
+f 373 469 465
+f 465 379 373
+f 371 471 469
+f 469 373 371
+f 369 473 471
+f 471 371 369
+f 366 475 473
+f 473 369 366
+f 364 477 475
+f 475 366 364
+f 362 479 477
+f 477 364 362
+f 361 481 479
+f 479 362 361
+f 335 389 392
+f 392 337 335
+f 333 386 389
+f 389 335 333
+f 331 379 386
+f 386 333 331
+f 329 373 379
+f 379 331 329
+f 328 371 373
+f 373 329 328
+f 325 369 371
+f 371 328 325
+f 323 366 369
+f 369 325 323
+f 321 364 366
+f 366 323 321
+f 319 362 364
+f 364 321 319
+f 316 361 362
+f 362 319 316
+f 298 335 337
+f 337 302 298
+f 290 333 335
+f 335 298 290
+f 288 331 333
+f 333 290 288
+f 286 329 331
+f 331 288 286
+f 281 328 329
+f 329 286 281
+f 275 325 328
+f 328 281 275
+f 265 323 325
+f 325 275 265
+f 259 321 323
+f 323 265 259
+f 255 319 321
+f 321 259 255
+f 249 316 319
+f 319 255 249
+f 269 298 302
+f 302 271 269
+f 261 290 298
+f 298 269 261
+f 251 288 290
+f 290 261 251
+f 238 286 288
+f 288 251 238
+f 230 281 286
+f 286 238 230
+f 218 275 281
+f 281 230 218
+f 208 265 275
+f 275 218 208
+f 196 259 265
+f 265 208 196
+f 186 255 259
+f 259 196 186
+f 181 249 255
+f 255 186 181
+f 228 269 271
+f 271 234 228
+f 222 261 269
+f 269 228 222
+f 212 251 261
+f 261 222 212
+f 200 238 251
+f 251 212 200
+f 177 230 238
+f 238 200 177
+f 160 218 230
+f 230 177 160
+f 134 208 218
+f 218 160 134
+f 112 196 208
+f 208 134 112
+f 102 186 196
+f 196 112 102
+f 96 181 186
+f 186 102 96
+f 198 228 234
+f 234 205 198
+f 182 222 228
+f 228 198 182
+f 168 212 222
+f 222 182 168
+f 146 200 212
+f 212 168 146
+f 118 177 200
+f 200 146 118
+f 92 160 177
+f 177 118 92
+f 74 134 160
+f 160 92 74
+f 63 112 134
+f 134 74 63
+f 53 102 112
+f 112 63 53
+f 50 96 102
+f 102 53 50
+f 167 198 205
+f 205 170 167
+f 154 182 198
+f 198 167 154
+f 126 168 182
+f 182 154 126
+f 100 146 168
+f 168 126 100
+f 83 118 146
+f 146 100 83
+f 61 92 118
+f 118 83 61
+f 46 74 92
+f 92 61 46
+f 32 63 74
+f 74 46 32
+f 25 53 63
+f 63 32 25
+f 21 50 53
+f 53 25 21
+f 143 167 170
+f 170 150 143
+f 124 154 167
+f 167 143 124
+f 104 126 154
+f 154 124 104
+f 84 100 126
+f 126 104 84
+f 65 83 100
+f 100 84 65
+f 44 61 83
+f 83 65 44
+f 30 46 61
+f 61 44 30
+f 17 32 46
+f 46 30 17
+f 9 25 32
+f 32 17 9
+f 5 21 25
+f 25 9 5
+f 132 143 150
+f 150 140 132
+f 116 124 143
+f 143 132 116
+f 94 104 124
+f 124 116 94
+f 76 84 104
+f 104 94 76
+f 55 65 84
+f 84 76 55
+f 40 44 65
+f 65 55 40
+f 22 30 44
+f 44 40 22
+f 11 17 30
+f 30 22 11
+f 2 9 17
+f 17 11 2
+f 1 5 9
+f 9 2 1
+f 480 596 599
+f 599 481 480
+f 478 594 596
+f 596 480 478
+f 476 590 594
+f 594 478 476
+f 474 578 590
+f 590 476 474
+f 472 576 578
+f 578 474 472
+f 470 568 576
+f 576 472 470
+f 466 558 568
+f 568 470 466
+f 464 552 558
+f 558 466 464
+f 462 546 552
+f 552 464 462
+f 456 544 546
+f 546 462 456
+f 363 480 481
+f 481 360 363
+f 365 478 480
+f 480 363 365
+f 367 476 478
+f 478 365 367
+f 368 474 476
+f 476 367 368
+f 370 472 474
+f 474 368 370
+f 372 470 472
+f 472 370 372
+f 380 466 470
+f 470 372 380
+f 385 464 466
+f 466 380 385
+f 390 462 464
+f 464 385 390
+f 391 456 462
+f 462 390 391
+f 320 363 360
+f 360 316 320
+f 322 365 363
+f 363 320 322
+f 324 367 365
+f 365 322 324
+f 326 368 367
+f 367 324 326
+f 327 370 368
+f 368 326 327
+f 330 372 370
+f 370 327 330
+f 332 380 372
+f 372 330 332
+f 334 385 380
+f 380 332 334
+f 336 390 385
+f 385 334 336
+f 337 391 390
+f 390 336 337
+f 256 320 316
+f 316 250 256
+f 260 322 320
+f 320 256 260
+f 266 324 322
+f 322 260 266
+f 276 326 324
+f 324 266 276
+f 282 327 326
+f 326 276 282
+f 287 330 327
+f 327 282 287
+f 289 332 330
+f 330 287 289
+f 291 334 332
+f 332 289 291
+f 299 336 334
+f 334 291 299
+f 303 337 336
+f 336 299 303
+f 187 256 250
+f 250 181 187
+f 197 260 256
+f 256 187 197
+f 209 266 260
+f 260 197 209
+f 219 276 266
+f 266 209 219
+f 231 282 276
+f 276 219 231
+f 239 287 282
+f 282 231 239
+f 252 289 287
+f 287 239 252
+f 262 291 289
+f 289 252 262
+f 270 299 291
+f 291 262 270
+f 272 303 299
+f 299 270 272
+f 103 187 181
+f 181 97 103
+f 113 197 187
+f 187 103 113
+f 135 209 197
+f 197 113 135
+f 161 219 209
+f 209 135 161
+f 178 231 219
+f 219 161 178
+f 201 239 231
+f 231 178 201
+f 213 252 239
+f 239 201 213
+f 223 262 252
+f 252 213 223
+f 229 270 262
+f 262 223 229
+f 235 272 270
+f 270 229 235
+f 54 103 97
+f 97 50 54
+f 64 113 103
+f 103 54 64
+f 75 135 113
+f 113 64 75
+f 93 161 135
+f 135 75 93
+f 119 178 161
+f 161 93 119
+f 147 201 178
+f 178 119 147
+f 169 213 201
+f 201 147 169
+f 183 223 213
+f 213 169 183
+f 199 229 223
+f 223 183 199
+f 205 235 229
+f 229 199 205
+f 24 54 50
+f 50 21 24
+f 33 64 54
+f 54 24 33
+f 47 75 64
+f 64 33 47
+f 62 93 75
+f 75 47 62
+f 82 119 93
+f 93 62 82
+f 101 147 119
+f 119 82 101
+f 127 169 147
+f 147 101 127
+f 155 183 169
+f 169 127 155
+f 166 199 183
+f 183 155 166
+f 171 205 199
+f 199 166 171
+f 10 24 21
+f 21 6 10
+f 18 33 24
+f 24 10 18
+f 31 47 33
+f 33 18 31
+f 45 62 47
+f 47 31 45
+f 66 82 62
+f 62 45 66
+f 85 101 82
+f 82 66 85
+f 105 127 101
+f 101 85 105
+f 125 155 127
+f 127 105 125
+f 144 166 155
+f 155 125 144
+f 151 171 166
+f 166 144 151
+f 3 10 6
+f 6 1 3
+f 12 18 10
+f 10 3 12
+f 23 31 18
+f 18 12 23
+f 41 45 31
+f 31 23 41
+f 56 66 45
+f 45 41 56
+f 77 85 66
+f 66 56 77
+f 95 105 85
+f 85 77 95
+f 117 125 105
+f 105 95 117
+f 133 144 125
+f 125 117 133
+f 140 151 144
+f 144 133 140
+f 138 132 140
+f 140 145 138
+f 122 116 132
+f 132 138 122
+f 98 94 116
+f 116 122 98
+f 80 76 94
+f 94 98 80
+f 60 55 76
+f 76 80 60
+f 42 40 55
+f 55 60 42
+f 28 22 40
+f 40 42 28
+f 13 11 22
+f 22 28 13
+f 7 2 11
+f 11 13 7
+f 4 1 2
+f 2 7 4
+f 152 138 145
+f 145 158 152
+f 136 122 138
+f 138 152 136
+f 108 98 122
+f 122 136 108
+f 89 80 98
+f 98 108 89
+f 70 60 80
+f 80 89 70
+f 52 42 60
+f 60 70 52
+f 38 28 42
+f 42 52 38
+f 26 13 28
+f 28 38 26
+f 19 7 13
+f 13 26 19
+f 15 4 7
+f 7 19 15
+f 173 152 158
+f 158 176 173
+f 162 136 152
+f 152 173 162
+f 142 108 136
+f 136 162 142
+f 111 89 108
+f 108 142 111
+f 91 70 89
+f 89 111 91
+f 73 52 70
+f 70 91 73
+f 58 38 52
+f 52 73 58
+f 48 26 38
+f 38 58 48
+f 37 19 26
+f 26 48 37
+f 35 15 19
+f 19 37 35
+f 194 173 176
+f 176 202 194
+f 184 162 173
+f 173 194 184
+f 174 142 162
+f 162 184 174
+f 156 111 142
+f 142 174 156
+f 128 91 111
+f 111 156 128
+f 106 73 91
+f 91 128 106
+f 86 58 73
+f 73 106 86
+f 78 48 58
+f 58 86 78
+f 68 37 48
+f 48 78 68
+f 67 35 37
+f 37 68 67
+f 221 194 202
+f 202 225 221
+f 216 184 194
+f 194 221 216
+f 206 174 184
+f 184 216 206
+f 192 156 174
+f 174 206 192
+f 180 128 156
+f 156 192 180
+f 164 106 128
+f 128 180 164
+f 148 86 106
+f 106 164 148
+f 130 78 86
+f 86 148 130
+f 121 68 78
+f 78 130 121
+f 115 67 68
+f 68 121 115
+f 244 221 225
+f 225 247 244
+f 240 216 221
+f 221 244 240
+f 236 206 216
+f 216 240 236
+f 233 192 206
+f 206 236 233
+f 227 180 192
+f 192 233 227
+f 215 164 180
+f 180 227 215
+f 210 148 164
+f 164 215 210
+f 203 130 148
+f 148 210 203
+f 191 121 130
+f 130 203 191
+f 188 115 121
+f 121 191 188
+f 284 244 247
+f 247 285 284
+f 279 240 244
+f 244 284 279
+f 277 236 240
+f 240 279 277
+f 273 233 236
+f 236 277 273
+f 267 227 233
+f 233 273 267
+f 263 215 227
+f 227 267 263
+f 258 210 215
+f 215 263 258
+f 253 203 210
+f 210 258 253
+f 245 191 203
+f 203 253 245
+f 242 188 191
+f 191 245 242
+f 315 284 285
+f 285 318 315
+f 312 279 284
+f 284 315 312
+f 311 277 279
+f 279 312 311
+f 309 273 277
+f 277 311 309
+f 307 267 273
+f 273 309 307
+f 305 263 267
+f 267 307 305
+f 301 258 263
+f 263 305 301
+f 297 253 258
+f 258 301 297
+f 295 245 253
+f 253 297 295
+f 293 242 245
+f 245 295 293
+f 341 315 318
+f 318 339 341
+f 343 312 315
+f 315 341 343
+f 345 311 312
+f 312 343 345
+f 347 309 311
+f 311 345 347
+f 349 307 309
+f 309 347 349
+f 351 305 307
+f 307 349 351
+f 353 301 305
+f 305 351 353
+f 355 297 301
+f 301 353 355
+f 357 295 297
+f 297 355 357
+f 359 293 295
+f 295 357 359
+f 378 341 339
+f 339 376 378
+f 384 343 341
+f 341 378 384
+f 394 345 343
+f 343 384 394
+f 403 347 345
+f 345 394 403
+f 406 349 347
+f 347 403 406
+f 415 351 349
+f 349 406 415
+f 419 353 351
+f 351 415 419
+f 423 355 353
+f 353 419 423
+f 425 357 355
+f 355 423 425
+f 427 359 357
+f 357 425 427
+f 8 3 1
+f 1 4 8
+f 14 12 3
+f 3 8 14
+f 29 23 12
+f 12 14 29
+f 43 41 23
+f 23 29 43
+f 59 56 41
+f 41 43 59
+f 81 77 56
+f 56 59 81
+f 99 95 77
+f 77 81 99
+f 123 117 95
+f 95 99 123
+f 139 133 117
+f 117 123 139
+f 145 140 133
+f 133 139 145
+f 20 8 4
+f 4 16 20
+f 27 14 8
+f 8 20 27
+f 39 29 14
+f 14 27 39
+f 51 43 29
+f 29 39 51
+f 71 59 43
+f 43 51 71
+f 88 81 59
+f 59 71 88
+f 109 99 81
+f 81 88 109
+f 137 123 99
+f 99 109 137
+f 153 139 123
+f 123 137 153
+f 159 145 139
+f 139 153 159
+f 36 20 16
+f 16 34 36
+f 49 27 20
+f 20 36 49
+f 57 39 27
+f 27 49 57
+f 72 51 39
+f 39 57 72
+f 90 71 51
+f 51 72 90
+f 110 88 71
+f 71 90 110
+f 141 109 88
+f 88 110 141
+f 163 137 109
+f 109 141 163
+f 172 153 137
+f 137 163 172
+f 176 159 153
+f 153 172 176
+f 69 36 34
+f 34 67 69
+f 79 49 36
+f 36 69 79
+f 87 57 49
+f 49 79 87
+f 107 72 57
+f 57 87 107
+f 129 90 72
+f 72 107 129
+f 157 110 90
+f 90 129 157
+f 175 141 110
+f 110 157 175
+f 185 163 141
+f 141 175 185
+f 195 172 163
+f 163 185 195
+f 202 176 172
+f 172 195 202
+f 120 69 67
+f 67 114 120
+f 131 79 69
+f 69 120 131
+f 149 87 79
+f 79 131 149
+f 165 107 87
+f 87 149 165
+f 179 129 107
+f 107 165 179
+f 193 157 129
+f 129 179 193
+f 207 175 157
+f 157 193 207
+f 217 185 175
+f 175 207 217
+f 220 195 185
+f 185 217 220
+f 224 202 195
+f 195 220 224
+f 190 120 114
+f 114 189 190
+f 204 131 120
+f 120 190 204
+f 211 149 131
+f 131 204 211
+f 214 165 149
+f 149 211 214
+f 226 179 165
+f 165 214 226
+f 232 193 179
+f 179 226 232
+f 237 207 193
+f 193 232 237
+f 241 217 207
+f 207 237 241
+f 243 220 217
+f 217 241 243
+f 248 224 220
+f 220 243 248
+f 246 190 189
+f 189 242 246
+f 254 204 190
+f 190 246 254
+f 257 211 204
+f 204 254 257
+f 264 214 211
+f 211 257 264
+f 268 226 214
+f 214 264 268
+f 274 232 226
+f 226 268 274
+f 278 237 232
+f 232 274 278
+f 280 241 237
+f 237 278 280
+f 283 243 241
+f 241 280 283
+f 285 248 243
+f 243 283 285
+f 294 246 242
+f 242 292 294
+f 296 254 246
+f 246 294 296
+f 300 257 254
+f 254 296 300
+f 304 264 257
+f 257 300 304
+f 306 268 264
+f 264 304 306
+f 308 274 268
+f 268 306 308
+f 310 278 274
+f 274 308 310
+f 313 280 278
+f 278 310 313
+f 314 283 280
+f 280 313 314
+f 317 285 283
+f 283 314 317
+f 356 294 292
+f 292 358 356
+f 354 296 294
+f 294 356 354
+f 352 300 296
+f 296 354 352
+f 350 304 300
+f 300 352 350
+f 348 306 304
+f 304 350 348
+f 346 308 306
+f 306 348 346
+f 344 310 308
+f 308 346 344
+f 342 313 310
+f 310 344 342
+f 340 314 313
+f 313 342 340
+f 338 317 314
+f 314 340 338
+f 424 356 358
+f 358 426 424
+f 422 354 356
+f 356 424 422
+f 418 352 354
+f 354 422 418
+f 414 350 352
+f 352 418 414
+f 407 348 350
+f 350 414 407
+f 402 346 348
+f 348 407 402
+f 393 344 346
+f 346 402 393
+f 383 342 344
+f 344 393 383
+f 377 340 342
+f 342 383 377
+f 375 338 340
+f 340 377 375
+f 3186 3113 3115
+f 3115 3182 3186
+f 3192 3110 3113
+f 3113 3186 3192
+f 3196 3109 3110
+f 3110 3192 3196
+f 3205 3106 3109
+f 3109 3196 3205
+f 3211 3104 3106
+f 3106 3205 3211
+f 3215 3102 3104
+f 3104 3211 3215
+f 3217 3101 3102
+f 3102 3215 3217
+f 3220 3098 3101
+f 3101 3217 3220
+f 3222 3097 3098
+f 3098 3220 3222
+f 3223 3095 3097
+f 3097 3222 3223
+f 3227 3186 3182
+f 3182 3225 3227
+f 3229 3192 3186
+f 3186 3227 3229
+f 3231 3196 3192
+f 3192 3229 3231
+f 3233 3205 3196
+f 3196 3231 3233
+f 3235 3211 3205
+f 3205 3233 3235
+f 3241 3215 3211
+f 3211 3235 3241
+f 3245 3217 3215
+f 3215 3241 3245
+f 3249 3220 3217
+f 3217 3245 3249
+f 3251 3222 3220
+f 3220 3249 3251
+f 3253 3223 3222
+f 3222 3251 3253
+f 3239 3227 3225
+f 3225 3237 3239
+f 3243 3229 3227
+f 3227 3239 3243
+f 3247 3231 3229
+f 3229 3243 3247
+f 3257 3233 3231
+f 3231 3247 3257
+f 3263 3235 3233
+f 3233 3257 3263
+f 3271 3241 3235
+f 3235 3263 3271
+f 3279 3245 3241
+f 3241 3271 3279
+f 3285 3249 3245
+f 3245 3279 3285
+f 3293 3251 3249
+f 3249 3285 3293
+f 3297 3253 3251
+f 3251 3293 3297
+f 3259 3239 3237
+f 3237 3255 3259
+f 3261 3243 3239
+f 3239 3259 3261
+f 3265 3247 3243
+f 3243 3261 3265
+f 3275 3257 3247
+f 3247 3265 3275
+f 3287 3263 3257
+f 3257 3275 3287
+f 3303 3271 3263
+f 3263 3287 3303
+f 3314 3279 3271
+f 3271 3303 3314
+f 3320 3285 3279
+f 3279 3314 3320
+f 3330 3293 3285
+f 3285 3320 3330
+f 3332 3297 3293
+f 3293 3330 3332
+f 3270 3259 3255
+f 3255 3268 3270
+f 3273 3261 3259
+f 3259 3270 3273
+f 3283 3265 3261
+f 3261 3273 3283
+f 3299 3275 3265
+f 3265 3283 3299
+f 3308 3287 3275
+f 3275 3299 3308
+f 3322 3303 3287
+f 3287 3308 3322
+f 3338 3314 3303
+f 3303 3322 3338
+f 3346 3320 3314
+f 3314 3338 3346
+f 3351 3330 3320
+f 3320 3346 3351
+f 3355 3332 3330
+f 3330 3351 3355
+f 3282 3270 3268
+f 3268 3278 3282
+f 3290 3273 3270
+f 3270 3282 3290
+f 3302 3283 3273
+f 3273 3290 3302
+f 3312 3299 3283
+f 3283 3302 3312
+f 3324 3308 3299
+f 3299 3312 3324
+f 3340 3322 3308
+f 3308 3324 3340
+f 3353 3338 3322
+f 3322 3340 3353
+f 3368 3346 3338
+f 3338 3353 3368
+f 3373 3351 3346
+f 3346 3368 3373
+f 3379 3355 3351
+f 3351 3373 3379
+f 3295 3282 3278
+f 3278 3292 3295
+f 3306 3290 3282
+f 3282 3295 3306
+f 3316 3302 3290
+f 3290 3306 3316
+f 3326 3312 3302
+f 3302 3316 3326
+f 3345 3324 3312
+f 3312 3326 3345
+f 3359 3340 3324
+f 3324 3345 3359
+f 3376 3353 3340
+f 3340 3359 3376
+f 3394 3368 3353
+f 3353 3376 3394
+f 3404 3373 3368
+f 3368 3394 3404
+f 3406 3379 3373
+f 3373 3404 3406
+f 3310 3295 3292
+f 3292 3307 3310
+f 3318 3306 3295
+f 3295 3310 3318
+f 3336 3316 3306
+f 3306 3318 3336
+f 3348 3326 3316
+f 3316 3336 3348
+f 3369 3345 3326
+f 3326 3348 3369
+f 3389 3359 3345
+f 3345 3369 3389
+f 3425 3376 3359
+f 3359 3389 3425
+f 3449 3394 3376
+f 3376 3425 3449
+f 3468 3404 3394
+f 3394 3449 3468
+f 3472 3406 3404
+f 3404 3468 3472
+f 3335 3310 3307
+f 3307 3329 3335
+f 3343 3318 3310
+f 3310 3335 3343
+f 3362 3336 3318
+f 3318 3343 3362
+f 3386 3348 3336
+f 3336 3362 3386
+f 3422 3369 3348
+f 3348 3386 3422
+f 3464 3389 3369
+f 3369 3422 3464
+f 3490 3425 3389
+f 3389 3464 3490
+f 3505 3449 3425
+f 3425 3490 3505
+f 3521 3468 3449
+f 3449 3505 3521
+f 3523 3472 3468
+f 3468 3521 3523
+f 3364 3335 3329
+f 3329 3357 3364
+f 3382 3343 3335
+f 3335 3364 3382
+f 3416 3362 3343
+f 3343 3382 3416
+f 3465 3386 3362
+f 3362 3416 3465
+f 3495 3422 3386
+f 3386 3465 3495
+f 3528 3464 3422
+f 3422 3495 3528
+f 3553 3490 3464
+f 3464 3528 3553
+f 3579 3505 3490
+f 3490 3553 3579
+f 3592 3521 3505
+f 3505 3579 3592
+f 3604 3523 3521
+f 3521 3592 3604
+f 3221 3096 3094
+f 3094 3224 3221
+f 3219 3099 3096
+f 3096 3221 3219
+f 3218 3100 3099
+f 3099 3219 3218
+f 3216 3103 3100
+f 3100 3218 3216
+f 3212 3105 3103
+f 3103 3216 3212
+f 3206 3107 3105
+f 3105 3212 3206
+f 3197 3108 3107
+f 3107 3206 3197
+f 3193 3111 3108
+f 3108 3197 3193
+f 3187 3112 3111
+f 3111 3193 3187
+f 3183 3114 3112
+f 3112 3187 3183
+f 3252 3221 3224
+f 3224 3254 3252
+f 3250 3219 3221
+f 3221 3252 3250
+f 3246 3218 3219
+f 3219 3250 3246
+f 3242 3216 3218
+f 3218 3246 3242
+f 3236 3212 3216
+f 3216 3242 3236
+f 3234 3206 3212
+f 3212 3236 3234
+f 3232 3197 3206
+f 3206 3234 3232
+f 3230 3193 3197
+f 3197 3232 3230
+f 3228 3187 3193
+f 3193 3230 3228
+f 3226 3183 3187
+f 3187 3228 3226
+f 3294 3252 3254
+f 3254 3298 3294
+f 3286 3250 3252
+f 3252 3294 3286
+f 3280 3246 3250
+f 3250 3286 3280
+f 3272 3242 3246
+f 3246 3280 3272
+f 3264 3236 3242
+f 3242 3272 3264
+f 3258 3234 3236
+f 3236 3264 3258
+f 3248 3232 3234
+f 3234 3258 3248
+f 3244 3230 3232
+f 3232 3248 3244
+f 3240 3228 3230
+f 3230 3244 3240
+f 3238 3226 3228
+f 3228 3240 3238
+f 3331 3294 3298
+f 3298 3333 3331
+f 3321 3286 3294
+f 3294 3331 3321
+f 3315 3280 3286
+f 3286 3321 3315
+f 3304 3272 3280
+f 3280 3315 3304
+f 3288 3264 3272
+f 3272 3304 3288
+f 3276 3258 3264
+f 3264 3288 3276
+f 3266 3248 3258
+f 3258 3276 3266
+f 3262 3244 3248
+f 3248 3266 3262
+f 3260 3240 3244
+f 3244 3262 3260
+f 3256 3238 3240
+f 3240 3260 3256
+f 3350 3331 3333
+f 3333 3354 3350
+f 3347 3321 3331
+f 3331 3350 3347
+f 3339 3315 3321
+f 3321 3347 3339
+f 3323 3304 3315
+f 3315 3339 3323
+f 3309 3288 3304
+f 3304 3323 3309
+f 3300 3276 3288
+f 3288 3309 3300
+f 3284 3266 3276
+f 3276 3300 3284
+f 3274 3262 3266
+f 3266 3284 3274
+f 3269 3260 3262
+f 3262 3274 3269
+f 3267 3256 3260
+f 3260 3269 3267
+f 3372 3350 3354
+f 3354 3378 3372
+f 3367 3347 3350
+f 3350 3372 3367
+f 3352 3339 3347
+f 3347 3367 3352
+f 3341 3323 3339
+f 3339 3352 3341
+f 3325 3309 3323
+f 3323 3341 3325
+f 3313 3300 3309
+f 3309 3325 3313
+f 3301 3284 3300
+f 3300 3313 3301
+f 3289 3274 3284
+f 3284 3301 3289
+f 3281 3269 3274
+f 3274 3289 3281
+f 3277 3267 3269
+f 3269 3281 3277
+f 3403 3372 3378
+f 3378 3405 3403
+f 3393 3367 3372
+f 3372 3403 3393
+f 3377 3352 3367
+f 3367 3393 3377
+f 3360 3341 3352
+f 3352 3377 3360
+f 3344 3325 3341
+f 3341 3360 3344
+f 3327 3313 3325
+f 3325 3344 3327
+f 3317 3301 3313
+f 3313 3327 3317
+f 3305 3289 3301
+f 3301 3317 3305
+f 3296 3281 3289
+f 3289 3305 3296
+f 3291 3277 3281
+f 3281 3296 3291
+f 3469 3403 3405
+f 3405 3472 3469
+f 3450 3393 3403
+f 3403 3469 3450
+f 3426 3377 3393
+f 3393 3450 3426
+f 3390 3360 3377
+f 3377 3426 3390
+f 3370 3344 3360
+f 3360 3390 3370
+f 3349 3327 3344
+f 3344 3370 3349
+f 3337 3317 3327
+f 3327 3349 3337
+f 3319 3305 3317
+f 3317 3337 3319
+f 3311 3296 3305
+f 3305 3319 3311
+f 3307 3291 3296
+f 3296 3311 3307
+f 3520 3469 3472
+f 3472 3522 3520
+f 3504 3450 3469
+f 3469 3520 3504
+f 3489 3426 3450
+f 3450 3504 3489
+f 3463 3390 3426
+f 3426 3489 3463
+f 3421 3370 3390
+f 3390 3463 3421
+f 3385 3349 3370
+f 3370 3421 3385
+f 3361 3337 3349
+f 3349 3385 3361
+f 3342 3319 3337
+f 3337 3361 3342
+f 3334 3311 3319
+f 3319 3342 3334
+f 3328 3307 3311
+f 3311 3334 3328
+f 3591 3520 3522
+f 3522 3603 3591
+f 3578 3504 3520
+f 3520 3591 3578
+f 3552 3489 3504
+f 3504 3578 3552
+f 3530 3463 3489
+f 3489 3552 3530
+f 3499 3421 3463
+f 3463 3530 3499
+f 3467 3385 3421
+f 3421 3499 3467
+f 3415 3361 3385
+f 3385 3467 3415
+f 3381 3342 3361
+f 3361 3415 3381
+f 3363 3334 3342
+f 3342 3381 3363
+f 3356 3328 3334
+f 3334 3363 3356
+f 3374 3365 3358
+f 3358 3371 3374
+f 3395 3383 3365
+f 3365 3374 3395
+f 3443 3417 3383
+f 3383 3395 3443
+f 3481 3466 3417
+f 3417 3443 3481
+f 3514 3496 3466
+f 3466 3481 3514
+f 3545 3529 3496
+f 3496 3514 3545
+f 3573 3551 3529
+f 3529 3545 3573
+f 3597 3577 3551
+f 3551 3573 3597
+f 3613 3590 3577
+f 3577 3597 3613
+f 3619 3603 3590
+f 3590 3613 3619
+f 3387 3374 3371
+f 3371 3380 3387
+f 3413 3395 3374
+f 3374 3387 3413
+f 3461 3443 3395
+f 3395 3413 3461
+f 3493 3481 3443
+f 3443 3461 3493
+f 3524 3514 3481
+f 3481 3493 3524
+f 3556 3545 3514
+f 3514 3524 3556
+f 3584 3573 3545
+f 3545 3556 3584
+f 3611 3597 3573
+f 3573 3584 3611
+f 3628 3613 3597
+f 3597 3611 3628
+f 3632 3619 3613
+f 3613 3628 3632
+f 3398 3387 3380
+f 3380 3391 3398
+f 3435 3413 3387
+f 3387 3398 3435
+f 3473 3461 3413
+f 3413 3435 3473
+f 3500 3493 3461
+f 3461 3473 3500
+f 3531 3524 3493
+f 3493 3500 3531
+f 3562 3556 3524
+f 3524 3531 3562
+f 3595 3584 3556
+f 3556 3562 3595
+f 3617 3611 3584
+f 3584 3595 3617
+f 3633 3628 3611
+f 3611 3617 3633
+f 3641 3632 3628
+f 3628 3633 3641
+f 3409 3398 3391
+f 3391 3400 3409
+f 3447 3435 3398
+f 3398 3409 3447
+f 3477 3473 3435
+f 3435 3447 3477
+f 3506 3500 3473
+f 3473 3477 3506
+f 3540 3531 3500
+f 3500 3506 3540
+f 3567 3562 3531
+f 3531 3540 3567
+f 3601 3595 3562
+f 3562 3567 3601
+f 3624 3617 3595
+f 3595 3601 3624
+f 3639 3633 3617
+f 3617 3624 3639
+f 3644 3641 3633
+f 3633 3639 3644
+f 3433 3409 3400
+f 3400 3411 3433
+f 3453 3447 3409
+f 3409 3433 3453
+f 3483 3477 3447
+f 3447 3453 3483
+f 3510 3506 3477
+f 3477 3483 3510
+f 3543 3540 3506
+f 3506 3510 3543
+f 3569 3567 3540
+f 3540 3543 3569
+f 3599 3601 3567
+f 3567 3569 3599
+f 3622 3624 3601
+f 3601 3599 3622
+f 3637 3639 3624
+f 3624 3622 3637
+f 3642 3644 3639
+f 3639 3637 3642
+f 3439 3433 3411
+f 3411 3424 3439
+f 3458 3453 3433
+f 3433 3439 3458
+f 3487 3483 3453
+f 3453 3458 3487
+f 3513 3510 3483
+f 3483 3487 3513
+f 3542 3543 3510
+f 3510 3513 3542
+f 3566 3569 3543
+f 3543 3542 3566
+f 3593 3599 3569
+f 3569 3566 3593
+f 3616 3622 3599
+f 3599 3593 3616
+f 3630 3637 3622
+f 3622 3616 3630
+f 3636 3642 3637
+f 3637 3630 3636
+f 3441 3439 3424
+f 3424 3429 3441
+f 3459 3458 3439
+f 3439 3441 3459
+f 3485 3487 3458
+f 3458 3459 3485
+f 3508 3513 3487
+f 3487 3485 3508
+f 3533 3542 3513
+f 3513 3508 3533
+f 3558 3566 3542
+f 3542 3533 3558
+f 3582 3593 3566
+f 3566 3558 3582
+f 3607 3616 3593
+f 3593 3582 3607
+f 3620 3630 3616
+f 3616 3607 3620
+f 3626 3636 3630
+f 3630 3620 3626
+f 3437 3441 3429
+f 3429 3427 3437
+f 3455 3459 3441
+f 3441 3437 3455
+f 3479 3485 3459
+f 3459 3455 3479
+f 3502 3508 3485
+f 3485 3479 3502
+f 3526 3533 3508
+f 3508 3502 3526
+f 3547 3558 3533
+f 3533 3526 3547
+f 3571 3582 3558
+f 3558 3547 3571
+f 3588 3607 3582
+f 3582 3571 3588
+f 3605 3620 3607
+f 3607 3588 3605
+f 3609 3626 3620
+f 3620 3605 3609
+f 3419 3437 3427
+f 3427 3408 3419
+f 3445 3455 3437
+f 3437 3419 3445
+f 3470 3479 3455
+f 3455 3445 3470
+f 3492 3502 3479
+f 3479 3470 3492
+f 3517 3526 3502
+f 3502 3492 3517
+f 3536 3547 3526
+f 3526 3517 3536
+f 3554 3571 3547
+f 3547 3536 3554
+f 3575 3588 3571
+f 3571 3554 3575
+f 3580 3605 3588
+f 3588 3575 3580
+f 3587 3609 3605
+f 3605 3580 3587
+f 3401 3419 3408
+f 3408 3397 3401
+f 3431 3445 3419
+f 3419 3401 3431
+f 3451 3470 3445
+f 3445 3431 3451
+f 3475 3492 3470
+f 3470 3451 3475
+f 3497 3517 3492
+f 3492 3475 3497
+f 3518 3536 3517
+f 3517 3497 3518
+f 3537 3554 3536
+f 3536 3518 3537
+f 3549 3575 3554
+f 3554 3537 3549
+f 3560 3580 3575
+f 3575 3549 3560
+f 3564 3587 3580
+f 3580 3560 3564
+f 3614 3591 3603
+f 3603 3619 3614
+f 3598 3578 3591
+f 3591 3614 3598
+f 3574 3552 3578
+f 3578 3598 3574
+f 3546 3530 3552
+f 3552 3574 3546
+f 3515 3499 3530
+f 3530 3546 3515
+f 3482 3467 3499
+f 3499 3515 3482
+f 3444 3418 3467
+f 3467 3482 3444
+f 3396 3384 3418
+f 3418 3444 3396
+f 3375 3366 3384
+f 3384 3396 3375
+f 3371 3358 3366
+f 3366 3375 3371
+f 3629 3614 3619
+f 3619 3632 3629
+f 3612 3598 3614
+f 3614 3629 3612
+f 3585 3574 3598
+f 3598 3612 3585
+f 3557 3546 3574
+f 3574 3585 3557
+f 3525 3515 3546
+f 3546 3557 3525
+f 3494 3482 3515
+f 3515 3525 3494
+f 3462 3444 3482
+f 3482 3494 3462
+f 3414 3396 3444
+f 3444 3462 3414
+f 3388 3375 3396
+f 3396 3414 3388
+f 3380 3371 3375
+f 3375 3388 3380
+f 3634 3629 3632
+f 3632 3641 3634
+f 3618 3612 3629
+f 3629 3634 3618
+f 3596 3585 3612
+f 3612 3618 3596
+f 3563 3557 3585
+f 3585 3596 3563
+f 3532 3525 3557
+f 3557 3563 3532
+f 3501 3494 3525
+f 3525 3532 3501
+f 3474 3462 3494
+f 3494 3501 3474
+f 3436 3414 3462
+f 3462 3474 3436
+f 3399 3388 3414
+f 3414 3436 3399
+f 3392 3380 3388
+f 3388 3399 3392
+f 3640 3634 3641
+f 3641 3644 3640
+f 3625 3618 3634
+f 3634 3640 3625
+f 3602 3596 3618
+f 3618 3625 3602
+f 3568 3563 3596
+f 3596 3602 3568
+f 3539 3532 3563
+f 3563 3568 3539
+f 3507 3501 3532
+f 3532 3539 3507
+f 3478 3474 3501
+f 3501 3507 3478
+f 3448 3436 3474
+f 3474 3478 3448
+f 3410 3399 3436
+f 3436 3448 3410
+f 3400 3392 3399
+f 3399 3410 3400
+f 3638 3640 3644
+f 3644 3643 3638
+f 3623 3625 3640
+f 3640 3638 3623
+f 3600 3602 3625
+f 3625 3623 3600
+f 3570 3568 3602
+f 3602 3600 3570
+f 3544 3539 3568
+f 3568 3570 3544
+f 3511 3507 3539
+f 3539 3544 3511
+f 3484 3478 3507
+f 3507 3511 3484
+f 3454 3448 3478
+f 3478 3484 3454
+f 3434 3410 3448
+f 3448 3454 3434
+f 3412 3400 3410
+f 3410 3434 3412
+f 3631 3638 3643
+f 3643 3635 3631
+f 3615 3623 3638
+f 3638 3631 3615
+f 3594 3600 3623
+f 3623 3615 3594
+f 3565 3570 3600
+f 3600 3594 3565
+f 3541 3544 3570
+f 3570 3565 3541
+f 3512 3511 3544
+f 3544 3541 3512
+f 3488 3484 3511
+f 3511 3512 3488
+f 3457 3454 3484
+f 3484 3488 3457
+f 3440 3434 3454
+f 3454 3457 3440
+f 3423 3412 3434
+f 3434 3440 3423
+f 3621 3631 3635
+f 3635 3627 3621
+f 3608 3615 3631
+f 3631 3621 3608
+f 3583 3594 3615
+f 3615 3608 3583
+f 3559 3565 3594
+f 3594 3583 3559
+f 3534 3541 3565
+f 3565 3559 3534
+f 3509 3512 3541
+f 3541 3534 3509
+f 3486 3488 3512
+f 3512 3509 3486
+f 3460 3457 3488
+f 3488 3486 3460
+f 3442 3440 3457
+f 3457 3460 3442
+f 3430 3423 3440
+f 3440 3442 3430
+f 3606 3621 3627
+f 3627 3610 3606
+f 3589 3608 3621
+f 3621 3606 3589
+f 3572 3583 3608
+f 3608 3589 3572
+f 3548 3559 3583
+f 3583 3572 3548
+f 3527 3534 3559
+f 3559 3548 3527
+f 3503 3509 3534
+f 3534 3527 3503
+f 3480 3486 3509
+f 3509 3503 3480
+f 3456 3460 3486
+f 3486 3480 3456
+f 3438 3442 3460
+f 3460 3456 3438
+f 3428 3430 3442
+f 3442 3438 3428
+f 3581 3606 3610
+f 3610 3586 3581
+f 3576 3589 3606
+f 3606 3581 3576
+f 3555 3572 3589
+f 3589 3576 3555
+f 3535 3548 3572
+f 3572 3555 3535
+f 3516 3527 3548
+f 3548 3535 3516
+f 3491 3503 3527
+f 3527 3516 3491
+f 3471 3480 3503
+f 3503 3491 3471
+f 3446 3456 3480
+f 3480 3471 3446
+f 3420 3438 3456
+f 3456 3446 3420
+f 3407 3428 3438
+f 3438 3420 3407
+f 3561 3581 3586
+f 3586 3564 3561
+f 3550 3576 3581
+f 3581 3561 3550
+f 3538 3555 3576
+f 3576 3550 3538
+f 3519 3535 3555
+f 3555 3538 3519
+f 3498 3516 3535
+f 3535 3519 3498
+f 3476 3491 3516
+f 3516 3498 3476
+f 3452 3471 3491
+f 3491 3476 3452
+f 3432 3446 3471
+f 3471 3452 3432
+f 3402 3420 3446
+f 3446 3432 3402
+f 3397 3407 3420
+f 3420 3402 3397
+f 1888 2110 2104
+f 1888 2104 2096
+f 1888 2096 2076
+f 1888 2076 2048
+f 1888 2048 2030
+f 1888 2030 2006
+f 1888 2006 1982
+f 1888 1982 1960
+f 1888 1960 1936
+f 1888 1936 1732
+f 2257 2104 2110
+f 2110 2261 2257
+f 2249 2096 2104
+f 2104 2257 2249
+f 2226 2076 2096
+f 2096 2249 2226
+f 2200 2048 2076
+f 2076 2226 2200
+f 2142 2030 2048
+f 2048 2200 2142
+f 2094 2006 2030
+f 2030 2142 2094
+f 2036 1982 2006
+f 2006 2094 2036
+f 1988 1960 1982
+f 1982 2036 1988
+f 1948 1936 1960
+f 1960 1988 1948
+f 1728 1732 1936
+f 1936 1948 1728
+f 2310 2257 2261
+f 2261 2315 2310
+f 2300 2249 2257
+f 2257 2310 2300
+f 2279 2226 2249
+f 2249 2300 2279
+f 2243 2200 2226
+f 2226 2279 2243
+f 2204 2142 2200
+f 2200 2243 2204
+f 2132 2094 2142
+f 2142 2204 2132
+f 2067 2036 2094
+f 2094 2132 2067
+f 2000 1988 2036
+f 2036 2067 2000
+f 1956 1948 1988
+f 1988 2000 1956
+f 1734 1728 1948
+f 1948 1956 1734
+f 2312 2310 2315
+f 2315 2316 2312
+f 2302 2300 2310
+f 2310 2312 2302
+f 2281 2279 2300
+f 2300 2302 2281
+f 2245 2243 2279
+f 2279 2281 2245
+f 2206 2204 2243
+f 2243 2245 2206
+f 2134 2132 2204
+f 2204 2206 2134
+f 2068 2067 2132
+f 2132 2134 2068
+f 2002 2000 2067
+f 2067 2068 2002
+f 1958 1956 2000
+f 2000 2002 1958
+f 1878 1734 1956
+f 1956 1958 1878
+f 2285 2312 2316
+f 2316 2289 2285
+f 2259 2302 2312
+f 2312 2285 2259
+f 2241 2281 2302
+f 2302 2259 2241
+f 2214 2245 2281
+f 2281 2241 2214
+f 2168 2206 2245
+f 2245 2214 2168
+f 2106 2134 2206
+f 2206 2168 2106
+f 2042 2068 2134
+f 2134 2106 2042
+f 1994 2002 2068
+f 2068 2042 1994
+f 1952 1958 2002
+f 2002 1994 1952
+f 1731 1878 1958
+f 1958 1952 1731
+f 2220 2285 2289
+f 2289 2225 2220
+f 2210 2259 2285
+f 2285 2220 2210
+f 2186 2241 2259
+f 2259 2210 2186
+f 2146 2214 2241
+f 2241 2186 2146
+f 2108 2168 2214
+f 2214 2146 2108
+f 2060 2106 2168
+f 2168 2108 2060
+f 2018 2042 2106
+f 2106 2060 2018
+f 1978 1994 2042
+f 2042 2018 1978
+f 1944 1952 1994
+f 1994 1978 1944
+f 1727 1731 1952
+f 1952 1944 1727
+f 2141 2220 2225
+f 2225 2145 2141
+f 2127 2210 2220
+f 2220 2141 2127
+f 2112 2186 2210
+f 2210 2127 2112
+f 2084 2146 2186
+f 2186 2112 2084
+f 2044 2108 2146
+f 2146 2084 2044
+f 2024 2060 2108
+f 2108 2044 2024
+f 1992 2018 2060
+f 2060 2024 1992
+f 1970 1978 2018
+f 2018 1992 1970
+f 1942 1944 1978
+f 1978 1970 1942
+f 1721 1727 1944
+f 1944 1942 1721
+f 2079 2141 2145
+f 2145 2087 2079
+f 2075 2127 2141
+f 2141 2079 2075
+f 2055 2112 2127
+f 2127 2075 2055
+f 2039 2084 2112
+f 2112 2055 2039
+f 2021 2044 2084
+f 2084 2039 2021
+f 1996 2024 2044
+f 2044 2021 1996
+f 1974 1992 2024
+f 2024 1996 1974
+f 1954 1970 1992
+f 1992 1974 1954
+f 1934 1942 1970
+f 1970 1954 1934
+f 1720 1721 1942
+f 1942 1934 1720
+f 2063 2079 2087
+f 2087 2071 2063
+f 2051 2075 2079
+f 2079 2063 2051
+f 2041 2055 2075
+f 2075 2051 2041
+f 2029 2039 2055
+f 2055 2041 2029
+f 2013 2021 2039
+f 2039 2029 2013
+f 1991 1996 2021
+f 2021 2013 1991
+f 1972 1974 1996
+f 1996 1991 1972
+f 1950 1954 1974
+f 1974 1972 1950
+f 1932 1934 1954
+f 1954 1950 1932
+f 1701 1720 1934
+f 1934 1932 1701
+f 2115 2063 2071
+f 2071 2123 2115
+f 2101 2051 2063
+f 2063 2115 2101
+f 2081 2041 2051
+f 2051 2101 2081
+f 2057 2029 2041
+f 2041 2081 2057
+f 2033 2013 2029
+f 2029 2057 2033
+f 2009 1991 2013
+f 2013 2033 2009
+f 1984 1972 1991
+f 1991 2009 1984
+f 1964 1950 1972
+f 1972 1984 1964
+f 1938 1932 1950
+f 1950 1964 1938
+f 1698 1701 1932
+f 1932 1938 1698
+f 1888 1886 1686
+f 1888 1686 1662
+f 1888 1662 1640
+f 1888 1640 1616
+f 1888 1616 1592
+f 1888 1592 1574
+f 1888 1574 1546
+f 1888 1546 1526
+f 1888 1526 1518
+f 1888 1518 1512
+f 1674 1686 1886
+f 1886 1884 1674
+f 1634 1662 1686
+f 1686 1674 1634
+f 1586 1640 1662
+f 1662 1634 1586
+f 1528 1616 1640
+f 1640 1586 1528
+f 1480 1592 1616
+f 1616 1528 1480
+f 1422 1574 1592
+f 1592 1480 1422
+f 1396 1546 1574
+f 1574 1422 1396
+f 1373 1526 1546
+f 1546 1396 1373
+f 1365 1518 1526
+f 1526 1373 1365
+f 1361 1512 1518
+f 1518 1365 1361
+f 1666 1674 1884
+f 1884 1882 1666
+f 1622 1634 1674
+f 1674 1666 1622
+f 1557 1586 1634
+f 1634 1622 1557
+f 1490 1528 1586
+f 1586 1557 1490
+f 1418 1480 1528
+f 1528 1490 1418
+f 1379 1422 1480
+f 1480 1418 1379
+f 1343 1396 1422
+f 1422 1379 1343
+f 1322 1373 1396
+f 1396 1343 1322
+f 1312 1365 1373
+f 1373 1322 1312
+f 1309 1361 1365
+f 1365 1312 1309
+f 1664 1666 1882
+f 1882 1879 1664
+f 1620 1622 1666
+f 1666 1664 1620
+f 1554 1557 1622
+f 1622 1620 1554
+f 1488 1490 1557
+f 1557 1554 1488
+f 1416 1418 1490
+f 1490 1488 1416
+f 1377 1379 1418
+f 1418 1416 1377
+f 1341 1343 1379
+f 1379 1377 1341
+f 1320 1322 1343
+f 1343 1341 1320
+f 1310 1312 1322
+f 1322 1320 1310
+f 1306 1309 1312
+f 1312 1310 1306
+f 1670 1664 1879
+f 1879 1876 1670
+f 1628 1620 1664
+f 1664 1670 1628
+f 1580 1554 1620
+f 1620 1628 1580
+f 1516 1488 1554
+f 1554 1580 1516
+f 1454 1416 1488
+f 1488 1516 1454
+f 1408 1377 1416
+f 1416 1454 1408
+f 1381 1341 1377
+f 1377 1408 1381
+f 1363 1320 1341
+f 1341 1381 1363
+f 1337 1310 1320
+f 1320 1363 1337
+f 1333 1306 1310
+f 1310 1337 1333
+f 1678 1670 1876
+f 1876 1874 1678
+f 1644 1628 1670
+f 1670 1678 1644
+f 1604 1580 1628
+f 1628 1644 1604
+f 1562 1516 1580
+f 1580 1604 1562
+f 1514 1454 1516
+f 1516 1562 1514
+f 1476 1408 1454
+f 1454 1514 1476
+f 1436 1381 1408
+f 1408 1476 1436
+f 1412 1363 1381
+f 1381 1436 1412
+f 1402 1337 1363
+f 1363 1412 1402
+f 1399 1333 1337
+f 1337 1402 1399
+f 1680 1678 1874
+f 1874 1872 1680
+f 1652 1644 1678
+f 1678 1680 1652
+f 1630 1604 1644
+f 1644 1652 1630
+f 1598 1562 1604
+f 1604 1630 1598
+f 1578 1514 1562
+f 1562 1598 1578
+f 1538 1476 1514
+f 1514 1578 1538
+f 1510 1436 1476
+f 1476 1538 1510
+f 1497 1412 1436
+f 1436 1510 1497
+f 1483 1402 1412
+f 1412 1497 1483
+f 1479 1399 1402
+f 1402 1483 1479
+f 1688 1680 1872
+f 1872 1870 1688
+f 1668 1652 1680
+f 1680 1688 1668
+f 1648 1630 1652
+f 1652 1668 1648
+f 1626 1598 1630
+f 1630 1648 1626
+f 1603 1578 1598
+f 1598 1626 1603
+f 1585 1538 1578
+f 1578 1603 1585
+f 1569 1510 1538
+f 1538 1585 1569
+f 1549 1497 1510
+f 1510 1569 1549
+f 1545 1483 1497
+f 1497 1549 1545
+f 1537 1479 1483
+f 1483 1545 1537
+f 1690 1688 1870
+f 1870 1868 1690
+f 1672 1668 1688
+f 1688 1690 1672
+f 1650 1648 1668
+f 1668 1672 1650
+f 1633 1626 1648
+f 1648 1650 1633
+f 1611 1603 1626
+f 1626 1633 1611
+f 1595 1585 1603
+f 1603 1611 1595
+f 1583 1569 1585
+f 1585 1595 1583
+f 1573 1549 1569
+f 1569 1583 1573
+f 1561 1545 1549
+f 1549 1573 1561
+f 1553 1537 1545
+f 1545 1561 1553
+f 1684 1690 1868
+f 1868 1865 1684
+f 1658 1672 1690
+f 1690 1684 1658
+f 1638 1650 1672
+f 1672 1658 1638
+f 1615 1633 1650
+f 1650 1638 1615
+f 1591 1611 1633
+f 1633 1615 1591
+f 1567 1595 1611
+f 1611 1591 1567
+f 1543 1583 1595
+f 1595 1567 1543
+f 1523 1573 1583
+f 1583 1543 1523
+f 1509 1561 1573
+f 1573 1523 1509
+f 1501 1553 1561
+f 1561 1509 1501
+f 1888 1513 1519
+f 1888 1519 1527
+f 1888 1527 1547
+f 1888 1547 1575
+f 1888 1575 1593
+f 1888 1593 1617
+f 1888 1617 1641
+f 1888 1641 1663
+f 1888 1663 1687
+f 1888 1687 1894
+f 1366 1519 1513
+f 1513 1362 1366
+f 1374 1527 1519
+f 1519 1366 1374
+f 1397 1547 1527
+f 1527 1374 1397
+f 1423 1575 1547
+f 1547 1397 1423
+f 1481 1593 1575
+f 1575 1423 1481
+f 1529 1617 1593
+f 1593 1481 1529
+f 1587 1641 1617
+f 1617 1529 1587
+f 1635 1663 1641
+f 1641 1587 1635
+f 1675 1687 1663
+f 1663 1635 1675
+f 1895 1894 1687
+f 1687 1675 1895
+f 1313 1366 1362
+f 1362 1308 1313
+f 1323 1374 1366
+f 1366 1313 1323
+f 1344 1397 1374
+f 1374 1323 1344
+f 1380 1423 1397
+f 1397 1344 1380
+f 1419 1481 1423
+f 1423 1380 1419
+f 1491 1529 1481
+f 1481 1419 1491
+f 1556 1587 1529
+f 1529 1491 1556
+f 1623 1635 1587
+f 1587 1556 1623
+f 1667 1675 1635
+f 1635 1623 1667
+f 1890 1895 1675
+f 1675 1667 1890
+f 1311 1313 1308
+f 1308 1307 1311
+f 1321 1323 1313
+f 1313 1311 1321
+f 1342 1344 1323
+f 1323 1321 1342
+f 1378 1380 1344
+f 1344 1342 1378
+f 1417 1419 1380
+f 1380 1378 1417
+f 1489 1491 1419
+f 1419 1417 1489
+f 1555 1556 1491
+f 1491 1489 1555
+f 1621 1623 1556
+f 1556 1555 1621
+f 1665 1667 1623
+f 1623 1621 1665
+f 1881 1890 1667
+f 1667 1665 1881
+f 1338 1311 1307
+f 1307 1334 1338
+f 1364 1321 1311
+f 1311 1338 1364
+f 1382 1342 1321
+f 1321 1364 1382
+f 1409 1378 1342
+f 1342 1382 1409
+f 1455 1417 1378
+f 1378 1409 1455
+f 1517 1489 1417
+f 1417 1455 1517
+f 1581 1555 1489
+f 1489 1517 1581
+f 1629 1621 1555
+f 1555 1581 1629
+f 1671 1665 1621
+f 1621 1629 1671
+f 1893 1881 1665
+f 1665 1671 1893
+f 1403 1338 1334
+f 1334 1398 1403
+f 1413 1364 1338
+f 1338 1403 1413
+f 1437 1382 1364
+f 1364 1413 1437
+f 1477 1409 1382
+f 1382 1437 1477
+f 1515 1455 1409
+f 1409 1477 1515
+f 1563 1517 1455
+f 1455 1515 1563
+f 1605 1581 1517
+f 1517 1563 1605
+f 1645 1629 1581
+f 1581 1605 1645
+f 1679 1671 1629
+f 1629 1645 1679
+f 1900 1893 1671
+f 1671 1679 1900
+f 1482 1403 1398
+f 1398 1478 1482
+f 1496 1413 1403
+f 1403 1482 1496
+f 1511 1437 1413
+f 1413 1496 1511
+f 1539 1477 1437
+f 1437 1511 1539
+f 1579 1515 1477
+f 1477 1539 1579
+f 1599 1563 1515
+f 1515 1579 1599
+f 1631 1605 1563
+f 1563 1599 1631
+f 1653 1645 1605
+f 1605 1631 1653
+f 1681 1679 1645
+f 1645 1653 1681
+f 1902 1900 1679
+f 1679 1681 1902
+f 1544 1482 1478
+f 1478 1536 1544
+f 1548 1496 1482
+f 1482 1544 1548
+f 1568 1511 1496
+f 1496 1548 1568
+f 1584 1539 1511
+f 1511 1568 1584
+f 1602 1579 1539
+f 1539 1584 1602
+f 1627 1599 1579
+f 1579 1602 1627
+f 1649 1631 1599
+f 1599 1627 1649
+f 1669 1653 1631
+f 1631 1649 1669
+f 1689 1681 1653
+f 1653 1669 1689
+f 1921 1902 1681
+f 1681 1689 1921
+f 1560 1544 1536
+f 1536 1552 1560
+f 1572 1548 1544
+f 1544 1560 1572
+f 1582 1568 1548
+f 1548 1572 1582
+f 1594 1584 1568
+f 1568 1582 1594
+f 1610 1602 1584
+f 1584 1594 1610
+f 1632 1627 1602
+f 1602 1610 1632
+f 1651 1649 1627
+f 1627 1632 1651
+f 1673 1669 1649
+f 1649 1651 1673
+f 1691 1689 1669
+f 1669 1673 1691
+f 1922 1921 1689
+f 1689 1691 1922
+f 1508 1560 1552
+f 1552 1500 1508
+f 1522 1572 1560
+f 1560 1508 1522
+f 1542 1582 1572
+f 1572 1522 1542
+f 1566 1594 1582
+f 1582 1542 1566
+f 1590 1610 1594
+f 1594 1566 1590
+f 1614 1632 1610
+f 1610 1590 1614
+f 1639 1651 1632
+f 1632 1614 1639
+f 1659 1673 1651
+f 1651 1639 1659
+f 1685 1691 1673
+f 1673 1659 1685
+f 1928 1922 1691
+f 1691 1685 1928
+f 1888 1887 1937
+f 1888 1937 1961
+f 1888 1961 1983
+f 1888 1983 2007
+f 1888 2007 2031
+f 1888 2031 2049
+f 1888 2049 2077
+f 1888 2077 2097
+f 1888 2097 2105
+f 1888 2105 2111
+f 1949 1937 1887
+f 1887 1885 1949
+f 1989 1961 1937
+f 1937 1949 1989
+f 2037 1983 1961
+f 1961 1989 2037
+f 2095 2007 1983
+f 1983 2037 2095
+f 2143 2031 2007
+f 2007 2095 2143
+f 2201 2049 2031
+f 2031 2143 2201
+f 2227 2077 2049
+f 2049 2201 2227
+f 2250 2097 2077
+f 2077 2227 2250
+f 2258 2105 2097
+f 2097 2250 2258
+f 2262 2111 2105
+f 2105 2258 2262
+f 1957 1949 1885
+f 1885 1883 1957
+f 2001 1989 1949
+f 1949 1957 2001
+f 2066 2037 1989
+f 1989 2001 2066
+f 2133 2095 2037
+f 2037 2066 2133
+f 2205 2143 2095
+f 2095 2133 2205
+f 2244 2201 2143
+f 2143 2205 2244
+f 2280 2227 2201
+f 2201 2244 2280
+f 2301 2250 2227
+f 2227 2280 2301
+f 2311 2258 2250
+f 2250 2301 2311
+f 2314 2262 2258
+f 2258 2311 2314
+f 1959 1957 1883
+f 1883 1880 1959
+f 2003 2001 1957
+f 1957 1959 2003
+f 2069 2066 2001
+f 2001 2003 2069
+f 2135 2133 2066
+f 2066 2069 2135
+f 2207 2205 2133
+f 2133 2135 2207
+f 2246 2244 2205
+f 2205 2207 2246
+f 2282 2280 2244
+f 2244 2246 2282
+f 2303 2301 2280
+f 2280 2282 2303
+f 2313 2311 2301
+f 2301 2303 2313
+f 2317 2314 2311
+f 2311 2313 2317
+f 1953 1959 1880
+f 1880 1877 1953
+f 1995 2003 1959
+f 1959 1953 1995
+f 2043 2069 2003
+f 2003 1995 2043
+f 2107 2135 2069
+f 2069 2043 2107
+f 2169 2207 2135
+f 2135 2107 2169
+f 2215 2246 2207
+f 2207 2169 2215
+f 2242 2282 2246
+f 2246 2215 2242
+f 2260 2303 2282
+f 2282 2242 2260
+f 2286 2313 2303
+f 2303 2260 2286
+f 2290 2317 2313
+f 2313 2286 2290
+f 1945 1953 1877
+f 1877 1875 1945
+f 1979 1995 1953
+f 1953 1945 1979
+f 2019 2043 1995
+f 1995 1979 2019
+f 2061 2107 2043
+f 2043 2019 2061
+f 2109 2169 2107
+f 2107 2061 2109
+f 2147 2215 2169
+f 2169 2109 2147
+f 2187 2242 2215
+f 2215 2147 2187
+f 2211 2260 2242
+f 2242 2187 2211
+f 2221 2286 2260
+f 2260 2211 2221
+f 2224 2290 2286
+f 2286 2221 2224
+f 1943 1945 1875
+f 1875 1873 1943
+f 1971 1979 1945
+f 1945 1943 1971
+f 1993 2019 1979
+f 1979 1971 1993
+f 2025 2061 2019
+f 2019 1993 2025
+f 2045 2109 2061
+f 2061 2025 2045
+f 2085 2147 2109
+f 2109 2045 2085
+f 2113 2187 2147
+f 2147 2085 2113
+f 2126 2211 2187
+f 2187 2113 2126
+f 2140 2221 2211
+f 2211 2126 2140
+f 2144 2224 2221
+f 2221 2140 2144
+f 1935 1943 1873
+f 1873 1871 1935
+f 1955 1971 1943
+f 1943 1935 1955
+f 1975 1993 1971
+f 1971 1955 1975
+f 1997 2025 1993
+f 1993 1975 1997
+f 2020 2045 2025
+f 2025 1997 2020
+f 2038 2085 2045
+f 2045 2020 2038
+f 2054 2113 2085
+f 2085 2038 2054
+f 2074 2126 2113
+f 2113 2054 2074
+f 2078 2140 2126
+f 2126 2074 2078
+f 2086 2144 2140
+f 2140 2078 2086
+f 1933 1935 1871
+f 1871 1869 1933
+f 1951 1955 1935
+f 1935 1933 1951
+f 1973 1975 1955
+f 1955 1951 1973
+f 1990 1997 1975
+f 1975 1973 1990
+f 2012 2020 1997
+f 1997 1990 2012
+f 2028 2038 2020
+f 2020 2012 2028
+f 2040 2054 2038
+f 2038 2028 2040
+f 2050 2074 2054
+f 2054 2040 2050
+f 2062 2078 2074
+f 2074 2050 2062
+f 2070 2086 2078
+f 2078 2062 2070
+f 1939 1933 1869
+f 1869 1866 1939
+f 1965 1951 1933
+f 1933 1939 1965
+f 1985 1973 1951
+f 1951 1965 1985
+f 2008 1990 1973
+f 1973 1985 2008
+f 2032 2012 1990
+f 1990 2008 2032
+f 2056 2028 2012
+f 2012 2032 2056
+f 2080 2040 2028
+f 2028 2056 2080
+f 2100 2050 2040
+f 2040 2080 2100
+f 2114 2062 2050
+f 2050 2100 2114
+f 2122 2070 2062
+f 2062 2114 2122
+f 2232 2116 2124
+f 2124 2236 2232
+f 2218 2102 2116
+f 2116 2232 2218
+f 2199 2082 2102
+f 2102 2218 2199
+f 2150 2058 2082
+f 2082 2199 2150
+f 2120 2034 2058
+f 2058 2150 2120
+f 2064 2010 2034
+f 2034 2120 2064
+f 2023 1986 2010
+f 2010 2064 2023
+f 1980 1966 1986
+f 1986 2023 1980
+f 1946 1940 1966
+f 1966 1980 1946
+f 1862 1730 1940
+f 1940 1946 1862
+f 2332 2232 2236
+f 2236 2336 2332
+f 2322 2218 2232
+f 2232 2332 2322
+f 2306 2199 2218
+f 2218 2322 2306
+f 2275 2150 2199
+f 2199 2306 2275
+f 2234 2120 2150
+f 2150 2275 2234
+f 2170 2064 2120
+f 2120 2234 2170
+f 2093 2023 2064
+f 2064 2170 2093
+f 2016 1980 2023
+f 2023 2093 2016
+f 1968 1946 1980
+f 1980 2016 1968
+f 1858 1862 1946
+f 1946 1968 1858
+f 2409 2332 2336
+f 2336 2413 2409
+f 2400 2322 2332
+f 2332 2409 2400
+f 2376 2306 2322
+f 2322 2400 2376
+f 2349 2275 2306
+f 2306 2376 2349
+f 2324 2234 2275
+f 2275 2349 2324
+f 2271 2170 2234
+f 2234 2324 2271
+f 2185 2093 2170
+f 2170 2271 2185
+f 2072 2016 2093
+f 2093 2185 2072
+f 1976 1968 2016
+f 2016 2072 1976
+f 1729 1858 1968
+f 1968 1976 1729
+f 2488 2409 2413
+f 2413 2498 2488
+f 2470 2400 2409
+f 2409 2488 2470
+f 2444 2376 2400
+f 2400 2470 2444
+f 2418 2349 2376
+f 2376 2444 2418
+f 2384 2324 2349
+f 2349 2418 2384
+f 2338 2271 2324
+f 2324 2384 2338
+f 2269 2185 2271
+f 2271 2338 2269
+f 2138 2072 2185
+f 2185 2269 2138
+f 1998 1976 2072
+f 2072 2138 1998
+f 1722 1729 1976
+f 1976 1998 1722
+f 2559 2488 2498
+f 2498 2569 2559
+f 2549 2470 2488
+f 2488 2559 2549
+f 2531 2444 2470
+f 2470 2549 2531
+f 2492 2418 2444
+f 2444 2531 2492
+f 2436 2384 2418
+f 2418 2492 2436
+f 2394 2338 2384
+f 2384 2436 2394
+f 2326 2269 2338
+f 2338 2394 2326
+f 2212 2138 2269
+f 2269 2326 2212
+f 2026 1998 2138
+f 2138 2212 2026
+f 1850 1722 1998
+f 1998 2026 1850
+f 2653 2559 2569
+f 2569 2655 2653
+f 2631 2549 2559
+f 2559 2653 2631
+f 2593 2531 2549
+f 2549 2631 2593
+f 2551 2492 2531
+f 2531 2593 2551
+f 2510 2436 2492
+f 2492 2551 2510
+f 2432 2394 2436
+f 2436 2510 2432
+f 2366 2326 2394
+f 2394 2432 2366
+f 2263 2212 2326
+f 2326 2366 2263
+f 2052 2026 2212
+f 2212 2263 2052
+f 1726 1850 2026
+f 2026 2052 1726
+f 2720 2653 2655
+f 2655 2726 2720
+f 2697 2631 2653
+f 2653 2720 2697
+f 2662 2593 2631
+f 2631 2697 2662
+f 2607 2551 2593
+f 2593 2662 2607
+f 2547 2510 2551
+f 2551 2607 2547
+f 2484 2432 2510
+f 2510 2547 2484
+f 2405 2366 2432
+f 2432 2484 2405
+f 2308 2263 2366
+f 2366 2405 2308
+f 2090 2052 2263
+f 2263 2308 2090
+f 1719 1726 2052
+f 2052 2090 1719
+f 2787 2720 2726
+f 2726 2795 2787
+f 2759 2697 2720
+f 2720 2787 2759
+f 2713 2662 2697
+f 2697 2759 2713
+f 2657 2607 2662
+f 2662 2713 2657
+f 2589 2547 2607
+f 2607 2657 2589
+f 2525 2484 2547
+f 2547 2589 2525
+f 2422 2405 2484
+f 2484 2525 2422
+f 2330 2308 2405
+f 2405 2422 2330
+f 2118 2090 2308
+f 2308 2330 2118
+f 1700 1719 2090
+f 2090 2118 1700
+f 2834 2787 2795
+f 2795 2844 2834
+f 2798 2759 2787
+f 2787 2834 2798
+f 2750 2713 2759
+f 2759 2798 2750
+f 2690 2657 2713
+f 2713 2750 2690
+f 2624 2589 2657
+f 2657 2690 2624
+f 2536 2525 2589
+f 2589 2624 2536
+f 2441 2422 2525
+f 2525 2536 2441
+f 2340 2330 2422
+f 2422 2441 2340
+f 2128 2118 2330
+f 2330 2340 2128
+f 1825 1700 2118
+f 2118 2128 1825
+f 2847 2834 2844
+f 2844 2857 2847
+f 2821 2798 2834
+f 2834 2847 2821
+f 2765 2750 2798
+f 2798 2821 2765
+f 2703 2690 2750
+f 2750 2765 2703
+f 2637 2624 2690
+f 2690 2703 2637
+f 2543 2536 2624
+f 2624 2637 2543
+f 2446 2441 2536
+f 2536 2543 2446
+f 2344 2340 2441
+f 2441 2446 2344
+f 2136 2128 2340
+f 2340 2344 2136
+f 1713 1825 2128
+f 2128 2136 1713
+f 1676 1682 1864
+f 1864 1862 1676
+f 1642 1656 1682
+f 1682 1676 1642
+f 1601 1636 1656
+f 1656 1642 1601
+f 1558 1612 1636
+f 1636 1601 1558
+f 1502 1588 1612
+f 1612 1558 1502
+f 1472 1564 1588
+f 1588 1502 1472
+f 1425 1540 1564
+f 1564 1472 1425
+f 1404 1520 1540
+f 1540 1425 1404
+f 1390 1506 1520
+f 1520 1404 1390
+f 1387 1498 1506
+f 1506 1390 1387
+f 1654 1676 1862
+f 1862 1859 1654
+f 1606 1642 1676
+f 1676 1654 1606
+f 1531 1601 1642
+f 1642 1606 1531
+f 1452 1558 1601
+f 1601 1531 1452
+f 1388 1502 1558
+f 1558 1452 1388
+f 1347 1472 1502
+f 1502 1388 1347
+f 1316 1425 1472
+f 1472 1347 1316
+f 1300 1404 1425
+f 1425 1316 1300
+f 1290 1390 1404
+f 1404 1300 1290
+f 1286 1387 1390
+f 1390 1290 1286
+f 1646 1654 1859
+f 1859 1856 1646
+f 1550 1606 1654
+f 1654 1646 1550
+f 1439 1531 1606
+f 1606 1550 1439
+f 1351 1452 1531
+f 1531 1439 1351
+f 1298 1388 1452
+f 1452 1351 1298
+f 1275 1347 1388
+f 1388 1298 1275
+f 1246 1316 1347
+f 1347 1275 1246
+f 1222 1300 1316
+f 1316 1246 1222
+f 1215 1290 1300
+f 1300 1222 1215
+f 1211 1286 1290
+f 1290 1215 1211
+f 1624 1646 1856
+f 1856 1854 1624
+f 1484 1550 1646
+f 1646 1624 1484
+f 1353 1439 1550
+f 1550 1484 1353
+f 1284 1351 1439
+f 1439 1353 1284
+f 1238 1298 1351
+f 1351 1284 1238
+f 1204 1275 1298
+f 1298 1238 1204
+f 1178 1246 1275
+f 1275 1204 1178
+f 1152 1222 1246
+f 1246 1178 1152
+f 1134 1215 1222
+f 1222 1152 1134
+f 1124 1211 1215
+f 1215 1134 1124
+f 1596 1624 1854
+f 1854 1851 1596
+f 1410 1484 1624
+f 1624 1596 1410
+f 1296 1353 1484
+f 1484 1410 1296
+f 1228 1284 1353
+f 1353 1296 1228
+f 1186 1238 1284
+f 1284 1228 1186
+f 1130 1204 1238
+f 1238 1186 1130
+f 1091 1178 1204
+f 1204 1130 1091
+f 1073 1152 1178
+f 1178 1091 1073
+f 1063 1134 1152
+f 1152 1073 1063
+f 1053 1124 1134
+f 1134 1063 1053
+f 1570 1596 1851
+f 1851 1848 1570
+f 1359 1410 1596
+f 1596 1570 1359
+f 1256 1296 1410
+f 1410 1359 1256
+f 1190 1228 1296
+f 1296 1256 1190
+f 1112 1186 1228
+f 1228 1190 1112
+f 1071 1130 1186
+f 1186 1112 1071
+f 1029 1091 1130
+f 1130 1071 1029
+f 991 1073 1091
+f 1091 1029 991
+f 969 1063 1073
+f 1073 991 969
+f 967 1053 1063
+f 1063 969 967
+f 1532 1570 1848
+f 1848 1846 1532
+f 1314 1359 1570
+f 1570 1532 1314
+f 1219 1256 1359
+f 1359 1314 1219
+f 1138 1190 1256
+f 1256 1219 1138
+f 1075 1112 1190
+f 1190 1138 1075
+f 1015 1071 1112
+f 1112 1075 1015
+f 962 1029 1071
+f 1071 1015 962
+f 925 991 1029
+f 1029 962 925
+f 904 969 991
+f 991 925 904
+f 898 967 969
+f 969 904 898
+f 1504 1532 1846
+f 1846 1832 1504
+f 1292 1314 1532
+f 1532 1504 1292
+f 1200 1219 1314
+f 1314 1292 1200
+f 1097 1138 1219
+f 1219 1200 1097
+f 1033 1075 1138
+f 1138 1097 1033
+f 965 1015 1075
+f 1075 1033 965
+f 909 962 1015
+f 1015 965 909
+f 863 925 962
+f 962 909 863
+f 835 904 925
+f 925 863 835
+f 827 898 904
+f 904 835 827
+f 1494 1504 1832
+f 1832 1824 1494
+f 1282 1292 1504
+f 1504 1494 1282
+f 1183 1200 1292
+f 1292 1282 1183
+f 1088 1097 1200
+f 1200 1183 1088
+f 1000 1033 1097
+f 1097 1088 1000
+f 934 965 1033
+f 1033 1000 934
+f 874 909 965
+f 965 934 874
+f 826 863 909
+f 909 874 826
+f 790 835 863
+f 863 826 790
+f 780 827 835
+f 835 790 780
+f 1486 1494 1824
+f 1824 1814 1486
+f 1278 1282 1494
+f 1494 1486 1278
+f 1176 1183 1282
+f 1282 1278 1176
+f 1079 1088 1183
+f 1183 1176 1079
+f 985 1000 1088
+f 1088 1079 985
+f 919 934 1000
+f 1000 985 919
+f 857 874 934
+f 934 919 857
+f 801 826 874
+f 874 857 801
+f 775 790 826
+f 826 801 775
+f 765 780 790
+f 790 775 765
+f 1391 1507 1499
+f 1499 1387 1391
+f 1405 1521 1507
+f 1507 1391 1405
+f 1424 1541 1521
+f 1521 1405 1424
+f 1473 1565 1541
+f 1541 1424 1473
+f 1503 1589 1565
+f 1565 1473 1503
+f 1559 1613 1589
+f 1589 1503 1559
+f 1600 1637 1613
+f 1613 1559 1600
+f 1643 1657 1637
+f 1637 1600 1643
+f 1677 1683 1657
+f 1657 1643 1677
+f 1863 1892 1683
+f 1683 1677 1863
+f 1291 1391 1387
+f 1387 1287 1291
+f 1301 1405 1391
+f 1391 1291 1301
+f 1317 1424 1405
+f 1405 1301 1317
+f 1348 1473 1424
+f 1424 1317 1348
+f 1389 1503 1473
+f 1473 1348 1389
+f 1453 1559 1503
+f 1503 1389 1453
+f 1530 1600 1559
+f 1559 1453 1530
+f 1607 1643 1600
+f 1600 1530 1607
+f 1655 1677 1643
+f 1643 1607 1655
+f 1861 1863 1677
+f 1677 1655 1861
+f 1214 1291 1287
+f 1287 1210 1214
+f 1223 1301 1291
+f 1291 1214 1223
+f 1247 1317 1301
+f 1301 1223 1247
+f 1274 1348 1317
+f 1317 1247 1274
+f 1299 1389 1348
+f 1348 1274 1299
+f 1352 1453 1389
+f 1389 1299 1352
+f 1438 1530 1453
+f 1453 1352 1438
+f 1551 1607 1530
+f 1530 1438 1551
+f 1647 1655 1607
+f 1607 1551 1647
+f 1891 1861 1655
+f 1655 1647 1891
+f 1135 1214 1210
+f 1210 1125 1135
+f 1153 1223 1214
+f 1214 1135 1153
+f 1179 1247 1223
+f 1223 1153 1179
+f 1205 1274 1247
+f 1247 1179 1205
+f 1239 1299 1274
+f 1274 1205 1239
+f 1285 1352 1299
+f 1299 1239 1285
+f 1354 1438 1352
+f 1352 1285 1354
+f 1485 1551 1438
+f 1438 1354 1485
+f 1625 1647 1551
+f 1551 1485 1625
+f 1901 1891 1647
+f 1647 1625 1901
+f 1064 1135 1125
+f 1125 1054 1064
+f 1074 1153 1135
+f 1135 1064 1074
+f 1092 1179 1153
+f 1153 1074 1092
+f 1131 1205 1179
+f 1179 1092 1131
+f 1187 1239 1205
+f 1205 1131 1187
+f 1229 1285 1239
+f 1239 1187 1229
+f 1297 1354 1285
+f 1285 1229 1297
+f 1411 1485 1354
+f 1354 1297 1411
+f 1597 1625 1485
+f 1485 1411 1597
+f 1853 1901 1625
+f 1625 1597 1853
+f 970 1064 1054
+f 1054 968 970
+f 992 1074 1064
+f 1064 970 992
+f 1030 1092 1074
+f 1074 992 1030
+f 1072 1131 1092
+f 1092 1030 1072
+f 1113 1187 1131
+f 1131 1072 1113
+f 1191 1229 1187
+f 1187 1113 1191
+f 1257 1297 1229
+f 1229 1191 1257
+f 1360 1411 1297
+f 1297 1257 1360
+f 1571 1597 1411
+f 1411 1360 1571
+f 1899 1853 1597
+f 1597 1571 1899
+f 903 970 968
+f 968 897 903
+f 926 992 970
+f 970 903 926
+f 961 1030 992
+f 992 926 961
+f 1016 1072 1030
+f 1030 961 1016
+f 1076 1113 1072
+f 1072 1016 1076
+f 1139 1191 1113
+f 1113 1076 1139
+f 1218 1257 1191
+f 1191 1139 1218
+f 1315 1360 1257
+f 1257 1218 1315
+f 1533 1571 1360
+f 1360 1315 1533
+f 1920 1899 1571
+f 1571 1533 1920
+f 836 903 897
+f 897 828 836
+f 864 926 903
+f 903 836 864
+f 910 961 926
+f 926 864 910
+f 966 1016 961
+f 961 910 966
+f 1034 1076 1016
+f 1016 966 1034
+f 1098 1139 1076
+f 1076 1034 1098
+f 1201 1218 1139
+f 1139 1098 1201
+f 1293 1315 1218
+f 1218 1201 1293
+f 1505 1533 1315
+f 1315 1293 1505
+f 1924 1920 1533
+f 1533 1505 1924
+f 789 836 828
+f 828 779 789
+f 825 864 836
+f 836 789 825
+f 873 910 864
+f 864 825 873
+f 933 966 910
+f 910 873 933
+f 999 1034 966
+f 966 933 999
+f 1087 1098 1034
+f 1034 999 1087
+f 1182 1201 1098
+f 1098 1087 1182
+f 1283 1293 1201
+f 1201 1182 1283
+f 1495 1505 1293
+f 1293 1283 1495
+f 1826 1924 1505
+f 1505 1495 1826
+f 776 789 779
+f 779 766 776
+f 802 825 789
+f 789 776 802
+f 858 873 825
+f 825 802 858
+f 920 933 873
+f 873 858 920
+f 986 999 933
+f 933 920 986
+f 1080 1087 999
+f 999 986 1080
+f 1177 1182 1087
+f 1087 1080 1177
+f 1279 1283 1182
+f 1182 1177 1279
+f 1487 1495 1283
+f 1283 1279 1487
+f 1914 1826 1495
+f 1495 1487 1914
+f 1947 1941 1867
+f 1867 1863 1947
+f 1981 1967 1941
+f 1941 1947 1981
+f 2022 1987 1967
+f 1967 1981 2022
+f 2065 2011 1987
+f 1987 2022 2065
+f 2121 2035 2011
+f 2011 2065 2121
+f 2151 2059 2035
+f 2035 2121 2151
+f 2198 2083 2059
+f 2059 2151 2198
+f 2219 2103 2083
+f 2083 2198 2219
+f 2233 2117 2103
+f 2103 2219 2233
+f 2236 2125 2117
+f 2117 2233 2236
+f 1969 1947 1863
+f 1863 1860 1969
+f 2017 1981 1947
+f 1947 1969 2017
+f 2092 2022 1981
+f 1981 2017 2092
+f 2171 2065 2022
+f 2022 2092 2171
+f 2235 2121 2065
+f 2065 2171 2235
+f 2276 2151 2121
+f 2121 2235 2276
+f 2307 2198 2151
+f 2151 2276 2307
+f 2323 2219 2198
+f 2198 2307 2323
+f 2333 2233 2219
+f 2219 2323 2333
+f 2337 2236 2233
+f 2233 2333 2337
+f 1977 1969 1860
+f 1860 1857 1977
+f 2073 2017 1969
+f 1969 1977 2073
+f 2184 2092 2017
+f 2017 2073 2184
+f 2272 2171 2092
+f 2092 2184 2272
+f 2325 2235 2171
+f 2171 2272 2325
+f 2348 2276 2235
+f 2235 2325 2348
+f 2377 2307 2276
+f 2276 2348 2377
+f 2401 2323 2307
+f 2307 2377 2401
+f 2408 2333 2323
+f 2323 2401 2408
+f 2412 2337 2333
+f 2333 2408 2412
+f 1999 1977 1857
+f 1857 1855 1999
+f 2139 2073 1977
+f 1977 1999 2139
+f 2270 2184 2073
+f 2073 2139 2270
+f 2339 2272 2184
+f 2184 2270 2339
+f 2385 2325 2272
+f 2272 2339 2385
+f 2419 2348 2325
+f 2325 2385 2419
+f 2445 2377 2348
+f 2348 2419 2445
+f 2471 2401 2377
+f 2377 2445 2471
+f 2489 2408 2401
+f 2401 2471 2489
+f 2499 2412 2408
+f 2408 2489 2499
+f 2027 1999 1855
+f 1855 1852 2027
+f 2213 2139 1999
+f 1999 2027 2213
+f 2327 2270 2139
+f 2139 2213 2327
+f 2395 2339 2270
+f 2270 2327 2395
+f 2437 2385 2339
+f 2339 2395 2437
+f 2493 2419 2385
+f 2385 2437 2493
+f 2532 2445 2419
+f 2419 2493 2532
+f 2550 2471 2445
+f 2445 2532 2550
+f 2560 2489 2471
+f 2471 2550 2560
+f 2570 2499 2489
+f 2489 2560 2570
+f 2053 2027 1852
+f 1852 1849 2053
+f 2264 2213 2027
+f 2027 2053 2264
+f 2367 2327 2213
+f 2213 2264 2367
+f 2433 2395 2327
+f 2327 2367 2433
+f 2511 2437 2395
+f 2395 2433 2511
+f 2552 2493 2437
+f 2437 2511 2552
+f 2594 2532 2493
+f 2493 2552 2594
+f 2632 2550 2532
+f 2532 2594 2632
+f 2654 2560 2550
+f 2550 2632 2654
+f 2656 2570 2560
+f 2560 2654 2656
+f 2091 2053 1849
+f 1849 1847 2091
+f 2309 2264 2053
+f 2053 2091 2309
+f 2404 2367 2264
+f 2264 2309 2404
+f 2485 2433 2367
+f 2367 2404 2485
+f 2548 2511 2433
+f 2433 2485 2548
+f 2608 2552 2511
+f 2511 2548 2608
+f 2661 2594 2552
+f 2552 2608 2661
+f 2698 2632 2594
+f 2594 2661 2698
+f 2719 2654 2632
+f 2632 2698 2719
+f 2725 2656 2654
+f 2654 2719 2725
+f 2119 2091 1847
+f 1847 1833 2119
+f 2331 2309 2091
+f 2091 2119 2331
+f 2423 2404 2309
+f 2309 2331 2423
+f 2526 2485 2404
+f 2404 2423 2526
+f 2590 2548 2485
+f 2485 2526 2590
+f 2658 2608 2548
+f 2548 2590 2658
+f 2714 2661 2608
+f 2608 2658 2714
+f 2760 2698 2661
+f 2661 2714 2760
+f 2788 2719 2698
+f 2698 2760 2788
+f 2796 2725 2719
+f 2719 2788 2796
+f 2129 2119 1833
+f 1833 1827 2129
+f 2341 2331 2119
+f 2119 2129 2341
+f 2440 2423 2331
+f 2331 2341 2440
+f 2535 2526 2423
+f 2423 2440 2535
+f 2623 2590 2526
+f 2526 2535 2623
+f 2689 2658 2590
+f 2590 2623 2689
+f 2749 2714 2658
+f 2658 2689 2749
+f 2797 2760 2714
+f 2714 2749 2797
+f 2833 2788 2760
+f 2760 2797 2833
+f 2843 2796 2788
+f 2788 2833 2843
+f 2137 2129 1827
+f 1827 1815 2137
+f 2345 2341 2129
+f 2129 2137 2345
+f 2447 2440 2341
+f 2341 2345 2447
+f 2544 2535 2440
+f 2440 2447 2544
+f 2638 2623 2535
+f 2535 2544 2638
+f 2704 2689 2623
+f 2623 2638 2704
+f 2766 2749 2689
+f 2689 2704 2766
+f 2822 2797 2749
+f 2749 2766 2822
+f 2848 2833 2797
+f 2797 2822 2848
+f 2858 2843 2833
+f 2833 2848 2858
+f 1735 2334 2329
+f 1735 2329 2321
+f 1735 2321 2305
+f 1735 2305 2274
+f 1735 2274 2231
+f 1735 2231 2167
+f 1735 2167 2089
+f 1735 2089 2014
+f 1735 2014 1962
+f 1735 1962 1733
+f 2515 2329 2334
+f 2334 2524 2515
+f 2495 2321 2329
+f 2329 2515 2495
+f 2456 2305 2321
+f 2321 2495 2456
+f 2429 2274 2305
+f 2305 2456 2429
+f 2399 2231 2274
+f 2274 2429 2399
+f 2347 2167 2231
+f 2231 2399 2347
+f 2292 2089 2167
+f 2167 2347 2292
+f 2148 2014 2089
+f 2089 2292 2148
+f 2004 1962 2014
+f 2014 2148 2004
+f 1739 1733 1962
+f 1962 2004 1739
+f 2647 2515 2524
+f 2524 2649 2647
+f 2621 2495 2515
+f 2515 2647 2621
+f 2584 2456 2495
+f 2495 2621 2584
+f 2541 2429 2456
+f 2456 2584 2541
+f 2502 2399 2429
+f 2429 2541 2502
+f 2426 2347 2399
+f 2399 2502 2426
+f 2352 2292 2347
+f 2347 2426 2352
+f 2255 2148 2292
+f 2292 2352 2255
+f 2046 2004 2148
+f 2148 2255 2046
+f 1702 1739 2004
+f 2004 2046 1702
+f 2746 2647 2649
+f 2649 2757 2746
+f 2721 2621 2647
+f 2647 2746 2721
+f 2681 2584 2621
+f 2621 2721 2681
+f 2639 2541 2584
+f 2584 2681 2639
+f 2557 2502 2541
+f 2541 2639 2557
+f 2505 2426 2502
+f 2502 2557 2505
+f 2415 2352 2426
+f 2426 2505 2415
+f 2318 2255 2352
+f 2352 2415 2318
+f 2098 2046 2255
+f 2255 2318 2098
+f 1745 1702 2046
+f 2046 2098 1745
+f 2840 2746 2757
+f 2757 2849 2840
+f 2808 2721 2746
+f 2746 2840 2808
+f 2756 2681 2721
+f 2721 2808 2756
+f 2696 2639 2681
+f 2681 2756 2696
+f 2626 2557 2639
+f 2639 2696 2626
+f 2538 2505 2557
+f 2557 2626 2538
+f 2443 2415 2505
+f 2505 2538 2443
+f 2342 2318 2415
+f 2415 2443 2342
+f 2131 2098 2318
+f 2318 2342 2131
+f 1904 1745 2098
+f 2098 2131 1904
+f 2906 2840 2849
+f 2849 2925 2906
+f 2867 2808 2840
+f 2840 2906 2867
+f 2818 2756 2808
+f 2808 2867 2818
+f 2736 2696 2756
+f 2756 2818 2736
+f 2667 2626 2696
+f 2696 2736 2667
+f 2565 2538 2626
+f 2626 2667 2565
+f 2475 2443 2538
+f 2538 2565 2475
+f 2356 2342 2443
+f 2443 2475 2356
+f 2156 2131 2342
+f 2342 2356 2156
+f 1704 1904 2131
+f 2131 2156 1704
+f 2976 2906 2925
+f 2925 2987 2976
+f 2914 2867 2906
+f 2906 2976 2914
+f 2852 2818 2867
+f 2867 2914 2852
+f 2772 2736 2818
+f 2818 2852 2772
+f 2688 2667 2736
+f 2736 2772 2688
+f 2592 2565 2667
+f 2667 2688 2592
+f 2497 2475 2565
+f 2565 2592 2497
+f 2372 2356 2475
+f 2475 2497 2372
+f 2176 2156 2356
+f 2356 2372 2176
+f 1752 1704 2156
+f 2156 2176 1752
+f 2993 2976 2987
+f 2987 3011 2993
+f 2952 2914 2976
+f 2976 2993 2952
+f 2874 2852 2914
+f 2914 2952 2874
+f 2794 2772 2852
+f 2852 2874 2794
+f 2702 2688 2772
+f 2772 2794 2702
+f 2604 2592 2688
+f 2688 2702 2604
+f 2509 2497 2592
+f 2592 2604 2509
+f 2380 2372 2497
+f 2497 2509 2380
+f 2182 2176 2372
+f 2372 2380 2182
+f 1723 1752 2176
+f 2176 2182 1723
+f 3000 2993 3011
+f 3011 3020 3000
+f 2967 2952 2993
+f 2993 3000 2967
+f 2879 2874 2952
+f 2952 2967 2879
+f 2799 2794 2874
+f 2874 2879 2799
+f 2707 2702 2794
+f 2794 2799 2707
+f 2605 2604 2702
+f 2702 2707 2605
+f 2512 2509 2604
+f 2604 2605 2512
+f 2382 2380 2509
+f 2509 2512 2382
+f 2188 2182 2380
+f 2380 2382 2188
+f 1699 1723 2182
+f 2182 2188 1699
+f 3006 3000 3020
+f 3020 3022 3006
+f 2972 2967 3000
+f 3000 3006 2972
+f 2888 2879 2967
+f 2967 2972 2888
+f 2804 2799 2879
+f 2879 2888 2804
+f 2710 2707 2799
+f 2799 2804 2710
+f 2613 2605 2707
+f 2707 2710 2613
+f 2520 2512 2605
+f 2605 2613 2520
+f 2388 2382 2512
+f 2512 2520 2388
+f 2192 2188 2382
+f 2382 2388 2192
+f 1760 1699 2188
+f 2188 2192 1760
+f 1735 1737 1660
+f 1735 1660 1608
+f 1735 1608 1535
+f 1735 1535 1457
+f 1735 1457 1393
+f 1735 1393 1350
+f 1735 1350 1319
+f 1735 1319 1303
+f 1735 1303 1295
+f 1735 1295 1288
+f 1618 1660 1737
+f 1737 1739 1618
+f 1474 1608 1660
+f 1660 1618 1474
+f 1332 1535 1608
+f 1608 1474 1332
+f 1277 1457 1535
+f 1535 1332 1277
+f 1225 1393 1457
+f 1457 1277 1225
+f 1195 1350 1393
+f 1393 1225 1195
+f 1166 1319 1350
+f 1350 1195 1166
+f 1129 1303 1319
+f 1319 1166 1129
+f 1109 1295 1303
+f 1303 1129 1109
+f 1099 1288 1295
+f 1295 1109 1099
+f 1576 1618 1739
+f 1739 1741 1576
+f 1367 1474 1618
+f 1618 1576 1367
+f 1270 1332 1474
+f 1474 1367 1270
+f 1196 1277 1332
+f 1332 1270 1196
+f 1120 1225 1277
+f 1277 1196 1120
+f 1081 1195 1225
+f 1225 1120 1081
+f 1040 1166 1195
+f 1195 1081 1040
+f 1001 1129 1166
+f 1166 1040 1001
+f 975 1109 1129
+f 1129 1001 975
+f 973 1099 1109
+f 1109 975 973
+f 1524 1576 1741
+f 1741 1744 1524
+f 1304 1367 1576
+f 1576 1524 1304
+f 1209 1270 1367
+f 1367 1304 1209
+f 1119 1196 1270
+f 1270 1209 1119
+f 1065 1120 1196
+f 1196 1119 1065
+f 983 1081 1120
+f 1120 1065 983
+f 941 1040 1081
+f 1081 983 941
+f 901 1001 1040
+f 1040 941 901
+f 878 975 1001
+f 1001 901 878
+f 865 973 975
+f 975 878 865
+f 1493 1524 1744
+f 1744 1747 1493
+f 1280 1304 1524
+f 1524 1493 1280
+f 1181 1209 1304
+f 1304 1280 1181
+f 1086 1119 1209
+f 1209 1181 1086
+f 998 1065 1119
+f 1119 1086 998
+f 928 983 1065
+f 1065 998 928
+f 868 941 983
+f 983 928 868
+f 816 901 941
+f 941 868 816
+f 784 878 901
+f 901 816 784
+f 773 865 878
+f 878 784 773
+f 1466 1493 1747
+f 1747 1749 1466
+f 1266 1280 1493
+f 1493 1466 1266
+f 1149 1181 1280
+f 1280 1266 1149
+f 1057 1086 1181
+f 1181 1149 1057
+f 955 998 1086
+f 1086 1057 955
+f 888 928 998
+f 998 955 888
+f 806 868 928
+f 928 888 806
+f 755 816 868
+f 868 806 755
+f 718 784 816
+f 816 755 718
+f 697 773 784
+f 784 718 697
+f 1446 1466 1749
+f 1749 1753 1446
+f 1250 1266 1466
+f 1466 1446 1250
+f 1127 1149 1266
+f 1266 1250 1127
+f 1032 1057 1149
+f 1149 1127 1032
+f 936 955 1057
+f 1057 1032 936
+f 852 888 955
+f 955 936 852
+f 772 806 888
+f 888 852 772
+f 710 755 806
+f 806 772 710
+f 648 718 755
+f 755 710 648
+f 637 697 718
+f 718 648 637
+f 1440 1446 1753
+f 1753 1755 1440
+f 1242 1250 1446
+f 1446 1440 1242
+f 1115 1127 1250
+f 1250 1242 1115
+f 1020 1032 1127
+f 1127 1115 1020
+f 922 936 1032
+f 1032 1020 922
+f 830 852 936
+f 936 922 830
+f 750 772 852
+f 852 830 750
+f 672 710 772
+f 772 750 672
+f 631 648 710
+f 710 672 631
+f 613 637 648
+f 648 631 613
+f 1434 1440 1755
+f 1755 1757 1434
+f 1240 1242 1440
+f 1440 1434 1240
+f 1110 1115 1242
+f 1242 1240 1110
+f 1017 1020 1115
+f 1115 1110 1017
+f 915 922 1020
+f 1020 1017 915
+f 823 830 922
+f 922 915 823
+f 743 750 830
+f 830 823 743
+f 655 672 750
+f 750 743 655
+f 622 631 672
+f 672 655 622
+f 602 613 631
+f 631 622 602
+f 1428 1434 1757
+f 1757 1760 1428
+f 1232 1240 1434
+f 1434 1428 1232
+f 1105 1110 1240
+f 1240 1232 1105
+f 1010 1017 1110
+f 1110 1105 1010
+f 913 915 1017
+f 1017 1010 913
+f 821 823 915
+f 915 913 821
+f 736 743 823
+f 823 821 736
+f 652 655 743
+f 743 736 652
+f 619 622 655
+f 655 652 619
+f 601 602 622
+f 622 619 601
+f 1735 1289 1294
+f 1735 1294 1302
+f 1735 1302 1318
+f 1735 1318 1349
+f 1735 1349 1392
+f 1735 1392 1456
+f 1735 1456 1534
+f 1735 1534 1609
+f 1735 1609 1661
+f 1735 1661 1889
+f 1108 1294 1289
+f 1289 1099 1108
+f 1128 1302 1294
+f 1294 1108 1128
+f 1167 1318 1302
+f 1302 1128 1167
+f 1194 1349 1318
+f 1318 1167 1194
+f 1224 1392 1349
+f 1349 1194 1224
+f 1276 1456 1392
+f 1392 1224 1276
+f 1331 1534 1456
+f 1456 1276 1331
+f 1475 1609 1534
+f 1534 1331 1475
+f 1619 1661 1609
+f 1609 1475 1619
+f 1738 1889 1661
+f 1661 1619 1738
+f 976 1108 1099
+f 1099 974 976
+f 1002 1128 1108
+f 1108 976 1002
+f 1039 1167 1128
+f 1128 1002 1039
+f 1082 1194 1167
+f 1167 1039 1082
+f 1121 1224 1194
+f 1194 1082 1121
+f 1197 1276 1224
+f 1224 1121 1197
+f 1271 1331 1276
+f 1276 1197 1271
+f 1368 1475 1331
+f 1331 1271 1368
+f 1577 1619 1475
+f 1475 1368 1577
+f 1903 1738 1619
+f 1619 1577 1903
+f 877 976 974
+f 974 866 877
+f 902 1002 976
+f 976 877 902
+f 942 1039 1002
+f 1002 902 942
+f 984 1082 1039
+f 1039 942 984
+f 1066 1121 1082
+f 1082 984 1066
+f 1118 1197 1121
+f 1121 1066 1118
+f 1208 1271 1197
+f 1197 1118 1208
+f 1305 1368 1271
+f 1271 1208 1305
+f 1525 1577 1368
+f 1368 1305 1525
+f 1742 1903 1577
+f 1577 1525 1742
+f 783 877 866
+f 866 774 783
+f 815 902 877
+f 877 783 815
+f 867 942 902
+f 902 815 867
+f 927 984 942
+f 942 867 927
+f 997 1066 984
+f 984 927 997
+f 1085 1118 1066
+f 1066 997 1085
+f 1180 1208 1118
+f 1118 1085 1180
+f 1281 1305 1208
+f 1208 1180 1281
+f 1492 1525 1305
+f 1305 1281 1492
+f 1703 1742 1525
+f 1525 1492 1703
+f 717 783 774
+f 774 698 717
+f 756 815 783
+f 783 717 756
+f 805 867 815
+f 815 756 805
+f 887 927 867
+f 867 805 887
+f 956 997 927
+f 927 887 956
+f 1058 1085 997
+f 997 956 1058
+f 1148 1180 1085
+f 1085 1058 1148
+f 1267 1281 1180
+f 1180 1148 1267
+f 1467 1492 1281
+f 1281 1267 1467
+f 1905 1703 1492
+f 1492 1467 1905
+f 647 717 698
+f 698 636 647
+f 709 756 717
+f 717 647 709
+f 771 805 756
+f 756 709 771
+f 851 887 805
+f 805 771 851
+f 935 956 887
+f 887 851 935
+f 1031 1058 956
+f 956 935 1031
+f 1126 1148 1058
+f 1058 1031 1126
+f 1251 1267 1148
+f 1148 1126 1251
+f 1447 1467 1267
+f 1267 1251 1447
+f 1751 1905 1467
+f 1467 1447 1751
+f 630 647 636
+f 636 612 630
+f 671 709 647
+f 647 630 671
+f 749 771 709
+f 709 671 749
+f 829 851 771
+f 771 749 829
+f 921 935 851
+f 851 829 921
+f 1019 1031 935
+f 935 921 1019
+f 1114 1126 1031
+f 1031 1019 1114
+f 1243 1251 1126
+f 1126 1114 1243
+f 1441 1447 1251
+f 1251 1243 1441
+f 1896 1751 1447
+f 1447 1441 1896
+f 623 630 612
+f 612 603 623
+f 656 671 630
+f 630 623 656
+f 744 749 671
+f 671 656 744
+f 824 829 749
+f 749 744 824
+f 916 921 829
+f 829 824 916
+f 1018 1019 921
+f 921 916 1018
+f 1111 1114 1019
+f 1019 1018 1111
+f 1241 1243 1114
+f 1114 1111 1241
+f 1435 1441 1243
+f 1243 1241 1435
+f 1923 1896 1441
+f 1441 1435 1923
+f 617 623 603
+f 603 601 617
+f 650 656 623
+f 623 617 650
+f 734 744 656
+f 656 650 734
+f 818 824 744
+f 744 734 818
+f 912 916 824
+f 824 818 912
+f 1009 1018 916
+f 916 912 1009
+f 1102 1111 1018
+f 1018 1009 1102
+f 1235 1241 1111
+f 1111 1102 1235
+f 1431 1435 1241
+f 1241 1235 1431
+f 1759 1923 1435
+f 1435 1431 1759
+f 1735 1736 1963
+f 1735 1963 2015
+f 1735 2015 2088
+f 1735 2088 2166
+f 1735 2166 2230
+f 1735 2230 2273
+f 1735 2273 2304
+f 1735 2304 2320
+f 1735 2320 2328
+f 1735 2328 2335
+f 2005 1963 1736
+f 1736 1738 2005
+f 2149 2015 1963
+f 1963 2005 2149
+f 2291 2088 2015
+f 2015 2149 2291
+f 2346 2166 2088
+f 2088 2291 2346
+f 2398 2230 2166
+f 2166 2346 2398
+f 2428 2273 2230
+f 2230 2398 2428
+f 2457 2304 2273
+f 2273 2428 2457
+f 2494 2320 2304
+f 2304 2457 2494
+f 2514 2328 2320
+f 2320 2494 2514
+f 2524 2335 2328
+f 2328 2514 2524
+f 2047 2005 1738
+f 1738 1740 2047
+f 2256 2149 2005
+f 2005 2047 2256
+f 2353 2291 2149
+f 2149 2256 2353
+f 2427 2346 2291
+f 2291 2353 2427
+f 2503 2398 2346
+f 2346 2427 2503
+f 2542 2428 2398
+f 2398 2503 2542
+f 2583 2457 2428
+f 2428 2542 2583
+f 2622 2494 2457
+f 2457 2583 2622
+f 2648 2514 2494
+f 2494 2622 2648
+f 2650 2524 2514
+f 2514 2648 2650
+f 2099 2047 1740
+f 1740 1743 2099
+f 2319 2256 2047
+f 2047 2099 2319
+f 2414 2353 2256
+f 2256 2319 2414
+f 2504 2427 2353
+f 2353 2414 2504
+f 2558 2503 2427
+f 2427 2504 2558
+f 2640 2542 2503
+f 2503 2558 2640
+f 2682 2583 2542
+f 2542 2640 2682
+f 2722 2622 2583
+f 2583 2682 2722
+f 2745 2648 2622
+f 2622 2722 2745
+f 2758 2650 2648
+f 2648 2745 2758
+f 2130 2099 1743
+f 1743 1746 2130
+f 2343 2319 2099
+f 2099 2130 2343
+f 2442 2414 2319
+f 2319 2343 2442
+f 2537 2504 2414
+f 2414 2442 2537
+f 2625 2558 2504
+f 2504 2537 2625
+f 2695 2640 2558
+f 2558 2625 2695
+f 2755 2682 2640
+f 2640 2695 2755
+f 2807 2722 2682
+f 2682 2755 2807
+f 2839 2745 2722
+f 2722 2807 2839
+f 2850 2758 2745
+f 2745 2839 2850
+f 2157 2130 1746
+f 1746 1748 2157
+f 2357 2343 2130
+f 2130 2157 2357
+f 2474 2442 2343
+f 2343 2357 2474
+f 2566 2537 2442
+f 2442 2474 2566
+f 2668 2625 2537
+f 2537 2566 2668
+f 2735 2695 2625
+f 2625 2668 2735
+f 2817 2755 2695
+f 2695 2735 2817
+f 2868 2807 2755
+f 2755 2817 2868
+f 2905 2839 2807
+f 2807 2868 2905
+f 2926 2850 2839
+f 2839 2905 2926
+f 2177 2157 1748
+f 1748 1750 2177
+f 2373 2357 2157
+f 2157 2177 2373
+f 2496 2474 2357
+f 2357 2373 2496
+f 2591 2566 2474
+f 2474 2496 2591
+f 2687 2668 2566
+f 2566 2591 2687
+f 2771 2735 2668
+f 2668 2687 2771
+f 2851 2817 2735
+f 2735 2771 2851
+f 2913 2868 2817
+f 2817 2851 2913
+f 2975 2905 2868
+f 2868 2913 2975
+f 2986 2926 2905
+f 2905 2975 2986
+f 2183 2177 1750
+f 1750 1754 2183
+f 2381 2373 2177
+f 2177 2183 2381
+f 2508 2496 2373
+f 2373 2381 2508
+f 2603 2591 2496
+f 2496 2508 2603
+f 2701 2687 2591
+f 2591 2603 2701
+f 2793 2771 2687
+f 2687 2701 2793
+f 2873 2851 2771
+f 2771 2793 2873
+f 2951 2913 2851
+f 2851 2873 2951
+f 2992 2975 2913
+f 2913 2951 2992
+f 3010 2986 2975
+f 2975 2992 3010
+f 2189 2183 1754
+f 1754 1756 2189
+f 2383 2381 2183
+f 2183 2189 2383
+f 2513 2508 2381
+f 2381 2383 2513
+f 2606 2603 2508
+f 2508 2513 2606
+f 2708 2701 2603
+f 2603 2606 2708
+f 2800 2793 2701
+f 2701 2708 2800
+f 2880 2873 2793
+f 2793 2800 2880
+f 2968 2951 2873
+f 2873 2880 2968
+f 3001 2992 2951
+f 2951 2968 3001
+f 3021 3010 2992
+f 2992 3001 3021
+f 2195 2189 1756
+f 1756 1759 2195
+f 2390 2383 2189
+f 2189 2195 2390
+f 2517 2513 2383
+f 2383 2390 2517
+f 2612 2606 2513
+f 2513 2517 2612
+f 2709 2708 2606
+f 2606 2612 2709
+f 2801 2800 2708
+f 2708 2709 2801
+f 2886 2880 2800
+f 2800 2801 2886
+f 2970 2968 2880
+f 2880 2886 2970
+f 3004 3001 2968
+f 2968 2970 3004
+f 3022 3021 3001
+f 3001 3004 3022
\ No newline at end of file
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_08/data/teapot.obj b/content/handbook_2e/examples/17 Shapes/Ex_08/data/teapot.obj
new file mode 100644
index 000000000..f1ac38adc
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_08/data/teapot.obj
@@ -0,0 +1,9965 @@
+v -3.000000 -1.8 0.000000
+v -2.991600 -1.8 -0.081000
+v -2.991600 -1.8 0.081000
+v -2.989450 -1.666162 0.000000
+v -2.985000 -1.92195 0.000000
+v -2.985000 -1.92195 0.000000
+v -2.981175 -1.667844 -0.081000
+v -2.981175 -1.667844 0.081000
+v -2.976687 -1.920243 -0.081000
+v -2.976687 -1.920243 0.081000
+v -2.968800 -1.8 -0.144000
+v -2.968800 -1.8 0.144000
+v -2.958713 -1.672406 -0.144000
+v -2.958713 -1.672406 0.144000
+v -2.957600 -1.5348 0.000000
+v -2.957600 -1.5348 0.000000
+v -2.954122 -1.915609 -0.144000
+v -2.954122 -1.915609 0.144000
+v -2.949693 -1.53779 -0.081000
+v -2.949693 -1.53779 0.081000
+v -2.940000 -2.0196 0.000000
+v -2.935200 -1.8 -0.189000
+v -2.935200 -1.8 0.189000
+v -2.931958 -2.016526 0.081000
+v -2.931958 -2.016526 -0.081000
+v -2.928230 -1.545907 -0.144000
+v -2.928230 -1.545907 0.144000
+v -2.925611 -1.679131 -0.189000
+v -2.925611 -1.679131 0.189000
+v -2.920870 -1.908779 -0.189000
+v -2.920870 -1.908779 0.189000
+v -2.910131 -2.008181 -0.144000
+v -2.910131 -2.008181 0.144000
+v -2.904150 -1.406137 0.000000
+v -2.904150 -1.406137 0.000000
+v -2.896846 -1.410135 0.081000
+v -2.896846 -1.410135 -0.081000
+v -2.896602 -1.557869 -0.189000
+v -2.896602 -1.557869 0.189000
+v -2.894400 -1.8 -0.216000
+v -2.894400 -1.8 0.216000
+v -2.885416 -1.687296 -0.216000
+v -2.885416 -1.687296 0.216000
+v -2.880491 -1.900487 -0.216000
+v -2.880491 -1.900487 0.216000
+v -2.877965 -1.995883 -0.189000
+v -2.877965 -1.995883 0.189000
+v -2.877022 -1.420985 -0.144000
+v -2.877022 -1.420985 0.144000
+v -2.865000 -2.09565 0.000000
+v -2.858195 -1.572394 0.216000
+v -2.858195 -1.572394 -0.216000
+v -2.857432 -2.091511 -0.081000
+v -2.857432 -2.091511 0.081000
+v -2.850000 -1.8 -0.225000
+v -2.850000 -1.8 0.225000
+v -2.847806 -1.436974 0.189000
+v -2.847806 -1.436974 -0.189000
+v -2.841675 -1.696181 0.225000
+v -2.841675 -1.696181 -0.225000
+v -2.838906 -1.98095 -0.216000
+v -2.838906 -1.98095 0.216000
+v -2.836889 -2.080276 -0.144000
+v -2.836889 -2.080276 0.144000
+v -2.836550 -1.891463 -0.225000
+v -2.836550 -1.891463 0.225000
+v -2.828800 -1.2804 0.000000
+v -2.822326 -1.285171 -0.081000
+v -2.822326 -1.285171 0.081000
+v -2.816400 -1.5882 -0.225000
+v -2.816400 -1.5882 0.225000
+v -2.812331 -1.45639 0.216000
+v -2.812331 -1.45639 -0.216000
+v -2.806615 -2.06372 -0.189000
+v -2.806615 -2.06372 0.189000
+v -2.805600 -1.8 -0.216000
+v -2.805600 -1.8 0.216000
+v -2.804755 -1.298122 -0.144000
+v -2.804755 -1.298122 0.144000
+v -2.797934 -1.705067 -0.216000
+v -2.797934 -1.705067 0.216000
+v -2.796400 -1.9647 0.225000
+v -2.796400 -1.9647 -0.225000
+v -2.792609 -1.882438 -0.216000
+v -2.792609 -1.882438 0.216000
+v -2.778861 -1.317206 -0.189000
+v -2.778861 -1.317206 0.189000
+v -2.774605 -1.604006 0.216000
+v -2.774605 -1.604006 -0.216000
+v -2.773725 -1.477519 0.225000
+v -2.773725 -1.477519 -0.225000
+v -2.769854 -2.043616 -0.216000
+v -2.769854 -2.043616 0.216000
+v -2.764800 -1.8 -0.189000
+v -2.764800 -1.8 0.189000
+v -2.760000 -2.1528 0.000000
+v -2.760000 -2.1528 0.000000
+v -2.757739 -1.713232 -0.189000
+v -2.757739 -1.713232 0.189000
+v -2.753894 -1.94845 -0.216000
+v -2.753894 -1.94845 0.216000
+v -2.753123 -2.147861 -0.081000
+v -2.753123 -2.147861 0.081000
+v -2.752230 -1.874146 -0.189000
+v -2.752230 -1.874146 0.189000
+v -2.747418 -1.340381 -0.216000
+v -2.747418 -1.340381 0.216000
+v -2.736198 -1.618531 -0.189000
+v -2.736198 -1.618531 0.189000
+v -2.735119 -1.498648 0.216000
+v -2.735119 -1.498648 -0.216000
+v -2.734458 -2.134454 -0.144000
+v -2.734458 -2.134454 0.144000
+v -2.731250 -1.157813 0.000000
+v -2.731250 -1.157813 0.000000
+v -2.731200 -1.8 -0.144000
+v -2.731200 -1.8 0.144000
+v -2.729850 -2.021737 -0.225000
+v -2.729850 -2.021737 0.225000
+v -2.725825 -1.163194 0.081000
+v -2.725825 -1.163194 -0.081000
+v -2.724637 -1.719956 -0.144000
+v -2.724637 -1.719956 0.144000
+v -2.718978 -1.867316 -0.144000
+v -2.718978 -1.867316 0.144000
+v -2.714835 -1.933517 -0.189000
+v -2.714835 -1.933517 0.189000
+v -2.713200 -1.3656 -0.225000
+v -2.713200 -1.3656 0.225000
+v -2.711100 -1.1778 -0.144000
+v -2.711100 -1.1778 0.144000
+v -2.708400 -1.8 -0.081000
+v -2.708400 -1.8 0.081000
+v -2.706950 -2.114698 -0.189000
+v -2.706950 -2.114698 0.189000
+v -2.704570 -1.630493 -0.144000
+v -2.704570 -1.630493 0.144000
+v -2.702175 -1.724519 -0.081000
+v -2.702175 -1.724519 0.081000
+v -2.700000 -1.8 0.000000
+v -2.699644 -1.518063 0.189000
+v -2.699644 -1.518063 -0.189000
+v -2.696413 -1.862682 -0.081000
+v -2.696413 -1.862682 0.081000
+v -2.693900 -1.7262 0.000000
+v -2.689846 -1.999859 -0.216000
+v -2.689846 -1.999859 0.216000
+v -2.689400 -1.199325 -0.189000
+v -2.689400 -1.199325 0.189000
+v -2.688100 -1.860975 0.000000
+v -2.688100 -1.860975 0.000000
+v -2.683107 -1.63861 -0.081000
+v -2.683107 -1.63861 0.081000
+v -2.682669 -1.921219 -0.144000
+v -2.682669 -1.921219 0.144000
+v -2.678982 -1.390819 -0.216000
+v -2.678982 -1.390819 0.216000
+v -2.675200 -1.6416 0.000000
+v -2.675200 -1.6416 0.000000
+v -2.673549 -2.090707 -0.216000
+v -2.673549 -2.090707 0.216000
+v -2.670428 -1.534053 -0.144000
+v -2.670428 -1.534053 0.144000
+v -2.663050 -1.225463 -0.216000
+v -2.663050 -1.225463 0.216000
+v -2.660842 -1.912874 0.081000
+v -2.660842 -1.912874 -0.081000
+v -2.653085 -1.979755 -0.189000
+v -2.653085 -1.979755 0.189000
+v -2.652800 -1.9098 0.000000
+v -2.652800 -1.9098 0.000000
+v -2.650604 -1.544903 0.081000
+v -2.650604 -1.544903 -0.081000
+v -2.647539 -1.413994 -0.189000
+v -2.647539 -1.413994 0.189000
+v -2.643300 -1.5489 0.000000
+v -2.637200 -2.0646 -0.225000
+v -2.637200 -2.0646 0.225000
+v -2.634375 -1.253906 0.225000
+v -2.634375 -1.253906 -0.225000
+v -2.625000 -2.19375 0.000000
+v -2.622811 -1.963199 -0.144000
+v -2.622811 -1.963199 0.144000
+v -2.621645 -1.433078 -0.144000
+v -2.621645 -1.433078 0.144000
+v -2.619050 -2.188238 -0.081000
+v -2.619050 -2.188238 0.081000
+v -2.611200 -1.0386 0.000000
+v -2.611200 -1.0386 0.000000
+v -2.607034 -1.044497 0.081000
+v -2.607034 -1.044497 -0.081000
+v -2.605700 -1.28235 -0.216000
+v -2.605700 -1.28235 0.216000
+v -2.604074 -1.446029 -0.081000
+v -2.604074 -1.446029 0.081000
+v -2.602900 -2.173275 -0.144000
+v -2.602900 -2.173275 0.144000
+v -2.602268 -1.951964 -0.081000
+v -2.602268 -1.951964 0.081000
+v -2.600851 -2.038493 -0.216000
+v -2.600851 -2.038493 0.216000
+v -2.597600 -1.4508 0.000000
+v -2.595725 -1.060502 -0.144000
+v -2.595725 -1.060502 0.144000
+v -2.594700 -1.947825 0.000000
+v -2.579350 -1.308488 -0.189000
+v -2.579350 -1.308488 0.189000
+v -2.579100 -2.151225 -0.189000
+v -2.579100 -2.151225 0.189000
+v -2.579059 -1.08409 -0.189000
+v -2.579059 -1.08409 0.189000
+v -2.567450 -2.014502 -0.189000
+v -2.567450 -2.014502 0.189000
+v -2.558822 -1.112731 0.216000
+v -2.558822 -1.112731 -0.216000
+v -2.557650 -1.330013 -0.144000
+v -2.557650 -1.330013 0.144000
+v -2.550200 -2.12445 -0.216000
+v -2.550200 -2.12445 0.216000
+v -2.542925 -1.344619 0.081000
+v -2.542925 -1.344619 -0.081000
+v -2.539942 -1.994746 -0.144000
+v -2.539942 -1.994746 0.144000
+v -2.537500 -1.35 0.000000
+v -2.537500 -1.35 0.000000
+v -2.536800 -1.1439 0.225000
+v -2.536800 -1.1439 -0.225000
+v -2.521277 -1.981339 -0.081000
+v -2.521277 -1.981339 0.081000
+v -2.518750 -2.095312 -0.225000
+v -2.518750 -2.095312 0.225000
+v -2.514778 -1.175069 0.216000
+v -2.514778 -1.175069 -0.216000
+v -2.514400 -1.9764 0.000000
+v -2.514400 -1.9764 0.000000
+v -2.494541 -1.20371 -0.189000
+v -2.494541 -1.20371 0.189000
+v -2.487300 -2.066175 -0.216000
+v -2.487300 -2.066175 0.216000
+v -2.477875 -1.227298 -0.144000
+v -2.477875 -1.227298 0.144000
+v -2.468350 -0.922987 0.000000
+v -2.466566 -1.243303 0.081000
+v -2.466566 -1.243303 -0.081000
+v -2.465644 -0.929375 -0.081000
+v -2.465644 -0.929375 0.081000
+v -2.462400 -1.2492 0.000000
+v -2.462400 -1.2492 0.000000
+v -2.460000 -2.2212 0.000000
+v -2.460000 -2.2212 0.000000
+v -2.458400 -2.0394 -0.189000
+v -2.458400 -2.0394 0.189000
+v -2.458298 -0.946711 -0.144000
+v -2.458298 -0.946711 0.144000
+v -2.455229 -2.215303 -0.081000
+v -2.455229 -2.215303 0.081000
+v -2.447474 -0.97226 0.189000
+v -2.447474 -0.97226 -0.189000
+v -2.442278 -2.199298 -0.144000
+v -2.442278 -2.199298 0.144000
+v -2.434600 -2.01735 -0.144000
+v -2.434600 -2.01735 0.144000
+v -2.434329 -1.003283 -0.216000
+v -2.434329 -1.003283 0.216000
+v -2.423194 -2.17571 -0.189000
+v -2.423194 -2.17571 0.189000
+v -2.420025 -1.037044 -0.225000
+v -2.420025 -1.037044 0.225000
+v -2.418450 -2.002387 -0.081000
+v -2.418450 -2.002388 0.081000
+v -2.412500 -1.996875 0.000000
+v -2.412500 -1.996875 0.000000
+v -2.405721 -1.070804 -0.216000
+v -2.405721 -1.070804 0.216000
+v -2.400019 -2.147069 -0.216000
+v -2.400019 -2.147069 0.216000
+v -2.392576 -1.101828 -0.189000
+v -2.392576 -1.101828 0.189000
+v -2.381752 -1.127376 -0.144000
+v -2.381752 -1.127376 0.144000
+v -2.374800 -2.1159 -0.225000
+v -2.374800 -2.1159 0.225000
+v -2.374406 -1.144713 0.081000
+v -2.374406 -1.144713 -0.081000
+v -2.371700 -1.1511 0.000000
+v -2.349581 -2.084731 -0.216000
+v -2.349581 -2.084731 0.216000
+v -2.326406 -2.05609 -0.189000
+v -2.326406 -2.05609 0.189000
+v -2.307322 -2.032502 -0.144000
+v -2.307322 -2.032502 0.144000
+v -2.302400 -0.8112 0.000000
+v -2.302400 -0.8112 0.000000
+v -2.301347 -0.818122 0.081000
+v -2.301347 -0.818122 -0.081000
+v -2.298490 -0.836909 0.144000
+v -2.298490 -0.836909 -0.144000
+v -2.294371 -2.016497 -0.081000
+v -2.294371 -2.016497 0.081000
+v -2.294278 -0.864595 0.189000
+v -2.294278 -0.864595 -0.189000
+v -2.289600 -2.0106 0.000000
+v -2.289600 -2.0106 0.000000
+v -2.289165 -0.898214 0.216000
+v -2.289165 -0.898214 -0.216000
+v -2.283600 -0.9348 0.225000
+v -2.283600 -0.9348 -0.225000
+v -2.278035 -0.971386 0.216000
+v -2.278035 -0.971386 -0.216000
+v -2.272922 -1.005005 0.189000
+v -2.272922 -1.005005 -0.189000
+v -2.268710 -1.032691 -0.144000
+v -2.268710 -1.032691 0.144000
+v -2.265853 -1.051478 0.081000
+v -2.265853 -1.051478 -0.081000
+v -2.265000 -2.23785 0.000000
+v -2.264800 -1.0584 0.000000
+v -2.264800 -1.0584 0.000000
+v -2.261676 -2.23172 -0.081000
+v -2.261676 -2.23172 0.081000
+v -2.252655 -2.215082 -0.144000
+v -2.252655 -2.215082 0.144000
+v -2.239361 -2.190562 -0.189000
+v -2.239361 -2.190562 0.189000
+v -2.223218 -2.160788 -0.216000
+v -2.223218 -2.160788 0.216000
+v -2.205650 -2.128387 0.225000
+v -2.205650 -2.128388 -0.225000
+v -2.188082 -2.095987 -0.216000
+v -2.188082 -2.095987 0.216000
+v -2.171939 -2.066213 -0.189000
+v -2.171939 -2.066213 0.189000
+v -2.158645 -2.041693 -0.144000
+v -2.158645 -2.041693 0.144000
+v -2.149624 -2.025055 -0.081000
+v -2.149624 -2.025055 0.081000
+v -2.146300 -2.018925 0.000000
+v -2.141100 -0.9738 0.000000
+v -2.141100 -0.9738 0.000000
+v -2.140315 -0.966231 0.081000
+v -2.140315 -0.966231 -0.081000
+v -2.138183 -0.945685 0.144000
+v -2.138183 -0.945685 -0.144000
+v -2.135041 -0.915407 0.189000
+v -2.135041 -0.915407 -0.189000
+v -2.131226 -0.878641 0.216000
+v -2.131226 -0.878641 -0.216000
+v -2.127075 -0.838631 0.225000
+v -2.127075 -0.838631 -0.225000
+v -2.122924 -0.798621 0.216000
+v -2.122924 -0.798621 -0.216000
+v -2.119109 -0.761855 0.189000
+v -2.119109 -0.761855 -0.189000
+v -2.115967 -0.731578 0.144000
+v -2.115967 -0.731578 -0.144000
+v -2.113835 -0.711032 0.081000
+v -2.113835 -0.711032 -0.081000
+v -2.113050 -0.703463 0.000000
+v -2.113050 -0.703463 0.000000
+v -2.040000 -2.2464 0.000000
+v -2.040000 -2.2464 0.000000
+v -2.038410 -2.24015 -0.081000
+v -2.038410 -2.24015 0.081000
+v -2.034093 -2.223187 -0.144000
+v -2.034093 -2.223187 0.144000
+v -2.027731 -2.198189 -0.189000
+v -2.027731 -2.198189 0.189000
+v -2.020006 -2.167834 0.216000
+v -2.020006 -2.167834 -0.216000
+v -2.011600 -2.1348 0.225000
+v -2.011600 -2.1348 -0.225000
+v -2.003194 -2.101766 0.216000
+v -2.003194 -2.101766 -0.216000
+v -2.000000 -0.9 0.000000
+v -2.000000 -0.9 0.000000
+v -2.000000 -0.9 0.000000
+v -1.997200 -0.8916 0.081000
+v -1.997200 -0.8916 -0.081000
+v -1.995469 -2.071411 -0.189000
+v -1.995469 -2.071411 0.189000
+v -1.992750 -1.037175 -0.000000
+v -1.992750 -1.037175 0.000000
+v -1.989600 -0.8688 0.144000
+v -1.989600 -0.8688 -0.144000
+v -1.989107 -2.046413 0.144000
+v -1.989107 -2.046413 -0.144000
+v -1.986000 -0.771675 0.000000
+v -1.986000 -0.771675 0.000000
+v -1.984790 -2.02945 -0.081000
+v -1.984790 -2.02945 0.081000
+v -1.983200 -2.0232 0.000000
+v -1.983200 -2.0232 0.000000
+v -1.978400 -0.8352 0.189000
+v -1.978400 -0.8352 -0.189000
+v -1.974240 -0.9 -0.328160
+v -1.974240 -0.9 -0.328160
+v -1.974240 -0.9 0.328160
+v -1.972000 -1.1784 -0.000000
+v -1.972000 -1.1784 0.000000
+v -1.967083 -1.037175 -0.326970
+v -1.967083 -1.037175 0.326970
+v -1.964800 -0.7944 0.216000
+v -1.964800 -0.7944 -0.216000
+v -1.960420 -0.771675 -0.325863
+v -1.960420 -0.771675 0.325863
+v -1.950000 -0.75 -0.225000
+v -1.950000 -0.75 0.225000
+v -1.948000 -0.6564 0.000000
+v -1.948000 -0.6564 0.000000
+v -1.946601 -1.1784 -0.323566
+v -1.946601 -1.1784 0.323566
+v -1.939250 -1.323225 0.000000
+v -1.939250 -1.323225 0.000000
+v -1.935200 -0.7056 0.216000
+v -1.935200 -0.7056 -0.216000
+v -1.922910 -0.6564 -0.319628
+v -1.922910 -0.6564 0.319628
+v -1.921600 -0.6648 0.189000
+v -1.921600 -0.6648 -0.189000
+v -1.914272 -1.323225 -0.318192
+v -1.914272 -1.323225 0.318192
+v -1.910400 -0.6312 0.144000
+v -1.910400 -0.6312 -0.144000
+v -1.902800 -0.6084 0.081000
+v -1.902800 -0.6084 -0.081000
+v -1.900000 -0.6 0.000000
+v -1.900000 -0.6 0.000000
+v -1.899520 -0.9 -0.638080
+v -1.899520 -0.9 -0.638080
+v -1.899520 -0.9 0.638080
+v -1.899520 -0.9 0.638080
+v -1.896000 -1.4712 0.000000
+v -1.896000 -1.4712 0.000000
+v -1.892634 -1.037175 -0.635767
+v -1.892634 -1.037175 0.635767
+v -1.892000 -0.553725 0.000000
+v -1.892000 -0.553725 0.000000
+v -1.886223 -0.771675 -0.633613
+v -1.886223 -0.771675 0.633613
+v -1.872927 -1.1784 -0.629147
+v -1.872927 -1.1784 0.629147
+v -1.871580 -1.4712 -0.311096
+v -1.871580 -1.4712 0.311096
+v -1.867631 -0.553725 -0.310439
+v -1.867631 -0.553725 0.310439
+v -1.850132 -0.6564 -0.621490
+v -1.850132 -0.6564 0.621490
+v -1.843750 -1.621875 0.000000
+v -1.843750 -1.621875 0.000000
+v -1.841822 -1.323225 -0.618698
+v -1.841822 -1.323225 0.618698
+v -1.824000 -0.4632 -0.000000
+v -1.824000 -0.4632 0.000000
+v -1.820003 -1.621875 -0.302522
+v -1.820003 -1.621875 0.302523
+v -1.800900 -2.024775 0.000000
+v -1.800745 -1.4712 -0.604900
+v -1.800745 -1.4712 0.604900
+v -1.800507 -0.4632 -0.299282
+v -1.800507 -0.4632 0.299282
+v -1.800455 -2.031069 -0.081000
+v -1.800455 -2.031069 0.081000
+v -1.799246 -2.048152 -0.144000
+v -1.799246 -2.048152 0.144000
+v -1.797466 -2.073326 -0.189000
+v -1.797466 -2.073326 0.189000
+v -1.796946 -0.553725 -0.603624
+v -1.796946 -0.553725 0.603624
+v -1.795303 -2.103896 -0.216000
+v -1.795303 -2.103896 0.216000
+v -1.792950 -2.137163 -0.225000
+v -1.792950 -2.137163 0.225000
+v -1.790597 -2.170429 -0.216000
+v -1.790597 -2.170429 0.216000
+v -1.788434 -2.200999 -0.189000
+v -1.788434 -2.200999 0.189000
+v -1.786654 -2.226173 -0.144000
+v -1.786654 -2.226173 0.144000
+v -1.785445 -2.243256 -0.081000
+v -1.785445 -2.243256 0.081000
+v -1.785000 -2.24955 0.000000
+v -1.784000 -1.7748 -0.000000
+v -1.784000 -1.7748 0.000000
+v -1.779680 -0.9 -0.925920
+v -1.779680 -0.9 -0.925920
+v -1.779680 -0.9 0.925920
+v -1.779680 -0.9 0.925920
+v -1.773229 -1.037175 -0.922564
+v -1.773229 -1.037175 0.922564
+v -1.767222 -0.771675 -0.919439
+v -1.767222 -0.771675 0.919439
+v -1.761022 -1.7748 -0.292719
+v -1.761022 -1.7748 0.292719
+v -1.754764 -1.1784 -0.912957
+v -1.754764 -1.1784 0.912957
+v -1.751120 -1.621875 -0.588230
+v -1.751120 -1.621875 0.588230
+v -1.750000 -0.384375 -0.000000
+v -1.750000 -0.384375 0.000000
+v -1.733408 -0.6564 -0.901846
+v -1.733408 -0.6564 0.901846
+v -1.732362 -0.4632 -0.581929
+v -1.732362 -0.4632 0.581929
+v -1.727460 -0.384375 -0.287140
+v -1.727460 -0.384375 0.287140
+v -1.725622 -1.323225 -0.897795
+v -1.725622 -1.323225 0.897795
+v -1.718250 -1.929525 -0.000000
+v -1.718250 -1.929525 0.000000
+v -1.696119 -1.929525 -0.281930
+v -1.696119 -1.929525 0.281930
+v -1.694372 -1.7748 -0.569167
+v -1.694372 -1.7748 0.569167
+v -1.687137 -1.4712 -0.877772
+v -1.687137 -1.4712 0.877772
+v -1.683577 -0.553725 -0.875920
+v -1.683577 -0.553725 0.875920
+v -1.676000 -0.3168 0.000000
+v -1.676000 -0.3168 0.000000
+v -1.662080 -0.384375 -0.558320
+v -1.662080 -0.384375 0.558320
+v -1.654413 -0.3168 -0.274998
+v -1.654413 -0.3168 0.274998
+v -1.648000 -2.0856 0.000000
+v -1.648000 -2.0856 0.000000
+v -1.640643 -1.621875 -0.853583
+v -1.640643 -1.621875 0.853583
+v -1.631925 -1.929525 -0.548190
+v -1.631925 -1.929525 0.548190
+v -1.626774 -2.0856 -0.270404
+v -1.626774 -2.0856 0.270404
+v -1.623068 -0.4632 -0.844439
+v -1.623068 -0.4632 0.844439
+v -1.618560 -0.9 -1.187840
+v -1.618560 -0.9 -1.187840
+v -1.618560 -0.9 1.187840
+v -1.618560 -0.9 1.187840
+v -1.612693 -1.037175 -1.183534
+v -1.612693 -1.037175 1.183534
+v -1.608000 -0.260025 -0.000000
+v -1.608000 -0.260025 0.000000
+v -1.607230 -0.771675 -1.179525
+v -1.607230 -0.771675 1.179525
+v -1.600000 -2.025 0.000000
+v -1.597200 -2.0313 -0.081000
+v -1.597200 -2.0313 0.081000
+v -1.595900 -1.1784 -1.171210
+v -1.595900 -1.1784 1.171210
+v -1.591798 -0.3168 -0.534711
+v -1.591798 -0.3168 0.534711
+v -1.589600 -2.0484 -0.144000
+v -1.589600 -2.0484 0.144000
+v -1.587475 -1.7748 -0.825921
+v -1.587475 -1.7748 0.825921
+v -1.587289 -0.260025 0.263841
+v -1.587289 -0.260025 -0.263841
+v -1.578400 -2.0736 -0.189000
+v -1.578400 -2.0736 0.189000
+v -1.576477 -0.6564 -1.156956
+v -1.576477 -0.6564 1.156956
+v -1.574750 -2.242575 0.000000
+v -1.574750 -2.242575 0.000000
+v -1.569396 -1.323225 -1.151759
+v -1.569396 -1.323225 1.151759
+v -1.565204 -2.0856 -0.525778
+v -1.565204 -2.0856 0.525778
+v -1.564800 -2.1042 -0.216000
+v -1.564800 -2.1042 0.216000
+v -1.557220 -0.384375 -0.810180
+v -1.557220 -0.384375 0.810180
+v -1.554467 -2.242575 -0.258385
+v -1.554467 -2.242575 0.258385
+v -1.552000 -0.2136 0.000000
+v -1.552000 -0.2136 0.000000
+v -1.550000 -2.1375 -0.225000
+v -1.550000 -2.1375 0.225000
+v -1.535200 -2.1708 -0.216000
+v -1.535200 -2.1708 0.216000
+v -1.534395 -1.4712 -1.126072
+v -1.534395 -1.4712 1.126072
+v -1.532010 -0.2136 0.254652
+v -1.532010 -0.2136 -0.254652
+v -1.531158 -0.553725 -1.123697
+v -1.531158 -0.553725 1.123697
+v -1.528968 -1.929525 -0.795481
+v -1.528968 -1.929525 0.795481
+v -1.527214 -0.260025 -0.513016
+v -1.527214 -0.260025 0.513016
+v -1.521600 -2.2014 -0.189000
+v -1.521600 -2.2014 0.189000
+v -1.514000 -0.177075 0.000000
+v -1.514000 -0.177075 0.000000
+v -1.510400 -2.2266 -0.144000
+v -1.510400 -2.2266 0.144000
+v -1.502800 -2.2437 -0.081000
+v -1.502800 -2.2437 0.081000
+v -1.500000 -2.4 0.000000
+v -1.500000 -0.15 0.000000
+v -1.500000 -2.25 0.000000
+v -1.500000 -2.4 0.000000
+v -1.500000 -0.15 0.000000
+v -1.496475 -0.127575 -0.000000
+v -1.496475 -0.127575 0.000000
+v -1.495635 -2.242575 -0.502408
+v -1.495635 -2.242575 0.502408
+v -1.494500 -0.177075 0.248417
+v -1.494500 -0.177075 -0.248417
+v -1.492110 -1.621875 -1.095040
+v -1.492110 -1.621875 1.095040
+v -1.491372 -0.3168 -0.775921
+v -1.491372 -0.3168 0.775921
+v -1.480800 -0.1056 0.000000
+v -1.480800 -0.1056 -0.000000
+v -1.480680 -2.4 -0.246120
+v -1.480680 -0.15 0.246120
+v -1.480680 -2.4 0.246120
+v -1.480680 -0.15 -0.246120
+v -1.480680 -0.15 -0.246120
+v -1.480680 -0.15 0.246120
+v -1.480325 -2.435437 0.000000
+v -1.480325 -2.435437 0.000000
+v -1.477200 -0.127575 0.245542
+v -1.477200 -0.127575 -0.245542
+v -1.476127 -0.4632 -1.083310
+v -1.476127 -0.4632 1.083310
+v -1.474028 -0.2136 0.495150
+v -1.474028 -0.2136 -0.495150
+v -1.466456 -2.0856 -0.762958
+v -1.466456 -2.0856 0.762958
+v -1.461727 -0.1056 -0.242970
+v -1.461727 -0.1056 0.242970
+v -1.461258 -2.435437 -0.242892
+v -1.461258 -2.435437 0.242892
+v -1.459600 -2.463 0.000000
+v -1.459600 -2.463 0.000000
+v -1.445325 -0.084525 0.000000
+v -1.445325 -0.084525 0.000000
+v -1.443756 -1.7748 -1.059553
+v -1.443756 -1.7748 1.059553
+v -1.440800 -2.463 -0.239491
+v -1.440800 -2.463 0.239491
+v -1.439025 -2.482687 0.000000
+v -1.437937 -0.177075 0.483027
+v -1.437937 -0.177075 -0.483027
+v -1.430863 -0.260025 0.744440
+v -1.430863 -0.260025 -0.744440
+v -1.426709 -0.084525 -0.237149
+v -1.426709 -0.084525 0.237149
+v -1.424640 -2.4 -0.478560
+v -1.424640 -0.15 -0.478560
+v -1.424640 -0.15 -0.478560
+v -1.424640 -0.15 0.478560
+v -1.424640 -0.15 0.478560
+v -1.424640 -2.4 0.478560
+v -1.421292 -0.127575 0.477435
+v -1.421292 -0.127575 -0.477435
+v -1.420490 -2.482687 -0.236115
+v -1.420490 -2.482687 0.236115
+v -1.420000 -0.9 -1.420000
+v -1.420000 -0.9 -1.420000
+v -1.420000 -0.9 1.420000
+v -1.420000 -0.9 1.420000
+v -1.419800 -2.4945 0.000000
+v -1.419800 -2.4945 0.000000
+v -1.416240 -0.384375 -1.039360
+v -1.416240 -0.384375 1.039360
+v -1.414853 -1.037175 -1.414853
+v -1.414853 -1.037175 1.414853
+v -1.410060 -0.771675 -1.410060
+v -1.410060 -0.771675 1.410060
+v -1.406405 -0.1056 -0.472434
+v -1.406405 -0.1056 0.472434
+v -1.405953 -2.435437 -0.472283
+v -1.405953 -2.435437 0.472283
+v -1.403125 -2.498438 0.000000
+v -1.403125 -2.498438 0.000000
+v -1.401513 -2.4945 -0.232961
+v -1.401513 -2.4945 0.232961
+v -1.401276 -2.242575 -0.729046
+v -1.401276 -2.242575 0.729046
+v -1.400120 -1.1784 -1.400120
+v -1.400120 -1.1784 1.400120
+v -1.400000 -2.4 0.000000
+v -1.400000 -2.4 0.000000
+v -1.390545 -1.929525 -1.020503
+v -1.390545 -1.929525 1.020503
+v -1.390200 -2.4945 0.000000
+v -1.390200 -2.4945 0.000000
+v -1.386270 -2.463 -0.465671
+v -1.386270 -2.463 0.465671
+v -1.385925 -2.435437 0.000000
+v -1.385925 -2.435437 0.000000
+v -1.385053 -2.498438 -0.230225
+v -1.385053 -2.498438 0.230225
+v -1.383080 -0.6564 -1.383080
+v -1.383080 -0.6564 1.383080
+v -1.382400 -0.0648 -0.000000
+v -1.382400 -0.0648 0.000000
+v -1.382225 -2.482687 -0.000000
+v -1.382225 -2.482687 0.000000
+v -1.381968 -2.4 -0.229712
+v -1.381968 -2.4 0.229712
+v -1.381032 -0.2136 0.718514
+v -1.381032 -0.2136 -0.718514
+v -1.380400 -2.463 0.000000
+v -1.380400 -2.463 0.000000
+v -1.376868 -1.323225 -1.376867
+v -1.376867 -1.323225 1.376868
+v -1.372712 -0.084525 -0.461116
+v -1.372712 -0.084525 0.461116
+v -1.372294 -2.4945 -0.228104
+v -1.372294 -2.4945 0.228104
+v -1.368074 -2.435437 -0.227403
+v -1.368074 -2.435437 0.227403
+v -1.366728 -2.482687 -0.459107
+v -1.366728 -2.482687 0.459107
+v -1.364595 -0.0648 -0.226824
+v -1.364595 -0.0648 0.226824
+v -1.364422 -2.482687 -0.226795
+v -1.364422 -2.482687 0.226795
+v -1.362620 -2.463 -0.226496
+v -1.362620 -2.463 0.226496
+v -1.356353 -0.3168 -0.995410
+v -1.356353 -0.3168 0.995410
+v -1.348469 -2.4945 -0.452973
+v -1.348469 -2.4945 0.452973
+v -1.347218 -0.177075 0.700921
+v -1.347218 -0.177075 -0.700921
+v -1.346160 -1.4712 -1.346160
+v -1.346160 -1.4712 1.346160
+v -1.343320 -0.553725 -1.343320
+v -1.343320 -0.553725 1.343320
+v -1.334760 -2.4 -0.694440
+v -1.334760 -0.15 -0.694440
+v -1.334760 -0.15 0.694440
+v -1.334760 -0.15 0.694440
+v -1.334760 -2.4 0.694440
+v -1.334760 -0.15 -0.694440
+v -1.333693 -2.0856 -0.978780
+v -1.333693 -2.0856 0.978780
+v -1.332632 -2.498438 -0.447653
+v -1.332632 -2.498438 0.447653
+v -1.331623 -0.127575 0.692808
+v -1.331623 -0.127575 -0.692808
+v -1.329664 -2.4 -0.446656
+v -1.329664 -2.4 0.446656
+v -1.320356 -2.4945 -0.443529
+v -1.320356 -2.4945 0.443529
+v -1.317675 -0.1056 -0.685551
+v -1.317675 -0.1056 0.685551
+v -1.317252 -2.435437 -0.685331
+v -1.317252 -2.435437 0.685331
+v -1.316296 -2.435437 -0.442166
+v -1.316296 -2.435437 0.442166
+v -1.312948 -0.0648 0.441041
+v -1.312948 -0.0648 -0.441041
+v -1.312782 -2.482687 -0.440985
+v -1.312782 -2.482687 0.440985
+v -1.311049 -2.463 -0.440403
+v -1.311049 -2.463 0.440403
+v -1.309063 -1.621875 -1.309063
+v -1.309063 -1.621875 1.309063
+v -1.301322 -0.260025 0.955023
+v -1.301322 -0.260025 -0.955023
+v -1.300000 -2.4 0.000000
+v -1.300000 -2.4 0.000000
+v -1.298810 -2.463 -0.675736
+v -1.298810 -2.463 0.675736
+v -1.295040 -0.4632 -1.295040
+v -1.295040 -0.4632 1.295040
+v -1.286108 -0.084525 -0.669128
+v -1.286108 -0.084525 0.669128
+v -1.284375 -0.046875 0.000000
+v -1.284375 -0.046875 0.000000
+v -1.283256 -2.4 -0.213304
+v -1.283256 -2.4 0.213304
+v -1.280502 -2.482687 -0.666211
+v -1.280502 -2.482687 0.666211
+v -1.274600 -2.4408 0.000000
+v -1.274600 -2.4408 0.000000
+v -1.274414 -2.242575 -0.935276
+v -1.274414 -2.242575 0.935276
+v -1.267832 -0.046875 -0.210740
+v -1.267832 -0.046875 0.210740
+v -1.266640 -1.7748 -1.266640
+v -1.266640 -1.7748 1.266640
+v -1.263395 -2.4945 -0.657311
+v -1.263395 -2.4945 0.657311
+v -1.258183 -2.4408 0.209136
+v -1.258183 -2.4408 -0.209136
+v -1.256003 -0.2136 0.921764
+v -1.256003 -0.2136 -0.921764
+v -1.248557 -2.498438 -0.649591
+v -1.248557 -2.498438 0.649591
+v -1.245776 -2.4 -0.648144
+v -1.245776 -2.4 0.648144
+v -1.242500 -0.384375 -1.242500
+v -1.242500 -0.384375 1.242500
+v -1.237056 -2.4945 -0.643607
+v -1.237056 -2.4945 0.643607
+v -1.234688 -2.4 -0.414752
+v -1.234688 -2.4 0.414752
+v -1.233252 -2.435437 -0.641628
+v -1.233252 -2.435437 0.641628
+v -1.230115 -0.0648 -0.639996
+v -1.230115 -0.0648 0.639996
+v -1.229959 -2.482687 -0.639915
+v -1.229959 -2.482687 0.639915
+v -1.228335 -2.463 -0.639070
+v -1.228335 -2.463 0.639070
+v -1.225250 -0.177075 0.899195
+v -1.225250 -0.177075 -0.899195
+v -1.219958 -1.929525 1.219958
+v -1.219958 -1.929525 -1.219958
+v -1.219848 -0.046875 -0.409767
+v -1.219848 -0.046875 0.409767
+v -1.213920 -2.4 -0.890880
+v -1.213920 -0.15 -0.890880
+v -1.213920 -0.15 -0.890880
+v -1.213920 -0.15 0.890880
+v -1.213920 -0.15 0.890880
+v -1.213920 -2.4 0.890880
+v -1.211067 -0.127575 0.888786
+v -1.211067 -0.127575 -0.888786
+v -1.210564 -2.4408 0.406648
+v -1.210564 -2.4408 -0.406648
+v -1.204800 -2.4744 0.000000
+v -1.204800 -2.4744 0.000000
+v -1.198382 -0.1056 -0.879477
+v -1.198382 -0.1056 0.879477
+v -1.197997 -2.435437 -0.879195
+v -1.197997 -2.435437 0.879195
+v -1.189960 -0.3168 -1.189960
+v -1.189960 -0.3168 1.189960
+v -1.189282 -2.4744 -0.197684
+v -1.189282 -2.4744 0.197684
+v -1.187840 -0.9 -1.618560
+v -1.187840 -0.9 -1.618560
+v -1.187840 -0.9 1.618560
+v -1.187840 -0.9 1.618560
+v -1.183534 -1.037175 -1.612693
+v -1.183534 -1.037175 1.612693
+v -1.181225 -2.463 -0.866886
+v -1.181225 -2.463 0.866886
+v -1.179525 -0.771675 -1.607230
+v -1.179525 -0.771675 1.607230
+v -1.171210 -1.1784 -1.595900
+v -1.171210 -1.1784 1.595900
+v -1.170080 -2.0856 -1.170080
+v -1.170080 -2.0856 1.170080
+v -1.169673 -0.084525 -0.858407
+v -1.169673 -0.084525 0.858407
+v -1.164574 -2.482687 -0.854666
+v -1.164574 -2.482687 0.854666
+v -1.156956 -0.6564 -1.576477
+v -1.156956 -0.6564 1.576477
+v -1.156792 -2.4 -0.601848
+v -1.156792 -2.4 0.601848
+v -1.151759 -1.323225 -1.569396
+v -1.151759 -1.323225 1.569396
+v -1.149016 -2.4945 -0.843248
+v -1.149016 -2.4945 0.843248
+v -1.144271 -2.4744 -0.384379
+v -1.144271 -2.4744 0.384379
+v -1.143600 -0.0312 0.000000
+v -1.143600 -0.0312 0.000000
+v -1.142888 -0.046875 -0.594614
+v -1.142888 -0.046875 0.594614
+v -1.141680 -0.260025 1.141680
+v -1.141680 -0.260025 -1.141680
+v -1.135521 -2.498438 -0.833344
+v -1.135521 -2.498438 0.833344
+v -1.134190 -2.4408 0.590089
+v -1.134190 -2.4408 -0.590089
+v -1.132992 -2.4 -0.831488
+v -1.132992 -2.4 0.831488
+v -1.128870 -0.0312 -0.187642
+v -1.128870 -0.0312 0.187642
+v -1.126072 -1.4712 -1.534395
+v -1.126072 -1.4712 1.534395
+v -1.125061 -2.4945 -0.825668
+v -1.125061 -2.4945 0.825668
+v -1.123697 -0.553725 -1.531158
+v -1.123697 -0.553725 1.531158
+v -1.121601 -2.435437 -0.823129
+v -1.121601 -2.435437 0.823129
+v -1.118749 -0.0648 -0.821035
+v -1.118749 -0.0648 0.821035
+v -1.118607 -2.482687 -0.820931
+v -1.118607 -2.482687 0.820931
+v -1.118073 -2.242575 -1.118073
+v -1.118073 -2.242575 1.118073
+v -1.117130 -2.463 -0.819847
+v -1.117130 -2.463 0.819847
+v -1.101920 -0.2136 1.101920
+v -1.101920 -0.2136 -1.101920
+v -1.100200 -2.5026 0.000000
+v -1.100200 -2.5026 0.000000
+v -1.095040 -1.621875 -1.492110
+v -1.095040 -1.621875 1.492110
+v -1.086146 -0.0312 0.364854
+v -1.086146 -0.0312 -0.364854
+v -1.086029 -2.5026 0.180521
+v -1.086029 -2.5026 -0.180521
+v -1.083310 -0.4632 -1.476127
+v -1.083310 -0.4632 1.476127
+v -1.074940 -0.177075 -1.074940
+v -1.074940 -0.177075 1.074940
+v -1.072079 -2.4744 -0.557774
+v -1.072079 -2.4744 0.557774
+v -1.065000 -2.4 -1.065000
+v -1.065000 -0.15 -1.065000
+v -1.065000 -0.15 1.065000
+v -1.065000 -2.4 1.065000
+v -1.062497 -0.127575 1.062497
+v -1.062497 -0.127575 -1.062497
+v -1.059553 -1.7748 -1.443756
+v -1.059553 -1.7748 1.443756
+v -1.052064 -2.4 -0.772096
+v -1.052064 -2.4 0.772096
+v -1.051368 -0.1056 -1.051368
+v -1.051368 -0.1056 1.051368
+v -1.051031 -2.435437 -1.051031
+v -1.051031 -2.435437 1.051031
+v -1.044926 -2.5026 -0.351008
+v -1.044926 -2.5026 0.351008
+v -1.039419 -0.046875 -0.762816
+v -1.039419 -0.046875 0.762816
+v -1.039360 -0.384375 -1.416240
+v -1.039360 -0.384375 1.416240
+v -1.036316 -2.463 -1.036316
+v -1.036316 -2.463 1.036316
+v -1.031508 -2.4408 0.757010
+v -1.031508 -2.4408 -0.757010
+v -1.026181 -0.084525 -1.026181
+v -1.026181 -0.084525 1.026181
+v -1.021708 -2.482687 -1.021708
+v -1.021708 -2.482687 1.021708
+v -1.020503 -1.929525 -1.390545
+v -1.020503 -1.929525 1.390545
+v -1.017621 -0.0312 0.529441
+v -1.017621 -0.0312 -0.529441
+v -1.008058 -2.4945 -1.008058
+v -1.008058 -2.4945 1.008058
+v -0.996219 -2.498438 -0.996219
+v -0.996219 -2.498438 0.996219
+v -0.995410 -0.3168 -1.356353
+v -0.995410 -0.3168 1.356353
+v -0.994000 -2.4 -0.994000
+v -0.994000 -2.4 0.994000
+v -0.987042 -2.4945 -0.987042
+v -0.987042 -2.4945 0.987042
+v -0.984007 -2.435437 -0.984007
+v -0.984007 -2.435437 0.984007
+v -0.981504 -0.0648 0.981504
+v -0.981504 -0.0648 -0.981504
+v -0.981380 -2.482687 -0.981380
+v -0.981380 -2.482687 0.981380
+v -0.980084 -2.463 -0.980084
+v -0.980084 -2.463 0.980084
+v -0.979002 -2.5026 0.509349
+v -0.979002 -2.5026 -0.509349
+v -0.978780 -2.0856 -1.333693
+v -0.978780 -2.0856 1.333693
+v -0.975021 -2.4744 -0.715555
+v -0.975021 -2.4744 0.715555
+v -0.970400 -2.5272 0.000000
+v -0.970400 -2.5272 0.000000
+v -0.957901 -2.5272 -0.159223
+v -0.957901 -2.5272 0.159223
+v -0.955023 -0.260025 1.301322
+v -0.955023 -0.260025 -1.301322
+v -0.952425 -0.018225 -0.000000
+v -0.952425 -0.018225 0.000000
+v -0.940158 -0.018225 0.156274
+v -0.940158 -0.018225 -0.156274
+v -0.935276 -2.242575 -1.274414
+v -0.935276 -2.242575 1.274414
+v -0.925920 -0.9 -1.779680
+v -0.925920 -0.9 1.779680
+v -0.925920 -0.9 1.779680
+v -0.925920 -0.9 -1.779680
+v -0.925493 -0.0312 0.679207
+v -0.925493 -0.0312 -0.679207
+v -0.923000 -2.4 -0.923000
+v -0.923000 -2.4 0.923000
+v -0.922564 -1.037175 1.773229
+v -0.922564 -1.037175 -1.773229
+v -0.921764 -0.2136 1.256003
+v -0.921764 -0.2136 -1.256003
+v -0.921647 -2.5272 -0.309596
+v -0.921647 -2.5272 0.309596
+v -0.919439 -0.771675 -1.767222
+v -0.919439 -0.771675 1.767222
+v -0.912957 -1.1784 -1.754764
+v -0.912957 -1.1784 1.754764
+v -0.911906 -0.046875 -0.911906
+v -0.911906 -0.046875 0.911906
+v -0.904966 -2.4408 0.904966
+v -0.904966 -2.4408 -0.904966
+v -0.904575 -0.018225 0.303862
+v -0.904575 -0.018225 -0.303862
+v -0.901846 -0.6564 -1.733408
+v -0.901846 -0.6564 1.733408
+v -0.899195 -0.177075 1.225250
+v -0.899195 -0.177075 -1.225250
+v -0.897795 -1.323225 -1.725622
+v -0.897795 -1.323225 1.725622
+v -0.890880 -0.15 -1.213920
+v -0.890880 -0.15 1.213920
+v -0.890880 -2.4 -1.213920
+v -0.890880 -0.15 -1.213920
+v -0.890880 -0.15 1.213920
+v -0.890880 -2.4 1.213920
+v -0.890370 -2.5026 -0.653431
+v -0.890370 -2.5026 0.653431
+v -0.888786 -0.127575 1.211067
+v -0.888786 -0.127575 -1.211067
+v -0.879477 -0.1056 -1.198382
+v -0.879477 -0.1056 1.198382
+v -0.879195 -2.435437 -1.197997
+v -0.879195 -2.435437 1.197997
+v -0.877772 -1.4712 -1.687137
+v -0.877772 -1.4712 1.687137
+v -0.875920 -0.553725 -1.683577
+v -0.875920 -0.553725 1.683577
+v -0.866886 -2.463 -1.181225
+v -0.866886 -2.463 1.181225
+v -0.863501 -2.5272 -0.449256
+v -0.863501 -2.5272 0.449256
+v -0.858407 -0.084525 -1.169673
+v -0.858407 -0.084525 1.169673
+v -0.855408 -2.4744 -0.855408
+v -0.855408 -2.4744 0.855408
+v -0.854666 -2.482687 -1.164574
+v -0.854666 -2.482687 1.164574
+v -0.853583 -1.621875 -1.640643
+v -0.853583 -1.621875 1.640643
+v -0.847506 -0.018225 -0.440935
+v -0.847506 -0.018225 0.440935
+v -0.844439 -0.4632 1.623068
+v -0.844439 -0.4632 -1.623068
+v -0.843248 -2.4945 -1.149016
+v -0.843248 -2.4945 1.149016
+v -0.833344 -2.498438 -1.135521
+v -0.833344 -2.498438 1.135521
+v -0.831488 -2.4 -1.132992
+v -0.831488 -2.4 1.132992
+v -0.825921 -1.7748 1.587475
+v -0.825921 -1.7748 -1.587475
+v -0.825668 -2.4945 -1.125061
+v -0.825668 -2.4945 1.125061
+v -0.825000 -2.55 0.000000
+v -0.825000 -2.55 0.000000
+v -0.823129 -2.435437 -1.121601
+v -0.823129 -2.435437 1.121601
+v -0.821035 -0.0648 1.118749
+v -0.821035 -0.0648 -1.118749
+v -0.820931 -2.482687 1.118607
+v -0.820931 -2.482687 -1.118607
+v -0.819847 -2.463 -1.117130
+v -0.819847 -2.463 1.117130
+v -0.814374 -2.55 -0.135366
+v -0.814374 -2.55 0.135366
+v -0.811956 -0.0312 0.811956
+v -0.811956 -0.0312 -0.811956
+v -0.810180 -0.384375 1.557220
+v -0.810180 -0.384375 -1.557220
+v -0.795481 -1.929525 1.528968
+v -0.795481 -1.929525 -1.528968
+v -0.785325 -2.5272 -0.576340
+v -0.785325 -2.5272 0.576340
+v -0.783552 -2.55 -0.263208
+v -0.783552 -2.55 0.263208
+v -0.781142 -2.5026 -0.781142
+v -0.781142 -2.5026 0.781142
+v -0.775921 -0.3168 -1.491372
+v -0.775921 -0.3168 1.491372
+v -0.772096 -2.4 -1.052064
+v -0.772096 -2.4 1.052064
+v -0.770779 -0.018225 0.565664
+v -0.770779 -0.018225 -0.565664
+v -0.762958 -2.0856 -1.466456
+v -0.762958 -2.0856 1.466456
+v -0.762816 -0.046875 -1.039419
+v -0.762816 -0.046875 1.039419
+v -0.757010 -2.4408 1.031508
+v -0.757010 -2.4408 -1.031508
+v -0.744440 -0.260025 1.430863
+v -0.744440 -0.260025 -1.430863
+v -0.734118 -2.55 -0.381942
+v -0.734118 -2.55 0.381942
+v -0.729046 -2.242575 -1.401276
+v -0.729046 -2.242575 1.401276
+v -0.718514 -0.2136 1.381032
+v -0.718514 -0.2136 -1.381032
+v -0.715555 -2.4744 -0.975021
+v -0.715555 -2.4744 0.975021
+v -0.703200 -0.0084 0.000000
+v -0.700921 -0.177075 1.347218
+v -0.700921 -0.177075 -1.347218
+v -0.694440 -0.15 -1.334760
+v -0.694440 -0.15 1.334760
+v -0.694440 -2.4 1.334760
+v -0.694440 -0.15 1.334760
+v -0.694440 -2.4 -1.334760
+v -0.694440 -0.15 -1.334760
+v -0.694143 -0.0084 -0.115381
+v -0.694143 -0.0084 0.115381
+v -0.692808 -0.127575 1.331623
+v -0.692808 -0.127575 -1.331623
+v -0.688984 -2.5272 -0.688984
+v -0.688984 -2.5272 0.688984
+v -0.685551 -0.1056 -1.317675
+v -0.685551 -0.1056 1.317675
+v -0.685331 -2.435437 -1.317252
+v -0.685331 -2.435437 1.317252
+v -0.679207 -0.0312 -0.925493
+v -0.679207 -0.0312 0.925493
+v -0.676222 -0.018225 0.676222
+v -0.676222 -0.018225 -0.676222
+v -0.675736 -2.463 -1.298810
+v -0.675736 -2.463 1.298810
+v -0.673600 -2.5728 0.000000
+v -0.673600 -2.5728 0.000000
+v -0.669128 -0.084525 -1.286108
+v -0.669128 -0.084525 1.286108
+v -0.667871 -0.0084 -0.224349
+v -0.667871 -0.0084 0.224349
+v -0.667656 -2.55 -0.489984
+v -0.667656 -2.55 0.489984
+v -0.666211 -2.482687 1.280502
+v -0.666211 -2.482687 -1.280502
+v -0.664924 -2.5728 -0.110524
+v -0.664924 -2.5728 0.110524
+v -0.657311 -2.4945 -1.263395
+v -0.657311 -2.4945 1.263395
+v -0.653431 -2.5026 -0.890370
+v -0.653431 -2.5026 0.890370
+v -0.649591 -2.498438 -1.248557
+v -0.649591 -2.498438 1.248557
+v -0.648144 -2.4 -1.245776
+v -0.648144 -2.4 1.245776
+v -0.643607 -2.4945 -1.237056
+v -0.643607 -2.4945 1.237056
+v -0.641628 -2.435437 -1.233252
+v -0.641628 -2.435437 1.233252
+v -0.639996 -0.0648 -1.230115
+v -0.639996 -0.0648 1.230115
+v -0.639915 -2.482687 1.229959
+v -0.639915 -2.482687 -1.229959
+v -0.639758 -2.5728 -0.214905
+v -0.639758 -2.5728 0.214905
+v -0.639070 -2.463 -1.228335
+v -0.639070 -2.463 1.228335
+v -0.638080 -0.9 -1.899520
+v -0.638080 -0.9 -1.899520
+v -0.638080 -0.9 1.899520
+v -0.638080 -0.9 1.899520
+v -0.635767 -1.037175 -1.892634
+v -0.635767 -1.037175 1.892634
+v -0.633613 -0.771675 -1.886223
+v -0.633613 -0.771675 1.886223
+v -0.629147 -1.1784 -1.872927
+v -0.629147 -1.1784 1.872927
+v -0.625735 -0.0084 0.325553
+v -0.625735 -0.0084 -0.325553
+v -0.621490 -0.6564 -1.850132
+v -0.621490 -0.6564 1.850132
+v -0.618698 -1.323225 -1.841822
+v -0.618698 -1.323225 1.841822
+v -0.604900 -1.4712 -1.800745
+v -0.604900 -1.4712 1.800745
+v -0.603624 -0.553725 -1.796946
+v -0.603624 -0.553725 1.796946
+v -0.601848 -2.4 -1.156792
+v -0.601848 -2.4 1.156792
+v -0.599396 -2.5728 -0.311850
+v -0.599396 -2.5728 0.311850
+v -0.594614 -0.046875 -1.142888
+v -0.594614 -0.046875 1.142888
+v -0.590089 -2.4408 1.134190
+v -0.590089 -2.4408 -1.134190
+v -0.588230 -1.621875 -1.751120
+v -0.588230 -1.621875 1.751120
+v -0.585750 -2.55 -0.585750
+v -0.585750 -2.55 0.585750
+v -0.581929 -0.4632 -1.732362
+v -0.581929 -0.4632 1.732362
+v -0.576340 -2.5272 -0.785325
+v -0.576340 -2.5272 0.785325
+v -0.569167 -1.7748 -1.694372
+v -0.569167 -1.7748 1.694372
+v -0.569086 -0.0084 -0.417645
+v -0.569086 -0.0084 0.417645
+v -0.565664 -0.018225 0.770779
+v -0.565664 -0.018225 -0.770779
+v -0.558320 -0.384375 -1.662080
+v -0.558320 -0.384375 1.662080
+v -0.557774 -2.4744 -1.072079
+v -0.557774 -2.4744 1.072079
+v -0.548190 -1.929525 -1.631925
+v -0.548190 -1.929525 1.631925
+v -0.545131 -2.5728 -0.400065
+v -0.545131 -2.5728 0.400065
+v -0.534711 -0.3168 -1.591798
+v -0.534711 -0.3168 1.591798
+v -0.529441 -0.0312 -1.017621
+v -0.529441 -0.0312 1.017621
+v -0.525800 -2.5974 0.000000
+v -0.525800 -2.5974 0.000000
+v -0.525778 -2.0856 -1.565204
+v -0.525778 -2.0856 1.565204
+v -0.519028 -2.5974 0.086273
+v -0.519028 -2.5974 -0.086273
+v -0.513016 -0.260025 -1.527214
+v -0.513016 -0.260025 1.527214
+v -0.509349 -2.5026 0.979002
+v -0.509349 -2.5026 -0.979002
+v -0.502408 -2.242575 -1.495635
+v -0.502408 -2.242575 1.495635
+v -0.499384 -2.5974 -0.167751
+v -0.499384 -2.5974 0.167751
+v -0.499272 -0.0084 -0.499272
+v -0.499272 -0.0084 0.499272
+v -0.495150 -0.2136 -1.474028
+v -0.495150 -0.2136 1.474028
+v -0.489984 -2.55 -0.667656
+v -0.489984 -2.55 0.667656
+v -0.483027 -0.177075 -1.437937
+v -0.483027 -0.177075 1.437937
+v -0.478560 -0.15 1.424640
+v -0.478560 -2.4 -1.424640
+v -0.478560 -0.15 -1.424640
+v -0.478560 -0.15 -1.424640
+v -0.478560 -0.15 1.424640
+v -0.478560 -2.4 1.424640
+v -0.478256 -2.5728 -0.478256
+v -0.478256 -2.5728 0.478256
+v -0.477435 -0.127575 1.421292
+v -0.477435 -0.127575 -1.421292
+v -0.472434 -0.1056 1.406405
+v -0.472434 -0.1056 -1.406405
+v -0.472283 -2.435437 -1.405953
+v -0.472283 -2.435437 1.405953
+v -0.467878 -2.5974 -0.243424
+v -0.467878 -2.5974 0.243424
+v -0.465671 -2.463 -1.386270
+v -0.465671 -2.463 1.386270
+v -0.461116 -0.084525 1.372712
+v -0.461116 -0.084525 -1.372712
+v -0.459107 -2.482687 -1.366728
+v -0.459107 -2.482687 1.366728
+v -0.452973 -2.4945 -1.348469
+v -0.452973 -2.4945 1.348469
+v -0.449256 -2.5272 -0.863501
+v -0.449256 -2.5272 0.863501
+v -0.447653 -2.498438 -1.332632
+v -0.447653 -2.498438 1.332632
+v -0.446656 -2.4 -1.329664
+v -0.446656 -2.4 1.329664
+v -0.443529 -2.4945 -1.320356
+v -0.443529 -2.4945 1.320356
+v -0.442166 -2.435437 -1.316296
+v -0.442166 -2.435437 1.316296
+v -0.441041 -0.0648 1.312948
+v -0.441041 -0.0648 -1.312948
+v -0.440985 -2.482687 -1.312782
+v -0.440985 -2.482687 1.312782
+v -0.440935 -0.018225 0.847506
+v -0.440935 -0.018225 -0.847506
+v -0.440403 -2.463 -1.311049
+v -0.440403 -2.463 1.311049
+v -0.425519 -2.5974 0.312283
+v -0.425519 -2.5974 -0.312283
+v -0.417645 -0.0084 -0.569086
+v -0.417645 -0.0084 0.569086
+v -0.414752 -2.4 -1.234688
+v -0.414752 -2.4 1.234688
+v -0.409767 -0.046875 1.219848
+v -0.409767 -0.046875 -1.219848
+v -0.406648 -2.4408 -1.210564
+v -0.406648 -2.4408 1.210564
+v -0.400065 -2.5728 -0.545131
+v -0.400065 -2.5728 0.545131
+v -0.391200 -2.6256 0.000000
+v -0.391200 -2.6256 0.000000
+v -0.388275 -0.002175 -0.000000
+v -0.388275 -0.002175 0.000000
+v -0.386161 -2.6256 -0.064188
+v -0.386161 -2.6256 0.064188
+v -0.384379 -2.4744 -1.144271
+v -0.384379 -2.4744 1.144271
+v -0.383274 -0.002175 -0.063708
+v -0.383274 -0.002175 0.063708
+v -0.381942 -2.55 -0.734118
+v -0.381942 -2.55 0.734118
+v -0.373318 -2.5974 -0.373318
+v -0.373318 -2.5974 0.373318
+v -0.371546 -2.6256 -0.124808
+v -0.371546 -2.6256 0.124808
+v -0.368768 -0.002175 -0.123875
+v -0.368768 -0.002175 0.123875
+v -0.364854 -0.0312 1.086146
+v -0.364854 -0.0312 -1.086146
+v -0.358400 -3.0348 0.000000
+v -0.358400 -3.0348 0.000000
+v -0.358200 -3.08115 0.000000
+v -0.358200 -3.08115 0.000000
+v -0.353807 -3.0348 -0.059016
+v -0.353807 -3.0348 0.059016
+v -0.353610 -3.08115 -0.058988
+v -0.353610 -3.08115 0.058988
+v -0.351008 -2.5026 -1.044926
+v -0.351008 -2.5026 1.044926
+v -0.348105 -2.6256 -0.181110
+v -0.348105 -2.6256 0.181110
+v -0.345503 -0.002175 -0.179756
+v -0.345503 -0.002175 0.179756
+v -0.340477 -3.0348 -0.114676
+v -0.340477 -3.0348 0.114676
+v -0.340289 -3.08115 -0.114619
+v -0.340289 -3.08115 0.114619
+v -0.328160 -0.9 -1.974240
+v -0.328160 -0.9 1.974240
+v -0.328160 -0.9 1.974240
+v -0.326970 -1.037175 -1.967083
+v -0.326970 -1.037175 1.967083
+v -0.325863 -0.771675 -1.960420
+v -0.325863 -0.771675 1.960420
+v -0.325553 -0.0084 -0.625735
+v -0.325553 -0.0084 0.625735
+v -0.325000 -2.98125 0.000000
+v -0.325000 -2.98125 0.000000
+v -0.323566 -1.1784 -1.946601
+v -0.323566 -1.1784 1.946601
+v -0.320834 -2.98125 -0.053508
+v -0.320834 -2.98125 0.053508
+v -0.319628 -0.6564 -1.922910
+v -0.319628 -0.6564 1.922910
+v -0.319082 -3.0348 -0.166306
+v -0.319082 -3.0348 0.166306
+v -0.318907 -3.08115 -0.166221
+v -0.318907 -3.08115 0.166221
+v -0.318192 -1.323225 -1.914272
+v -0.318192 -1.323225 1.914272
+v -0.316590 -2.6256 -0.232342
+v -0.316590 -2.6256 0.232342
+v -0.314223 -0.002175 -0.230604
+v -0.314223 -0.002175 0.230604
+v -0.312283 -2.5974 -0.425519
+v -0.312283 -2.5974 0.425519
+v -0.311850 -2.5728 -0.599396
+v -0.311850 -2.5728 0.599396
+v -0.311096 -1.4712 -1.871580
+v -0.311096 -1.4712 1.871580
+v -0.310439 -0.553725 -1.867631
+v -0.310439 -0.553725 1.867631
+v -0.309596 -2.5272 -0.921647
+v -0.309596 -2.5272 0.921647
+v -0.308800 -3.1176 0.000000
+v -0.308800 -3.1176 0.000000
+v -0.308744 -2.98125 -0.103976
+v -0.308744 -2.98125 0.103976
+v -0.304843 -3.1176 -0.050855
+v -0.304843 -3.1176 0.050855
+v -0.303862 -0.018225 0.904575
+v -0.303862 -0.018225 -0.904575
+v -0.302523 -1.621875 -1.820003
+v -0.302522 -1.621875 1.820003
+v -0.299282 -0.4632 -1.800507
+v -0.299282 -0.4632 1.800507
+v -0.293360 -3.1176 -0.098814
+v -0.293360 -3.1176 0.098814
+v -0.292719 -1.7748 -1.761022
+v -0.292719 -1.7748 1.761022
+v -0.290295 -3.0348 -0.213234
+v -0.290295 -3.0348 0.213234
+v -0.290138 -3.08115 -0.213123
+v -0.290138 -3.08115 0.213123
+v -0.289340 -2.98125 -0.150793
+v -0.289340 -2.98125 0.150793
+v -0.287140 -0.384375 -1.727460
+v -0.287140 -0.384375 1.727460
+v -0.281930 -1.929525 1.696119
+v -0.281930 -1.929525 -1.696119
+v -0.279400 -2.6592 0.000000
+v -0.277752 -2.6256 -0.277752
+v -0.277752 -2.6256 0.277752
+v -0.275801 -2.6592 -0.045844
+v -0.275801 -2.6592 0.045844
+v -0.275675 -0.002175 -0.275675
+v -0.275675 -0.002175 0.275675
+v -0.274998 -0.3168 -1.654413
+v -0.274998 -0.3168 1.654413
+v -0.274928 -3.1176 -0.143301
+v -0.274928 -3.1176 0.143301
+v -0.273600 -2.9232 0.000000
+v -0.273600 -2.9232 0.000000
+v -0.270404 -2.0856 -1.626774
+v -0.270404 -2.0856 1.626774
+v -0.270092 -2.9232 -0.045032
+v -0.270092 -2.9232 0.045032
+v -0.265363 -2.6592 -0.089140
+v -0.265363 -2.6592 0.089140
+v -0.263841 -0.260025 1.587289
+v -0.263841 -0.260025 -1.587289
+v -0.263232 -2.98125 -0.193348
+v -0.263232 -2.98125 0.193348
+v -0.263208 -2.55 -0.783552
+v -0.263208 -2.55 0.783552
+v -0.259910 -2.9232 -0.087511
+v -0.259910 -2.9232 0.087511
+v -0.258385 -2.242575 -1.554467
+v -0.258385 -2.242575 1.554467
+v -0.254788 -3.0348 -0.254788
+v -0.254788 -3.0348 0.254788
+v -0.254653 -3.08115 -0.254653
+v -0.254653 -3.08115 0.254653
+v -0.254652 -0.2136 -1.532010
+v -0.254652 -0.2136 1.532010
+v -0.250127 -3.1176 -0.183734
+v -0.250127 -3.1176 0.183734
+v -0.248621 -2.6592 0.129351
+v -0.248621 -2.6592 -0.129351
+v -0.248417 -0.177075 -1.494500
+v -0.248417 -0.177075 1.494500
+v -0.246120 -0.15 1.480680
+v -0.246120 -2.4 -1.480680
+v -0.246120 -0.15 -1.480680
+v -0.246120 -0.15 -1.480680
+v -0.246120 -0.15 1.480680
+v -0.246120 -2.4 1.480680
+v -0.245542 -0.127575 1.477200
+v -0.245542 -0.127575 -1.477200
+v -0.243569 -2.9232 -0.126920
+v -0.243569 -2.9232 0.126920
+v -0.243424 -2.5974 0.467878
+v -0.243424 -2.5974 -0.467878
+v -0.242970 -0.1056 1.461727
+v -0.242970 -0.1056 -1.461727
+v -0.242892 -2.435437 -1.461258
+v -0.242892 -2.435437 1.461258
+v -0.239491 -2.463 -1.440800
+v -0.239491 -2.463 1.440800
+v -0.237149 -0.084525 1.426709
+v -0.237149 -0.084525 -1.426709
+v -0.236115 -2.482687 -1.420490
+v -0.236115 -2.482687 1.420490
+v -0.232961 -2.4945 -1.401513
+v -0.232961 -2.4945 1.401513
+v -0.232342 -2.6256 -0.316590
+v -0.232342 -2.6256 0.316590
+v -0.231031 -2.98125 -0.231031
+v -0.231031 -2.98125 0.231031
+v -0.230604 -0.002175 -0.314223
+v -0.230604 -0.002175 0.314223
+v -0.230225 -2.498438 -1.385053
+v -0.230225 -2.498438 1.385053
+v -0.229712 -2.4 -1.381968
+v -0.229712 -2.4 1.381968
+v -0.228104 -2.4945 -1.372294
+v -0.228104 -2.4945 1.372294
+v -0.227403 -2.435437 -1.368074
+v -0.227403 -2.435437 1.368074
+v -0.226824 -0.0648 1.364595
+v -0.226824 -0.0648 -1.364595
+v -0.226795 -2.482687 1.364422
+v -0.226795 -2.482687 -1.364422
+v -0.226496 -2.463 -1.362620
+v -0.226496 -2.463 1.362620
+v -0.226113 -2.6592 -0.165941
+v -0.226113 -2.6592 0.165941
+v -0.224349 -0.0084 0.667871
+v -0.224349 -0.0084 -0.667871
+v -0.221585 -2.9232 -0.162745
+v -0.221585 -2.9232 0.162745
+v -0.219800 -2.86335 0.000000
+v -0.219800 -2.86335 0.000000
+v -0.219536 -3.1176 -0.219536
+v -0.219536 -3.1176 0.219536
+v -0.216979 -2.86335 0.036157
+v -0.216979 -2.86335 -0.036157
+v -0.214905 -2.5728 -0.639758
+v -0.214905 -2.5728 0.639758
+v -0.213304 -2.4 -1.283256
+v -0.213304 -2.4 1.283256
+v -0.213234 -3.0348 -0.290295
+v -0.213234 -3.0348 0.290295
+v -0.213123 -3.08115 -0.290138
+v -0.213123 -3.08115 0.290138
+v -0.210740 -0.046875 -1.267832
+v -0.210740 -0.046875 1.267832
+v -0.209136 -2.4408 -1.258183
+v -0.209136 -2.4408 1.258183
+v -0.208794 -2.86335 0.070270
+v -0.208794 -2.86335 -0.070270
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.200000 -2.7 0.000000
+v -0.198374 -2.6592 -0.198374
+v -0.198374 -2.6592 0.198374
+v -0.197684 -2.4744 -1.189282
+v -0.197684 -2.4744 1.189282
+v -0.197424 -2.7 -0.032816
+v -0.197424 -2.7 0.032816
+v -0.197424 -2.7 0.032816
+v -0.197424 -2.7 -0.032816
+v -0.195658 -2.86335 -0.101925
+v -0.195658 -2.86335 0.101925
+v -0.194600 -3.14145 0.000000
+v -0.194600 -3.14145 0.000000
+v -0.194472 -2.9232 -0.194472
+v -0.194472 -2.9232 0.194472
+v -0.193348 -2.98125 -0.263232
+v -0.193348 -2.98125 0.263232
+v -0.192107 -3.14145 -0.032048
+v -0.192107 -3.14145 0.032048
+v -0.189952 -2.7 -0.063808
+v -0.189952 -2.7 0.063808
+v -0.189952 -2.7 0.063808
+v -0.189952 -2.7 -0.063808
+v -0.187642 -0.0312 1.128870
+v -0.187642 -0.0312 -1.128870
+v -0.184870 -3.14145 -0.062272
+v -0.184870 -3.14145 0.062272
+v -0.183734 -3.1176 -0.250127
+v -0.183734 -3.1176 0.250127
+v -0.181110 -2.6256 0.348105
+v -0.181110 -2.6256 -0.348105
+v -0.180521 -2.5026 -1.086029
+v -0.180521 -2.5026 1.086029
+v -0.179756 -0.002175 -0.345503
+v -0.179756 -0.002175 0.345503
+v -0.179200 -2.8044 0.000000
+v -0.179200 -2.8044 0.000000
+v -0.177989 -2.86335 -0.130707
+v -0.177989 -2.86335 0.130707
+v -0.177968 -2.7 -0.092592
+v -0.177968 -2.7 0.092592
+v -0.177968 -2.7 0.092592
+v -0.177968 -2.7 -0.092592
+v -0.176897 -2.8044 0.029450
+v -0.176897 -2.8044 -0.029450
+v -0.173255 -3.14145 -0.090306
+v -0.173255 -3.14145 0.090306
+v -0.170215 -2.8044 0.057246
+v -0.170215 -2.8044 -0.057246
+v -0.167751 -2.5974 -0.499384
+v -0.167751 -2.5974 0.499384
+v -0.167400 -2.74905 0.000000
+v -0.167400 -2.74905 0.000000
+v -0.166306 -3.0348 -0.319082
+v -0.166306 -3.0348 0.319082
+v -0.166221 -3.08115 0.318907
+v -0.166221 -3.08115 -0.318907
+v -0.165941 -2.6592 -0.226113
+v -0.165941 -2.6592 0.226113
+v -0.165245 -2.74905 0.027480
+v -0.165245 -2.74905 -0.027480
+v -0.162745 -2.9232 -0.221585
+v -0.162745 -2.9232 0.221585
+v -0.161856 -2.7 -0.118784
+v -0.161856 -2.7 0.118784
+v -0.161856 -2.7 0.118784
+v -0.161856 -2.7 -0.118784
+v -0.159496 -2.8044 0.083047
+v -0.159496 -2.8044 -0.083047
+v -0.159223 -2.5272 -0.957901
+v -0.159223 -2.5272 0.957901
+v -0.158995 -2.74905 0.053428
+v -0.158995 -2.74905 -0.053428
+v -0.157626 -3.14145 -0.115787
+v -0.157626 -3.14145 0.115787
+v -0.156274 -0.018225 0.940158
+v -0.156274 -0.018225 -0.940158
+v -0.156200 -2.86335 -0.156200
+v -0.156200 -2.86335 0.156200
+v -0.150793 -2.98125 -0.289340
+v -0.150793 -2.98125 0.289340
+v -0.148969 -2.74905 0.077523
+v -0.148969 -2.74905 -0.077523
+v -0.145078 -2.8044 0.106513
+v -0.145078 -2.8044 -0.106513
+v -0.143301 -3.1176 -0.274928
+v -0.143301 -3.1176 0.274928
+v -0.142000 -2.7 -0.142000
+v -0.142000 -2.7 0.142000
+v -0.142000 -2.7 0.142000
+v -0.142000 -2.7 -0.142000
+v -0.138348 -3.14145 -0.138348
+v -0.138348 -3.14145 0.138348
+v -0.135489 -2.74905 0.099446
+v -0.135489 -2.74905 -0.099446
+v -0.135366 -2.55 -0.814374
+v -0.135366 -2.55 0.814374
+v -0.130707 -2.86335 -0.177989
+v -0.130707 -2.86335 0.177989
+v -0.129351 -2.6592 0.248621
+v -0.129351 -2.6592 -0.248621
+v -0.127304 -2.8044 0.127304
+v -0.127304 -2.8044 -0.127304
+v -0.126920 -2.9232 -0.243569
+v -0.126920 -2.9232 0.243569
+v -0.124808 -2.6256 -0.371546
+v -0.124808 -2.6256 0.371546
+v -0.123875 -0.002175 0.368768
+v -0.123875 -0.002175 -0.368768
+v -0.118874 -2.74905 0.118874
+v -0.118874 -2.74905 -0.118874
+v -0.118784 -2.7 -0.161856
+v -0.118784 -2.7 0.161856
+v -0.118784 -2.7 0.161856
+v -0.118784 -2.7 -0.161856
+v -0.115787 -3.14145 -0.157626
+v -0.115787 -3.14145 0.157626
+v -0.115381 -0.0084 0.694143
+v -0.115381 -0.0084 -0.694143
+v -0.114676 -3.0348 -0.340477
+v -0.114676 -3.0348 0.340477
+v -0.114619 -3.08115 -0.340289
+v -0.114619 -3.08115 0.340289
+v -0.110524 -2.5728 -0.664924
+v -0.110524 -2.5728 0.664924
+v -0.106513 -2.8044 -0.145078
+v -0.106513 -2.8044 0.145078
+v -0.103976 -2.98125 -0.308744
+v -0.103976 -2.98125 0.308744
+v -0.101925 -2.86335 -0.195658
+v -0.101925 -2.86335 0.195658
+v -0.099446 -2.74905 0.135489
+v -0.099446 -2.74905 -0.135489
+v -0.098814 -3.1176 -0.293360
+v -0.098814 -3.1176 0.293360
+v -0.092592 -2.7 -0.177968
+v -0.092592 -2.7 0.177968
+v -0.092592 -2.7 -0.177968
+v -0.092592 -2.7 0.177968
+v -0.090306 -3.14145 -0.173255
+v -0.090306 -3.14145 0.173255
+v -0.089140 -2.6592 -0.265363
+v -0.089140 -2.6592 0.265363
+v -0.087511 -2.9232 -0.259910
+v -0.087511 -2.9232 0.259910
+v -0.086273 -2.5974 -0.519028
+v -0.086273 -2.5974 0.519028
+v -0.083047 -2.8044 -0.159496
+v -0.083047 -2.8044 0.159496
+v -0.077523 -2.74905 -0.148969
+v -0.077523 -2.74905 0.148969
+v -0.070270 -2.86335 -0.208794
+v -0.070270 -2.86335 0.208794
+v -0.064188 -2.6256 -0.386161
+v -0.064188 -2.6256 0.386161
+v -0.063808 -2.7 -0.189952
+v -0.063808 -2.7 0.189952
+v -0.063808 -2.7 -0.189952
+v -0.063808 -2.7 0.189952
+v -0.063708 -0.002175 0.383274
+v -0.063708 -0.002175 -0.383274
+v -0.062272 -3.14145 -0.184870
+v -0.062272 -3.14145 0.184870
+v -0.059016 -3.0348 -0.353807
+v -0.059016 -3.0348 0.353807
+v -0.058988 -3.08115 -0.353610
+v -0.058988 -3.08115 0.353610
+v -0.057246 -2.8044 -0.170215
+v -0.057246 -2.8044 0.170215
+v -0.053508 -2.98125 -0.320834
+v -0.053508 -2.98125 0.320834
+v -0.053428 -2.74905 -0.158995
+v -0.053428 -2.74905 0.158995
+v -0.050855 -3.1176 -0.304843
+v -0.050855 -3.1176 0.304843
+v -0.045844 -2.6592 -0.275801
+v -0.045844 -2.6592 0.275801
+v -0.045032 -2.9232 -0.270092
+v -0.045032 -2.9232 0.270092
+v -0.036157 -2.86335 -0.216979
+v -0.036157 -2.86335 0.216979
+v -0.032816 -2.7 -0.197424
+v -0.032816 -2.7 0.197424
+v -0.032816 -2.7 -0.197424
+v -0.032816 -2.7 0.197424
+v -0.032048 -3.14145 -0.192107
+v -0.032048 -3.14145 0.192107
+v -0.029450 -2.8044 -0.176897
+v -0.029450 -2.8044 0.176897
+v -0.027480 -2.74905 -0.165245
+v -0.027480 -2.74905 0.165245
+v -0.000000 -0.260025 1.608000
+v -0.000000 -1.929525 1.718250
+v -0.000000 -2.0856 -1.648000
+v -0.000000 -0.6564 -1.948000
+v -0.000000 -0.771675 -1.986000
+v -0.000000 -2.482687 1.382225
+v -0.000000 -2.7 -0.200000
+v -0.000000 -0.127575 1.496475
+v -0.000000 -2.4744 -1.204800
+v -0.000000 -2.74905 -0.167400
+v -0.000000 -0.018225 0.952425
+v -0.000000 -0.046875 -1.284375
+v -0.000000 -0.0648 1.382400
+v -0.000000 -0.384375 1.750000
+v -0.000000 -0.4632 1.824000
+v -0.000000 -0.553725 -1.892000
+v -0.000000 -1.037175 1.992750
+v -0.000000 -1.1784 1.972000
+v -0.000000 -1.323225 -1.939250
+v -0.000000 -1.621875 -1.843750
+v -0.000000 -1.7748 1.784000
+v -0.000000 -2.4 -1.300000
+v -0.000000 -2.435437 -1.480325
+v -0.000000 -2.435437 -1.385925
+v -0.000000 -2.463 -1.459600
+v -0.000000 -2.463 -1.380400
+v -0.000000 -2.4945 -1.390200
+v -0.000000 -2.5026 -1.100200
+v -0.000000 -2.8044 -0.179200
+v -0.000000 -2.86335 -0.219800
+v -0.000000 -2.5728 -0.673600
+v -0.000000 -0.1056 1.480800
+v -0.000000 -0.177075 -1.514000
+v -0.000000 -2.4945 -1.419800
+v -0.000000 -2.5272 -0.970400
+v -0.000000 -2.9232 -0.273600
+v -0.000000 -3.1176 -0.308800
+v -0.000000 -2.5974 -0.525800
+v -0.000000 -2.7 -0.200000
+v -0.000000 -2.98125 -0.325000
+v -0.000000 -3.14145 -0.194600
+v -0.000000 -0.002175 0.388275
+v -0.000000 -3.08115 -0.358200
+v 0.000000 -0.0 0.000000
+v 0.000000 -0.002175 -0.388275
+v 0.000000 -0.002175 0.388275
+v 0.000000 -0.0084 -0.703200
+v 0.000000 -0.0084 0.703200
+v 0.000000 -0.018225 -0.952425
+v 0.000000 -0.018225 0.952425
+v 0.000000 -0.0312 -1.143600
+v 0.000000 -0.0312 -1.143600
+v 0.000000 -0.0312 1.143600
+v 0.000000 -0.0312 1.143600
+v 0.000000 -0.046875 -1.284375
+v 0.000000 -0.046875 1.284375
+v 0.000000 -0.0648 -1.382400
+v 0.000000 -0.0648 1.382400
+v 0.000000 -0.084525 -1.445325
+v 0.000000 -0.084525 -1.445325
+v 0.000000 -0.084525 1.445325
+v 0.000000 -0.084525 1.445325
+v 0.000000 -0.1056 -1.480800
+v 0.000000 -0.1056 1.480800
+v 0.000000 -0.127575 -1.496475
+v 0.000000 -0.127575 1.496475
+v 0.000000 -0.15 -1.500000
+v 0.000000 -0.15 -1.500000
+v 0.000000 -0.15 1.500000
+v 0.000000 -0.15 1.500000
+v 0.000000 -0.177075 -1.514000
+v 0.000000 -0.177075 1.514000
+v 0.000000 -0.2136 -1.552000
+v 0.000000 -0.2136 -1.552000
+v 0.000000 -0.2136 1.552000
+v 0.000000 -0.2136 1.552000
+v 0.000000 -0.260025 -1.608000
+v 0.000000 -0.260025 1.608000
+v 0.000000 -0.3168 -1.676000
+v 0.000000 -0.3168 -1.676000
+v 0.000000 -0.3168 1.676000
+v 0.000000 -0.3168 1.676000
+v 0.000000 -0.384375 -1.750000
+v 0.000000 -0.384375 1.750000
+v 0.000000 -0.4632 -1.824000
+v 0.000000 -0.4632 1.824000
+v 0.000000 -0.553725 -1.892000
+v 0.000000 -0.553725 1.892000
+v 0.000000 -0.6564 -1.948000
+v 0.000000 -0.6564 1.948000
+v 0.000000 -0.771675 -1.986000
+v 0.000000 -0.771675 1.986000
+v 0.000000 -0.9 -2.000000
+v 0.000000 -0.9 -2.000000
+v 0.000000 -0.9 2.000000
+v 0.000000 -0.9 2.000000
+v 0.000000 -1.037175 -1.992750
+v 0.000000 -1.037175 1.992750
+v 0.000000 -1.1784 -1.972000
+v 0.000000 -1.1784 1.972000
+v 0.000000 -1.323225 -1.939250
+v 0.000000 -1.323225 1.939250
+v 0.000000 -1.4712 -1.896000
+v 0.000000 -1.4712 -1.896000
+v 0.000000 -1.4712 1.896000
+v 0.000000 -1.4712 1.896000
+v 0.000000 -1.621875 -1.843750
+v 0.000000 -1.621875 1.843750
+v 0.000000 -1.7748 -1.784000
+v 0.000000 -1.7748 1.784000
+v 0.000000 -1.929525 -1.718250
+v 0.000000 -1.929525 1.718250
+v 0.000000 -2.0856 -1.648000
+v 0.000000 -2.0856 1.648000
+v 0.000000 -2.242575 -1.574750
+v 0.000000 -2.242575 -1.574750
+v 0.000000 -2.242575 1.574750
+v 0.000000 -2.242575 1.574750
+v 0.000000 -2.4 -1.500000
+v 0.000000 -2.4 -1.500000
+v 0.000000 -2.4 -1.400000
+v 0.000000 -2.4 -1.400000
+v 0.000000 -2.4 -1.300000
+v 0.000000 -2.4 1.300000
+v 0.000000 -2.4 1.400000
+v 0.000000 -2.4 1.400000
+v 0.000000 -2.4 1.500000
+v 0.000000 -2.4 1.500000
+v 0.000000 -2.435437 -1.480325
+v 0.000000 -2.435437 -1.385925
+v 0.000000 -2.435437 1.385925
+v 0.000000 -2.435437 1.480325
+v 0.000000 -2.4408 -1.274600
+v 0.000000 -2.4408 -1.274600
+v 0.000000 -2.4408 1.274600
+v 0.000000 -2.4408 1.274600
+v 0.000000 -2.463 -1.459600
+v 0.000000 -2.463 -1.380400
+v 0.000000 -2.463 1.380400
+v 0.000000 -2.463 1.459600
+v 0.000000 -2.4744 -1.204800
+v 0.000000 -2.4744 1.204800
+v 0.000000 -2.482687 -1.439025
+v 0.000000 -2.482687 -1.382225
+v 0.000000 -2.482687 1.382225
+v 0.000000 -2.482687 1.439025
+v 0.000000 -2.4945 -1.419800
+v 0.000000 -2.4945 -1.390200
+v 0.000000 -2.4945 1.390200
+v 0.000000 -2.4945 1.419800
+v 0.000000 -2.498438 -1.403125
+v 0.000000 -2.498438 -1.403125
+v 0.000000 -2.498438 1.403125
+v 0.000000 -2.498438 1.403125
+v 0.000000 -2.5026 -1.100200
+v 0.000000 -2.5026 1.100200
+v 0.000000 -2.5272 -0.970400
+v 0.000000 -2.5272 0.970400
+v 0.000000 -2.55 -0.825000
+v 0.000000 -2.55 -0.825000
+v 0.000000 -2.55 0.825000
+v 0.000000 -2.55 0.825000
+v 0.000000 -2.5728 -0.673600
+v 0.000000 -2.5728 0.673600
+v 0.000000 -2.5974 -0.525800
+v 0.000000 -2.5974 0.525800
+v 0.000000 -2.6256 -0.391200
+v 0.000000 -2.6256 -0.391200
+v 0.000000 -2.6256 0.391200
+v 0.000000 -2.6256 0.391200
+v 0.000000 -2.6592 -0.279400
+v 0.000000 -2.6592 0.279400
+v 0.000000 -2.7 -0.200000
+v 0.000000 -2.7 -0.200000
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.74905 -0.167400
+v 0.000000 -2.74905 0.167400
+v 0.000000 -2.8044 -0.179200
+v 0.000000 -2.8044 0.179200
+v 0.000000 -2.86335 -0.219800
+v 0.000000 -2.86335 0.219800
+v 0.000000 -2.9232 -0.273600
+v 0.000000 -2.9232 0.273600
+v 0.000000 -2.98125 -0.325000
+v 0.000000 -2.98125 0.325000
+v 0.000000 -3.0348 -0.358400
+v 0.000000 -3.0348 -0.358400
+v 0.000000 -3.0348 0.358400
+v 0.000000 -3.0348 0.358400
+v 0.000000 -3.08115 -0.358200
+v 0.000000 -3.08115 0.358200
+v 0.000000 -3.1176 -0.308800
+v 0.000000 -3.1176 0.308800
+v 0.000000 -3.14145 -0.194600
+v 0.000000 -3.14145 0.194600
+v 0.000000 -3.15 0.000000
+v 0.000000 -0.002175 -0.388275
+v 0.000000 -3.08115 0.358200
+v 0.000000 -2.5974 0.525800
+v 0.000000 -2.7 0.200000
+v 0.000000 -2.98125 0.325000
+v 0.000000 -3.14145 0.194600
+v 0.000000 -3.1176 0.308800
+v 0.000000 -0.1056 -1.480800
+v 0.000000 -0.177075 1.514000
+v 0.000000 -2.4945 1.419800
+v 0.000000 -2.5272 0.970400
+v 0.000000 -2.9232 0.273600
+v 0.000000 -2.5728 0.673600
+v 0.000000 -2.86335 0.219800
+v 0.000000 -0.018225 -0.952425
+v 0.000000 -0.046875 1.284375
+v 0.000000 -0.0648 -1.382400
+v 0.000000 -0.384375 -1.750000
+v 0.000000 -0.4632 -1.824000
+v 0.000000 -0.553725 1.892000
+v 0.000000 -1.037175 -1.992750
+v 0.000000 -1.1784 -1.972000
+v 0.000000 -1.323225 1.939250
+v 0.000000 -1.621875 1.843750
+v 0.000000 -1.7748 -1.784000
+v 0.000000 -2.4 1.300000
+v 0.000000 -2.435437 1.385925
+v 0.000000 -2.435437 1.480325
+v 0.000000 -2.463 1.380400
+v 0.000000 -2.463 1.459600
+v 0.000000 -2.4945 1.390200
+v 0.000000 -2.5026 1.100200
+v 0.000000 -2.8044 0.179200
+v 0.000000 -2.74905 0.167400
+v 0.000000 -0.127575 -1.496475
+v 0.000000 -2.4744 1.204800
+v 0.000000 -0.6564 1.948000
+v 0.000000 -0.771675 1.986000
+v 0.000000 -2.482687 -1.382225
+v 0.000000 -2.7 0.200000
+v 0.000000 -0.260025 -1.608000
+v 0.000000 -1.929525 -1.718250
+v 0.000000 -2.0856 1.648000
+v 0.027480 -2.74905 -0.165245
+v 0.027480 -2.74905 0.165245
+v 0.029450 -2.8044 -0.176897
+v 0.029450 -2.8044 0.176897
+v 0.032048 -3.14145 -0.192107
+v 0.032048 -3.14145 0.192107
+v 0.032816 -2.7 -0.197424
+v 0.032816 -2.7 0.197424
+v 0.032816 -2.7 -0.197424
+v 0.032816 -2.7 0.197424
+v 0.036157 -2.86335 -0.216979
+v 0.036157 -2.86335 0.216979
+v 0.045032 -2.9232 -0.270092
+v 0.045032 -2.9232 0.270092
+v 0.045844 -2.6592 -0.275801
+v 0.045844 -2.6592 0.275801
+v 0.050855 -3.1176 -0.304843
+v 0.050855 -3.1176 0.304843
+v 0.053428 -2.74905 -0.158995
+v 0.053428 -2.74905 0.158995
+v 0.053508 -2.98125 -0.320834
+v 0.053508 -2.98125 0.320834
+v 0.057246 -2.8044 -0.170215
+v 0.057246 -2.8044 0.170215
+v 0.058988 -3.08115 -0.353610
+v 0.058988 -3.08115 0.353610
+v 0.059016 -3.0348 -0.353807
+v 0.059016 -3.0348 0.353807
+v 0.062272 -3.14145 -0.184870
+v 0.062272 -3.14145 0.184870
+v 0.063708 -0.002175 0.383274
+v 0.063708 -0.002175 -0.383274
+v 0.063808 -2.7 -0.189952
+v 0.063808 -2.7 0.189952
+v 0.063808 -2.7 -0.189952
+v 0.063808 -2.7 0.189952
+v 0.064188 -2.6256 -0.386161
+v 0.064188 -2.6256 0.386161
+v 0.070270 -2.86335 -0.208794
+v 0.070270 -2.86335 0.208794
+v 0.077523 -2.74905 -0.148969
+v 0.077523 -2.74905 0.148969
+v 0.083047 -2.8044 -0.159496
+v 0.083047 -2.8044 0.159496
+v 0.086273 -2.5974 -0.519028
+v 0.086273 -2.5974 0.519028
+v 0.087511 -2.9232 -0.259910
+v 0.087511 -2.9232 0.259910
+v 0.089140 -2.6592 -0.265363
+v 0.089140 -2.6592 0.265363
+v 0.090306 -3.14145 -0.173255
+v 0.090306 -3.14145 0.173255
+v 0.092592 -2.7 -0.177968
+v 0.092592 -2.7 0.177968
+v 0.092592 -2.7 -0.177968
+v 0.092592 -2.7 0.177968
+v 0.098814 -3.1176 -0.293360
+v 0.098814 -3.1176 0.293360
+v 0.099446 -2.74905 0.135489
+v 0.099446 -2.74905 -0.135489
+v 0.101925 -2.86335 -0.195658
+v 0.101925 -2.86335 0.195658
+v 0.103976 -2.98125 -0.308744
+v 0.103976 -2.98125 0.308744
+v 0.106513 -2.8044 -0.145078
+v 0.106513 -2.8044 0.145078
+v 0.110524 -2.5728 -0.664924
+v 0.110524 -2.5728 0.664924
+v 0.114619 -3.08115 -0.340289
+v 0.114619 -3.08115 0.340289
+v 0.114676 -3.0348 -0.340477
+v 0.114676 -3.0348 0.340477
+v 0.115381 -0.0084 0.694143
+v 0.115381 -0.0084 -0.694143
+v 0.115787 -3.14145 -0.157626
+v 0.115787 -3.14145 0.157626
+v 0.118784 -2.7 0.161856
+v 0.118784 -2.7 -0.161856
+v 0.118784 -2.7 -0.161856
+v 0.118784 -2.7 0.161856
+v 0.118874 -2.74905 0.118874
+v 0.118874 -2.74905 -0.118874
+v 0.123875 -0.002175 0.368768
+v 0.123875 -0.002175 -0.368768
+v 0.124808 -2.6256 -0.371546
+v 0.124808 -2.6256 0.371546
+v 0.126920 -2.9232 -0.243569
+v 0.126920 -2.9232 0.243569
+v 0.127304 -2.8044 0.127304
+v 0.127304 -2.8044 -0.127304
+v 0.129351 -2.6592 0.248621
+v 0.129351 -2.6592 -0.248621
+v 0.130707 -2.86335 -0.177989
+v 0.130707 -2.86335 0.177989
+v 0.135366 -2.55 -0.814374
+v 0.135366 -2.55 0.814374
+v 0.135489 -2.74905 0.099446
+v 0.135489 -2.74905 -0.099446
+v 0.138348 -3.14145 -0.138348
+v 0.138348 -3.14145 0.138348
+v 0.142000 -2.7 0.142000
+v 0.142000 -2.7 -0.142000
+v 0.142000 -2.7 -0.142000
+v 0.142000 -2.7 0.142000
+v 0.143301 -3.1176 -0.274928
+v 0.143301 -3.1176 0.274928
+v 0.145078 -2.8044 0.106513
+v 0.145078 -2.8044 -0.106513
+v 0.148969 -2.74905 0.077523
+v 0.148969 -2.74905 -0.077523
+v 0.150793 -2.98125 -0.289340
+v 0.150793 -2.98125 0.289340
+v 0.156200 -2.86335 -0.156200
+v 0.156200 -2.86335 0.156200
+v 0.156274 -0.018225 0.940158
+v 0.156274 -0.018225 -0.940158
+v 0.157626 -3.14145 -0.115787
+v 0.157626 -3.14145 0.115787
+v 0.158995 -2.74905 0.053428
+v 0.158995 -2.74905 -0.053428
+v 0.159223 -2.5272 -0.957901
+v 0.159223 -2.5272 0.957901
+v 0.159496 -2.8044 0.083047
+v 0.159496 -2.8044 -0.083047
+v 0.161856 -2.7 0.118784
+v 0.161856 -2.7 -0.118784
+v 0.161856 -2.7 -0.118784
+v 0.161856 -2.7 0.118784
+v 0.162745 -2.9232 -0.221585
+v 0.162745 -2.9232 0.221585
+v 0.165245 -2.74905 0.027480
+v 0.165245 -2.74905 -0.027480
+v 0.165941 -2.6592 -0.226113
+v 0.165941 -2.6592 0.226113
+v 0.166221 -3.08115 0.318907
+v 0.166221 -3.08115 -0.318907
+v 0.166306 -3.0348 -0.319082
+v 0.166306 -3.0348 0.319082
+v 0.167400 -2.74905 -0.000000
+v 0.167400 -2.74905 0.000000
+v 0.167751 -2.5974 -0.499384
+v 0.167751 -2.5974 0.499384
+v 0.170215 -2.8044 0.057246
+v 0.170215 -2.8044 -0.057246
+v 0.173255 -3.14145 -0.090306
+v 0.173255 -3.14145 0.090306
+v 0.176897 -2.8044 0.029450
+v 0.176897 -2.8044 -0.029450
+v 0.177968 -2.7 0.092592
+v 0.177968 -2.7 -0.092592
+v 0.177968 -2.7 -0.092592
+v 0.177968 -2.7 0.092592
+v 0.177989 -2.86335 -0.130707
+v 0.177989 -2.86335 0.130707
+v 0.179200 -2.8044 -0.000000
+v 0.179200 -2.8044 0.000000
+v 0.179756 -0.002175 -0.345503
+v 0.179756 -0.002175 0.345503
+v 0.180521 -2.5026 -1.086029
+v 0.180521 -2.5026 1.086029
+v 0.181110 -2.6256 0.348105
+v 0.181110 -2.6256 -0.348105
+v 0.183734 -3.1176 -0.250127
+v 0.183734 -3.1176 0.250127
+v 0.184870 -3.14145 -0.062272
+v 0.184870 -3.14145 0.062272
+v 0.187642 -0.0312 1.128870
+v 0.187642 -0.0312 -1.128870
+v 0.189952 -2.7 0.063808
+v 0.189952 -2.7 -0.063808
+v 0.189952 -2.7 -0.063808
+v 0.189952 -2.7 0.063808
+v 0.192107 -3.14145 -0.032048
+v 0.192107 -3.14145 0.032048
+v 0.193348 -2.98125 -0.263232
+v 0.193348 -2.98125 0.263232
+v 0.194472 -2.9232 -0.194472
+v 0.194472 -2.9232 0.194472
+v 0.194600 -3.14145 0.000000
+v 0.194600 -3.14145 -0.000000
+v 0.195658 -2.86335 -0.101925
+v 0.195658 -2.86335 0.101925
+v 0.197424 -2.7 0.032816
+v 0.197424 -2.7 -0.032816
+v 0.197424 -2.7 -0.032816
+v 0.197424 -2.7 0.032816
+v 0.197684 -2.4744 -1.189282
+v 0.197684 -2.4744 1.189282
+v 0.198374 -2.6592 -0.198374
+v 0.198374 -2.6592 0.198374
+v 0.200000 -2.7 -0.000000
+v 0.200000 -2.7 0.000000
+v 0.200000 -2.7 0.000000
+v 0.200000 -2.7 -0.000000
+v 0.208794 -2.86335 0.070270
+v 0.208794 -2.86335 -0.070270
+v 0.209136 -2.4408 -1.258183
+v 0.209136 -2.4408 1.258183
+v 0.210740 -0.046875 -1.267832
+v 0.210740 -0.046875 1.267832
+v 0.213123 -3.08115 -0.290138
+v 0.213123 -3.08115 0.290138
+v 0.213234 -3.0348 -0.290295
+v 0.213234 -3.0348 0.290295
+v 0.213304 -2.4 -1.283256
+v 0.213304 -2.4 1.283256
+v 0.214905 -2.5728 -0.639758
+v 0.214905 -2.5728 0.639758
+v 0.216979 -2.86335 0.036157
+v 0.216979 -2.86335 -0.036157
+v 0.219536 -3.1176 -0.219536
+v 0.219536 -3.1176 0.219536
+v 0.219800 -2.86335 -0.000000
+v 0.219800 -2.86335 0.000000
+v 0.221585 -2.9232 -0.162745
+v 0.221585 -2.9232 0.162745
+v 0.224349 -0.0084 0.667871
+v 0.224349 -0.0084 -0.667871
+v 0.226113 -2.6592 -0.165941
+v 0.226113 -2.6592 0.165941
+v 0.226496 -2.463 -1.362620
+v 0.226496 -2.463 1.362620
+v 0.226795 -2.482687 1.364422
+v 0.226795 -2.482687 -1.364422
+v 0.226824 -0.0648 1.364595
+v 0.226824 -0.0648 -1.364595
+v 0.227403 -2.435437 -1.368074
+v 0.227403 -2.435437 1.368074
+v 0.228104 -2.4945 -1.372294
+v 0.228104 -2.4945 1.372294
+v 0.229712 -2.4 -1.381968
+v 0.229712 -2.4 1.381968
+v 0.230225 -2.498438 -1.385053
+v 0.230225 -2.498438 1.385053
+v 0.230604 -0.002175 -0.314223
+v 0.230604 -0.002175 0.314223
+v 0.231031 -2.98125 -0.231031
+v 0.231031 -2.98125 0.231031
+v 0.232342 -2.6256 -0.316590
+v 0.232342 -2.6256 0.316590
+v 0.232961 -2.4945 -1.401513
+v 0.232961 -2.4945 1.401513
+v 0.236115 -2.482687 -1.420490
+v 0.236115 -2.482687 1.420490
+v 0.237149 -0.084525 1.426709
+v 0.237149 -0.084525 -1.426709
+v 0.239491 -2.463 -1.440800
+v 0.239491 -2.463 1.440800
+v 0.242892 -2.435437 -1.461258
+v 0.242892 -2.435437 1.461258
+v 0.242970 -0.1056 1.461727
+v 0.242970 -0.1056 -1.461727
+v 0.243424 -2.5974 0.467878
+v 0.243424 -2.5974 -0.467878
+v 0.243569 -2.9232 -0.126920
+v 0.243569 -2.9232 0.126920
+v 0.245542 -0.127575 1.477200
+v 0.245542 -0.127575 -1.477200
+v 0.246120 -0.15 -1.480680
+v 0.246120 -2.4 -1.480680
+v 0.246120 -0.15 1.480680
+v 0.246120 -0.15 1.480680
+v 0.246120 -2.4 1.480680
+v 0.246120 -0.15 -1.480680
+v 0.248417 -0.177075 -1.494500
+v 0.248417 -0.177075 1.494500
+v 0.248621 -2.6592 0.129351
+v 0.248621 -2.6592 -0.129351
+v 0.250127 -3.1176 -0.183734
+v 0.250127 -3.1176 0.183734
+v 0.254652 -0.2136 -1.532010
+v 0.254652 -0.2136 1.532010
+v 0.254653 -3.08115 -0.254653
+v 0.254653 -3.08115 0.254653
+v 0.254788 -3.0348 -0.254788
+v 0.254788 -3.0348 0.254788
+v 0.258385 -2.242575 -1.554467
+v 0.258385 -2.242575 1.554467
+v 0.259910 -2.9232 -0.087511
+v 0.259910 -2.9232 0.087511
+v 0.263208 -2.55 -0.783552
+v 0.263208 -2.55 0.783552
+v 0.263232 -2.98125 -0.193348
+v 0.263232 -2.98125 0.193348
+v 0.263841 -0.260025 1.587289
+v 0.263841 -0.260025 -1.587289
+v 0.265363 -2.6592 -0.089140
+v 0.265363 -2.6592 0.089140
+v 0.270092 -2.9232 -0.045032
+v 0.270092 -2.9232 0.045032
+v 0.270404 -2.0856 -1.626774
+v 0.270404 -2.0856 1.626774
+v 0.273600 -2.9232 -0.000000
+v 0.273600 -2.9232 0.000000
+v 0.274928 -3.1176 -0.143301
+v 0.274928 -3.1176 0.143301
+v 0.274998 -0.3168 -1.654413
+v 0.274998 -0.3168 1.654413
+v 0.275675 -0.002175 -0.275675
+v 0.275675 -0.002175 0.275675
+v 0.275801 -2.6592 -0.045844
+v 0.275801 -2.6592 0.045844
+v 0.277752 -2.6256 -0.277752
+v 0.277752 -2.6256 0.277752
+v 0.279400 -2.6592 0.000000
+v 0.281930 -1.929525 1.696119
+v 0.281930 -1.929525 -1.696119
+v 0.287140 -0.384375 -1.727460
+v 0.287140 -0.384375 1.727460
+v 0.289340 -2.98125 -0.150793
+v 0.289340 -2.98125 0.150793
+v 0.290138 -3.08115 -0.213123
+v 0.290138 -3.08115 0.213123
+v 0.290295 -3.0348 -0.213234
+v 0.290295 -3.0348 0.213234
+v 0.292719 -1.7748 -1.761022
+v 0.292719 -1.7748 1.761022
+v 0.293360 -3.1176 -0.098814
+v 0.293360 -3.1176 0.098814
+v 0.299282 -0.4632 -1.800507
+v 0.299282 -0.4632 1.800507
+v 0.302522 -1.621875 -1.820003
+v 0.302523 -1.621875 1.820003
+v 0.303862 -0.018225 0.904575
+v 0.303862 -0.018225 -0.904575
+v 0.304843 -3.1176 -0.050855
+v 0.304843 -3.1176 0.050855
+v 0.308744 -2.98125 -0.103976
+v 0.308744 -2.98125 0.103976
+v 0.308800 -3.1176 0.000000
+v 0.308800 -3.1176 -0.000000
+v 0.309596 -2.5272 -0.921647
+v 0.309596 -2.5272 0.921647
+v 0.310439 -0.553725 -1.867631
+v 0.310439 -0.553725 1.867631
+v 0.311096 -1.4712 -1.871580
+v 0.311096 -1.4712 1.871580
+v 0.311850 -2.5728 -0.599396
+v 0.311850 -2.5728 0.599396
+v 0.312283 -2.5974 -0.425519
+v 0.312283 -2.5974 0.425519
+v 0.314223 -0.002175 -0.230604
+v 0.314223 -0.002175 0.230604
+v 0.316590 -2.6256 -0.232342
+v 0.316590 -2.6256 0.232342
+v 0.318192 -1.323225 -1.914272
+v 0.318192 -1.323225 1.914272
+v 0.318907 -3.08115 -0.166221
+v 0.318907 -3.08115 0.166221
+v 0.319082 -3.0348 -0.166306
+v 0.319082 -3.0348 0.166306
+v 0.319628 -0.6564 -1.922910
+v 0.319628 -0.6564 1.922910
+v 0.320834 -2.98125 -0.053508
+v 0.320834 -2.98125 0.053508
+v 0.323566 -1.1784 -1.946601
+v 0.323566 -1.1784 1.946601
+v 0.325000 -2.98125 0.000000
+v 0.325000 -2.98125 -0.000000
+v 0.325553 -0.0084 -0.625735
+v 0.325553 -0.0084 0.625735
+v 0.325863 -0.771675 -1.960420
+v 0.325863 -0.771675 1.960420
+v 0.326970 -1.037175 -1.967083
+v 0.326970 -1.037175 1.967083
+v 0.328160 -0.9 -1.974240
+v 0.328160 -0.9 -1.974240
+v 0.328160 -0.9 1.974240
+v 0.340289 -3.08115 -0.114619
+v 0.340289 -3.08115 0.114619
+v 0.340477 -3.0348 -0.114676
+v 0.340477 -3.0348 0.114676
+v 0.345503 -0.002175 -0.179756
+v 0.345503 -0.002175 0.179756
+v 0.348105 -2.6256 -0.181110
+v 0.348105 -2.6256 0.181110
+v 0.351008 -2.5026 -1.044926
+v 0.351008 -2.5026 1.044926
+v 0.353610 -3.08115 -0.058988
+v 0.353610 -3.08115 0.058988
+v 0.353807 -3.0348 -0.059016
+v 0.353807 -3.0348 0.059016
+v 0.358200 -3.08115 -0.000000
+v 0.358200 -3.08115 0.000000
+v 0.358400 -3.0348 0.000000
+v 0.358400 -3.0348 0.000000
+v 0.364854 -0.0312 1.086146
+v 0.364854 -0.0312 -1.086146
+v 0.368768 -0.002175 -0.123875
+v 0.368768 -0.002175 0.123875
+v 0.371546 -2.6256 -0.124808
+v 0.371546 -2.6256 0.124808
+v 0.373318 -2.5974 -0.373318
+v 0.373318 -2.5974 0.373318
+v 0.381942 -2.55 -0.734118
+v 0.381942 -2.55 0.734118
+v 0.383274 -0.002175 -0.063708
+v 0.383274 -0.002175 0.063708
+v 0.384379 -2.4744 -1.144271
+v 0.384379 -2.4744 1.144271
+v 0.386161 -2.6256 -0.064188
+v 0.386161 -2.6256 0.064188
+v 0.388275 -0.002175 0.000000
+v 0.388275 -0.002175 0.000000
+v 0.391200 -2.6256 0.000000
+v 0.391200 -2.6256 0.000000
+v 0.400065 -2.5728 -0.545131
+v 0.400065 -2.5728 0.545131
+v 0.406648 -2.4408 -1.210564
+v 0.406648 -2.4408 1.210564
+v 0.409767 -0.046875 1.219848
+v 0.409767 -0.046875 -1.219848
+v 0.414752 -2.4 -1.234688
+v 0.414752 -2.4 1.234688
+v 0.417645 -0.0084 -0.569086
+v 0.417645 -0.0084 0.569086
+v 0.425519 -2.5974 0.312283
+v 0.425519 -2.5974 -0.312283
+v 0.440403 -2.463 -1.311049
+v 0.440403 -2.463 1.311049
+v 0.440935 -0.018225 0.847506
+v 0.440935 -0.018225 -0.847506
+v 0.440985 -2.482687 -1.312782
+v 0.440985 -2.482687 1.312782
+v 0.441041 -0.0648 1.312948
+v 0.441041 -0.0648 -1.312948
+v 0.442166 -2.435437 -1.316296
+v 0.442166 -2.435437 1.316296
+v 0.443529 -2.4945 -1.320356
+v 0.443529 -2.4945 1.320356
+v 0.446656 -2.4 -1.329664
+v 0.446656 -2.4 1.329664
+v 0.447653 -2.498438 -1.332632
+v 0.447653 -2.498438 1.332632
+v 0.449256 -2.5272 -0.863501
+v 0.449256 -2.5272 0.863501
+v 0.452973 -2.4945 -1.348469
+v 0.452973 -2.4945 1.348469
+v 0.459107 -2.482687 -1.366728
+v 0.459107 -2.482687 1.366728
+v 0.461116 -0.084525 1.372712
+v 0.461116 -0.084525 -1.372712
+v 0.465671 -2.463 -1.386270
+v 0.465671 -2.463 1.386270
+v 0.467878 -2.5974 -0.243424
+v 0.467878 -2.5974 0.243424
+v 0.472283 -2.435437 -1.405953
+v 0.472283 -2.435437 1.405953
+v 0.472434 -0.1056 1.406405
+v 0.472434 -0.1056 -1.406405
+v 0.477435 -0.127575 1.421292
+v 0.477435 -0.127575 -1.421292
+v 0.478256 -2.5728 -0.478256
+v 0.478256 -2.5728 0.478256
+v 0.478560 -0.15 -1.424640
+v 0.478560 -2.4 -1.424640
+v 0.478560 -0.15 1.424640
+v 0.478560 -0.15 1.424640
+v 0.478560 -0.15 -1.424640
+v 0.478560 -2.4 1.424640
+v 0.483027 -0.177075 -1.437937
+v 0.483027 -0.177075 1.437937
+v 0.489984 -2.55 -0.667656
+v 0.489984 -2.55 0.667656
+v 0.495150 -0.2136 -1.474028
+v 0.495150 -0.2136 1.474028
+v 0.499272 -0.0084 -0.499272
+v 0.499272 -0.0084 0.499272
+v 0.499384 -2.5974 -0.167751
+v 0.499384 -2.5974 0.167751
+v 0.502408 -2.242575 -1.495635
+v 0.502408 -2.242575 1.495635
+v 0.509349 -2.5026 0.979002
+v 0.509349 -2.5026 -0.979002
+v 0.513016 -0.260025 -1.527214
+v 0.513016 -0.260025 1.527214
+v 0.519028 -2.5974 0.086273
+v 0.519028 -2.5974 -0.086273
+v 0.525778 -2.0856 -1.565204
+v 0.525778 -2.0856 1.565204
+v 0.525800 -2.5974 -0.000000
+v 0.525800 -2.5974 0.000000
+v 0.529441 -0.0312 -1.017621
+v 0.529441 -0.0312 1.017621
+v 0.534711 -0.3168 -1.591798
+v 0.534711 -0.3168 1.591798
+v 0.545131 -2.5728 -0.400065
+v 0.545131 -2.5728 0.400065
+v 0.548190 -1.929525 -1.631925
+v 0.548190 -1.929525 1.631925
+v 0.557774 -2.4744 -1.072079
+v 0.557774 -2.4744 1.072079
+v 0.558320 -0.384375 -1.662080
+v 0.558320 -0.384375 1.662080
+v 0.565664 -0.018225 0.770779
+v 0.565664 -0.018225 -0.770779
+v 0.569086 -0.0084 -0.417645
+v 0.569086 -0.0084 0.417645
+v 0.569167 -1.7748 -1.694372
+v 0.569167 -1.7748 1.694372
+v 0.576340 -2.5272 -0.785325
+v 0.576340 -2.5272 0.785325
+v 0.581929 -0.4632 -1.732362
+v 0.581929 -0.4632 1.732362
+v 0.585750 -2.55 -0.585750
+v 0.585750 -2.55 0.585750
+v 0.588230 -1.621875 -1.751120
+v 0.588230 -1.621875 1.751120
+v 0.590089 -2.4408 1.134190
+v 0.590089 -2.4408 -1.134190
+v 0.594614 -0.046875 -1.142888
+v 0.594614 -0.046875 1.142888
+v 0.599396 -2.5728 -0.311850
+v 0.599396 -2.5728 0.311850
+v 0.601848 -2.4 -1.156792
+v 0.601848 -2.4 1.156792
+v 0.603624 -0.553725 -1.796946
+v 0.603624 -0.553725 1.796946
+v 0.604900 -1.4712 -1.800745
+v 0.604900 -1.4712 1.800745
+v 0.618698 -1.323225 -1.841822
+v 0.618698 -1.323225 1.841822
+v 0.621490 -0.6564 -1.850132
+v 0.621490 -0.6564 1.850132
+v 0.625735 -0.0084 0.325553
+v 0.625735 -0.0084 -0.325553
+v 0.629147 -1.1784 -1.872927
+v 0.629147 -1.1784 1.872927
+v 0.633613 -0.771675 -1.886223
+v 0.633613 -0.771675 1.886223
+v 0.635767 -1.037175 -1.892634
+v 0.635767 -1.037175 1.892634
+v 0.638080 -0.9 -1.899520
+v 0.638080 -0.9 -1.899520
+v 0.638080 -0.9 1.899520
+v 0.638080 -0.9 1.899520
+v 0.639070 -2.463 -1.228335
+v 0.639070 -2.463 1.228335
+v 0.639758 -2.5728 -0.214905
+v 0.639758 -2.5728 0.214905
+v 0.639915 -2.482687 1.229959
+v 0.639915 -2.482687 -1.229959
+v 0.639996 -0.0648 -1.230115
+v 0.639996 -0.0648 1.230115
+v 0.641628 -2.435437 -1.233252
+v 0.641628 -2.435437 1.233252
+v 0.643607 -2.4945 -1.237056
+v 0.643607 -2.4945 1.237056
+v 0.648144 -2.4 -1.245776
+v 0.648144 -2.4 1.245776
+v 0.649591 -2.498438 -1.248557
+v 0.649591 -2.498438 1.248557
+v 0.653431 -2.5026 -0.890370
+v 0.653431 -2.5026 0.890370
+v 0.657311 -2.4945 -1.263395
+v 0.657311 -2.4945 1.263395
+v 0.664924 -2.5728 -0.110524
+v 0.664924 -2.5728 0.110524
+v 0.666211 -2.482687 1.280502
+v 0.666211 -2.482687 -1.280502
+v 0.667656 -2.55 -0.489984
+v 0.667656 -2.55 0.489984
+v 0.667871 -0.0084 -0.224349
+v 0.667871 -0.0084 0.224349
+v 0.669128 -0.084525 -1.286108
+v 0.669128 -0.084525 1.286108
+v 0.673600 -2.5728 0.000000
+v 0.673600 -2.5728 -0.000000
+v 0.675736 -2.463 -1.298810
+v 0.675736 -2.463 1.298810
+v 0.676222 -0.018225 0.676222
+v 0.676222 -0.018225 -0.676222
+v 0.679207 -0.0312 -0.925493
+v 0.679207 -0.0312 0.925493
+v 0.685331 -2.435437 -1.317252
+v 0.685331 -2.435437 1.317252
+v 0.685551 -0.1056 -1.317675
+v 0.685551 -0.1056 1.317675
+v 0.688984 -2.5272 -0.688984
+v 0.688984 -2.5272 0.688984
+v 0.692808 -0.127575 1.331623
+v 0.692808 -0.127575 -1.331623
+v 0.694143 -0.0084 -0.115381
+v 0.694143 -0.0084 0.115381
+v 0.694440 -0.15 1.334760
+v 0.694440 -0.15 -1.334760
+v 0.694440 -2.4 1.334760
+v 0.694440 -0.15 -1.334760
+v 0.694440 -0.15 1.334760
+v 0.694440 -2.4 -1.334760
+v 0.700921 -0.177075 1.347218
+v 0.700921 -0.177075 -1.347218
+v 0.703200 -0.0084 0.000000
+v 0.715555 -2.4744 -0.975021
+v 0.715555 -2.4744 0.975021
+v 0.718514 -0.2136 1.381032
+v 0.718514 -0.2136 -1.381032
+v 0.729046 -2.242575 -1.401276
+v 0.729046 -2.242575 1.401276
+v 0.734118 -2.55 -0.381942
+v 0.734118 -2.55 0.381942
+v 0.744440 -0.260025 1.430863
+v 0.744440 -0.260025 -1.430863
+v 0.757010 -2.4408 1.031508
+v 0.757010 -2.4408 -1.031508
+v 0.762816 -0.046875 -1.039419
+v 0.762816 -0.046875 1.039419
+v 0.762958 -2.0856 -1.466456
+v 0.762958 -2.0856 1.466456
+v 0.770779 -0.018225 0.565664
+v 0.770779 -0.018225 -0.565664
+v 0.772096 -2.4 -1.052064
+v 0.772096 -2.4 1.052064
+v 0.775921 -0.3168 -1.491372
+v 0.775921 -0.3168 1.491372
+v 0.781142 -2.5026 -0.781142
+v 0.781142 -2.5026 0.781142
+v 0.783552 -2.55 -0.263208
+v 0.783552 -2.55 0.263208
+v 0.785325 -2.5272 -0.576340
+v 0.785325 -2.5272 0.576340
+v 0.795481 -1.929525 1.528968
+v 0.795481 -1.929525 -1.528968
+v 0.810180 -0.384375 1.557220
+v 0.810180 -0.384375 -1.557220
+v 0.811956 -0.0312 0.811956
+v 0.811956 -0.0312 -0.811956
+v 0.814374 -2.55 -0.135366
+v 0.814374 -2.55 0.135366
+v 0.819847 -2.463 -1.117130
+v 0.819847 -2.463 1.117130
+v 0.820931 -2.482687 1.118607
+v 0.820931 -2.482687 -1.118607
+v 0.821035 -0.0648 1.118749
+v 0.821035 -0.0648 -1.118749
+v 0.823129 -2.435437 -1.121601
+v 0.823129 -2.435437 1.121601
+v 0.825000 -2.55 0.000000
+v 0.825000 -2.55 0.000000
+v 0.825668 -2.4945 -1.125061
+v 0.825668 -2.4945 1.125061
+v 0.825921 -1.7748 1.587475
+v 0.825921 -1.7748 -1.587475
+v 0.831488 -2.4 -1.132992
+v 0.831488 -2.4 1.132992
+v 0.833344 -2.498438 -1.135521
+v 0.833344 -2.498438 1.135521
+v 0.843248 -2.4945 -1.149016
+v 0.843248 -2.4945 1.149016
+v 0.844439 -0.4632 1.623068
+v 0.844439 -0.4632 -1.623068
+v 0.847506 -0.018225 -0.440935
+v 0.847506 -0.018225 0.440935
+v 0.853583 -1.621875 -1.640643
+v 0.853583 -1.621875 1.640643
+v 0.854666 -2.482687 -1.164574
+v 0.854666 -2.482687 1.164574
+v 0.855408 -2.4744 -0.855408
+v 0.855408 -2.4744 0.855408
+v 0.858407 -0.084525 -1.169673
+v 0.858407 -0.084525 1.169673
+v 0.863501 -2.5272 -0.449256
+v 0.863501 -2.5272 0.449256
+v 0.866886 -2.463 -1.181225
+v 0.866886 -2.463 1.181225
+v 0.875920 -0.553725 -1.683577
+v 0.875920 -0.553725 1.683577
+v 0.877772 -1.4712 -1.687137
+v 0.877772 -1.4712 1.687137
+v 0.879195 -2.435437 -1.197997
+v 0.879195 -2.435437 1.197997
+v 0.879477 -0.1056 -1.198382
+v 0.879477 -0.1056 1.198382
+v 0.888786 -0.127575 1.211067
+v 0.888786 -0.127575 -1.211067
+v 0.890370 -2.5026 -0.653431
+v 0.890370 -2.5026 0.653431
+v 0.890880 -0.15 -1.213920
+v 0.890880 -0.15 1.213920
+v 0.890880 -2.4 -1.213920
+v 0.890880 -0.15 -1.213920
+v 0.890880 -0.15 1.213920
+v 0.890880 -2.4 1.213920
+v 0.897795 -1.323225 -1.725622
+v 0.897795 -1.323225 1.725622
+v 0.899195 -0.177075 1.225250
+v 0.899195 -0.177075 -1.225250
+v 0.901846 -0.6564 -1.733408
+v 0.901846 -0.6564 1.733408
+v 0.904575 -0.018225 0.303862
+v 0.904575 -0.018225 -0.303862
+v 0.904966 -2.4408 0.904966
+v 0.904966 -2.4408 -0.904966
+v 0.911906 -0.046875 -0.911906
+v 0.911906 -0.046875 0.911906
+v 0.912957 -1.1784 -1.754764
+v 0.912957 -1.1784 1.754764
+v 0.919439 -0.771675 -1.767222
+v 0.919439 -0.771675 1.767222
+v 0.921647 -2.5272 -0.309596
+v 0.921647 -2.5272 0.309596
+v 0.921764 -0.2136 1.256003
+v 0.921764 -0.2136 -1.256003
+v 0.922564 -1.037175 1.773229
+v 0.922564 -1.037175 -1.773229
+v 0.923000 -2.4 -0.923000
+v 0.923000 -2.4 0.923000
+v 0.925493 -0.0312 0.679207
+v 0.925493 -0.0312 -0.679207
+v 0.925920 -0.9 1.779680
+v 0.925920 -0.9 -1.779680
+v 0.925920 -0.9 -1.779680
+v 0.925920 -0.9 1.779680
+v 0.935276 -2.242575 -1.274414
+v 0.935276 -2.242575 1.274414
+v 0.940158 -0.018225 0.156274
+v 0.940158 -0.018225 -0.156274
+v 0.952425 -0.018225 0.000000
+v 0.952425 -0.018225 0.000000
+v 0.955023 -0.260025 1.301322
+v 0.955023 -0.260025 -1.301322
+v 0.957901 -2.5272 -0.159223
+v 0.957901 -2.5272 0.159223
+v 0.970400 -2.5272 0.000000
+v 0.970400 -2.5272 -0.000000
+v 0.975021 -2.4744 -0.715555
+v 0.975021 -2.4744 0.715555
+v 0.978780 -2.0856 -1.333693
+v 0.978780 -2.0856 1.333693
+v 0.979002 -2.5026 0.509349
+v 0.979002 -2.5026 -0.509349
+v 0.980084 -2.463 -0.980084
+v 0.980084 -2.463 0.980084
+v 0.981380 -2.482687 -0.981380
+v 0.981380 -2.482687 0.981380
+v 0.981504 -0.0648 0.981504
+v 0.981504 -0.0648 -0.981504
+v 0.984007 -2.435437 -0.984007
+v 0.984007 -2.435437 0.984007
+v 0.987042 -2.4945 -0.987042
+v 0.987042 -2.4945 0.987042
+v 0.994000 -2.4 -0.994000
+v 0.994000 -2.4 0.994000
+v 0.995410 -0.3168 -1.356353
+v 0.995410 -0.3168 1.356353
+v 0.996219 -2.498438 -0.996219
+v 0.996219 -2.498438 0.996219
+v 1.008058 -2.4945 -1.008058
+v 1.008058 -2.4945 1.008058
+v 1.017621 -0.0312 0.529441
+v 1.017621 -0.0312 -0.529441
+v 1.020503 -1.929525 -1.390545
+v 1.020503 -1.929525 1.390545
+v 1.021708 -2.482687 -1.021708
+v 1.021708 -2.482687 1.021708
+v 1.026181 -0.084525 -1.026181
+v 1.026181 -0.084525 1.026181
+v 1.031508 -2.4408 0.757010
+v 1.031508 -2.4408 -0.757010
+v 1.036316 -2.463 -1.036316
+v 1.036316 -2.463 1.036316
+v 1.039360 -0.384375 -1.416240
+v 1.039360 -0.384375 1.416240
+v 1.039419 -0.046875 -0.762816
+v 1.039419 -0.046875 0.762816
+v 1.044926 -2.5026 -0.351008
+v 1.044926 -2.5026 0.351008
+v 1.051031 -2.435437 -1.051031
+v 1.051031 -2.435437 1.051031
+v 1.051368 -0.1056 -1.051368
+v 1.051368 -0.1056 1.051368
+v 1.052064 -2.4 -0.772096
+v 1.052064 -2.4 0.772096
+v 1.059553 -1.7748 -1.443756
+v 1.059553 -1.7748 1.443756
+v 1.062497 -0.127575 1.062497
+v 1.062497 -0.127575 -1.062497
+v 1.065000 -0.15 -1.065000
+v 1.065000 -0.15 1.065000
+v 1.065000 -2.4 -1.065000
+v 1.065000 -2.4 1.065000
+v 1.072079 -2.4744 -0.557774
+v 1.072079 -2.4744 0.557774
+v 1.074940 -0.177075 -1.074940
+v 1.074940 -0.177075 1.074940
+v 1.083310 -0.4632 -1.476127
+v 1.083310 -0.4632 1.476127
+v 1.086029 -2.5026 0.180521
+v 1.086029 -2.5026 -0.180521
+v 1.086146 -0.0312 0.364854
+v 1.086146 -0.0312 -0.364854
+v 1.095040 -1.621875 -1.492110
+v 1.095040 -1.621875 1.492110
+v 1.100200 -2.5026 -0.000000
+v 1.100200 -2.5026 0.000000
+v 1.101920 -0.2136 1.101920
+v 1.101920 -0.2136 -1.101920
+v 1.117130 -2.463 -0.819847
+v 1.117130 -2.463 0.819847
+v 1.118073 -2.242575 -1.118073
+v 1.118073 -2.242575 1.118073
+v 1.118607 -2.482687 -0.820931
+v 1.118607 -2.482687 0.820931
+v 1.118749 -0.0648 -0.821035
+v 1.118749 -0.0648 0.821035
+v 1.121601 -2.435437 -0.823129
+v 1.121601 -2.435437 0.823129
+v 1.123697 -0.553725 -1.531158
+v 1.123697 -0.553725 1.531158
+v 1.125061 -2.4945 -0.825668
+v 1.125061 -2.4945 0.825668
+v 1.126072 -1.4712 -1.534395
+v 1.126072 -1.4712 1.534395
+v 1.128870 -0.0312 -0.187642
+v 1.128870 -0.0312 0.187642
+v 1.132992 -2.4 -0.831488
+v 1.132992 -2.4 0.831488
+v 1.134190 -2.4408 0.590089
+v 1.134190 -2.4408 -0.590089
+v 1.135521 -2.498438 -0.833344
+v 1.135521 -2.498438 0.833344
+v 1.141680 -0.260025 1.141680
+v 1.141680 -0.260025 -1.141680
+v 1.142888 -0.046875 -0.594614
+v 1.142888 -0.046875 0.594614
+v 1.143600 -0.0312 0.000000
+v 1.143600 -0.0312 0.000000
+v 1.144271 -2.4744 -0.384379
+v 1.144271 -2.4744 0.384379
+v 1.149016 -2.4945 -0.843248
+v 1.149016 -2.4945 0.843248
+v 1.151759 -1.323225 -1.569396
+v 1.151759 -1.323225 1.569396
+v 1.156792 -2.4 -0.601848
+v 1.156792 -2.4 0.601848
+v 1.156956 -0.6564 -1.576477
+v 1.156956 -0.6564 1.576477
+v 1.164574 -2.482687 -0.854666
+v 1.164574 -2.482687 0.854666
+v 1.169673 -0.084525 -0.858407
+v 1.169673 -0.084525 0.858407
+v 1.170080 -2.0856 -1.170080
+v 1.170080 -2.0856 1.170080
+v 1.171210 -1.1784 -1.595900
+v 1.171210 -1.1784 1.595900
+v 1.179525 -0.771675 -1.607230
+v 1.179525 -0.771675 1.607230
+v 1.181225 -2.463 -0.866886
+v 1.181225 -2.463 0.866886
+v 1.183534 -1.037175 -1.612693
+v 1.183534 -1.037175 1.612693
+v 1.187840 -0.9 -1.618560
+v 1.187840 -0.9 -1.618560
+v 1.187840 -0.9 1.618560
+v 1.187840 -0.9 1.618560
+v 1.189282 -2.4744 -0.197684
+v 1.189282 -2.4744 0.197684
+v 1.189960 -0.3168 -1.189960
+v 1.189960 -0.3168 1.189960
+v 1.197997 -2.435437 -0.879195
+v 1.197997 -2.435437 0.879195
+v 1.198382 -0.1056 -0.879477
+v 1.198382 -0.1056 0.879477
+v 1.204800 -2.4744 0.000000
+v 1.204800 -2.4744 -0.000000
+v 1.210564 -2.4408 0.406648
+v 1.210564 -2.4408 -0.406648
+v 1.211067 -0.127575 0.888786
+v 1.211067 -0.127575 -0.888786
+v 1.213920 -0.15 -0.890880
+v 1.213920 -0.15 -0.890880
+v 1.213920 -0.15 0.890880
+v 1.213920 -0.15 0.890880
+v 1.213920 -2.4 -0.890880
+v 1.213920 -2.4 0.890880
+v 1.219848 -0.046875 -0.409767
+v 1.219848 -0.046875 0.409767
+v 1.219958 -1.929525 1.219958
+v 1.219958 -1.929525 -1.219958
+v 1.225250 -0.177075 0.899195
+v 1.225250 -0.177075 -0.899195
+v 1.228335 -2.463 -0.639070
+v 1.228335 -2.463 0.639070
+v 1.229959 -2.482687 -0.639915
+v 1.229959 -2.482687 0.639915
+v 1.230115 -0.0648 -0.639996
+v 1.230115 -0.0648 0.639996
+v 1.233252 -2.435437 -0.641628
+v 1.233252 -2.435437 0.641628
+v 1.234688 -2.4 -0.414752
+v 1.234688 -2.4 0.414752
+v 1.237056 -2.4945 -0.643607
+v 1.237056 -2.4945 0.643607
+v 1.242500 -0.384375 -1.242500
+v 1.242500 -0.384375 1.242500
+v 1.245776 -2.4 -0.648144
+v 1.245776 -2.4 0.648144
+v 1.248557 -2.498438 -0.649591
+v 1.248557 -2.498438 0.649591
+v 1.256003 -0.2136 0.921764
+v 1.256003 -0.2136 -0.921764
+v 1.258183 -2.4408 0.209136
+v 1.258183 -2.4408 -0.209136
+v 1.263395 -2.4945 -0.657311
+v 1.263395 -2.4945 0.657311
+v 1.266640 -1.7748 -1.266640
+v 1.266640 -1.7748 1.266640
+v 1.267832 -0.046875 -0.210740
+v 1.267832 -0.046875 0.210740
+v 1.274414 -2.242575 -0.935276
+v 1.274414 -2.242575 0.935276
+v 1.274600 -2.4408 0.000000
+v 1.274600 -2.4408 0.000000
+v 1.280502 -2.482687 -0.666211
+v 1.280502 -2.482687 0.666211
+v 1.283256 -2.4 -0.213304
+v 1.283256 -2.4 0.213304
+v 1.284375 -0.046875 0.000000
+v 1.284375 -0.046875 -0.000000
+v 1.286108 -0.084525 -0.669128
+v 1.286108 -0.084525 0.669128
+v 1.295040 -0.4632 -1.295040
+v 1.295040 -0.4632 1.295040
+v 1.298810 -2.463 -0.675736
+v 1.298810 -2.463 0.675736
+v 1.300000 -2.4 0.000000
+v 1.300000 -2.4 -0.000000
+v 1.301322 -0.260025 0.955023
+v 1.301322 -0.260025 -0.955023
+v 1.309063 -1.621875 -1.309063
+v 1.309063 -1.621875 1.309063
+v 1.311049 -2.463 -0.440403
+v 1.311049 -2.463 0.440403
+v 1.312782 -2.482687 -0.440985
+v 1.312782 -2.482687 0.440985
+v 1.312948 -0.0648 0.441041
+v 1.312948 -0.0648 -0.441041
+v 1.316296 -2.435437 -0.442166
+v 1.316296 -2.435437 0.442166
+v 1.317252 -2.435437 -0.685331
+v 1.317252 -2.435437 0.685331
+v 1.317675 -0.1056 -0.685551
+v 1.317675 -0.1056 0.685551
+v 1.320356 -2.4945 -0.443529
+v 1.320356 -2.4945 0.443529
+v 1.329664 -2.4 -0.446656
+v 1.329664 -2.4 0.446656
+v 1.331623 -0.127575 0.692808
+v 1.331623 -0.127575 -0.692808
+v 1.332632 -2.498438 -0.447653
+v 1.332632 -2.498438 0.447653
+v 1.333693 -2.0856 -0.978780
+v 1.333693 -2.0856 0.978780
+v 1.334760 -0.15 0.694440
+v 1.334760 -0.15 -0.694440
+v 1.334760 -0.15 -0.694440
+v 1.334760 -0.15 0.694440
+v 1.334760 -2.4 -0.694440
+v 1.334760 -2.4 0.694440
+v 1.343320 -0.553725 -1.343320
+v 1.343320 -0.553725 1.343320
+v 1.346160 -1.4712 -1.346160
+v 1.346160 -1.4712 1.346160
+v 1.347218 -0.177075 0.700921
+v 1.347218 -0.177075 -0.700921
+v 1.348469 -2.4945 -0.452973
+v 1.348469 -2.4945 0.452973
+v 1.356353 -0.3168 -0.995410
+v 1.356353 -0.3168 0.995410
+v 1.362620 -2.463 -0.226496
+v 1.362620 -2.463 0.226496
+v 1.364422 -2.482687 -0.226795
+v 1.364422 -2.482687 0.226795
+v 1.364595 -0.0648 -0.226824
+v 1.364595 -0.0648 0.226824
+v 1.366728 -2.482687 -0.459107
+v 1.366728 -2.482687 0.459107
+v 1.368074 -2.435437 -0.227403
+v 1.368074 -2.435437 0.227403
+v 1.372294 -2.4945 -0.228104
+v 1.372294 -2.4945 0.228104
+v 1.372712 -0.084525 -0.461116
+v 1.372712 -0.084525 0.461116
+v 1.376867 -1.323225 -1.376868
+v 1.376868 -1.323225 1.376867
+v 1.380400 -2.463 0.000000
+v 1.380400 -2.463 -0.000000
+v 1.381032 -0.2136 0.718514
+v 1.381032 -0.2136 -0.718514
+v 1.381968 -2.4 -0.229712
+v 1.381968 -2.4 0.229712
+v 1.382225 -2.482687 0.000000
+v 1.382225 -2.482687 0.000000
+v 1.382400 -0.0648 0.000000
+v 1.382400 -0.0648 0.000000
+v 1.383080 -0.6564 -1.383080
+v 1.383080 -0.6564 1.383080
+v 1.385053 -2.498438 -0.230225
+v 1.385053 -2.498438 0.230225
+v 1.385925 -2.435437 0.000000
+v 1.385925 -2.435437 -0.000000
+v 1.386270 -2.463 -0.465671
+v 1.386270 -2.463 0.465671
+v 1.390200 -2.4945 0.000000
+v 1.390200 -2.4945 -0.000000
+v 1.390545 -1.929525 -1.020503
+v 1.390545 -1.929525 1.020503
+v 1.400000 -2.4 0.000000
+v 1.400000 -2.4 0.000000
+v 1.400120 -1.1784 -1.400120
+v 1.400120 -1.1784 1.400120
+v 1.401276 -2.242575 -0.729046
+v 1.401276 -2.242575 0.729046
+v 1.401513 -2.4945 -0.232961
+v 1.401513 -2.4945 0.232961
+v 1.403125 -2.498438 0.000000
+v 1.403125 -2.498438 0.000000
+v 1.405953 -2.435437 -0.472283
+v 1.405953 -2.435437 0.472283
+v 1.406405 -0.1056 -0.472434
+v 1.406405 -0.1056 0.472434
+v 1.410060 -0.771675 -1.410060
+v 1.410060 -0.771675 1.410060
+v 1.414853 -1.037175 -1.414853
+v 1.414853 -1.037175 1.414853
+v 1.416240 -0.384375 -1.039360
+v 1.416240 -0.384375 1.039360
+v 1.419800 -2.4945 0.000000
+v 1.419800 -2.4945 -0.000000
+v 1.420000 -0.9 -1.420000
+v 1.420000 -0.9 -1.420000
+v 1.420000 -0.9 1.420000
+v 1.420000 -0.9 1.420000
+v 1.420490 -2.482687 -0.236115
+v 1.420490 -2.482687 0.236115
+v 1.421292 -0.127575 0.477435
+v 1.421292 -0.127575 -0.477435
+v 1.424640 -0.15 -0.478560
+v 1.424640 -0.15 -0.478560
+v 1.424640 -0.15 0.478560
+v 1.424640 -0.15 0.478560
+v 1.424640 -2.4 -0.478560
+v 1.424640 -2.4 0.478560
+v 1.426709 -0.084525 -0.237149
+v 1.426709 -0.084525 0.237149
+v 1.430863 -0.260025 0.744440
+v 1.430863 -0.260025 -0.744440
+v 1.437937 -0.177075 0.483027
+v 1.437937 -0.177075 -0.483027
+v 1.439025 -2.482687 0.000000
+v 1.440800 -2.463 -0.239491
+v 1.440800 -2.463 0.239491
+v 1.443756 -1.7748 -1.059553
+v 1.443756 -1.7748 1.059553
+v 1.445325 -0.084525 0.000000
+v 1.445325 -0.084525 0.000000
+v 1.459600 -2.463 0.000000
+v 1.459600 -2.463 -0.000000
+v 1.461258 -2.435437 -0.242892
+v 1.461258 -2.435437 0.242892
+v 1.461727 -0.1056 -0.242970
+v 1.461727 -0.1056 0.242970
+v 1.466456 -2.0856 -0.762958
+v 1.466456 -2.0856 0.762958
+v 1.474028 -0.2136 0.495150
+v 1.474028 -0.2136 -0.495150
+v 1.476127 -0.4632 -1.083310
+v 1.476127 -0.4632 1.083310
+v 1.477200 -0.127575 0.245542
+v 1.477200 -0.127575 -0.245542
+v 1.480325 -2.435437 0.000000
+v 1.480325 -2.435437 -0.000000
+v 1.480680 -0.15 -0.246120
+v 1.480680 -0.15 0.246120
+v 1.480680 -0.15 0.246120
+v 1.480680 -0.15 -0.246120
+v 1.480680 -2.4 -0.246120
+v 1.480680 -2.4 0.246120
+v 1.480800 -0.1056 0.000000
+v 1.480800 -0.1056 0.000000
+v 1.491372 -0.3168 -0.775921
+v 1.491372 -0.3168 0.775921
+v 1.492110 -1.621875 -1.095040
+v 1.492110 -1.621875 1.095040
+v 1.494500 -0.177075 0.248417
+v 1.494500 -0.177075 -0.248417
+v 1.495635 -2.242575 -0.502408
+v 1.495635 -2.242575 0.502408
+v 1.496475 -0.127575 0.000000
+v 1.496475 -0.127575 0.000000
+v 1.500000 -0.15 0.000000
+v 1.500000 -0.15 0.000000
+v 1.500000 -2.4 0.000000
+v 1.500000 -2.4 0.000000
+v 1.514000 -0.177075 -0.000000
+v 1.514000 -0.177075 0.000000
+v 1.527214 -0.260025 -0.513016
+v 1.527214 -0.260025 0.513016
+v 1.528968 -1.929525 -0.795481
+v 1.528968 -1.929525 0.795481
+v 1.531158 -0.553725 -1.123697
+v 1.531158 -0.553725 1.123697
+v 1.532010 -0.2136 0.254652
+v 1.532010 -0.2136 -0.254652
+v 1.534395 -1.4712 -1.126072
+v 1.534395 -1.4712 1.126072
+v 1.552000 -0.2136 0.000000
+v 1.552000 -0.2136 0.000000
+v 1.554467 -2.242575 -0.258385
+v 1.554467 -2.242575 0.258385
+v 1.557220 -0.384375 -0.810180
+v 1.557220 -0.384375 0.810180
+v 1.565204 -2.0856 -0.525778
+v 1.565204 -2.0856 0.525778
+v 1.569396 -1.323225 -1.151759
+v 1.569396 -1.323225 1.151759
+v 1.574750 -2.242575 0.000000
+v 1.574750 -2.242575 0.000000
+v 1.576477 -0.6564 -1.156956
+v 1.576477 -0.6564 1.156956
+v 1.587289 -0.260025 0.263841
+v 1.587289 -0.260025 -0.263841
+v 1.587475 -1.7748 -0.825921
+v 1.587475 -1.7748 0.825921
+v 1.591798 -0.3168 -0.534711
+v 1.591798 -0.3168 0.534711
+v 1.595900 -1.1784 -1.171210
+v 1.595900 -1.1784 1.171210
+v 1.607230 -0.771675 -1.179525
+v 1.607230 -0.771675 1.179525
+v 1.608000 -0.260025 0.000000
+v 1.608000 -0.260025 0.000000
+v 1.612693 -1.037175 -1.183534
+v 1.612693 -1.037175 1.183534
+v 1.618560 -0.9 -1.187840
+v 1.618560 -0.9 -1.187840
+v 1.618560 -0.9 1.187840
+v 1.618560 -0.9 1.187840
+v 1.623068 -0.4632 -0.844439
+v 1.623068 -0.4632 0.844439
+v 1.626774 -2.0856 -0.270404
+v 1.626774 -2.0856 0.270404
+v 1.631925 -1.929525 -0.548190
+v 1.631925 -1.929525 0.548190
+v 1.640643 -1.621875 -0.853583
+v 1.640643 -1.621875 0.853583
+v 1.648000 -2.0856 0.000000
+v 1.648000 -2.0856 -0.000000
+v 1.654413 -0.3168 -0.274998
+v 1.654413 -0.3168 0.274998
+v 1.662080 -0.384375 -0.558320
+v 1.662080 -0.384375 0.558320
+v 1.676000 -0.3168 0.000000
+v 1.676000 -0.3168 0.000000
+v 1.683577 -0.553725 -0.875920
+v 1.683577 -0.553725 0.875920
+v 1.687137 -1.4712 -0.877772
+v 1.687137 -1.4712 0.877772
+v 1.694372 -1.7748 -0.569167
+v 1.694372 -1.7748 0.569167
+v 1.696119 -1.929525 -0.281930
+v 1.696119 -1.929525 0.281930
+v 1.700000 -0.6 0.000000
+v 1.700000 -0.6 0.000000
+v 1.700000 -0.6231 0.178200
+v 1.700000 -0.6231 -0.178200
+v 1.700000 -0.6858 -0.316800
+v 1.700000 -0.6858 0.316800
+v 1.700000 -0.7782 0.415800
+v 1.700000 -0.7782 -0.415800
+v 1.700000 -0.8904 -0.475200
+v 1.700000 -0.8904 0.475200
+v 1.700000 -1.0125 -0.495000
+v 1.700000 -1.0125 0.495000
+v 1.700000 -1.1346 -0.475200
+v 1.700000 -1.1346 0.475200
+v 1.700000 -1.2468 0.415800
+v 1.700000 -1.2468 -0.415800
+v 1.700000 -1.3392 -0.316800
+v 1.700000 -1.3392 0.316800
+v 1.700000 -1.4019 0.178200
+v 1.700000 -1.4019 -0.178200
+v 1.700000 -1.425 0.000000
+v 1.700000 -1.425 0.000000
+v 1.718250 -1.929525 0.000000
+v 1.718250 -1.929525 0.000000
+v 1.725622 -1.323225 -0.897795
+v 1.725622 -1.323225 0.897795
+v 1.727460 -0.384375 -0.287140
+v 1.727460 -0.384375 0.287140
+v 1.732362 -0.4632 -0.581929
+v 1.732362 -0.4632 0.581929
+v 1.733408 -0.6564 -0.901846
+v 1.733408 -0.6564 0.901846
+v 1.750000 -0.384375 0.000000
+v 1.750000 -0.384375 0.000000
+v 1.751120 -1.621875 -0.588230
+v 1.751120 -1.621875 0.588230
+v 1.754764 -1.1784 -0.912957
+v 1.754764 -1.1784 0.912957
+v 1.761022 -1.7748 -0.292719
+v 1.761022 -1.7748 0.292719
+v 1.767222 -0.771675 -0.919439
+v 1.767222 -0.771675 0.919439
+v 1.773229 -1.037175 -0.922564
+v 1.773229 -1.037175 0.922564
+v 1.779680 -0.9 -0.925920
+v 1.779680 -0.9 -0.925920
+v 1.779680 -0.9 0.925920
+v 1.779680 -0.9 0.925920
+v 1.784000 -1.7748 0.000000
+v 1.784000 -1.7748 0.000000
+v 1.796946 -0.553725 -0.603624
+v 1.796946 -0.553725 0.603624
+v 1.800507 -0.4632 -0.299282
+v 1.800507 -0.4632 0.299282
+v 1.800745 -1.4712 -0.604900
+v 1.800745 -1.4712 0.604900
+v 1.820003 -1.621875 -0.302523
+v 1.820003 -1.621875 0.302522
+v 1.824000 -0.4632 0.000000
+v 1.824000 -0.4632 0.000000
+v 1.841822 -1.323225 -0.618698
+v 1.841822 -1.323225 0.618698
+v 1.843750 -1.621875 0.000000
+v 1.843750 -1.621875 -0.000000
+v 1.850132 -0.6564 -0.621490
+v 1.850132 -0.6564 0.621490
+v 1.867631 -0.553725 -0.310439
+v 1.867631 -0.553725 0.310439
+v 1.871580 -1.4712 -0.311096
+v 1.871580 -1.4712 0.311096
+v 1.872927 -1.1784 -0.629147
+v 1.872927 -1.1784 0.629147
+v 1.886223 -0.771675 -0.633613
+v 1.886223 -0.771675 0.633613
+v 1.892000 -0.553725 0.000000
+v 1.892000 -0.553725 -0.000000
+v 1.892634 -1.037175 -0.635767
+v 1.892634 -1.037175 0.635767
+v 1.896000 -1.4712 0.000000
+v 1.896000 -1.4712 0.000000
+v 1.899520 -0.9 -0.638080
+v 1.899520 -0.9 -0.638080
+v 1.899520 -0.9 0.638080
+v 1.899520 -0.9 0.638080
+v 1.914272 -1.323225 -0.318192
+v 1.914272 -1.323225 0.318192
+v 1.922910 -0.6564 -0.319628
+v 1.922910 -0.6564 0.319628
+v 1.935900 -1.4442 0.000000
+v 1.935900 -1.4442 0.000000
+v 1.939250 -1.323225 0.000000
+v 1.939250 -1.323225 -0.000000
+v 1.939394 -1.423221 -0.175100
+v 1.939394 -1.423221 0.175100
+v 1.946601 -1.1784 -0.323566
+v 1.946601 -1.1784 0.323566
+v 1.948000 -0.6564 0.000000
+v 1.948000 -0.6564 -0.000000
+v 1.948879 -1.366278 -0.311290
+v 1.948879 -1.366278 0.311290
+v 1.960420 -0.771675 -0.325863
+v 1.960420 -0.771675 0.325863
+v 1.962857 -1.282362 -0.408568
+v 1.962857 -1.282362 0.408568
+v 1.967083 -1.037175 -0.326970
+v 1.967083 -1.037175 0.326970
+v 1.972000 -1.1784 0.000000
+v 1.972000 -1.1784 0.000000
+v 1.974240 -0.9 -0.328160
+v 1.974240 -0.9 0.328160
+v 1.974240 -0.9 0.328160
+v 1.979830 -1.180464 -0.466934
+v 1.979830 -1.180464 0.466934
+v 1.986000 -0.771675 0.000000
+v 1.986000 -0.771675 -0.000000
+v 1.992750 -1.037175 0.000000
+v 1.992750 -1.037175 0.000000
+v 1.998300 -1.069575 -0.486390
+v 1.998300 -1.069575 0.486390
+v 2.000000 -0.9 0.000000
+v 2.000000 -0.9 0.000000
+v 2.016770 -0.958686 -0.466934
+v 2.016770 -0.958686 0.466934
+v 2.033743 -0.856788 -0.408568
+v 2.033743 -0.856788 0.408568
+v 2.047721 -0.772872 0.311290
+v 2.047721 -0.772872 -0.311290
+v 2.057206 -0.715929 0.175100
+v 2.057206 -0.715929 -0.175100
+v 2.060700 -0.69495 0.000000
+v 2.060700 -0.69495 0.000000
+v 2.111200 -1.4976 0.000000
+v 2.111200 -1.4976 0.000000
+v 2.116979 -1.47912 -0.166687
+v 2.116979 -1.47912 0.166687
+v 2.132666 -1.42896 -0.296333
+v 2.132666 -1.42896 0.296333
+v 2.155782 -1.35504 -0.388937
+v 2.155782 -1.35504 0.388937
+v 2.183853 -1.26528 -0.444499
+v 2.183853 -1.26528 0.444499
+v 2.214400 -1.1676 -0.463020
+v 2.214400 -1.1676 0.463020
+v 2.237300 -1.5789 0.000000
+v 2.237300 -1.5789 0.000000
+v 2.244457 -1.563171 -0.154289
+v 2.244457 -1.563171 0.154289
+v 2.244947 -1.06992 -0.444499
+v 2.244947 -1.06992 0.444499
+v 2.263882 -1.520478 -0.274291
+v 2.263882 -1.520478 0.274291
+v 2.273018 -0.98016 -0.388937
+v 2.273018 -0.98016 0.388937
+v 2.292510 -1.457562 -0.360007
+v 2.292510 -1.457562 0.360007
+v 2.296134 -0.90624 -0.296333
+v 2.296134 -0.90624 0.296333
+v 2.311821 -0.85608 -0.166687
+v 2.311821 -0.85608 0.166687
+v 2.317600 -0.8376 0.000000
+v 2.317600 -0.8376 0.000000
+v 2.325600 -1.6818 0.000000
+v 2.325600 -1.6818 0.000000
+v 2.327271 -1.381164 -0.411437
+v 2.327271 -1.381164 0.411437
+v 2.333530 -1.668948 -0.139234
+v 2.333530 -1.668948 0.139234
+v 2.355053 -1.634064 -0.247526
+v 2.355053 -1.634064 0.247526
+v 2.365100 -1.298025 -0.428580
+v 2.365100 -1.298025 0.428580
+v 2.386771 -1.582656 -0.324878
+v 2.386771 -1.582656 0.324878
+v 2.387500 -1.8 0.000000
+v 2.387500 -1.8 0.000000
+v 2.395900 -1.790025 0.122850
+v 2.395900 -1.790025 -0.122850
+v 2.402929 -1.214886 -0.411437
+v 2.402929 -1.214886 0.411437
+v 2.418700 -1.76295 -0.218400
+v 2.418700 -1.76295 0.218400
+v 2.425286 -1.520232 -0.371290
+v 2.425286 -1.520232 0.371290
+v 2.434400 -1.9272 0.000000
+v 2.434400 -1.9272 0.000000
+v 2.437690 -1.138488 -0.360007
+v 2.437690 -1.138488 0.360007
+v 2.443270 -1.919976 0.106466
+v 2.443270 -1.919976 -0.106466
+v 2.452300 -1.72305 -0.286650
+v 2.452300 -1.72305 0.286650
+v 2.466318 -1.075572 -0.274291
+v 2.466318 -1.075572 0.274291
+v 2.467200 -1.4523 -0.386760
+v 2.467200 -1.4523 0.386760
+v 2.467347 -1.900368 0.189274
+v 2.467347 -1.900368 -0.189274
+v 2.477700 -2.0571 0.000000
+v 2.477700 -2.0571 0.000000
+v 2.485743 -1.032879 -0.154289
+v 2.485743 -1.032879 0.154289
+v 2.487343 -2.052375 -0.091411
+v 2.487343 -2.052375 0.091411
+v 2.492900 -1.01715 0.000000
+v 2.492900 -1.01715 0.000000
+v 2.493100 -1.6746 -0.327600
+v 2.493100 -1.6746 0.327600
+v 2.502829 -1.871472 0.248422
+v 2.502829 -1.871472 -0.248422
+v 2.509114 -1.384368 -0.371290
+v 2.509114 -1.384368 0.371290
+v 2.513518 -2.03955 0.162509
+v 2.513518 -2.03955 -0.162509
+v 2.528800 -2.1834 0.000000
+v 2.537500 -1.621875 -0.341250
+v 2.537500 -1.621875 0.341250
+v 2.539821 -2.180796 -0.079013
+v 2.539821 -2.180796 0.079013
+v 2.545914 -1.836384 -0.283910
+v 2.545914 -1.836384 0.283910
+v 2.547629 -1.321944 -0.324878
+v 2.547629 -1.321944 0.324878
+v 2.552090 -2.02065 -0.213293
+v 2.552090 -2.02065 0.213293
+v 2.569734 -2.173728 -0.140467
+v 2.569734 -2.173728 0.140467
+v 2.579347 -1.270536 -0.247526
+v 2.579347 -1.270536 0.247526
+v 2.581900 -1.56915 -0.327600
+v 2.581900 -1.56915 0.327600
+v 2.592800 -1.7982 -0.295740
+v 2.592800 -1.7982 0.295740
+v 2.598929 -1.9977 -0.243763
+v 2.598929 -1.9977 0.243763
+v 2.599100 -2.2998 0.000000
+v 2.599100 -2.2998 0.000000
+v 2.600870 -1.235652 -0.139234
+v 2.600870 -1.235652 0.139234
+v 2.608800 -1.2228 0.000000
+v 2.608800 -1.2228 0.000000
+v 2.612406 -2.298813 0.070600
+v 2.612406 -2.298813 -0.070600
+v 2.613818 -2.163312 -0.184363
+v 2.613818 -2.163312 0.184363
+v 2.622700 -1.5207 -0.286650
+v 2.622700 -1.5207 0.286650
+v 2.639686 -1.760016 -0.283910
+v 2.639686 -1.760016 0.283910
+v 2.648521 -2.296134 0.125510
+v 2.648521 -2.296134 -0.125510
+v 2.649900 -1.972725 0.253920
+v 2.649900 -1.972725 -0.253920
+v 2.656300 -1.4808 -0.218400
+v 2.656300 -1.4808 0.218400
+v 2.667347 -2.150664 -0.210701
+v 2.667347 -2.150664 0.210701
+v 2.679100 -1.453725 0.122850
+v 2.679100 -1.453725 -0.122850
+v 2.682771 -1.724928 0.248422
+v 2.682771 -1.724928 -0.248422
+v 2.687500 -1.44375 0.000000
+v 2.687500 -1.44375 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700000 -2.4 0.000000
+v 2.700871 -1.94775 -0.243763
+v 2.700871 -1.94775 0.243763
+v 2.701743 -2.292186 0.164732
+v 2.701743 -2.292186 -0.164732
+v 2.716800 -2.4 0.067500
+v 2.716800 -2.4 -0.067500
+v 2.716800 -2.4 -0.067500
+v 2.716800 -2.4 0.067500
+v 2.718253 -1.696032 0.189274
+v 2.718253 -1.696032 -0.189274
+v 2.725600 -2.1369 -0.219480
+v 2.725600 -2.1369 0.219480
+v 2.729800 -2.42025 0.000000
+v 2.742330 -1.676424 0.106466
+v 2.742330 -1.676424 -0.106466
+v 2.747407 -2.420406 -0.066744
+v 2.747407 -2.420406 0.066744
+v 2.747710 -1.9248 -0.213293
+v 2.747710 -1.9248 0.213293
+v 2.751200 -1.6692 0.000000
+v 2.751200 -1.6692 0.000000
+v 2.758400 -2.436 0.000000
+v 2.762400 -2.4 0.120000
+v 2.762400 -2.4 -0.120000
+v 2.762400 -2.4 -0.120000
+v 2.762400 -2.4 0.120000
+v 2.766370 -2.287392 0.188266
+v 2.766370 -2.287392 -0.188266
+v 2.776365 -2.436302 -0.064692
+v 2.776365 -2.436302 0.064692
+v 2.783853 -2.123136 -0.210701
+v 2.783853 -2.123136 0.210701
+v 2.784600 -2.44725 0.000000
+v 2.784600 -2.44725 0.000000
+v 2.786282 -1.9059 0.162509
+v 2.786282 -1.9059 -0.162509
+v 2.795198 -2.420829 -0.118656
+v 2.795198 -2.420829 0.118656
+v 2.800000 -2.4 0.000000
+v 2.802528 -2.44768 -0.061668
+v 2.802528 -2.44768 0.061668
+v 2.807200 -2.454 0.000000
+v 2.811200 -2.4 -0.040500
+v 2.811200 -2.4 0.040500
+v 2.812457 -1.893075 0.091411
+v 2.812457 -1.893075 -0.091411
+v 2.822100 -1.88835 0.000000
+v 2.822100 -1.88835 0.000000
+v 2.824200 -2.42025 0.000000
+v 2.824200 -2.42025 0.000000
+v 2.824750 -2.454529 -0.057996
+v 2.824750 -2.454529 0.057996
+v 2.825000 -2.45625 0.000000
+v 2.825000 -2.45625 0.000000
+v 2.825126 -2.437123 -0.115008
+v 2.825126 -2.437123 0.115008
+v 2.829600 -2.4 0.157500
+v 2.829600 -2.4 -0.157500
+v 2.829600 -2.4 -0.157500
+v 2.829600 -2.4 0.157500
+v 2.836672 -2.420519 -0.041256
+v 2.836672 -2.420519 0.041256
+v 2.836700 -2.282175 0.196110
+v 2.836700 -2.282175 -0.196110
+v 2.836800 -2.454 0.000000
+v 2.836800 -2.454 0.000000
+v 2.837382 -2.110488 -0.184363
+v 2.837382 -2.110488 0.184363
+v 2.837600 -2.436 0.000000
+v 2.837600 -2.436 0.000000
+v 2.841400 -2.44725 0.000000
+v 2.841400 -2.44725 0.000000
+v 2.841600 -2.4 -0.072000
+v 2.841600 -2.4 0.072000
+v 2.841887 -2.456841 -0.054000
+v 2.841887 -2.456841 0.054000
+v 2.851189 -2.448847 -0.109632
+v 2.851189 -2.448847 0.109632
+v 2.851331 -2.436454 -0.043308
+v 2.851331 -2.436454 0.043308
+v 2.852794 -2.454605 -0.050004
+v 2.852794 -2.454605 0.050004
+v 2.856323 -2.447812 -0.046332
+v 2.856323 -2.447812 0.046332
+v 2.865626 -2.421453 -0.155736
+v 2.865626 -2.421453 0.155736
+v 2.870524 -2.42125 -0.073344
+v 2.870524 -2.42125 0.073344
+v 2.872387 -2.455966 -0.103104
+v 2.872387 -2.455966 0.103104
+v 2.881466 -2.100072 -0.140467
+v 2.881466 -2.100072 0.140467
+v 2.886400 -2.4 -0.094500
+v 2.886400 -2.4 0.094500
+v 2.887725 -2.458444 -0.096000
+v 2.887725 -2.458444 0.096000
+v 2.888602 -2.437685 -0.076992
+v 2.888602 -2.437685 0.076992
+v 2.896205 -2.456246 0.088896
+v 2.896205 -2.456246 -0.088896
+v 2.896829 -2.449338 -0.082368
+v 2.896829 -2.449338 0.082368
+v 2.896986 -2.438333 -0.150948
+v 2.896986 -2.438333 0.150948
+v 2.907030 -2.276958 0.188266
+v 2.907030 -2.276958 -0.188266
+v 2.911200 -2.4 -0.180000
+v 2.911200 -2.4 -0.180000
+v 2.911200 -2.4 0.180000
+v 2.911379 -2.093004 -0.079013
+v 2.911379 -2.093004 0.079013
+v 2.920412 -2.422328 -0.096264
+v 2.920412 -2.422328 0.096264
+v 2.922400 -2.0904 0.000000
+v 2.922899 -2.450567 -0.143892
+v 2.922899 -2.450567 0.143892
+v 2.940800 -2.4 -0.108000
+v 2.940800 -2.4 0.108000
+v 2.942589 -2.458082 -0.135324
+v 2.942589 -2.458082 0.135324
+v 2.943526 -2.439499 -0.101052
+v 2.943526 -2.439499 0.101052
+v 2.951146 -2.42221 -0.177984
+v 2.951146 -2.42221 0.177984
+v 2.955275 -2.460806 -0.126000
+v 2.955275 -2.460806 0.126000
+v 2.956523 -2.451588 -0.108108
+v 2.956523 -2.451588 0.108108
+v 2.960179 -2.458666 -0.116676
+v 2.960179 -2.458666 0.116676
+v 2.971657 -2.272164 0.164732
+v 2.971657 -2.272164 -0.164732
+v 2.980990 -2.423636 0.110016
+v 2.980990 -2.423636 -0.110016
+v 2.984243 -2.439802 -0.172512
+v 2.984243 -2.439802 0.172512
+v 3.000000 -2.4 -0.187500
+v 3.000000 -2.4 -0.187500
+v 3.000000 -2.4 -0.112500
+v 3.000000 -2.4 0.112500
+v 3.000000 -2.4 0.187500
+v 3.009977 -2.452655 -0.164448
+v 3.009977 -2.452655 0.164448
+v 3.010221 -2.441702 -0.115488
+v 3.010221 -2.441702 0.115488
+v 3.024879 -2.268216 0.125510
+v 3.024879 -2.268216 -0.125510
+v 3.027834 -2.460653 -0.154656
+v 3.027834 -2.460653 0.154656
+v 3.029007 -2.454319 -0.123552
+v 3.029007 -2.454319 0.123552
+v 3.037300 -2.463675 -0.144000
+v 3.037300 -2.463675 0.144000
+v 3.037862 -2.461603 0.133344
+v 3.037862 -2.461603 -0.133344
+v 3.044212 -2.423034 -0.185400
+v 3.044212 -2.423034 0.185400
+v 3.046912 -2.425059 0.114600
+v 3.046912 -2.425059 -0.114600
+v 3.059200 -2.4 -0.108000
+v 3.059200 -2.4 0.108000
+v 3.060994 -2.265537 0.070600
+v 3.060994 -2.265537 -0.070600
+v 3.074300 -2.26455 0.000000
+v 3.074300 -2.26455 0.000000
+v 3.079200 -2.4414 -0.179700
+v 3.079200 -2.4414 0.179700
+v 3.082800 -2.4441 -0.120300
+v 3.082800 -2.4441 0.120300
+v 3.088800 -2.4 -0.180000
+v 3.088800 -2.4 -0.180000
+v 3.088800 -2.4 0.180000
+v 3.104737 -2.454928 -0.171300
+v 3.104738 -2.454928 0.171300
+v 3.107887 -2.457291 -0.128700
+v 3.107887 -2.457291 0.128700
+v 3.112835 -2.426483 0.110016
+v 3.112835 -2.426483 -0.110016
+v 3.113600 -2.4 -0.094500
+v 3.113600 -2.4 0.094500
+v 3.120600 -2.46345 0.161100
+v 3.120600 -2.46345 -0.161100
+v 3.122400 -2.4648 0.138900
+v 3.122400 -2.4648 -0.138900
+v 3.126562 -2.466797 -0.150000
+v 3.126562 -2.466797 0.150000
+v 3.137279 -2.423859 -0.177984
+v 3.137279 -2.423859 0.177984
+v 3.155379 -2.446498 -0.115488
+v 3.155379 -2.446498 0.115488
+v 3.158400 -2.4 -0.072000
+v 3.158400 -2.4 0.072000
+v 3.170400 -2.4 -0.157500
+v 3.170400 -2.4 0.157500
+v 3.170400 -2.4 -0.157500
+v 3.173413 -2.427791 -0.096264
+v 3.173413 -2.427791 0.096264
+v 3.174157 -2.442998 -0.172512
+v 3.174157 -2.442998 0.172512
+v 3.186768 -2.460263 -0.123552
+v 3.186768 -2.460263 0.123552
+v 3.188800 -2.4 -0.040500
+v 3.188800 -2.4 0.040500
+v 3.199498 -2.457201 -0.164448
+v 3.199498 -2.457201 0.164448
+v 3.200000 -2.4 0.000000
+v 3.206938 -2.467997 0.133344
+v 3.206938 -2.467997 -0.133344
+v 3.213366 -2.466247 -0.154656
+v 3.213366 -2.466247 0.154656
+v 3.215825 -2.469919 -0.144000
+v 3.215825 -2.469919 0.144000
+v 3.222074 -2.448701 -0.101052
+v 3.222074 -2.448701 0.101052
+v 3.222799 -2.424616 -0.155736
+v 3.222799 -2.424616 0.155736
+v 3.223301 -2.428868 -0.073344
+v 3.223301 -2.428868 0.073344
+v 3.237600 -2.4 -0.120000
+v 3.237600 -2.4 0.120000
+v 3.237600 -2.4 -0.120000
+v 3.257153 -2.429599 -0.041256
+v 3.257153 -2.429599 0.041256
+v 3.259252 -2.462994 -0.108108
+v 3.259252 -2.462994 0.108108
+v 3.261414 -2.444467 -0.150948
+v 3.261414 -2.444467 0.150948
+v 3.269625 -2.429869 0.000000
+v 3.269625 -2.429869 0.000000
+v 3.276998 -2.450515 -0.076992
+v 3.276998 -2.450515 0.076992
+v 3.283200 -2.4 -0.067500
+v 3.283200 -2.4 0.067500
+v 3.283200 -2.4 -0.067500
+v 3.284621 -2.470934 -0.116676
+v 3.284621 -2.470934 0.116676
+v 3.286576 -2.459289 -0.143892
+v 3.286576 -2.459289 0.143892
+v 3.293227 -2.42524 -0.118656
+v 3.293227 -2.42524 0.118656
+v 3.297850 -2.472787 -0.126000
+v 3.297850 -2.472788 0.126000
+v 3.298611 -2.468818 -0.135324
+v 3.298611 -2.468818 0.135324
+v 3.300000 -2.4 0.000000
+v 3.300000 -2.4 0.000000
+v 3.314269 -2.451746 -0.043308
+v 3.314269 -2.451746 0.043308
+v 3.318946 -2.465243 -0.082368
+v 3.318946 -2.465243 0.082368
+v 3.328000 -2.4522 0.000000
+v 3.328000 -2.4522 0.000000
+v 3.333274 -2.445677 -0.115008
+v 3.333274 -2.445677 0.115008
+v 3.341018 -2.425663 -0.066744
+v 3.341018 -2.425663 0.066744
+v 3.348595 -2.473354 0.088896
+v 3.348595 -2.473354 -0.088896
+v 3.358286 -2.461009 -0.109632
+v 3.358286 -2.461009 0.109632
+v 3.358625 -2.425819 0.000000
+v 3.359452 -2.466769 -0.046332
+v 3.359452 -2.466769 0.046332
+v 3.365400 -2.47515 -0.096000
+v 3.365400 -2.47515 0.096000
+v 3.368813 -2.470934 -0.103104
+v 3.368813 -2.470934 0.103104
+v 3.374375 -2.467331 0.000000
+v 3.374375 -2.467331 0.000000
+v 3.382035 -2.446498 -0.064692
+v 3.382035 -2.446498 0.064692
+v 3.392006 -2.474995 -0.050004
+v 3.392006 -2.474995 0.050004
+v 3.400000 -2.4468 0.000000
+v 3.406947 -2.462176 -0.061668
+v 3.406947 -2.462176 0.061668
+v 3.408000 -2.4756 0.000000
+v 3.408000 -2.4756 0.000000
+v 3.411237 -2.476753 -0.054000
+v 3.411237 -2.476753 0.054000
+v 3.416450 -2.472371 -0.057996
+v 3.416450 -2.472371 0.057996
+v 3.424875 -2.462606 0.000000
+v 3.428125 -2.477344 0.000000
+v 3.428125 -2.477344 0.000000
+v 3.434000 -2.4729 0.000000
+
+f 2909 2921 2939
+f 2939 2931 2909
+f 2869 2877 2921
+f 2921 2909 2869
+f 2819 2827 2877
+f 2877 2869 2819
+f 2737 2747 2827
+f 2827 2819 2737
+f 2669 2673 2747
+f 2747 2737 2669
+f 2567 2575 2673
+f 2673 2669 2567
+f 2476 2480 2575
+f 2575 2567 2476
+f 2358 2362 2480
+f 2480 2476 2358
+f 2158 2162 2362
+f 2362 2358 2158
+f 1715 1812 2162
+f 2162 2158 1715
+f 2901 2909 2931
+f 2931 2917 2901
+f 2863 2869 2909
+f 2909 2901 2863
+f 2813 2819 2869
+f 2869 2863 2813
+f 2729 2737 2819
+f 2819 2813 2729
+f 2663 2669 2737
+f 2737 2729 2663
+f 2561 2567 2669
+f 2669 2663 2561
+f 2468 2476 2567
+f 2567 2561 2468
+f 2350 2358 2476
+f 2476 2468 2350
+f 2152 2158 2358
+f 2358 2350 2152
+f 1717 1715 2158
+f 2158 2152 1717
+f 2903 2901 2917
+f 2917 2923 2903
+f 2865 2863 2901
+f 2901 2903 2865
+f 2815 2813 2863
+f 2863 2865 2815
+f 2733 2729 2813
+f 2813 2815 2733
+f 2665 2663 2729
+f 2729 2733 2665
+f 2564 2561 2663
+f 2663 2665 2564
+f 2473 2468 2561
+f 2561 2564 2473
+f 2354 2350 2468
+f 2468 2473 2354
+f 2155 2152 2350
+f 2350 2354 2155
+f 1927 1717 2152
+f 2152 2155 1927
+f 2911 2903 2923
+f 2923 2935 2911
+f 2875 2865 2903
+f 2903 2911 2875
+f 2823 2815 2865
+f 2865 2875 2823
+f 2741 2733 2815
+f 2815 2823 2741
+f 2671 2665 2733
+f 2733 2741 2671
+f 2571 2564 2665
+f 2665 2671 2571
+f 2478 2473 2564
+f 2564 2571 2478
+f 2360 2354 2473
+f 2473 2478 2360
+f 2160 2155 2354
+f 2354 2360 2160
+f 1718 1927 2155
+f 2155 2160 1718
+f 2929 2911 2935
+f 2935 2947 2929
+f 2881 2875 2911
+f 2911 2929 2881
+f 2829 2823 2875
+f 2875 2881 2829
+f 2751 2741 2823
+f 2823 2829 2751
+f 2677 2671 2741
+f 2741 2751 2677
+f 2577 2571 2671
+f 2671 2677 2577
+f 2482 2478 2571
+f 2571 2577 2482
+f 2364 2360 2478
+f 2478 2482 2364
+f 2164 2160 2360
+f 2360 2364 2164
+f 1842 1718 2160
+f 2160 2164 1842
+f 2945 2929 2947
+f 2947 2959 2945
+f 2897 2881 2929
+f 2929 2945 2897
+f 2835 2829 2881
+f 2881 2897 2835
+f 2761 2751 2829
+f 2829 2835 2761
+f 2679 2677 2751
+f 2751 2761 2679
+f 2579 2577 2677
+f 2677 2679 2579
+f 2486 2482 2577
+f 2577 2579 2486
+f 2368 2364 2482
+f 2482 2486 2368
+f 2172 2164 2364
+f 2364 2368 2172
+f 1725 1842 2164
+f 2164 2172 1725
+f 2965 2945 2959
+f 2959 2981 2965
+f 2907 2897 2945
+f 2945 2965 2907
+f 2845 2835 2897
+f 2897 2907 2845
+f 2769 2761 2835
+f 2835 2845 2769
+f 2685 2679 2761
+f 2761 2769 2685
+f 2587 2579 2679
+f 2679 2685 2587
+f 2491 2486 2579
+f 2579 2587 2491
+f 2370 2368 2486
+f 2486 2491 2370
+f 2174 2172 2368
+f 2368 2370 2174
+f 1834 1725 2172
+f 2172 2174 1834
+f 2982 2965 2981
+f 2981 2988 2982
+f 2933 2907 2965
+f 2965 2982 2933
+f 2855 2845 2907
+f 2907 2933 2855
+f 2779 2769 2845
+f 2845 2855 2779
+f 2691 2685 2769
+f 2769 2779 2691
+f 2595 2587 2685
+f 2685 2691 2595
+f 2500 2491 2587
+f 2587 2595 2500
+f 2374 2370 2491
+f 2491 2500 2374
+f 2178 2174 2370
+f 2370 2374 2178
+f 1716 1834 2174
+f 2174 2178 1716
+f 2990 2982 2988
+f 2988 3002 2990
+f 2949 2933 2982
+f 2982 2990 2949
+f 2871 2855 2933
+f 2933 2949 2871
+f 2791 2779 2855
+f 2855 2871 2791
+f 2699 2691 2779
+f 2779 2791 2699
+f 2601 2595 2691
+f 2691 2699 2601
+f 2506 2500 2595
+f 2595 2601 2506
+f 2378 2374 2500
+f 2500 2506 2378
+f 2180 2178 2374
+f 2374 2378 2180
+f 1714 1716 2178
+f 2178 2180 1714
+f 3008 2990 3002
+f 3002 3024 3008
+f 2973 2949 2990
+f 2990 3008 2973
+f 2889 2871 2949
+f 2949 2973 2889
+f 2805 2791 2871
+f 2871 2889 2805
+f 2711 2699 2791
+f 2791 2805 2711
+f 2611 2601 2699
+f 2699 2711 2611
+f 2521 2506 2601
+f 2601 2611 2521
+f 2387 2378 2506
+f 2506 2521 2387
+f 2191 2180 2378
+f 2378 2387 2191
+f 1810 1714 2180
+f 2180 2191 1810
+f 1464 1460 1813
+f 1813 1821 1464
+f 1264 1260 1460
+f 1460 1464 1264
+f 1146 1142 1260
+f 1260 1264 1146
+f 1055 1047 1142
+f 1142 1146 1055
+f 953 949 1047
+f 1047 1055 953
+f 885 875 949
+f 949 953 885
+f 803 795 875
+f 875 885 803
+f 753 745 795
+f 795 803 753
+f 713 701 745
+f 745 753 713
+f 691 683 701
+f 701 713 691
+f 1470 1464 1821
+f 1821 1829 1470
+f 1272 1264 1464
+f 1464 1470 1272
+f 1154 1146 1264
+f 1264 1272 1154
+f 1061 1055 1146
+f 1146 1154 1061
+f 959 953 1055
+f 1055 1061 959
+f 893 885 953
+f 953 959 893
+f 809 803 885
+f 885 893 809
+f 759 753 803
+f 803 809 759
+f 721 713 753
+f 753 759 721
+f 705 691 713
+f 713 721 705
+f 1469 1470 1829
+f 1829 1835 1469
+f 1268 1272 1470
+f 1470 1469 1268
+f 1151 1154 1272
+f 1272 1268 1151
+f 1060 1061 1154
+f 1154 1151 1060
+f 957 959 1061
+f 1061 1060 957
+f 889 893 959
+f 959 957 889
+f 807 809 893
+f 893 889 807
+f 757 759 809
+f 809 807 757
+f 719 721 759
+f 759 757 719
+f 699 705 721
+f 721 719 699
+f 1462 1469 1835
+f 1835 1839 1462
+f 1262 1268 1469
+f 1469 1462 1262
+f 1144 1151 1268
+f 1268 1262 1144
+f 1051 1060 1151
+f 1151 1144 1051
+f 951 957 1060
+f 1060 1051 951
+f 881 889 957
+f 957 951 881
+f 799 807 889
+f 889 881 799
+f 747 757 807
+f 807 799 747
+f 711 719 757
+f 757 747 711
+f 687 699 719
+f 719 711 687
+f 1458 1462 1839
+f 1839 1843 1458
+f 1258 1262 1462
+f 1462 1458 1258
+f 1140 1144 1262
+f 1262 1258 1140
+f 1045 1051 1144
+f 1144 1140 1045
+f 945 951 1051
+f 1051 1045 945
+f 871 881 951
+f 951 945 871
+f 793 799 881
+f 881 871 793
+f 741 747 799
+f 799 793 741
+f 693 711 747
+f 747 741 693
+f 675 687 711
+f 711 693 675
+f 1450 1458 1843
+f 1843 1838 1450
+f 1254 1258 1458
+f 1458 1450 1254
+f 1136 1140 1258
+f 1258 1254 1136
+f 1043 1045 1140
+f 1140 1136 1043
+f 943 945 1045
+f 1045 1043 943
+f 861 871 945
+f 945 943 861
+f 787 793 871
+f 871 861 787
+f 725 741 793
+f 793 787 725
+f 677 693 741
+f 741 725 677
+f 663 675 693
+f 693 677 663
+f 1448 1450 1838
+f 1838 1834 1448
+f 1252 1254 1450
+f 1450 1448 1252
+f 1133 1136 1254
+f 1254 1252 1133
+f 1035 1043 1136
+f 1136 1133 1035
+f 937 943 1043
+f 1043 1035 937
+f 853 861 943
+f 943 937 853
+f 777 787 861
+f 861 853 777
+f 715 725 787
+f 787 777 715
+f 657 677 725
+f 725 715 657
+f 642 663 677
+f 677 657 642
+f 1444 1448 1834
+f 1834 1828 1444
+f 1248 1252 1448
+f 1448 1444 1248
+f 1122 1133 1252
+f 1252 1248 1122
+f 1027 1035 1133
+f 1133 1122 1027
+f 931 937 1035
+f 1035 1027 931
+f 843 853 937
+f 937 931 843
+f 767 777 853
+f 853 843 767
+f 689 715 777
+f 777 767 689
+f 640 657 715
+f 715 689 640
+f 634 642 657
+f 657 640 634
+f 1442 1444 1828
+f 1828 1820 1442
+f 1244 1248 1444
+f 1444 1442 1244
+f 1116 1122 1248
+f 1248 1244 1116
+f 1021 1027 1122
+f 1122 1116 1021
+f 923 931 1027
+f 1027 1021 923
+f 831 843 931
+f 931 923 831
+f 751 767 843
+f 843 831 751
+f 673 689 767
+f 767 751 673
+f 632 640 689
+f 689 673 632
+f 620 634 640
+f 640 632 620
+f 1429 1442 1820
+f 1820 1811 1429
+f 1233 1244 1442
+f 1442 1429 1233
+f 1106 1116 1244
+f 1244 1233 1106
+f 1011 1021 1116
+f 1116 1106 1011
+f 911 923 1021
+f 1021 1011 911
+f 817 831 923
+f 923 911 817
+f 733 751 831
+f 831 817 733
+f 649 673 751
+f 751 733 649
+f 614 632 673
+f 673 649 614
+f 597 620 632
+f 632 614 597
+f 714 702 684
+f 684 692 714
+f 754 746 702
+f 702 714 754
+f 804 796 746
+f 746 754 804
+f 886 876 796
+f 796 804 886
+f 954 950 876
+f 876 886 954
+f 1056 1048 950
+f 950 954 1056
+f 1147 1143 1048
+f 1048 1056 1147
+f 1265 1261 1143
+f 1143 1147 1265
+f 1465 1461 1261
+f 1261 1265 1465
+f 1915 1817 1461
+f 1461 1465 1915
+f 722 714 692
+f 692 706 722
+f 760 754 714
+f 714 722 760
+f 810 804 754
+f 754 760 810
+f 894 886 804
+f 804 810 894
+f 960 954 886
+f 886 894 960
+f 1062 1056 954
+f 954 960 1062
+f 1155 1147 1056
+f 1056 1062 1155
+f 1273 1265 1147
+f 1147 1155 1273
+f 1471 1465 1265
+f 1265 1273 1471
+f 1917 1915 1465
+f 1465 1471 1917
+f 720 722 706
+f 706 700 720
+f 758 760 722
+f 722 720 758
+f 808 810 760
+f 760 758 808
+f 890 894 810
+f 810 808 890
+f 958 960 894
+f 894 890 958
+f 1059 1062 960
+f 960 958 1059
+f 1150 1155 1062
+f 1062 1059 1150
+f 1269 1273 1155
+f 1155 1150 1269
+f 1468 1471 1273
+f 1273 1269 1468
+f 1697 1917 1471
+f 1471 1468 1697
+f 712 720 700
+f 700 688 712
+f 748 758 720
+f 720 712 748
+f 800 808 758
+f 758 748 800
+f 882 890 808
+f 808 800 882
+f 952 958 890
+f 890 882 952
+f 1052 1059 958
+f 958 952 1052
+f 1145 1150 1059
+f 1059 1052 1145
+f 1263 1269 1150
+f 1150 1145 1263
+f 1463 1468 1269
+f 1269 1263 1463
+f 1919 1697 1468
+f 1468 1463 1919
+f 694 712 688
+f 688 676 694
+f 742 748 712
+f 712 694 742
+f 794 800 748
+f 748 742 794
+f 872 882 800
+f 800 794 872
+f 946 952 882
+f 882 872 946
+f 1046 1052 952
+f 952 946 1046
+f 1141 1145 1052
+f 1052 1046 1141
+f 1259 1263 1145
+f 1145 1141 1259
+f 1459 1463 1263
+f 1263 1259 1459
+f 1845 1919 1463
+f 1463 1459 1845
+f 678 694 676
+f 676 664 678
+f 726 742 694
+f 694 678 726
+f 788 794 742
+f 742 726 788
+f 862 872 794
+f 794 788 862
+f 944 946 872
+f 872 862 944
+f 1044 1046 946
+f 946 944 1044
+f 1137 1141 1046
+f 1046 1044 1137
+f 1255 1259 1141
+f 1141 1137 1255
+f 1451 1459 1259
+f 1259 1255 1451
+f 1898 1845 1459
+f 1459 1451 1898
+f 658 678 664
+f 664 642 658
+f 716 726 678
+f 678 658 716
+f 778 788 726
+f 726 716 778
+f 854 862 788
+f 788 778 854
+f 938 944 862
+f 862 854 938
+f 1036 1044 944
+f 944 938 1036
+f 1132 1137 1044
+f 1044 1036 1132
+f 1253 1255 1137
+f 1137 1132 1253
+f 1449 1451 1255
+f 1255 1253 1449
+f 1837 1898 1451
+f 1451 1449 1837
+f 641 658 642
+f 642 635 641
+f 690 716 658
+f 658 641 690
+f 768 778 716
+f 716 690 768
+f 844 854 778
+f 778 768 844
+f 932 938 854
+f 854 844 932
+f 1028 1036 938
+f 938 932 1028
+f 1123 1132 1036
+f 1036 1028 1123
+f 1249 1253 1132
+f 1132 1123 1249
+f 1445 1449 1253
+f 1253 1249 1445
+f 1918 1837 1449
+f 1449 1445 1918
+f 633 641 635
+f 635 621 633
+f 674 690 641
+f 641 633 674
+f 752 768 690
+f 690 674 752
+f 832 844 768
+f 768 752 832
+f 924 932 844
+f 844 832 924
+f 1022 1028 932
+f 932 924 1022
+f 1117 1123 1028
+f 1028 1022 1117
+f 1245 1249 1123
+f 1123 1117 1245
+f 1443 1445 1249
+f 1249 1245 1443
+f 1916 1918 1445
+f 1445 1443 1916
+f 616 633 621
+f 621 600 616
+f 654 674 633
+f 633 616 654
+f 737 752 674
+f 674 654 737
+f 822 832 752
+f 752 737 822
+f 914 924 832
+f 832 822 914
+f 1014 1022 924
+f 924 914 1014
+f 1104 1117 1022
+f 1022 1014 1104
+f 1237 1245 1117
+f 1117 1104 1237
+f 1433 1443 1245
+f 1245 1237 1433
+f 1819 1916 1443
+f 1443 1433 1819
+f 2159 2163 1816
+f 1816 1822 2159
+f 2359 2363 2163
+f 2163 2159 2359
+f 2477 2481 2363
+f 2363 2359 2477
+f 2568 2576 2481
+f 2481 2477 2568
+f 2670 2674 2576
+f 2576 2568 2670
+f 2738 2748 2674
+f 2674 2670 2738
+f 2820 2828 2748
+f 2748 2738 2820
+f 2870 2878 2828
+f 2828 2820 2870
+f 2910 2922 2878
+f 2878 2870 2910
+f 2932 2940 2922
+f 2922 2910 2932
+f 2153 2159 1822
+f 1822 1830 2153
+f 2351 2359 2159
+f 2159 2153 2351
+f 2469 2477 2359
+f 2359 2351 2469
+f 2562 2568 2477
+f 2477 2469 2562
+f 2664 2670 2568
+f 2568 2562 2664
+f 2730 2738 2670
+f 2670 2664 2730
+f 2814 2820 2738
+f 2738 2730 2814
+f 2864 2870 2820
+f 2820 2814 2864
+f 2902 2910 2870
+f 2870 2864 2902
+f 2918 2932 2910
+f 2910 2902 2918
+f 2154 2153 1830
+f 1830 1836 2154
+f 2355 2351 2153
+f 2153 2154 2355
+f 2472 2469 2351
+f 2351 2355 2472
+f 2563 2562 2469
+f 2469 2472 2563
+f 2666 2664 2562
+f 2562 2563 2666
+f 2734 2730 2664
+f 2664 2666 2734
+f 2816 2814 2730
+f 2730 2734 2816
+f 2866 2864 2814
+f 2814 2816 2866
+f 2904 2902 2864
+f 2864 2866 2904
+f 2924 2918 2902
+f 2902 2904 2924
+f 2161 2154 1836
+f 1836 1840 2161
+f 2361 2355 2154
+f 2154 2161 2361
+f 2479 2472 2355
+f 2355 2361 2479
+f 2572 2563 2472
+f 2472 2479 2572
+f 2672 2666 2563
+f 2563 2572 2672
+f 2742 2734 2666
+f 2666 2672 2742
+f 2824 2816 2734
+f 2734 2742 2824
+f 2876 2866 2816
+f 2816 2824 2876
+f 2912 2904 2866
+f 2866 2876 2912
+f 2936 2924 2904
+f 2904 2912 2936
+f 2165 2161 1840
+f 1840 1844 2165
+f 2365 2361 2161
+f 2161 2165 2365
+f 2483 2479 2361
+f 2361 2365 2483
+f 2578 2572 2479
+f 2479 2483 2578
+f 2678 2672 2572
+f 2572 2578 2678
+f 2752 2742 2672
+f 2672 2678 2752
+f 2830 2824 2742
+f 2742 2752 2830
+f 2882 2876 2824
+f 2824 2830 2882
+f 2930 2912 2876
+f 2876 2882 2930
+f 2948 2936 2912
+f 2912 2930 2948
+f 2173 2165 1844
+f 1844 1841 2173
+f 2369 2365 2165
+f 2165 2173 2369
+f 2487 2483 2365
+f 2365 2369 2487
+f 2580 2578 2483
+f 2483 2487 2580
+f 2680 2678 2578
+f 2578 2580 2680
+f 2762 2752 2678
+f 2678 2680 2762
+f 2836 2830 2752
+f 2752 2762 2836
+f 2898 2882 2830
+f 2830 2836 2898
+f 2946 2930 2882
+f 2882 2898 2946
+f 2960 2948 2930
+f 2930 2946 2960
+f 2175 2173 1841
+f 1841 1837 2175
+f 2371 2369 2173
+f 2173 2175 2371
+f 2490 2487 2369
+f 2369 2371 2490
+f 2588 2580 2487
+f 2487 2490 2588
+f 2686 2680 2580
+f 2580 2588 2686
+f 2770 2762 2680
+f 2680 2686 2770
+f 2846 2836 2762
+f 2762 2770 2846
+f 2908 2898 2836
+f 2836 2846 2908
+f 2966 2946 2898
+f 2898 2908 2966
+f 2981 2960 2946
+f 2946 2966 2981
+f 2179 2175 1837
+f 1837 1831 2179
+f 2375 2371 2175
+f 2175 2179 2375
+f 2501 2490 2371
+f 2371 2375 2501
+f 2596 2588 2490
+f 2490 2501 2596
+f 2692 2686 2588
+f 2588 2596 2692
+f 2780 2770 2686
+f 2686 2692 2780
+f 2856 2846 2770
+f 2770 2780 2856
+f 2934 2908 2846
+f 2846 2856 2934
+f 2983 2966 2908
+f 2908 2934 2983
+f 2989 2981 2966
+f 2966 2983 2989
+f 2181 2179 1831
+f 1831 1823 2181
+f 2379 2375 2179
+f 2179 2181 2379
+f 2507 2501 2375
+f 2375 2379 2507
+f 2602 2596 2501
+f 2501 2507 2602
+f 2700 2692 2596
+f 2596 2602 2700
+f 2792 2780 2692
+f 2692 2700 2792
+f 2872 2856 2780
+f 2780 2792 2872
+f 2950 2934 2856
+f 2856 2872 2950
+f 2991 2983 2934
+f 2934 2950 2991
+f 3003 2989 2983
+f 2983 2991 3003
+f 2194 2181 1823
+f 1823 1818 2194
+f 2391 2379 2181
+f 2181 2194 2391
+f 2518 2507 2379
+f 2379 2391 2518
+f 2614 2602 2507
+f 2507 2518 2614
+f 2712 2700 2602
+f 2602 2614 2712
+f 2806 2792 2700
+f 2700 2712 2806
+f 2890 2872 2792
+f 2792 2806 2890
+f 2974 2950 2872
+f 2872 2890 2974
+f 3009 2991 2950
+f 2950 2974 3009
+f 3025 3003 2991
+f 2991 3009 3025
+f 3040 3008 3024
+f 3024 3048 3040
+f 3018 2973 3008
+f 3008 3040 3018
+f 2943 2889 2973
+f 2973 3018 2943
+f 2841 2805 2889
+f 2889 2943 2841
+f 2731 2711 2805
+f 2805 2841 2731
+f 2645 2611 2711
+f 2711 2731 2645
+f 2529 2521 2611
+f 2611 2645 2529
+f 2402 2387 2521
+f 2521 2529 2402
+f 2208 2191 2387
+f 2387 2402 2208
+f 1806 1810 2191
+f 2191 2208 1806
+f 3072 3040 3048
+f 3048 3078 3072
+f 3044 3018 3040
+f 3040 3072 3044
+f 2994 2943 3018
+f 3018 3044 2994
+f 2883 2841 2943
+f 2943 2994 2883
+f 2773 2731 2841
+f 2841 2883 2773
+f 2659 2645 2731
+f 2731 2773 2659
+f 2539 2529 2645
+f 2645 2659 2539
+f 2410 2402 2529
+f 2529 2539 2410
+f 2222 2208 2402
+f 2402 2410 2222
+f 1694 1806 2208
+f 2208 2222 1694
+f 3092 3072 3078
+f 3078 3116 3092
+f 3074 3044 3072
+f 3072 3092 3074
+f 3030 2994 3044
+f 3044 3074 3030
+f 2937 2883 2994
+f 2994 3030 2937
+f 2810 2773 2883
+f 2883 2937 2810
+f 2683 2659 2773
+f 2773 2810 2683
+f 2554 2539 2659
+f 2659 2683 2554
+f 2420 2410 2539
+f 2539 2554 2420
+f 2238 2222 2410
+f 2410 2420 2238
+f 1930 1694 2222
+f 2222 2238 1930
+f 3132 3092 3116
+f 3116 3142 3132
+f 3090 3074 3092
+f 3092 3132 3090
+f 3054 3030 3074
+f 3074 3090 3054
+f 2984 2937 3030
+f 3030 3054 2984
+f 2837 2810 2937
+f 2937 2984 2837
+f 2705 2683 2810
+f 2810 2837 2705
+f 2574 2554 2683
+f 2683 2705 2574
+f 2430 2420 2554
+f 2554 2574 2430
+f 2247 2238 2420
+f 2420 2430 2247
+f 1913 1930 2238
+f 2238 2247 1913
+f 3150 3132 3142
+f 3142 3156 3150
+f 3128 3090 3132
+f 3132 3150 3128
+f 3076 3054 3090
+f 3090 3128 3076
+f 3014 2984 3054
+f 3054 3076 3014
+f 2861 2837 2984
+f 2984 3014 2861
+f 2723 2705 2837
+f 2837 2861 2723
+f 2585 2574 2705
+f 2705 2723 2585
+f 2438 2430 2574
+f 2574 2585 2438
+f 2253 2247 2430
+f 2430 2438 2253
+f 1711 1913 2247
+f 2247 2253 1711
+f 3162 3150 3156
+f 3156 3172 3162
+f 3148 3128 3150
+f 3150 3162 3148
+f 3088 3076 3128
+f 3128 3148 3088
+f 3036 3014 3076
+f 3076 3088 3036
+f 2893 2861 3014
+f 3014 3036 2893
+f 2743 2723 2861
+f 2861 2893 2743
+f 2599 2585 2723
+f 2723 2743 2599
+f 2450 2438 2585
+f 2585 2599 2450
+f 2267 2253 2438
+f 2438 2450 2267
+f 1794 1711 2253
+f 2253 2267 1794
+f 3178 3162 3172
+f 3172 3184 3178
+f 3154 3148 3162
+f 3162 3178 3154
+f 3118 3088 3148
+f 3148 3154 3118
+f 3046 3036 3088
+f 3088 3118 3046
+f 2915 2893 3036
+f 3036 3046 2915
+f 2763 2743 2893
+f 2893 2915 2763
+f 2615 2599 2743
+f 2743 2763 2615
+f 2452 2450 2599
+f 2599 2615 2452
+f 2277 2267 2450
+f 2450 2452 2277
+f 1710 1794 2267
+f 2267 2277 1710
+f 3188 3178 3184
+f 3184 3200 3188
+f 3164 3154 3178
+f 3178 3188 3164
+f 3130 3118 3154
+f 3154 3164 3130
+f 3058 3046 3118
+f 3118 3130 3058
+f 2941 2915 3046
+f 3046 3058 2941
+f 2775 2763 2915
+f 2915 2941 2775
+f 2627 2615 2763
+f 2763 2775 2627
+f 2458 2452 2615
+f 2615 2627 2458
+f 2287 2277 2452
+f 2452 2458 2287
+f 1910 1710 2277
+f 2277 2287 1910
+f 3198 3188 3200
+f 3200 3209 3198
+f 3170 3164 3188
+f 3188 3198 3170
+f 3136 3130 3164
+f 3164 3170 3136
+f 3064 3058 3130
+f 3130 3136 3064
+f 2955 2941 3058
+f 3058 3064 2955
+f 2781 2775 2941
+f 2941 2955 2781
+f 2636 2627 2775
+f 2775 2781 2636
+f 2462 2458 2627
+f 2627 2636 2462
+f 2295 2287 2458
+f 2458 2462 2295
+f 1909 1910 2287
+f 2287 2295 1909
+f 3202 3198 3209
+f 3209 3213 3202
+f 3174 3170 3198
+f 3198 3202 3174
+f 3138 3136 3170
+f 3170 3174 3138
+f 3066 3064 3136
+f 3136 3138 3066
+f 2961 2955 3064
+f 3064 3066 2961
+f 2783 2781 2955
+f 2955 2961 2783
+f 2642 2636 2781
+f 2781 2783 2642
+f 2464 2462 2636
+f 2636 2642 2464
+f 2297 2295 2462
+f 2462 2464 2297
+f 1784 1909 2295
+f 2295 2297 1784
+f 1414 1429 1811
+f 1811 1807 1414
+f 1220 1233 1429
+f 1429 1414 1220
+f 1093 1106 1233
+f 1233 1220 1093
+f 977 1011 1106
+f 1106 1093 977
+f 891 911 1011
+f 1011 977 891
+f 781 817 911
+f 911 891 781
+f 679 733 817
+f 817 781 679
+f 604 649 733
+f 733 679 604
+f 571 614 649
+f 649 604 571
+f 561 597 614
+f 614 571 561
+f 1400 1414 1807
+f 1807 1804 1400
+f 1212 1220 1414
+f 1414 1400 1212
+f 1083 1093 1220
+f 1220 1212 1083
+f 963 977 1093
+f 1093 1083 963
+f 849 891 977
+f 977 963 849
+f 739 781 891
+f 891 849 739
+f 628 679 781
+f 781 739 628
+f 565 604 679
+f 679 628 565
+f 530 571 604
+f 604 565 530
+f 524 561 571
+f 571 530 524
+f 1386 1400 1804
+f 1804 1802 1386
+f 1202 1212 1400
+f 1400 1386 1202
+f 1070 1083 1212
+f 1212 1202 1070
+f 939 963 1083
+f 1083 1070 939
+f 814 849 963
+f 963 939 814
+f 685 739 849
+f 849 814 685
+f 585 628 739
+f 739 685 585
+f 528 565 628
+f 628 585 528
+f 510 530 565
+f 565 528 510
+f 508 524 530
+f 530 510 508
+f 1375 1386 1802
+f 1802 1800 1375
+f 1192 1202 1386
+f 1386 1375 1192
+f 1050 1070 1202
+f 1202 1192 1050
+f 917 939 1070
+f 1070 1050 917
+f 785 814 939
+f 939 917 785
+f 638 685 814
+f 814 785 638
+f 553 585 685
+f 685 638 553
+f 512 528 585
+f 585 553 512
+f 492 510 528
+f 528 512 492
+f 482 508 510
+f 510 492 482
+f 1369 1375 1800
+f 1800 1798 1369
+f 1184 1192 1375
+f 1375 1369 1184
+f 1037 1050 1192
+f 1192 1184 1037
+f 899 917 1050
+f 1050 1037 899
+f 761 785 917
+f 917 899 761
+f 608 638 785
+f 785 761 608
+f 526 553 638
+f 638 608 526
+f 496 512 553
+f 553 526 496
+f 454 492 512
+f 512 496 454
+f 448 482 492
+f 492 454 448
+f 1355 1369 1798
+f 1798 1795 1355
+f 1172 1184 1369
+f 1369 1355 1172
+f 1023 1037 1184
+f 1184 1172 1023
+f 879 899 1037
+f 1037 1023 879
+f 729 761 899
+f 899 879 729
+f 579 608 761
+f 761 729 579
+f 514 526 608
+f 608 579 514
+f 457 496 526
+f 526 514 457
+f 442 454 496
+f 496 457 442
+f 432 448 454
+f 454 442 432
+f 1345 1355 1795
+f 1795 1792 1345
+f 1170 1172 1355
+f 1355 1345 1170
+f 1007 1023 1172
+f 1172 1170 1007
+f 859 879 1023
+f 1023 1007 859
+f 707 729 879
+f 879 859 707
+f 563 579 729
+f 729 707 563
+f 506 514 579
+f 579 563 506
+f 450 457 514
+f 514 506 450
+f 420 442 457
+f 457 450 420
+f 412 432 442
+f 442 420 412
+f 1335 1345 1792
+f 1792 1790 1335
+f 1164 1170 1345
+f 1345 1335 1164
+f 995 1007 1170
+f 1170 1164 995
+f 847 859 1007
+f 1007 995 847
+f 681 707 859
+f 859 847 681
+f 547 563 707
+f 707 681 547
+f 494 506 563
+f 563 547 494
+f 440 450 506
+f 506 494 440
+f 410 420 450
+f 450 440 410
+f 398 412 420
+f 420 410 398
+f 1327 1335 1790
+f 1790 1788 1327
+f 1160 1164 1335
+f 1335 1327 1160
+f 988 995 1164
+f 1164 1160 988
+f 841 847 995
+f 995 988 841
+f 667 681 847
+f 847 841 667
+f 538 547 681
+f 681 667 538
+f 488 494 547
+f 547 538 488
+f 434 440 494
+f 494 488 434
+f 400 410 440
+f 440 434 400
+f 381 398 410
+f 410 400 381
+f 1324 1327 1788
+f 1788 1785 1324
+f 1156 1160 1327
+f 1327 1324 1156
+f 979 988 1160
+f 1160 1156 979
+f 837 841 988
+f 988 979 837
+f 659 667 841
+f 841 837 659
+f 534 538 667
+f 667 659 534
+f 484 488 538
+f 538 534 484
+f 428 434 488
+f 488 484 428
+f 395 400 434
+f 434 428 395
+f 374 381 400
+f 400 395 374
+f 572 616 600
+f 600 562 572
+f 605 654 616
+f 616 572 605
+f 680 737 654
+f 654 605 680
+f 782 822 737
+f 737 680 782
+f 892 914 822
+f 822 782 892
+f 978 1014 914
+f 914 892 978
+f 1094 1104 1014
+f 1014 978 1094
+f 1221 1237 1104
+f 1104 1094 1221
+f 1415 1433 1237
+f 1237 1221 1415
+f 1809 1819 1433
+f 1433 1415 1809
+f 531 572 562
+f 562 525 531
+f 566 605 572
+f 572 531 566
+f 629 680 605
+f 605 566 629
+f 740 782 680
+f 680 629 740
+f 850 892 782
+f 782 740 850
+f 964 978 892
+f 892 850 964
+f 1084 1094 978
+f 978 964 1084
+f 1213 1221 1094
+f 1094 1084 1213
+f 1401 1415 1221
+f 1221 1213 1401
+f 1931 1809 1415
+f 1415 1401 1931
+f 511 531 525
+f 525 509 511
+f 529 566 531
+f 531 511 529
+f 586 629 566
+f 566 529 586
+f 686 740 629
+f 629 586 686
+f 813 850 740
+f 740 686 813
+f 940 964 850
+f 850 813 940
+f 1069 1084 964
+f 964 940 1069
+f 1203 1213 1084
+f 1084 1069 1203
+f 1385 1401 1213
+f 1213 1203 1385
+f 1693 1931 1401
+f 1401 1385 1693
+f 493 511 509
+f 509 483 493
+f 513 529 511
+f 511 493 513
+f 554 586 529
+f 529 513 554
+f 639 686 586
+f 586 554 639
+f 786 813 686
+f 686 639 786
+f 918 940 813
+f 813 786 918
+f 1049 1069 940
+f 940 918 1049
+f 1193 1203 1069
+f 1069 1049 1193
+f 1376 1385 1203
+f 1203 1193 1376
+f 1712 1693 1385
+f 1385 1376 1712
+f 455 493 483
+f 483 449 455
+f 497 513 493
+f 493 455 497
+f 527 554 513
+f 513 497 527
+f 609 639 554
+f 554 527 609
+f 762 786 639
+f 639 609 762
+f 900 918 786
+f 786 762 900
+f 1038 1049 918
+f 918 900 1038
+f 1185 1193 1049
+f 1049 1038 1185
+f 1370 1376 1193
+f 1193 1185 1370
+f 1912 1712 1376
+f 1376 1370 1912
+f 443 455 449
+f 449 433 443
+f 458 497 455
+f 455 443 458
+f 515 527 497
+f 497 458 515
+f 580 609 527
+f 527 515 580
+f 730 762 609
+f 609 580 730
+f 880 900 762
+f 762 730 880
+f 1024 1038 900
+f 900 880 1024
+f 1173 1185 1038
+f 1038 1024 1173
+f 1356 1370 1185
+f 1185 1173 1356
+f 1797 1912 1370
+f 1370 1356 1797
+f 421 443 433
+f 433 413 421
+f 451 458 443
+f 443 421 451
+f 507 515 458
+f 458 451 507
+f 564 580 515
+f 515 507 564
+f 708 730 580
+f 580 564 708
+f 860 880 730
+f 730 708 860
+f 1008 1024 880
+f 880 860 1008
+f 1171 1173 1024
+f 1024 1008 1171
+f 1346 1356 1173
+f 1173 1171 1346
+f 1911 1797 1356
+f 1356 1346 1911
+f 411 421 413
+f 413 399 411
+f 441 451 421
+f 421 411 441
+f 495 507 451
+f 451 441 495
+f 548 564 507
+f 507 495 548
+f 682 708 564
+f 564 548 682
+f 848 860 708
+f 708 682 848
+f 996 1008 860
+f 860 848 996
+f 1165 1171 1008
+f 1008 996 1165
+f 1336 1346 1171
+f 1171 1165 1336
+f 1709 1911 1346
+f 1346 1336 1709
+f 401 411 399
+f 399 382 401
+f 435 441 411
+f 411 401 435
+f 489 495 441
+f 441 435 489
+f 539 548 495
+f 495 489 539
+f 668 682 548
+f 548 539 668
+f 842 848 682
+f 682 668 842
+f 987 996 848
+f 848 842 987
+f 1161 1165 996
+f 996 987 1161
+f 1328 1336 1165
+f 1165 1161 1328
+f 1708 1709 1336
+f 1336 1328 1708
+f 397 401 382
+f 382 376 397
+f 431 435 401
+f 401 397 431
+f 487 489 435
+f 435 431 487
+f 537 539 489
+f 489 487 537
+f 662 668 539
+f 539 537 662
+f 840 842 668
+f 668 662 840
+f 981 987 842
+f 842 840 981
+f 1159 1161 987
+f 987 981 1159
+f 1326 1328 1161
+f 1161 1159 1326
+f 1787 1708 1328
+f 1328 1326 1787
+f 2209 2194 1818
+f 1818 1808 2209
+f 2403 2391 2194
+f 2194 2209 2403
+f 2530 2518 2391
+f 2391 2403 2530
+f 2646 2614 2518
+f 2518 2530 2646
+f 2732 2712 2614
+f 2614 2646 2732
+f 2842 2806 2712
+f 2712 2732 2842
+f 2944 2890 2806
+f 2806 2842 2944
+f 3019 2974 2890
+f 2890 2944 3019
+f 3041 3009 2974
+f 2974 3019 3041
+f 3049 3025 3009
+f 3009 3041 3049
+f 2223 2209 1808
+f 1808 1805 2223
+f 2411 2403 2209
+f 2209 2223 2411
+f 2540 2530 2403
+f 2403 2411 2540
+f 2660 2646 2530
+f 2530 2540 2660
+f 2774 2732 2646
+f 2646 2660 2774
+f 2884 2842 2732
+f 2732 2774 2884
+f 2995 2944 2842
+f 2842 2884 2995
+f 3045 3019 2944
+f 2944 2995 3045
+f 3073 3041 3019
+f 3019 3045 3073
+f 3079 3049 3041
+f 3041 3073 3079
+f 2237 2223 1805
+f 1805 1803 2237
+f 2421 2411 2223
+f 2223 2237 2421
+f 2553 2540 2411
+f 2411 2421 2553
+f 2684 2660 2540
+f 2540 2553 2684
+f 2809 2774 2660
+f 2660 2684 2809
+f 2938 2884 2774
+f 2774 2809 2938
+f 3031 2995 2884
+f 2884 2938 3031
+f 3075 3045 2995
+f 2995 3031 3075
+f 3093 3073 3045
+f 3045 3075 3093
+f 3117 3079 3073
+f 3073 3093 3117
+f 2248 2237 1803
+f 1803 1801 2248
+f 2431 2421 2237
+f 2237 2248 2431
+f 2573 2553 2421
+f 2421 2431 2573
+f 2706 2684 2553
+f 2553 2573 2706
+f 2838 2809 2684
+f 2684 2706 2838
+f 2985 2938 2809
+f 2809 2838 2985
+f 3055 3031 2938
+f 2938 2985 3055
+f 3091 3075 3031
+f 3031 3055 3091
+f 3133 3093 3075
+f 3075 3091 3133
+f 3143 3117 3093
+f 3093 3133 3143
+f 2254 2248 1801
+f 1801 1799 2254
+f 2439 2431 2248
+f 2248 2254 2439
+f 2586 2573 2431
+f 2431 2439 2586
+f 2724 2706 2573
+f 2573 2586 2724
+f 2862 2838 2706
+f 2706 2724 2862
+f 3015 2985 2838
+f 2838 2862 3015
+f 3077 3055 2985
+f 2985 3015 3077
+f 3129 3091 3055
+f 3055 3077 3129
+f 3151 3133 3091
+f 3091 3129 3151
+f 3157 3143 3133
+f 3133 3151 3157
+f 2268 2254 1799
+f 1799 1796 2268
+f 2451 2439 2254
+f 2254 2268 2451
+f 2600 2586 2439
+f 2439 2451 2600
+f 2744 2724 2586
+f 2586 2600 2744
+f 2894 2862 2724
+f 2724 2744 2894
+f 3037 3015 2862
+f 2862 2894 3037
+f 3089 3077 3015
+f 3015 3037 3089
+f 3149 3129 3077
+f 3077 3089 3149
+f 3163 3151 3129
+f 3129 3149 3163
+f 3173 3157 3151
+f 3151 3163 3173
+f 2278 2268 1796
+f 1796 1793 2278
+f 2453 2451 2268
+f 2268 2278 2453
+f 2616 2600 2451
+f 2451 2453 2616
+f 2764 2744 2600
+f 2600 2616 2764
+f 2916 2894 2744
+f 2744 2764 2916
+f 3047 3037 2894
+f 2894 2916 3047
+f 3119 3089 3037
+f 3037 3047 3119
+f 3155 3149 3089
+f 3089 3119 3155
+f 3179 3163 3149
+f 3149 3155 3179
+f 3185 3173 3163
+f 3163 3179 3185
+f 2288 2278 1793
+f 1793 1791 2288
+f 2459 2453 2278
+f 2278 2288 2459
+f 2628 2616 2453
+f 2453 2459 2628
+f 2776 2764 2616
+f 2616 2628 2776
+f 2942 2916 2764
+f 2764 2776 2942
+f 3059 3047 2916
+f 2916 2942 3059
+f 3131 3119 3047
+f 3047 3059 3131
+f 3165 3155 3119
+f 3119 3131 3165
+f 3189 3179 3155
+f 3155 3165 3189
+f 3201 3185 3179
+f 3179 3189 3201
+f 2296 2288 1791
+f 1791 1789 2296
+f 2463 2459 2288
+f 2288 2296 2463
+f 2635 2628 2459
+f 2459 2463 2635
+f 2782 2776 2628
+f 2628 2635 2782
+f 2956 2942 2776
+f 2776 2782 2956
+f 3065 3059 2942
+f 2942 2956 3065
+f 3137 3131 3059
+f 3059 3065 3137
+f 3171 3165 3131
+f 3131 3137 3171
+f 3199 3189 3165
+f 3165 3171 3199
+f 3210 3201 3189
+f 3189 3199 3210
+f 2299 2296 1789
+f 1789 1786 2299
+f 2467 2463 2296
+f 2296 2299 2467
+f 2644 2635 2463
+f 2463 2467 2644
+f 2786 2782 2635
+f 2635 2644 2786
+f 2964 2956 2782
+f 2782 2786 2964
+f 3069 3065 2956
+f 2956 2964 3069
+f 3141 3137 3065
+f 3065 3069 3141
+f 3177 3171 3137
+f 3137 3141 3177
+f 3204 3199 3171
+f 3171 3177 3204
+f 3214 3210 3199
+f 3199 3204 3214
+f 3194 3202 3213
+f 3213 3207 3194
+f 3166 3175 3202
+f 3202 3194 3166
+f 3134 3139 3175
+f 3175 3166 3134
+f 3060 3067 3139
+f 3139 3134 3060
+f 2953 2962 3067
+f 3067 3060 2953
+f 2777 2784 2962
+f 2962 2953 2777
+f 2629 2643 2784
+f 2784 2777 2629
+f 2460 2465 2643
+f 2643 2629 2460
+f 2293 2298 2465
+f 2465 2460 2293
+f 1696 1785 2298
+f 2298 2293 1696
+f 3180 3194 3207
+f 3207 3190 3180
+f 3158 3166 3194
+f 3194 3180 3158
+f 3124 3134 3166
+f 3166 3158 3124
+f 3050 3060 3134
+f 3134 3124 3050
+f 2927 2953 3060
+f 3060 3050 2927
+f 2767 2777 2953
+f 2953 2927 2767
+f 2619 2629 2777
+f 2777 2767 2619
+f 2454 2460 2629
+f 2629 2619 2454
+f 2283 2293 2460
+f 2460 2454 2283
+f 1695 1696 2293
+f 2293 2283 1695
+f 3160 3180 3190
+f 3190 3168 3160
+f 3144 3158 3180
+f 3180 3160 3144
+f 3086 3124 3158
+f 3158 3144 3086
+f 3032 3050 3124
+f 3124 3086 3032
+f 2891 2927 3050
+f 3050 3032 2891
+f 2739 2767 2927
+f 2927 2891 2739
+f 2597 2619 2767
+f 2767 2739 2597
+f 2448 2454 2619
+f 2619 2597 2448
+f 2265 2283 2454
+f 2454 2448 2265
+f 1707 1695 2283
+f 2283 2265 1707
+f 3146 3160 3168
+f 3168 3152 3146
+f 3122 3144 3160
+f 3160 3146 3122
+f 3070 3086 3144
+f 3144 3122 3070
+f 2998 3032 3086
+f 3086 3070 2998
+f 2853 2891 3032
+f 3032 2998 2853
+f 2717 2739 2891
+f 2891 2853 2717
+f 2582 2597 2739
+f 2739 2717 2582
+f 2434 2448 2597
+f 2597 2582 2434
+f 2251 2265 2448
+f 2448 2434 2251
+f 1907 1707 2265
+f 2265 2251 1907
+f 3120 3146 3152
+f 3152 3126 3120
+f 3082 3122 3146
+f 3146 3120 3082
+f 3042 3070 3122
+f 3122 3082 3042
+f 2957 2998 3070
+f 3070 3042 2957
+f 2825 2853 2998
+f 2998 2957 2825
+f 2693 2717 2853
+f 2853 2825 2693
+f 2556 2582 2717
+f 2717 2693 2556
+f 2424 2434 2582
+f 2582 2556 2424
+f 2239 2251 2434
+f 2434 2424 2239
+f 1906 1907 2251
+f 2251 2239 1906
+f 3080 3120 3126
+f 3126 3084 3080
+f 3056 3082 3120
+f 3120 3080 3056
+f 3012 3042 3082
+f 3082 3056 3012
+f 2899 2957 3042
+f 3042 3012 2899
+f 2789 2825 2957
+f 2957 2899 2789
+f 2675 2693 2825
+f 2825 2789 2675
+f 2545 2556 2693
+f 2693 2675 2545
+f 2416 2424 2556
+f 2556 2545 2416
+f 2228 2239 2424
+f 2424 2416 2228
+f 1770 1906 2239
+f 2239 2228 1770
+f 3053 3080 3084
+f 3084 3062 3053
+f 3028 3056 3080
+f 3080 3053 3028
+f 2978 3012 3056
+f 3056 3028 2978
+f 2860 2899 3012
+f 3012 2978 2860
+f 2754 2789 2899
+f 2899 2860 2754
+f 2652 2675 2789
+f 2789 2754 2652
+f 2534 2545 2675
+f 2675 2652 2534
+f 2406 2416 2545
+f 2545 2534 2406
+f 2217 2228 2416
+f 2416 2406 2217
+f 1929 1770 2228
+f 2228 2217 1929
+f 3035 3053 3062
+f 3062 3039 3035
+f 2997 3028 3053
+f 3053 3035 2997
+f 2920 2978 3028
+f 3028 2997 2920
+f 2832 2860 2978
+f 2978 2920 2832
+f 2728 2754 2860
+f 2860 2832 2728
+f 2634 2652 2754
+f 2754 2728 2634
+f 2528 2534 2652
+f 2652 2634 2528
+f 2396 2406 2534
+f 2534 2528 2396
+f 2202 2217 2406
+f 2406 2396 2202
+f 1765 1929 2217
+f 2217 2202 1765
+f 3017 3035 3039
+f 3039 3027 3017
+f 2980 2997 3035
+f 3035 3017 2980
+f 2896 2920 2997
+f 2997 2980 2896
+f 2812 2832 2920
+f 2920 2896 2812
+f 2715 2728 2832
+f 2832 2812 2715
+f 2618 2634 2728
+f 2728 2715 2618
+f 2523 2528 2634
+f 2634 2618 2523
+f 2392 2396 2528
+f 2528 2523 2392
+f 2196 2202 2396
+f 2396 2392 2196
+f 1724 1765 2202
+f 2202 2196 1724
+f 3007 3017 3027
+f 3027 3023 3007
+f 2969 2980 3017
+f 3017 3007 2969
+f 2887 2896 2980
+f 2980 2969 2887
+f 2802 2812 2896
+f 2896 2887 2802
+f 2709 2715 2812
+f 2812 2802 2709
+f 2609 2618 2715
+f 2715 2709 2609
+f 2519 2523 2618
+f 2618 2609 2519
+f 2386 2392 2523
+f 2523 2519 2386
+f 2190 2196 2392
+f 2392 2386 2190
+f 1759 1724 2196
+f 2196 2190 1759
+f 1329 1324 1785
+f 1785 1782 1329
+f 1162 1157 1324
+f 1324 1329 1162
+f 993 982 1157
+f 1157 1162 993
+f 845 838 982
+f 982 993 845
+f 669 660 838
+f 838 845 669
+f 542 535 660
+f 660 669 542
+f 490 485 535
+f 535 542 490
+f 438 429 485
+f 485 490 438
+f 404 396 429
+f 429 438 404
+f 387 376 396
+f 396 404 387
+f 1339 1329 1782
+f 1782 1780 1339
+f 1168 1162 1329
+f 1329 1339 1168
+f 1003 993 1162
+f 1162 1168 1003
+f 855 845 993
+f 993 1003 855
+f 695 669 845
+f 845 855 695
+f 559 542 669
+f 669 695 559
+f 500 490 542
+f 542 559 500
+f 446 438 490
+f 490 500 446
+f 416 404 438
+f 438 446 416
+f 408 387 404
+f 404 416 408
+f 1357 1339 1780
+f 1780 1778 1357
+f 1174 1168 1339
+f 1339 1357 1174
+f 1025 1003 1168
+f 1168 1174 1025
+f 883 855 1003
+f 1003 1025 883
+f 731 695 855
+f 855 883 731
+f 583 559 695
+f 695 731 583
+f 516 500 559
+f 559 583 516
+f 467 446 500
+f 500 516 467
+f 444 416 446
+f 446 467 444
+f 436 408 416
+f 416 444 436
+f 1371 1357 1778
+f 1778 1776 1371
+f 1188 1174 1357
+f 1357 1371 1188
+f 1042 1025 1174
+f 1174 1188 1042
+f 905 883 1025
+f 1025 1042 905
+f 769 731 883
+f 883 905 769
+f 624 583 731
+f 731 769 624
+f 532 516 583
+f 583 624 532
+f 502 467 516
+f 516 532 502
+f 459 444 467
+f 467 502 459
+f 452 436 444
+f 444 459 452
+f 1383 1371 1776
+f 1776 1774 1383
+f 1198 1188 1371
+f 1371 1383 1198
+f 1068 1042 1188
+f 1188 1198 1068
+f 929 905 1042
+f 1042 1068 929
+f 797 769 905
+f 905 929 797
+f 665 624 769
+f 769 797 665
+f 569 532 624
+f 624 665 569
+f 520 502 532
+f 532 569 520
+f 504 459 502
+f 502 520 504
+f 498 452 459
+f 459 504 498
+f 1394 1383 1774
+f 1774 1771 1394
+f 1206 1198 1383
+f 1383 1394 1206
+f 1077 1068 1198
+f 1198 1206 1077
+f 947 929 1068
+f 1068 1077 947
+f 833 797 929
+f 929 947 833
+f 723 665 797
+f 797 833 723
+f 610 569 665
+f 665 723 610
+f 549 520 569
+f 569 610 549
+f 522 504 520
+f 520 549 522
+f 518 498 504
+f 504 522 518
+f 1407 1394 1771
+f 1771 1768 1407
+f 1216 1206 1394
+f 1394 1407 1216
+f 1090 1077 1206
+f 1206 1216 1090
+f 972 947 1077
+f 1077 1090 972
+f 870 833 947
+f 947 972 870
+f 764 723 833
+f 833 870 764
+f 646 610 723
+f 723 764 646
+f 587 549 610
+f 610 646 587
+f 556 522 549
+f 549 587 556
+f 540 518 522
+f 522 556 540
+f 1420 1407 1768
+f 1768 1764 1420
+f 1226 1216 1407
+f 1407 1420 1226
+f 1096 1090 1216
+f 1216 1226 1096
+f 990 972 1090
+f 1090 1096 990
+f 896 870 972
+f 972 990 896
+f 792 764 870
+f 870 896 792
+f 704 646 764
+f 764 792 704
+f 627 587 646
+f 646 704 627
+f 582 556 587
+f 587 627 582
+f 574 540 556
+f 556 582 574
+f 1426 1420 1764
+f 1764 1762 1426
+f 1230 1226 1420
+f 1420 1426 1230
+f 1101 1096 1226
+f 1226 1230 1101
+f 1006 990 1096
+f 1096 1101 1006
+f 907 896 990
+f 990 1006 907
+f 812 792 896
+f 896 907 812
+f 728 704 792
+f 792 812 728
+f 644 627 704
+f 704 728 644
+f 607 582 627
+f 627 644 607
+f 592 574 582
+f 582 607 592
+f 1430 1426 1762
+f 1762 1758 1430
+f 1234 1230 1426
+f 1426 1430 1234
+f 1107 1101 1230
+f 1230 1234 1107
+f 1012 1006 1101
+f 1101 1107 1012
+f 912 907 1006
+f 1006 1012 912
+f 819 812 907
+f 907 912 819
+f 738 728 812
+f 812 819 738
+f 651 644 728
+f 728 738 651
+f 618 607 644
+f 644 651 618
+f 601 592 607
+f 607 618 601
+f 405 397 376
+f 376 388 405
+f 439 430 397
+f 397 405 439
+f 491 486 430
+f 430 439 491
+f 543 536 486
+f 486 491 543
+f 670 661 536
+f 536 543 670
+f 846 839 661
+f 661 670 846
+f 994 980 839
+f 839 846 994
+f 1163 1158 980
+f 980 994 1163
+f 1330 1325 1158
+f 1158 1163 1330
+f 1926 1786 1325
+f 1325 1330 1926
+f 417 405 388
+f 388 409 417
+f 447 439 405
+f 405 417 447
+f 501 491 439
+f 439 447 501
+f 560 543 491
+f 491 501 560
+f 696 670 543
+f 543 560 696
+f 856 846 670
+f 670 696 856
+f 1004 994 846
+f 846 856 1004
+f 1169 1163 994
+f 994 1004 1169
+f 1340 1330 1163
+f 1163 1169 1340
+f 1925 1926 1330
+f 1330 1340 1925
+f 445 417 409
+f 409 437 445
+f 468 447 417
+f 417 445 468
+f 517 501 447
+f 447 468 517
+f 584 560 501
+f 501 517 584
+f 732 696 560
+f 560 584 732
+f 884 856 696
+f 696 732 884
+f 1026 1004 856
+f 856 884 1026
+f 1175 1169 1004
+f 1004 1026 1175
+f 1358 1340 1169
+f 1169 1175 1358
+f 1908 1925 1340
+f 1340 1358 1908
+f 460 445 437
+f 437 453 460
+f 503 468 445
+f 445 460 503
+f 533 517 468
+f 468 503 533
+f 625 584 517
+f 517 533 625
+f 770 732 584
+f 584 625 770
+f 906 884 732
+f 732 770 906
+f 1041 1026 884
+f 884 906 1041
+f 1189 1175 1026
+f 1026 1041 1189
+f 1372 1358 1175
+f 1175 1189 1372
+f 1706 1908 1358
+f 1358 1372 1706
+f 505 460 453
+f 453 499 505
+f 521 503 460
+f 460 505 521
+f 570 533 503
+f 503 521 570
+f 666 625 533
+f 533 570 666
+f 798 770 625
+f 625 666 798
+f 930 906 770
+f 770 798 930
+f 1067 1041 906
+f 906 930 1067
+f 1199 1189 1041
+f 1041 1067 1199
+f 1384 1372 1189
+f 1189 1199 1384
+f 1705 1706 1372
+f 1372 1384 1705
+f 523 505 499
+f 499 519 523
+f 550 521 505
+f 505 523 550
+f 611 570 521
+f 521 550 611
+f 724 666 570
+f 570 611 724
+f 834 798 666
+f 666 724 834
+f 948 930 798
+f 798 834 948
+f 1078 1067 930
+f 930 948 1078
+f 1207 1199 1067
+f 1067 1078 1207
+f 1395 1384 1199
+f 1199 1207 1395
+f 1773 1705 1384
+f 1384 1395 1773
+f 555 523 519
+f 519 541 555
+f 588 550 523
+f 523 555 588
+f 645 611 550
+f 550 588 645
+f 763 724 611
+f 611 645 763
+f 869 834 724
+f 724 763 869
+f 971 948 834
+f 834 869 971
+f 1089 1078 948
+f 948 971 1089
+f 1217 1207 1078
+f 1078 1089 1217
+f 1406 1395 1207
+f 1207 1217 1406
+f 1692 1773 1395
+f 1395 1406 1692
+f 581 555 541
+f 541 573 581
+f 626 588 555
+f 555 581 626
+f 703 645 588
+f 588 626 703
+f 791 763 645
+f 645 703 791
+f 895 869 763
+f 763 791 895
+f 989 971 869
+f 869 895 989
+f 1095 1089 971
+f 971 989 1095
+f 1227 1217 1089
+f 1089 1095 1227
+f 1421 1406 1217
+f 1217 1227 1421
+f 1766 1692 1406
+f 1406 1421 1766
+f 606 581 573
+f 573 591 606
+f 643 626 581
+f 581 606 643
+f 727 703 626
+f 626 643 727
+f 811 791 703
+f 703 727 811
+f 908 895 791
+f 791 811 908
+f 1005 989 895
+f 895 908 1005
+f 1100 1095 989
+f 989 1005 1100
+f 1231 1227 1095
+f 1095 1100 1231
+f 1427 1421 1227
+f 1227 1231 1427
+f 1897 1766 1421
+f 1421 1427 1897
+f 615 606 591
+f 591 598 615
+f 653 643 606
+f 606 615 653
+f 735 727 643
+f 643 653 735
+f 820 811 727
+f 727 735 820
+f 913 908 811
+f 811 820 913
+f 1013 1005 908
+f 908 913 1013
+f 1103 1100 1005
+f 1005 1013 1103
+f 1236 1231 1100
+f 1100 1103 1236
+f 1432 1427 1231
+f 1231 1236 1432
+f 1760 1897 1427
+f 1427 1432 1760
+f 2294 2299 1786
+f 1786 1783 2294
+f 2461 2466 2299
+f 2299 2294 2461
+f 2630 2641 2466
+f 2466 2461 2630
+f 2778 2785 2641
+f 2641 2630 2778
+f 2954 2963 2785
+f 2785 2778 2954
+f 3061 3068 2963
+f 2963 2954 3061
+f 3135 3140 3068
+f 3068 3061 3135
+f 3167 3176 3140
+f 3140 3135 3167
+f 3195 3203 3176
+f 3176 3167 3195
+f 3208 3213 3203
+f 3203 3195 3208
+f 2284 2294 1783
+f 1783 1781 2284
+f 2455 2461 2294
+f 2294 2284 2455
+f 2620 2630 2461
+f 2461 2455 2620
+f 2768 2778 2630
+f 2630 2620 2768
+f 2928 2954 2778
+f 2778 2768 2928
+f 3051 3061 2954
+f 2954 2928 3051
+f 3125 3135 3061
+f 3061 3051 3125
+f 3159 3167 3135
+f 3135 3125 3159
+f 3181 3195 3167
+f 3167 3159 3181
+f 3191 3208 3195
+f 3195 3181 3191
+f 2266 2284 1781
+f 1781 1779 2266
+f 2449 2455 2284
+f 2284 2266 2449
+f 2598 2620 2455
+f 2455 2449 2598
+f 2740 2768 2620
+f 2620 2598 2740
+f 2892 2928 2768
+f 2768 2740 2892
+f 3033 3051 2928
+f 2928 2892 3033
+f 3087 3125 3051
+f 3051 3033 3087
+f 3145 3159 3125
+f 3125 3087 3145
+f 3161 3181 3159
+f 3159 3145 3161
+f 3169 3191 3181
+f 3181 3161 3169
+f 2252 2266 1779
+f 1779 1777 2252
+f 2435 2449 2266
+f 2266 2252 2435
+f 2581 2598 2449
+f 2449 2435 2581
+f 2718 2740 2598
+f 2598 2581 2718
+f 2854 2892 2740
+f 2740 2718 2854
+f 2999 3033 2892
+f 2892 2854 2999
+f 3071 3087 3033
+f 3033 2999 3071
+f 3123 3145 3087
+f 3087 3071 3123
+f 3147 3161 3145
+f 3145 3123 3147
+f 3153 3169 3161
+f 3161 3147 3153
+f 2240 2252 1777
+f 1777 1775 2240
+f 2425 2435 2252
+f 2252 2240 2425
+f 2555 2581 2435
+f 2435 2425 2555
+f 2694 2718 2581
+f 2581 2555 2694
+f 2826 2854 2718
+f 2718 2694 2826
+f 2958 2999 2854
+f 2854 2826 2958
+f 3043 3071 2999
+f 2999 2958 3043
+f 3083 3123 3071
+f 3071 3043 3083
+f 3121 3147 3123
+f 3123 3083 3121
+f 3127 3153 3147
+f 3147 3121 3127
+f 2229 2240 1775
+f 1775 1772 2229
+f 2417 2425 2240
+f 2240 2229 2417
+f 2546 2555 2425
+f 2425 2417 2546
+f 2676 2694 2555
+f 2555 2546 2676
+f 2790 2826 2694
+f 2694 2676 2790
+f 2900 2958 2826
+f 2826 2790 2900
+f 3013 3043 2958
+f 2958 2900 3013
+f 3057 3083 3043
+f 3043 3013 3057
+f 3081 3121 3083
+f 3083 3057 3081
+f 3085 3127 3121
+f 3121 3081 3085
+f 2216 2229 1772
+f 1772 1769 2216
+f 2407 2417 2229
+f 2229 2216 2407
+f 2533 2546 2417
+f 2417 2407 2533
+f 2651 2676 2546
+f 2546 2533 2651
+f 2753 2790 2676
+f 2676 2651 2753
+f 2859 2900 2790
+f 2790 2753 2859
+f 2977 3013 2900
+f 2900 2859 2977
+f 3029 3057 3013
+f 3013 2977 3029
+f 3052 3081 3057
+f 3057 3029 3052
+f 3063 3085 3081
+f 3081 3052 3063
+f 2203 2216 1769
+f 1769 1767 2203
+f 2397 2407 2216
+f 2216 2203 2397
+f 2527 2533 2407
+f 2407 2397 2527
+f 2633 2651 2533
+f 2533 2527 2633
+f 2727 2753 2651
+f 2651 2633 2727
+f 2831 2859 2753
+f 2753 2727 2831
+f 2919 2977 2859
+f 2859 2831 2919
+f 2996 3029 2977
+f 2977 2919 2996
+f 3034 3052 3029
+f 3029 2996 3034
+f 3038 3063 3052
+f 3052 3034 3038
+f 2197 2203 1767
+f 1767 1763 2197
+f 2393 2397 2203
+f 2203 2197 2393
+f 2522 2527 2397
+f 2397 2393 2522
+f 2617 2633 2527
+f 2527 2522 2617
+f 2716 2727 2633
+f 2633 2617 2716
+f 2811 2831 2727
+f 2727 2716 2811
+f 2895 2919 2831
+f 2831 2811 2895
+f 2979 2996 2919
+f 2919 2895 2979
+f 3016 3034 2996
+f 2996 2979 3016
+f 3026 3038 3034
+f 3034 3016 3026
+f 2193 2197 1763
+f 1763 1761 2193
+f 2389 2393 2197
+f 2197 2193 2389
+f 2516 2522 2393
+f 2393 2389 2516
+f 2610 2617 2522
+f 2522 2516 2610
+f 2710 2716 2617
+f 2617 2610 2710
+f 2803 2811 2716
+f 2716 2710 2803
+f 2885 2895 2811
+f 2811 2803 2885
+f 2971 2979 2895
+f 2895 2885 2971
+f 3005 3016 2979
+f 2979 2971 3005
+f 3022 3026 3016
+f 3016 3005 3022
+f 461 545 544
+f 544 456 461
+f 463 551 545
+f 545 461 463
+f 465 557 551
+f 551 463 465
+f 469 567 557
+f 557 465 469
+f 471 575 567
+f 567 469 471
+f 473 577 575
+f 575 471 473
+f 475 589 577
+f 577 473 475
+f 477 593 589
+f 589 475 477
+f 479 595 593
+f 593 477 479
+f 481 599 595
+f 595 479 481
+f 389 461 456
+f 456 392 389
+f 386 463 461
+f 461 389 386
+f 379 465 463
+f 463 386 379
+f 373 469 465
+f 465 379 373
+f 371 471 469
+f 469 373 371
+f 369 473 471
+f 471 371 369
+f 366 475 473
+f 473 369 366
+f 364 477 475
+f 475 366 364
+f 362 479 477
+f 477 364 362
+f 361 481 479
+f 479 362 361
+f 335 389 392
+f 392 337 335
+f 333 386 389
+f 389 335 333
+f 331 379 386
+f 386 333 331
+f 329 373 379
+f 379 331 329
+f 328 371 373
+f 373 329 328
+f 325 369 371
+f 371 328 325
+f 323 366 369
+f 369 325 323
+f 321 364 366
+f 366 323 321
+f 319 362 364
+f 364 321 319
+f 316 361 362
+f 362 319 316
+f 298 335 337
+f 337 302 298
+f 290 333 335
+f 335 298 290
+f 288 331 333
+f 333 290 288
+f 286 329 331
+f 331 288 286
+f 281 328 329
+f 329 286 281
+f 275 325 328
+f 328 281 275
+f 265 323 325
+f 325 275 265
+f 259 321 323
+f 323 265 259
+f 255 319 321
+f 321 259 255
+f 249 316 319
+f 319 255 249
+f 269 298 302
+f 302 271 269
+f 261 290 298
+f 298 269 261
+f 251 288 290
+f 290 261 251
+f 238 286 288
+f 288 251 238
+f 230 281 286
+f 286 238 230
+f 218 275 281
+f 281 230 218
+f 208 265 275
+f 275 218 208
+f 196 259 265
+f 265 208 196
+f 186 255 259
+f 259 196 186
+f 181 249 255
+f 255 186 181
+f 228 269 271
+f 271 234 228
+f 222 261 269
+f 269 228 222
+f 212 251 261
+f 261 222 212
+f 200 238 251
+f 251 212 200
+f 177 230 238
+f 238 200 177
+f 160 218 230
+f 230 177 160
+f 134 208 218
+f 218 160 134
+f 112 196 208
+f 208 134 112
+f 102 186 196
+f 196 112 102
+f 96 181 186
+f 186 102 96
+f 198 228 234
+f 234 205 198
+f 182 222 228
+f 228 198 182
+f 168 212 222
+f 222 182 168
+f 146 200 212
+f 212 168 146
+f 118 177 200
+f 200 146 118
+f 92 160 177
+f 177 118 92
+f 74 134 160
+f 160 92 74
+f 63 112 134
+f 134 74 63
+f 53 102 112
+f 112 63 53
+f 50 96 102
+f 102 53 50
+f 167 198 205
+f 205 170 167
+f 154 182 198
+f 198 167 154
+f 126 168 182
+f 182 154 126
+f 100 146 168
+f 168 126 100
+f 83 118 146
+f 146 100 83
+f 61 92 118
+f 118 83 61
+f 46 74 92
+f 92 61 46
+f 32 63 74
+f 74 46 32
+f 25 53 63
+f 63 32 25
+f 21 50 53
+f 53 25 21
+f 143 167 170
+f 170 150 143
+f 124 154 167
+f 167 143 124
+f 104 126 154
+f 154 124 104
+f 84 100 126
+f 126 104 84
+f 65 83 100
+f 100 84 65
+f 44 61 83
+f 83 65 44
+f 30 46 61
+f 61 44 30
+f 17 32 46
+f 46 30 17
+f 9 25 32
+f 32 17 9
+f 5 21 25
+f 25 9 5
+f 132 143 150
+f 150 140 132
+f 116 124 143
+f 143 132 116
+f 94 104 124
+f 124 116 94
+f 76 84 104
+f 104 94 76
+f 55 65 84
+f 84 76 55
+f 40 44 65
+f 65 55 40
+f 22 30 44
+f 44 40 22
+f 11 17 30
+f 30 22 11
+f 2 9 17
+f 17 11 2
+f 1 5 9
+f 9 2 1
+f 480 596 599
+f 599 481 480
+f 478 594 596
+f 596 480 478
+f 476 590 594
+f 594 478 476
+f 474 578 590
+f 590 476 474
+f 472 576 578
+f 578 474 472
+f 470 568 576
+f 576 472 470
+f 466 558 568
+f 568 470 466
+f 464 552 558
+f 558 466 464
+f 462 546 552
+f 552 464 462
+f 456 544 546
+f 546 462 456
+f 363 480 481
+f 481 360 363
+f 365 478 480
+f 480 363 365
+f 367 476 478
+f 478 365 367
+f 368 474 476
+f 476 367 368
+f 370 472 474
+f 474 368 370
+f 372 470 472
+f 472 370 372
+f 380 466 470
+f 470 372 380
+f 385 464 466
+f 466 380 385
+f 390 462 464
+f 464 385 390
+f 391 456 462
+f 462 390 391
+f 320 363 360
+f 360 316 320
+f 322 365 363
+f 363 320 322
+f 324 367 365
+f 365 322 324
+f 326 368 367
+f 367 324 326
+f 327 370 368
+f 368 326 327
+f 330 372 370
+f 370 327 330
+f 332 380 372
+f 372 330 332
+f 334 385 380
+f 380 332 334
+f 336 390 385
+f 385 334 336
+f 337 391 390
+f 390 336 337
+f 256 320 316
+f 316 250 256
+f 260 322 320
+f 320 256 260
+f 266 324 322
+f 322 260 266
+f 276 326 324
+f 324 266 276
+f 282 327 326
+f 326 276 282
+f 287 330 327
+f 327 282 287
+f 289 332 330
+f 330 287 289
+f 291 334 332
+f 332 289 291
+f 299 336 334
+f 334 291 299
+f 303 337 336
+f 336 299 303
+f 187 256 250
+f 250 181 187
+f 197 260 256
+f 256 187 197
+f 209 266 260
+f 260 197 209
+f 219 276 266
+f 266 209 219
+f 231 282 276
+f 276 219 231
+f 239 287 282
+f 282 231 239
+f 252 289 287
+f 287 239 252
+f 262 291 289
+f 289 252 262
+f 270 299 291
+f 291 262 270
+f 272 303 299
+f 299 270 272
+f 103 187 181
+f 181 97 103
+f 113 197 187
+f 187 103 113
+f 135 209 197
+f 197 113 135
+f 161 219 209
+f 209 135 161
+f 178 231 219
+f 219 161 178
+f 201 239 231
+f 231 178 201
+f 213 252 239
+f 239 201 213
+f 223 262 252
+f 252 213 223
+f 229 270 262
+f 262 223 229
+f 235 272 270
+f 270 229 235
+f 54 103 97
+f 97 50 54
+f 64 113 103
+f 103 54 64
+f 75 135 113
+f 113 64 75
+f 93 161 135
+f 135 75 93
+f 119 178 161
+f 161 93 119
+f 147 201 178
+f 178 119 147
+f 169 213 201
+f 201 147 169
+f 183 223 213
+f 213 169 183
+f 199 229 223
+f 223 183 199
+f 205 235 229
+f 229 199 205
+f 24 54 50
+f 50 21 24
+f 33 64 54
+f 54 24 33
+f 47 75 64
+f 64 33 47
+f 62 93 75
+f 75 47 62
+f 82 119 93
+f 93 62 82
+f 101 147 119
+f 119 82 101
+f 127 169 147
+f 147 101 127
+f 155 183 169
+f 169 127 155
+f 166 199 183
+f 183 155 166
+f 171 205 199
+f 199 166 171
+f 10 24 21
+f 21 6 10
+f 18 33 24
+f 24 10 18
+f 31 47 33
+f 33 18 31
+f 45 62 47
+f 47 31 45
+f 66 82 62
+f 62 45 66
+f 85 101 82
+f 82 66 85
+f 105 127 101
+f 101 85 105
+f 125 155 127
+f 127 105 125
+f 144 166 155
+f 155 125 144
+f 151 171 166
+f 166 144 151
+f 3 10 6
+f 6 1 3
+f 12 18 10
+f 10 3 12
+f 23 31 18
+f 18 12 23
+f 41 45 31
+f 31 23 41
+f 56 66 45
+f 45 41 56
+f 77 85 66
+f 66 56 77
+f 95 105 85
+f 85 77 95
+f 117 125 105
+f 105 95 117
+f 133 144 125
+f 125 117 133
+f 140 151 144
+f 144 133 140
+f 138 132 140
+f 140 145 138
+f 122 116 132
+f 132 138 122
+f 98 94 116
+f 116 122 98
+f 80 76 94
+f 94 98 80
+f 60 55 76
+f 76 80 60
+f 42 40 55
+f 55 60 42
+f 28 22 40
+f 40 42 28
+f 13 11 22
+f 22 28 13
+f 7 2 11
+f 11 13 7
+f 4 1 2
+f 2 7 4
+f 152 138 145
+f 145 158 152
+f 136 122 138
+f 138 152 136
+f 108 98 122
+f 122 136 108
+f 89 80 98
+f 98 108 89
+f 70 60 80
+f 80 89 70
+f 52 42 60
+f 60 70 52
+f 38 28 42
+f 42 52 38
+f 26 13 28
+f 28 38 26
+f 19 7 13
+f 13 26 19
+f 15 4 7
+f 7 19 15
+f 173 152 158
+f 158 176 173
+f 162 136 152
+f 152 173 162
+f 142 108 136
+f 136 162 142
+f 111 89 108
+f 108 142 111
+f 91 70 89
+f 89 111 91
+f 73 52 70
+f 70 91 73
+f 58 38 52
+f 52 73 58
+f 48 26 38
+f 38 58 48
+f 37 19 26
+f 26 48 37
+f 35 15 19
+f 19 37 35
+f 194 173 176
+f 176 202 194
+f 184 162 173
+f 173 194 184
+f 174 142 162
+f 162 184 174
+f 156 111 142
+f 142 174 156
+f 128 91 111
+f 111 156 128
+f 106 73 91
+f 91 128 106
+f 86 58 73
+f 73 106 86
+f 78 48 58
+f 58 86 78
+f 68 37 48
+f 48 78 68
+f 67 35 37
+f 37 68 67
+f 221 194 202
+f 202 225 221
+f 216 184 194
+f 194 221 216
+f 206 174 184
+f 184 216 206
+f 192 156 174
+f 174 206 192
+f 180 128 156
+f 156 192 180
+f 164 106 128
+f 128 180 164
+f 148 86 106
+f 106 164 148
+f 130 78 86
+f 86 148 130
+f 121 68 78
+f 78 130 121
+f 115 67 68
+f 68 121 115
+f 244 221 225
+f 225 247 244
+f 240 216 221
+f 221 244 240
+f 236 206 216
+f 216 240 236
+f 233 192 206
+f 206 236 233
+f 227 180 192
+f 192 233 227
+f 215 164 180
+f 180 227 215
+f 210 148 164
+f 164 215 210
+f 203 130 148
+f 148 210 203
+f 191 121 130
+f 130 203 191
+f 188 115 121
+f 121 191 188
+f 284 244 247
+f 247 285 284
+f 279 240 244
+f 244 284 279
+f 277 236 240
+f 240 279 277
+f 273 233 236
+f 236 277 273
+f 267 227 233
+f 233 273 267
+f 263 215 227
+f 227 267 263
+f 258 210 215
+f 215 263 258
+f 253 203 210
+f 210 258 253
+f 245 191 203
+f 203 253 245
+f 242 188 191
+f 191 245 242
+f 315 284 285
+f 285 318 315
+f 312 279 284
+f 284 315 312
+f 311 277 279
+f 279 312 311
+f 309 273 277
+f 277 311 309
+f 307 267 273
+f 273 309 307
+f 305 263 267
+f 267 307 305
+f 301 258 263
+f 263 305 301
+f 297 253 258
+f 258 301 297
+f 295 245 253
+f 253 297 295
+f 293 242 245
+f 245 295 293
+f 341 315 318
+f 318 339 341
+f 343 312 315
+f 315 341 343
+f 345 311 312
+f 312 343 345
+f 347 309 311
+f 311 345 347
+f 349 307 309
+f 309 347 349
+f 351 305 307
+f 307 349 351
+f 353 301 305
+f 305 351 353
+f 355 297 301
+f 301 353 355
+f 357 295 297
+f 297 355 357
+f 359 293 295
+f 295 357 359
+f 378 341 339
+f 339 376 378
+f 384 343 341
+f 341 378 384
+f 394 345 343
+f 343 384 394
+f 403 347 345
+f 345 394 403
+f 406 349 347
+f 347 403 406
+f 415 351 349
+f 349 406 415
+f 419 353 351
+f 351 415 419
+f 423 355 353
+f 353 419 423
+f 425 357 355
+f 355 423 425
+f 427 359 357
+f 357 425 427
+f 8 3 1
+f 1 4 8
+f 14 12 3
+f 3 8 14
+f 29 23 12
+f 12 14 29
+f 43 41 23
+f 23 29 43
+f 59 56 41
+f 41 43 59
+f 81 77 56
+f 56 59 81
+f 99 95 77
+f 77 81 99
+f 123 117 95
+f 95 99 123
+f 139 133 117
+f 117 123 139
+f 145 140 133
+f 133 139 145
+f 20 8 4
+f 4 16 20
+f 27 14 8
+f 8 20 27
+f 39 29 14
+f 14 27 39
+f 51 43 29
+f 29 39 51
+f 71 59 43
+f 43 51 71
+f 88 81 59
+f 59 71 88
+f 109 99 81
+f 81 88 109
+f 137 123 99
+f 99 109 137
+f 153 139 123
+f 123 137 153
+f 159 145 139
+f 139 153 159
+f 36 20 16
+f 16 34 36
+f 49 27 20
+f 20 36 49
+f 57 39 27
+f 27 49 57
+f 72 51 39
+f 39 57 72
+f 90 71 51
+f 51 72 90
+f 110 88 71
+f 71 90 110
+f 141 109 88
+f 88 110 141
+f 163 137 109
+f 109 141 163
+f 172 153 137
+f 137 163 172
+f 176 159 153
+f 153 172 176
+f 69 36 34
+f 34 67 69
+f 79 49 36
+f 36 69 79
+f 87 57 49
+f 49 79 87
+f 107 72 57
+f 57 87 107
+f 129 90 72
+f 72 107 129
+f 157 110 90
+f 90 129 157
+f 175 141 110
+f 110 157 175
+f 185 163 141
+f 141 175 185
+f 195 172 163
+f 163 185 195
+f 202 176 172
+f 172 195 202
+f 120 69 67
+f 67 114 120
+f 131 79 69
+f 69 120 131
+f 149 87 79
+f 79 131 149
+f 165 107 87
+f 87 149 165
+f 179 129 107
+f 107 165 179
+f 193 157 129
+f 129 179 193
+f 207 175 157
+f 157 193 207
+f 217 185 175
+f 175 207 217
+f 220 195 185
+f 185 217 220
+f 224 202 195
+f 195 220 224
+f 190 120 114
+f 114 189 190
+f 204 131 120
+f 120 190 204
+f 211 149 131
+f 131 204 211
+f 214 165 149
+f 149 211 214
+f 226 179 165
+f 165 214 226
+f 232 193 179
+f 179 226 232
+f 237 207 193
+f 193 232 237
+f 241 217 207
+f 207 237 241
+f 243 220 217
+f 217 241 243
+f 248 224 220
+f 220 243 248
+f 246 190 189
+f 189 242 246
+f 254 204 190
+f 190 246 254
+f 257 211 204
+f 204 254 257
+f 264 214 211
+f 211 257 264
+f 268 226 214
+f 214 264 268
+f 274 232 226
+f 226 268 274
+f 278 237 232
+f 232 274 278
+f 280 241 237
+f 237 278 280
+f 283 243 241
+f 241 280 283
+f 285 248 243
+f 243 283 285
+f 294 246 242
+f 242 292 294
+f 296 254 246
+f 246 294 296
+f 300 257 254
+f 254 296 300
+f 304 264 257
+f 257 300 304
+f 306 268 264
+f 264 304 306
+f 308 274 268
+f 268 306 308
+f 310 278 274
+f 274 308 310
+f 313 280 278
+f 278 310 313
+f 314 283 280
+f 280 313 314
+f 317 285 283
+f 283 314 317
+f 356 294 292
+f 292 358 356
+f 354 296 294
+f 294 356 354
+f 352 300 296
+f 296 354 352
+f 350 304 300
+f 300 352 350
+f 348 306 304
+f 304 350 348
+f 346 308 306
+f 306 348 346
+f 344 310 308
+f 308 346 344
+f 342 313 310
+f 310 344 342
+f 340 314 313
+f 313 342 340
+f 338 317 314
+f 314 340 338
+f 424 356 358
+f 358 426 424
+f 422 354 356
+f 356 424 422
+f 418 352 354
+f 354 422 418
+f 414 350 352
+f 352 418 414
+f 407 348 350
+f 350 414 407
+f 402 346 348
+f 348 407 402
+f 393 344 346
+f 346 402 393
+f 383 342 344
+f 344 393 383
+f 377 340 342
+f 342 383 377
+f 375 338 340
+f 340 377 375
+f 3186 3113 3115
+f 3115 3182 3186
+f 3192 3110 3113
+f 3113 3186 3192
+f 3196 3109 3110
+f 3110 3192 3196
+f 3205 3106 3109
+f 3109 3196 3205
+f 3211 3104 3106
+f 3106 3205 3211
+f 3215 3102 3104
+f 3104 3211 3215
+f 3217 3101 3102
+f 3102 3215 3217
+f 3220 3098 3101
+f 3101 3217 3220
+f 3222 3097 3098
+f 3098 3220 3222
+f 3223 3095 3097
+f 3097 3222 3223
+f 3227 3186 3182
+f 3182 3225 3227
+f 3229 3192 3186
+f 3186 3227 3229
+f 3231 3196 3192
+f 3192 3229 3231
+f 3233 3205 3196
+f 3196 3231 3233
+f 3235 3211 3205
+f 3205 3233 3235
+f 3241 3215 3211
+f 3211 3235 3241
+f 3245 3217 3215
+f 3215 3241 3245
+f 3249 3220 3217
+f 3217 3245 3249
+f 3251 3222 3220
+f 3220 3249 3251
+f 3253 3223 3222
+f 3222 3251 3253
+f 3239 3227 3225
+f 3225 3237 3239
+f 3243 3229 3227
+f 3227 3239 3243
+f 3247 3231 3229
+f 3229 3243 3247
+f 3257 3233 3231
+f 3231 3247 3257
+f 3263 3235 3233
+f 3233 3257 3263
+f 3271 3241 3235
+f 3235 3263 3271
+f 3279 3245 3241
+f 3241 3271 3279
+f 3285 3249 3245
+f 3245 3279 3285
+f 3293 3251 3249
+f 3249 3285 3293
+f 3297 3253 3251
+f 3251 3293 3297
+f 3259 3239 3237
+f 3237 3255 3259
+f 3261 3243 3239
+f 3239 3259 3261
+f 3265 3247 3243
+f 3243 3261 3265
+f 3275 3257 3247
+f 3247 3265 3275
+f 3287 3263 3257
+f 3257 3275 3287
+f 3303 3271 3263
+f 3263 3287 3303
+f 3314 3279 3271
+f 3271 3303 3314
+f 3320 3285 3279
+f 3279 3314 3320
+f 3330 3293 3285
+f 3285 3320 3330
+f 3332 3297 3293
+f 3293 3330 3332
+f 3270 3259 3255
+f 3255 3268 3270
+f 3273 3261 3259
+f 3259 3270 3273
+f 3283 3265 3261
+f 3261 3273 3283
+f 3299 3275 3265
+f 3265 3283 3299
+f 3308 3287 3275
+f 3275 3299 3308
+f 3322 3303 3287
+f 3287 3308 3322
+f 3338 3314 3303
+f 3303 3322 3338
+f 3346 3320 3314
+f 3314 3338 3346
+f 3351 3330 3320
+f 3320 3346 3351
+f 3355 3332 3330
+f 3330 3351 3355
+f 3282 3270 3268
+f 3268 3278 3282
+f 3290 3273 3270
+f 3270 3282 3290
+f 3302 3283 3273
+f 3273 3290 3302
+f 3312 3299 3283
+f 3283 3302 3312
+f 3324 3308 3299
+f 3299 3312 3324
+f 3340 3322 3308
+f 3308 3324 3340
+f 3353 3338 3322
+f 3322 3340 3353
+f 3368 3346 3338
+f 3338 3353 3368
+f 3373 3351 3346
+f 3346 3368 3373
+f 3379 3355 3351
+f 3351 3373 3379
+f 3295 3282 3278
+f 3278 3292 3295
+f 3306 3290 3282
+f 3282 3295 3306
+f 3316 3302 3290
+f 3290 3306 3316
+f 3326 3312 3302
+f 3302 3316 3326
+f 3345 3324 3312
+f 3312 3326 3345
+f 3359 3340 3324
+f 3324 3345 3359
+f 3376 3353 3340
+f 3340 3359 3376
+f 3394 3368 3353
+f 3353 3376 3394
+f 3404 3373 3368
+f 3368 3394 3404
+f 3406 3379 3373
+f 3373 3404 3406
+f 3310 3295 3292
+f 3292 3307 3310
+f 3318 3306 3295
+f 3295 3310 3318
+f 3336 3316 3306
+f 3306 3318 3336
+f 3348 3326 3316
+f 3316 3336 3348
+f 3369 3345 3326
+f 3326 3348 3369
+f 3389 3359 3345
+f 3345 3369 3389
+f 3425 3376 3359
+f 3359 3389 3425
+f 3449 3394 3376
+f 3376 3425 3449
+f 3468 3404 3394
+f 3394 3449 3468
+f 3472 3406 3404
+f 3404 3468 3472
+f 3335 3310 3307
+f 3307 3329 3335
+f 3343 3318 3310
+f 3310 3335 3343
+f 3362 3336 3318
+f 3318 3343 3362
+f 3386 3348 3336
+f 3336 3362 3386
+f 3422 3369 3348
+f 3348 3386 3422
+f 3464 3389 3369
+f 3369 3422 3464
+f 3490 3425 3389
+f 3389 3464 3490
+f 3505 3449 3425
+f 3425 3490 3505
+f 3521 3468 3449
+f 3449 3505 3521
+f 3523 3472 3468
+f 3468 3521 3523
+f 3364 3335 3329
+f 3329 3357 3364
+f 3382 3343 3335
+f 3335 3364 3382
+f 3416 3362 3343
+f 3343 3382 3416
+f 3465 3386 3362
+f 3362 3416 3465
+f 3495 3422 3386
+f 3386 3465 3495
+f 3528 3464 3422
+f 3422 3495 3528
+f 3553 3490 3464
+f 3464 3528 3553
+f 3579 3505 3490
+f 3490 3553 3579
+f 3592 3521 3505
+f 3505 3579 3592
+f 3604 3523 3521
+f 3521 3592 3604
+f 3221 3096 3094
+f 3094 3224 3221
+f 3219 3099 3096
+f 3096 3221 3219
+f 3218 3100 3099
+f 3099 3219 3218
+f 3216 3103 3100
+f 3100 3218 3216
+f 3212 3105 3103
+f 3103 3216 3212
+f 3206 3107 3105
+f 3105 3212 3206
+f 3197 3108 3107
+f 3107 3206 3197
+f 3193 3111 3108
+f 3108 3197 3193
+f 3187 3112 3111
+f 3111 3193 3187
+f 3183 3114 3112
+f 3112 3187 3183
+f 3252 3221 3224
+f 3224 3254 3252
+f 3250 3219 3221
+f 3221 3252 3250
+f 3246 3218 3219
+f 3219 3250 3246
+f 3242 3216 3218
+f 3218 3246 3242
+f 3236 3212 3216
+f 3216 3242 3236
+f 3234 3206 3212
+f 3212 3236 3234
+f 3232 3197 3206
+f 3206 3234 3232
+f 3230 3193 3197
+f 3197 3232 3230
+f 3228 3187 3193
+f 3193 3230 3228
+f 3226 3183 3187
+f 3187 3228 3226
+f 3294 3252 3254
+f 3254 3298 3294
+f 3286 3250 3252
+f 3252 3294 3286
+f 3280 3246 3250
+f 3250 3286 3280
+f 3272 3242 3246
+f 3246 3280 3272
+f 3264 3236 3242
+f 3242 3272 3264
+f 3258 3234 3236
+f 3236 3264 3258
+f 3248 3232 3234
+f 3234 3258 3248
+f 3244 3230 3232
+f 3232 3248 3244
+f 3240 3228 3230
+f 3230 3244 3240
+f 3238 3226 3228
+f 3228 3240 3238
+f 3331 3294 3298
+f 3298 3333 3331
+f 3321 3286 3294
+f 3294 3331 3321
+f 3315 3280 3286
+f 3286 3321 3315
+f 3304 3272 3280
+f 3280 3315 3304
+f 3288 3264 3272
+f 3272 3304 3288
+f 3276 3258 3264
+f 3264 3288 3276
+f 3266 3248 3258
+f 3258 3276 3266
+f 3262 3244 3248
+f 3248 3266 3262
+f 3260 3240 3244
+f 3244 3262 3260
+f 3256 3238 3240
+f 3240 3260 3256
+f 3350 3331 3333
+f 3333 3354 3350
+f 3347 3321 3331
+f 3331 3350 3347
+f 3339 3315 3321
+f 3321 3347 3339
+f 3323 3304 3315
+f 3315 3339 3323
+f 3309 3288 3304
+f 3304 3323 3309
+f 3300 3276 3288
+f 3288 3309 3300
+f 3284 3266 3276
+f 3276 3300 3284
+f 3274 3262 3266
+f 3266 3284 3274
+f 3269 3260 3262
+f 3262 3274 3269
+f 3267 3256 3260
+f 3260 3269 3267
+f 3372 3350 3354
+f 3354 3378 3372
+f 3367 3347 3350
+f 3350 3372 3367
+f 3352 3339 3347
+f 3347 3367 3352
+f 3341 3323 3339
+f 3339 3352 3341
+f 3325 3309 3323
+f 3323 3341 3325
+f 3313 3300 3309
+f 3309 3325 3313
+f 3301 3284 3300
+f 3300 3313 3301
+f 3289 3274 3284
+f 3284 3301 3289
+f 3281 3269 3274
+f 3274 3289 3281
+f 3277 3267 3269
+f 3269 3281 3277
+f 3403 3372 3378
+f 3378 3405 3403
+f 3393 3367 3372
+f 3372 3403 3393
+f 3377 3352 3367
+f 3367 3393 3377
+f 3360 3341 3352
+f 3352 3377 3360
+f 3344 3325 3341
+f 3341 3360 3344
+f 3327 3313 3325
+f 3325 3344 3327
+f 3317 3301 3313
+f 3313 3327 3317
+f 3305 3289 3301
+f 3301 3317 3305
+f 3296 3281 3289
+f 3289 3305 3296
+f 3291 3277 3281
+f 3281 3296 3291
+f 3469 3403 3405
+f 3405 3472 3469
+f 3450 3393 3403
+f 3403 3469 3450
+f 3426 3377 3393
+f 3393 3450 3426
+f 3390 3360 3377
+f 3377 3426 3390
+f 3370 3344 3360
+f 3360 3390 3370
+f 3349 3327 3344
+f 3344 3370 3349
+f 3337 3317 3327
+f 3327 3349 3337
+f 3319 3305 3317
+f 3317 3337 3319
+f 3311 3296 3305
+f 3305 3319 3311
+f 3307 3291 3296
+f 3296 3311 3307
+f 3520 3469 3472
+f 3472 3522 3520
+f 3504 3450 3469
+f 3469 3520 3504
+f 3489 3426 3450
+f 3450 3504 3489
+f 3463 3390 3426
+f 3426 3489 3463
+f 3421 3370 3390
+f 3390 3463 3421
+f 3385 3349 3370
+f 3370 3421 3385
+f 3361 3337 3349
+f 3349 3385 3361
+f 3342 3319 3337
+f 3337 3361 3342
+f 3334 3311 3319
+f 3319 3342 3334
+f 3328 3307 3311
+f 3311 3334 3328
+f 3591 3520 3522
+f 3522 3603 3591
+f 3578 3504 3520
+f 3520 3591 3578
+f 3552 3489 3504
+f 3504 3578 3552
+f 3530 3463 3489
+f 3489 3552 3530
+f 3499 3421 3463
+f 3463 3530 3499
+f 3467 3385 3421
+f 3421 3499 3467
+f 3415 3361 3385
+f 3385 3467 3415
+f 3381 3342 3361
+f 3361 3415 3381
+f 3363 3334 3342
+f 3342 3381 3363
+f 3356 3328 3334
+f 3334 3363 3356
+f 3374 3365 3358
+f 3358 3371 3374
+f 3395 3383 3365
+f 3365 3374 3395
+f 3443 3417 3383
+f 3383 3395 3443
+f 3481 3466 3417
+f 3417 3443 3481
+f 3514 3496 3466
+f 3466 3481 3514
+f 3545 3529 3496
+f 3496 3514 3545
+f 3573 3551 3529
+f 3529 3545 3573
+f 3597 3577 3551
+f 3551 3573 3597
+f 3613 3590 3577
+f 3577 3597 3613
+f 3619 3603 3590
+f 3590 3613 3619
+f 3387 3374 3371
+f 3371 3380 3387
+f 3413 3395 3374
+f 3374 3387 3413
+f 3461 3443 3395
+f 3395 3413 3461
+f 3493 3481 3443
+f 3443 3461 3493
+f 3524 3514 3481
+f 3481 3493 3524
+f 3556 3545 3514
+f 3514 3524 3556
+f 3584 3573 3545
+f 3545 3556 3584
+f 3611 3597 3573
+f 3573 3584 3611
+f 3628 3613 3597
+f 3597 3611 3628
+f 3632 3619 3613
+f 3613 3628 3632
+f 3398 3387 3380
+f 3380 3391 3398
+f 3435 3413 3387
+f 3387 3398 3435
+f 3473 3461 3413
+f 3413 3435 3473
+f 3500 3493 3461
+f 3461 3473 3500
+f 3531 3524 3493
+f 3493 3500 3531
+f 3562 3556 3524
+f 3524 3531 3562
+f 3595 3584 3556
+f 3556 3562 3595
+f 3617 3611 3584
+f 3584 3595 3617
+f 3633 3628 3611
+f 3611 3617 3633
+f 3641 3632 3628
+f 3628 3633 3641
+f 3409 3398 3391
+f 3391 3400 3409
+f 3447 3435 3398
+f 3398 3409 3447
+f 3477 3473 3435
+f 3435 3447 3477
+f 3506 3500 3473
+f 3473 3477 3506
+f 3540 3531 3500
+f 3500 3506 3540
+f 3567 3562 3531
+f 3531 3540 3567
+f 3601 3595 3562
+f 3562 3567 3601
+f 3624 3617 3595
+f 3595 3601 3624
+f 3639 3633 3617
+f 3617 3624 3639
+f 3644 3641 3633
+f 3633 3639 3644
+f 3433 3409 3400
+f 3400 3411 3433
+f 3453 3447 3409
+f 3409 3433 3453
+f 3483 3477 3447
+f 3447 3453 3483
+f 3510 3506 3477
+f 3477 3483 3510
+f 3543 3540 3506
+f 3506 3510 3543
+f 3569 3567 3540
+f 3540 3543 3569
+f 3599 3601 3567
+f 3567 3569 3599
+f 3622 3624 3601
+f 3601 3599 3622
+f 3637 3639 3624
+f 3624 3622 3637
+f 3642 3644 3639
+f 3639 3637 3642
+f 3439 3433 3411
+f 3411 3424 3439
+f 3458 3453 3433
+f 3433 3439 3458
+f 3487 3483 3453
+f 3453 3458 3487
+f 3513 3510 3483
+f 3483 3487 3513
+f 3542 3543 3510
+f 3510 3513 3542
+f 3566 3569 3543
+f 3543 3542 3566
+f 3593 3599 3569
+f 3569 3566 3593
+f 3616 3622 3599
+f 3599 3593 3616
+f 3630 3637 3622
+f 3622 3616 3630
+f 3636 3642 3637
+f 3637 3630 3636
+f 3441 3439 3424
+f 3424 3429 3441
+f 3459 3458 3439
+f 3439 3441 3459
+f 3485 3487 3458
+f 3458 3459 3485
+f 3508 3513 3487
+f 3487 3485 3508
+f 3533 3542 3513
+f 3513 3508 3533
+f 3558 3566 3542
+f 3542 3533 3558
+f 3582 3593 3566
+f 3566 3558 3582
+f 3607 3616 3593
+f 3593 3582 3607
+f 3620 3630 3616
+f 3616 3607 3620
+f 3626 3636 3630
+f 3630 3620 3626
+f 3437 3441 3429
+f 3429 3427 3437
+f 3455 3459 3441
+f 3441 3437 3455
+f 3479 3485 3459
+f 3459 3455 3479
+f 3502 3508 3485
+f 3485 3479 3502
+f 3526 3533 3508
+f 3508 3502 3526
+f 3547 3558 3533
+f 3533 3526 3547
+f 3571 3582 3558
+f 3558 3547 3571
+f 3588 3607 3582
+f 3582 3571 3588
+f 3605 3620 3607
+f 3607 3588 3605
+f 3609 3626 3620
+f 3620 3605 3609
+f 3419 3437 3427
+f 3427 3408 3419
+f 3445 3455 3437
+f 3437 3419 3445
+f 3470 3479 3455
+f 3455 3445 3470
+f 3492 3502 3479
+f 3479 3470 3492
+f 3517 3526 3502
+f 3502 3492 3517
+f 3536 3547 3526
+f 3526 3517 3536
+f 3554 3571 3547
+f 3547 3536 3554
+f 3575 3588 3571
+f 3571 3554 3575
+f 3580 3605 3588
+f 3588 3575 3580
+f 3587 3609 3605
+f 3605 3580 3587
+f 3401 3419 3408
+f 3408 3397 3401
+f 3431 3445 3419
+f 3419 3401 3431
+f 3451 3470 3445
+f 3445 3431 3451
+f 3475 3492 3470
+f 3470 3451 3475
+f 3497 3517 3492
+f 3492 3475 3497
+f 3518 3536 3517
+f 3517 3497 3518
+f 3537 3554 3536
+f 3536 3518 3537
+f 3549 3575 3554
+f 3554 3537 3549
+f 3560 3580 3575
+f 3575 3549 3560
+f 3564 3587 3580
+f 3580 3560 3564
+f 3614 3591 3603
+f 3603 3619 3614
+f 3598 3578 3591
+f 3591 3614 3598
+f 3574 3552 3578
+f 3578 3598 3574
+f 3546 3530 3552
+f 3552 3574 3546
+f 3515 3499 3530
+f 3530 3546 3515
+f 3482 3467 3499
+f 3499 3515 3482
+f 3444 3418 3467
+f 3467 3482 3444
+f 3396 3384 3418
+f 3418 3444 3396
+f 3375 3366 3384
+f 3384 3396 3375
+f 3371 3358 3366
+f 3366 3375 3371
+f 3629 3614 3619
+f 3619 3632 3629
+f 3612 3598 3614
+f 3614 3629 3612
+f 3585 3574 3598
+f 3598 3612 3585
+f 3557 3546 3574
+f 3574 3585 3557
+f 3525 3515 3546
+f 3546 3557 3525
+f 3494 3482 3515
+f 3515 3525 3494
+f 3462 3444 3482
+f 3482 3494 3462
+f 3414 3396 3444
+f 3444 3462 3414
+f 3388 3375 3396
+f 3396 3414 3388
+f 3380 3371 3375
+f 3375 3388 3380
+f 3634 3629 3632
+f 3632 3641 3634
+f 3618 3612 3629
+f 3629 3634 3618
+f 3596 3585 3612
+f 3612 3618 3596
+f 3563 3557 3585
+f 3585 3596 3563
+f 3532 3525 3557
+f 3557 3563 3532
+f 3501 3494 3525
+f 3525 3532 3501
+f 3474 3462 3494
+f 3494 3501 3474
+f 3436 3414 3462
+f 3462 3474 3436
+f 3399 3388 3414
+f 3414 3436 3399
+f 3392 3380 3388
+f 3388 3399 3392
+f 3640 3634 3641
+f 3641 3644 3640
+f 3625 3618 3634
+f 3634 3640 3625
+f 3602 3596 3618
+f 3618 3625 3602
+f 3568 3563 3596
+f 3596 3602 3568
+f 3539 3532 3563
+f 3563 3568 3539
+f 3507 3501 3532
+f 3532 3539 3507
+f 3478 3474 3501
+f 3501 3507 3478
+f 3448 3436 3474
+f 3474 3478 3448
+f 3410 3399 3436
+f 3436 3448 3410
+f 3400 3392 3399
+f 3399 3410 3400
+f 3638 3640 3644
+f 3644 3643 3638
+f 3623 3625 3640
+f 3640 3638 3623
+f 3600 3602 3625
+f 3625 3623 3600
+f 3570 3568 3602
+f 3602 3600 3570
+f 3544 3539 3568
+f 3568 3570 3544
+f 3511 3507 3539
+f 3539 3544 3511
+f 3484 3478 3507
+f 3507 3511 3484
+f 3454 3448 3478
+f 3478 3484 3454
+f 3434 3410 3448
+f 3448 3454 3434
+f 3412 3400 3410
+f 3410 3434 3412
+f 3631 3638 3643
+f 3643 3635 3631
+f 3615 3623 3638
+f 3638 3631 3615
+f 3594 3600 3623
+f 3623 3615 3594
+f 3565 3570 3600
+f 3600 3594 3565
+f 3541 3544 3570
+f 3570 3565 3541
+f 3512 3511 3544
+f 3544 3541 3512
+f 3488 3484 3511
+f 3511 3512 3488
+f 3457 3454 3484
+f 3484 3488 3457
+f 3440 3434 3454
+f 3454 3457 3440
+f 3423 3412 3434
+f 3434 3440 3423
+f 3621 3631 3635
+f 3635 3627 3621
+f 3608 3615 3631
+f 3631 3621 3608
+f 3583 3594 3615
+f 3615 3608 3583
+f 3559 3565 3594
+f 3594 3583 3559
+f 3534 3541 3565
+f 3565 3559 3534
+f 3509 3512 3541
+f 3541 3534 3509
+f 3486 3488 3512
+f 3512 3509 3486
+f 3460 3457 3488
+f 3488 3486 3460
+f 3442 3440 3457
+f 3457 3460 3442
+f 3430 3423 3440
+f 3440 3442 3430
+f 3606 3621 3627
+f 3627 3610 3606
+f 3589 3608 3621
+f 3621 3606 3589
+f 3572 3583 3608
+f 3608 3589 3572
+f 3548 3559 3583
+f 3583 3572 3548
+f 3527 3534 3559
+f 3559 3548 3527
+f 3503 3509 3534
+f 3534 3527 3503
+f 3480 3486 3509
+f 3509 3503 3480
+f 3456 3460 3486
+f 3486 3480 3456
+f 3438 3442 3460
+f 3460 3456 3438
+f 3428 3430 3442
+f 3442 3438 3428
+f 3581 3606 3610
+f 3610 3586 3581
+f 3576 3589 3606
+f 3606 3581 3576
+f 3555 3572 3589
+f 3589 3576 3555
+f 3535 3548 3572
+f 3572 3555 3535
+f 3516 3527 3548
+f 3548 3535 3516
+f 3491 3503 3527
+f 3527 3516 3491
+f 3471 3480 3503
+f 3503 3491 3471
+f 3446 3456 3480
+f 3480 3471 3446
+f 3420 3438 3456
+f 3456 3446 3420
+f 3407 3428 3438
+f 3438 3420 3407
+f 3561 3581 3586
+f 3586 3564 3561
+f 3550 3576 3581
+f 3581 3561 3550
+f 3538 3555 3576
+f 3576 3550 3538
+f 3519 3535 3555
+f 3555 3538 3519
+f 3498 3516 3535
+f 3535 3519 3498
+f 3476 3491 3516
+f 3516 3498 3476
+f 3452 3471 3491
+f 3491 3476 3452
+f 3432 3446 3471
+f 3471 3452 3432
+f 3402 3420 3446
+f 3446 3432 3402
+f 3397 3407 3420
+f 3420 3402 3397
+f 1888 2110 2104
+f 1888 2104 2096
+f 1888 2096 2076
+f 1888 2076 2048
+f 1888 2048 2030
+f 1888 2030 2006
+f 1888 2006 1982
+f 1888 1982 1960
+f 1888 1960 1936
+f 1888 1936 1732
+f 2257 2104 2110
+f 2110 2261 2257
+f 2249 2096 2104
+f 2104 2257 2249
+f 2226 2076 2096
+f 2096 2249 2226
+f 2200 2048 2076
+f 2076 2226 2200
+f 2142 2030 2048
+f 2048 2200 2142
+f 2094 2006 2030
+f 2030 2142 2094
+f 2036 1982 2006
+f 2006 2094 2036
+f 1988 1960 1982
+f 1982 2036 1988
+f 1948 1936 1960
+f 1960 1988 1948
+f 1728 1732 1936
+f 1936 1948 1728
+f 2310 2257 2261
+f 2261 2315 2310
+f 2300 2249 2257
+f 2257 2310 2300
+f 2279 2226 2249
+f 2249 2300 2279
+f 2243 2200 2226
+f 2226 2279 2243
+f 2204 2142 2200
+f 2200 2243 2204
+f 2132 2094 2142
+f 2142 2204 2132
+f 2067 2036 2094
+f 2094 2132 2067
+f 2000 1988 2036
+f 2036 2067 2000
+f 1956 1948 1988
+f 1988 2000 1956
+f 1734 1728 1948
+f 1948 1956 1734
+f 2312 2310 2315
+f 2315 2316 2312
+f 2302 2300 2310
+f 2310 2312 2302
+f 2281 2279 2300
+f 2300 2302 2281
+f 2245 2243 2279
+f 2279 2281 2245
+f 2206 2204 2243
+f 2243 2245 2206
+f 2134 2132 2204
+f 2204 2206 2134
+f 2068 2067 2132
+f 2132 2134 2068
+f 2002 2000 2067
+f 2067 2068 2002
+f 1958 1956 2000
+f 2000 2002 1958
+f 1878 1734 1956
+f 1956 1958 1878
+f 2285 2312 2316
+f 2316 2289 2285
+f 2259 2302 2312
+f 2312 2285 2259
+f 2241 2281 2302
+f 2302 2259 2241
+f 2214 2245 2281
+f 2281 2241 2214
+f 2168 2206 2245
+f 2245 2214 2168
+f 2106 2134 2206
+f 2206 2168 2106
+f 2042 2068 2134
+f 2134 2106 2042
+f 1994 2002 2068
+f 2068 2042 1994
+f 1952 1958 2002
+f 2002 1994 1952
+f 1731 1878 1958
+f 1958 1952 1731
+f 2220 2285 2289
+f 2289 2225 2220
+f 2210 2259 2285
+f 2285 2220 2210
+f 2186 2241 2259
+f 2259 2210 2186
+f 2146 2214 2241
+f 2241 2186 2146
+f 2108 2168 2214
+f 2214 2146 2108
+f 2060 2106 2168
+f 2168 2108 2060
+f 2018 2042 2106
+f 2106 2060 2018
+f 1978 1994 2042
+f 2042 2018 1978
+f 1944 1952 1994
+f 1994 1978 1944
+f 1727 1731 1952
+f 1952 1944 1727
+f 2141 2220 2225
+f 2225 2145 2141
+f 2127 2210 2220
+f 2220 2141 2127
+f 2112 2186 2210
+f 2210 2127 2112
+f 2084 2146 2186
+f 2186 2112 2084
+f 2044 2108 2146
+f 2146 2084 2044
+f 2024 2060 2108
+f 2108 2044 2024
+f 1992 2018 2060
+f 2060 2024 1992
+f 1970 1978 2018
+f 2018 1992 1970
+f 1942 1944 1978
+f 1978 1970 1942
+f 1721 1727 1944
+f 1944 1942 1721
+f 2079 2141 2145
+f 2145 2087 2079
+f 2075 2127 2141
+f 2141 2079 2075
+f 2055 2112 2127
+f 2127 2075 2055
+f 2039 2084 2112
+f 2112 2055 2039
+f 2021 2044 2084
+f 2084 2039 2021
+f 1996 2024 2044
+f 2044 2021 1996
+f 1974 1992 2024
+f 2024 1996 1974
+f 1954 1970 1992
+f 1992 1974 1954
+f 1934 1942 1970
+f 1970 1954 1934
+f 1720 1721 1942
+f 1942 1934 1720
+f 2063 2079 2087
+f 2087 2071 2063
+f 2051 2075 2079
+f 2079 2063 2051
+f 2041 2055 2075
+f 2075 2051 2041
+f 2029 2039 2055
+f 2055 2041 2029
+f 2013 2021 2039
+f 2039 2029 2013
+f 1991 1996 2021
+f 2021 2013 1991
+f 1972 1974 1996
+f 1996 1991 1972
+f 1950 1954 1974
+f 1974 1972 1950
+f 1932 1934 1954
+f 1954 1950 1932
+f 1701 1720 1934
+f 1934 1932 1701
+f 2115 2063 2071
+f 2071 2123 2115
+f 2101 2051 2063
+f 2063 2115 2101
+f 2081 2041 2051
+f 2051 2101 2081
+f 2057 2029 2041
+f 2041 2081 2057
+f 2033 2013 2029
+f 2029 2057 2033
+f 2009 1991 2013
+f 2013 2033 2009
+f 1984 1972 1991
+f 1991 2009 1984
+f 1964 1950 1972
+f 1972 1984 1964
+f 1938 1932 1950
+f 1950 1964 1938
+f 1698 1701 1932
+f 1932 1938 1698
+f 1888 1886 1686
+f 1888 1686 1662
+f 1888 1662 1640
+f 1888 1640 1616
+f 1888 1616 1592
+f 1888 1592 1574
+f 1888 1574 1546
+f 1888 1546 1526
+f 1888 1526 1518
+f 1888 1518 1512
+f 1674 1686 1886
+f 1886 1884 1674
+f 1634 1662 1686
+f 1686 1674 1634
+f 1586 1640 1662
+f 1662 1634 1586
+f 1528 1616 1640
+f 1640 1586 1528
+f 1480 1592 1616
+f 1616 1528 1480
+f 1422 1574 1592
+f 1592 1480 1422
+f 1396 1546 1574
+f 1574 1422 1396
+f 1373 1526 1546
+f 1546 1396 1373
+f 1365 1518 1526
+f 1526 1373 1365
+f 1361 1512 1518
+f 1518 1365 1361
+f 1666 1674 1884
+f 1884 1882 1666
+f 1622 1634 1674
+f 1674 1666 1622
+f 1557 1586 1634
+f 1634 1622 1557
+f 1490 1528 1586
+f 1586 1557 1490
+f 1418 1480 1528
+f 1528 1490 1418
+f 1379 1422 1480
+f 1480 1418 1379
+f 1343 1396 1422
+f 1422 1379 1343
+f 1322 1373 1396
+f 1396 1343 1322
+f 1312 1365 1373
+f 1373 1322 1312
+f 1309 1361 1365
+f 1365 1312 1309
+f 1664 1666 1882
+f 1882 1879 1664
+f 1620 1622 1666
+f 1666 1664 1620
+f 1554 1557 1622
+f 1622 1620 1554
+f 1488 1490 1557
+f 1557 1554 1488
+f 1416 1418 1490
+f 1490 1488 1416
+f 1377 1379 1418
+f 1418 1416 1377
+f 1341 1343 1379
+f 1379 1377 1341
+f 1320 1322 1343
+f 1343 1341 1320
+f 1310 1312 1322
+f 1322 1320 1310
+f 1306 1309 1312
+f 1312 1310 1306
+f 1670 1664 1879
+f 1879 1876 1670
+f 1628 1620 1664
+f 1664 1670 1628
+f 1580 1554 1620
+f 1620 1628 1580
+f 1516 1488 1554
+f 1554 1580 1516
+f 1454 1416 1488
+f 1488 1516 1454
+f 1408 1377 1416
+f 1416 1454 1408
+f 1381 1341 1377
+f 1377 1408 1381
+f 1363 1320 1341
+f 1341 1381 1363
+f 1337 1310 1320
+f 1320 1363 1337
+f 1333 1306 1310
+f 1310 1337 1333
+f 1678 1670 1876
+f 1876 1874 1678
+f 1644 1628 1670
+f 1670 1678 1644
+f 1604 1580 1628
+f 1628 1644 1604
+f 1562 1516 1580
+f 1580 1604 1562
+f 1514 1454 1516
+f 1516 1562 1514
+f 1476 1408 1454
+f 1454 1514 1476
+f 1436 1381 1408
+f 1408 1476 1436
+f 1412 1363 1381
+f 1381 1436 1412
+f 1402 1337 1363
+f 1363 1412 1402
+f 1399 1333 1337
+f 1337 1402 1399
+f 1680 1678 1874
+f 1874 1872 1680
+f 1652 1644 1678
+f 1678 1680 1652
+f 1630 1604 1644
+f 1644 1652 1630
+f 1598 1562 1604
+f 1604 1630 1598
+f 1578 1514 1562
+f 1562 1598 1578
+f 1538 1476 1514
+f 1514 1578 1538
+f 1510 1436 1476
+f 1476 1538 1510
+f 1497 1412 1436
+f 1436 1510 1497
+f 1483 1402 1412
+f 1412 1497 1483
+f 1479 1399 1402
+f 1402 1483 1479
+f 1688 1680 1872
+f 1872 1870 1688
+f 1668 1652 1680
+f 1680 1688 1668
+f 1648 1630 1652
+f 1652 1668 1648
+f 1626 1598 1630
+f 1630 1648 1626
+f 1603 1578 1598
+f 1598 1626 1603
+f 1585 1538 1578
+f 1578 1603 1585
+f 1569 1510 1538
+f 1538 1585 1569
+f 1549 1497 1510
+f 1510 1569 1549
+f 1545 1483 1497
+f 1497 1549 1545
+f 1537 1479 1483
+f 1483 1545 1537
+f 1690 1688 1870
+f 1870 1868 1690
+f 1672 1668 1688
+f 1688 1690 1672
+f 1650 1648 1668
+f 1668 1672 1650
+f 1633 1626 1648
+f 1648 1650 1633
+f 1611 1603 1626
+f 1626 1633 1611
+f 1595 1585 1603
+f 1603 1611 1595
+f 1583 1569 1585
+f 1585 1595 1583
+f 1573 1549 1569
+f 1569 1583 1573
+f 1561 1545 1549
+f 1549 1573 1561
+f 1553 1537 1545
+f 1545 1561 1553
+f 1684 1690 1868
+f 1868 1865 1684
+f 1658 1672 1690
+f 1690 1684 1658
+f 1638 1650 1672
+f 1672 1658 1638
+f 1615 1633 1650
+f 1650 1638 1615
+f 1591 1611 1633
+f 1633 1615 1591
+f 1567 1595 1611
+f 1611 1591 1567
+f 1543 1583 1595
+f 1595 1567 1543
+f 1523 1573 1583
+f 1583 1543 1523
+f 1509 1561 1573
+f 1573 1523 1509
+f 1501 1553 1561
+f 1561 1509 1501
+f 1888 1513 1519
+f 1888 1519 1527
+f 1888 1527 1547
+f 1888 1547 1575
+f 1888 1575 1593
+f 1888 1593 1617
+f 1888 1617 1641
+f 1888 1641 1663
+f 1888 1663 1687
+f 1888 1687 1894
+f 1366 1519 1513
+f 1513 1362 1366
+f 1374 1527 1519
+f 1519 1366 1374
+f 1397 1547 1527
+f 1527 1374 1397
+f 1423 1575 1547
+f 1547 1397 1423
+f 1481 1593 1575
+f 1575 1423 1481
+f 1529 1617 1593
+f 1593 1481 1529
+f 1587 1641 1617
+f 1617 1529 1587
+f 1635 1663 1641
+f 1641 1587 1635
+f 1675 1687 1663
+f 1663 1635 1675
+f 1895 1894 1687
+f 1687 1675 1895
+f 1313 1366 1362
+f 1362 1308 1313
+f 1323 1374 1366
+f 1366 1313 1323
+f 1344 1397 1374
+f 1374 1323 1344
+f 1380 1423 1397
+f 1397 1344 1380
+f 1419 1481 1423
+f 1423 1380 1419
+f 1491 1529 1481
+f 1481 1419 1491
+f 1556 1587 1529
+f 1529 1491 1556
+f 1623 1635 1587
+f 1587 1556 1623
+f 1667 1675 1635
+f 1635 1623 1667
+f 1890 1895 1675
+f 1675 1667 1890
+f 1311 1313 1308
+f 1308 1307 1311
+f 1321 1323 1313
+f 1313 1311 1321
+f 1342 1344 1323
+f 1323 1321 1342
+f 1378 1380 1344
+f 1344 1342 1378
+f 1417 1419 1380
+f 1380 1378 1417
+f 1489 1491 1419
+f 1419 1417 1489
+f 1555 1556 1491
+f 1491 1489 1555
+f 1621 1623 1556
+f 1556 1555 1621
+f 1665 1667 1623
+f 1623 1621 1665
+f 1881 1890 1667
+f 1667 1665 1881
+f 1338 1311 1307
+f 1307 1334 1338
+f 1364 1321 1311
+f 1311 1338 1364
+f 1382 1342 1321
+f 1321 1364 1382
+f 1409 1378 1342
+f 1342 1382 1409
+f 1455 1417 1378
+f 1378 1409 1455
+f 1517 1489 1417
+f 1417 1455 1517
+f 1581 1555 1489
+f 1489 1517 1581
+f 1629 1621 1555
+f 1555 1581 1629
+f 1671 1665 1621
+f 1621 1629 1671
+f 1893 1881 1665
+f 1665 1671 1893
+f 1403 1338 1334
+f 1334 1398 1403
+f 1413 1364 1338
+f 1338 1403 1413
+f 1437 1382 1364
+f 1364 1413 1437
+f 1477 1409 1382
+f 1382 1437 1477
+f 1515 1455 1409
+f 1409 1477 1515
+f 1563 1517 1455
+f 1455 1515 1563
+f 1605 1581 1517
+f 1517 1563 1605
+f 1645 1629 1581
+f 1581 1605 1645
+f 1679 1671 1629
+f 1629 1645 1679
+f 1900 1893 1671
+f 1671 1679 1900
+f 1482 1403 1398
+f 1398 1478 1482
+f 1496 1413 1403
+f 1403 1482 1496
+f 1511 1437 1413
+f 1413 1496 1511
+f 1539 1477 1437
+f 1437 1511 1539
+f 1579 1515 1477
+f 1477 1539 1579
+f 1599 1563 1515
+f 1515 1579 1599
+f 1631 1605 1563
+f 1563 1599 1631
+f 1653 1645 1605
+f 1605 1631 1653
+f 1681 1679 1645
+f 1645 1653 1681
+f 1902 1900 1679
+f 1679 1681 1902
+f 1544 1482 1478
+f 1478 1536 1544
+f 1548 1496 1482
+f 1482 1544 1548
+f 1568 1511 1496
+f 1496 1548 1568
+f 1584 1539 1511
+f 1511 1568 1584
+f 1602 1579 1539
+f 1539 1584 1602
+f 1627 1599 1579
+f 1579 1602 1627
+f 1649 1631 1599
+f 1599 1627 1649
+f 1669 1653 1631
+f 1631 1649 1669
+f 1689 1681 1653
+f 1653 1669 1689
+f 1921 1902 1681
+f 1681 1689 1921
+f 1560 1544 1536
+f 1536 1552 1560
+f 1572 1548 1544
+f 1544 1560 1572
+f 1582 1568 1548
+f 1548 1572 1582
+f 1594 1584 1568
+f 1568 1582 1594
+f 1610 1602 1584
+f 1584 1594 1610
+f 1632 1627 1602
+f 1602 1610 1632
+f 1651 1649 1627
+f 1627 1632 1651
+f 1673 1669 1649
+f 1649 1651 1673
+f 1691 1689 1669
+f 1669 1673 1691
+f 1922 1921 1689
+f 1689 1691 1922
+f 1508 1560 1552
+f 1552 1500 1508
+f 1522 1572 1560
+f 1560 1508 1522
+f 1542 1582 1572
+f 1572 1522 1542
+f 1566 1594 1582
+f 1582 1542 1566
+f 1590 1610 1594
+f 1594 1566 1590
+f 1614 1632 1610
+f 1610 1590 1614
+f 1639 1651 1632
+f 1632 1614 1639
+f 1659 1673 1651
+f 1651 1639 1659
+f 1685 1691 1673
+f 1673 1659 1685
+f 1928 1922 1691
+f 1691 1685 1928
+f 1888 1887 1937
+f 1888 1937 1961
+f 1888 1961 1983
+f 1888 1983 2007
+f 1888 2007 2031
+f 1888 2031 2049
+f 1888 2049 2077
+f 1888 2077 2097
+f 1888 2097 2105
+f 1888 2105 2111
+f 1949 1937 1887
+f 1887 1885 1949
+f 1989 1961 1937
+f 1937 1949 1989
+f 2037 1983 1961
+f 1961 1989 2037
+f 2095 2007 1983
+f 1983 2037 2095
+f 2143 2031 2007
+f 2007 2095 2143
+f 2201 2049 2031
+f 2031 2143 2201
+f 2227 2077 2049
+f 2049 2201 2227
+f 2250 2097 2077
+f 2077 2227 2250
+f 2258 2105 2097
+f 2097 2250 2258
+f 2262 2111 2105
+f 2105 2258 2262
+f 1957 1949 1885
+f 1885 1883 1957
+f 2001 1989 1949
+f 1949 1957 2001
+f 2066 2037 1989
+f 1989 2001 2066
+f 2133 2095 2037
+f 2037 2066 2133
+f 2205 2143 2095
+f 2095 2133 2205
+f 2244 2201 2143
+f 2143 2205 2244
+f 2280 2227 2201
+f 2201 2244 2280
+f 2301 2250 2227
+f 2227 2280 2301
+f 2311 2258 2250
+f 2250 2301 2311
+f 2314 2262 2258
+f 2258 2311 2314
+f 1959 1957 1883
+f 1883 1880 1959
+f 2003 2001 1957
+f 1957 1959 2003
+f 2069 2066 2001
+f 2001 2003 2069
+f 2135 2133 2066
+f 2066 2069 2135
+f 2207 2205 2133
+f 2133 2135 2207
+f 2246 2244 2205
+f 2205 2207 2246
+f 2282 2280 2244
+f 2244 2246 2282
+f 2303 2301 2280
+f 2280 2282 2303
+f 2313 2311 2301
+f 2301 2303 2313
+f 2317 2314 2311
+f 2311 2313 2317
+f 1953 1959 1880
+f 1880 1877 1953
+f 1995 2003 1959
+f 1959 1953 1995
+f 2043 2069 2003
+f 2003 1995 2043
+f 2107 2135 2069
+f 2069 2043 2107
+f 2169 2207 2135
+f 2135 2107 2169
+f 2215 2246 2207
+f 2207 2169 2215
+f 2242 2282 2246
+f 2246 2215 2242
+f 2260 2303 2282
+f 2282 2242 2260
+f 2286 2313 2303
+f 2303 2260 2286
+f 2290 2317 2313
+f 2313 2286 2290
+f 1945 1953 1877
+f 1877 1875 1945
+f 1979 1995 1953
+f 1953 1945 1979
+f 2019 2043 1995
+f 1995 1979 2019
+f 2061 2107 2043
+f 2043 2019 2061
+f 2109 2169 2107
+f 2107 2061 2109
+f 2147 2215 2169
+f 2169 2109 2147
+f 2187 2242 2215
+f 2215 2147 2187
+f 2211 2260 2242
+f 2242 2187 2211
+f 2221 2286 2260
+f 2260 2211 2221
+f 2224 2290 2286
+f 2286 2221 2224
+f 1943 1945 1875
+f 1875 1873 1943
+f 1971 1979 1945
+f 1945 1943 1971
+f 1993 2019 1979
+f 1979 1971 1993
+f 2025 2061 2019
+f 2019 1993 2025
+f 2045 2109 2061
+f 2061 2025 2045
+f 2085 2147 2109
+f 2109 2045 2085
+f 2113 2187 2147
+f 2147 2085 2113
+f 2126 2211 2187
+f 2187 2113 2126
+f 2140 2221 2211
+f 2211 2126 2140
+f 2144 2224 2221
+f 2221 2140 2144
+f 1935 1943 1873
+f 1873 1871 1935
+f 1955 1971 1943
+f 1943 1935 1955
+f 1975 1993 1971
+f 1971 1955 1975
+f 1997 2025 1993
+f 1993 1975 1997
+f 2020 2045 2025
+f 2025 1997 2020
+f 2038 2085 2045
+f 2045 2020 2038
+f 2054 2113 2085
+f 2085 2038 2054
+f 2074 2126 2113
+f 2113 2054 2074
+f 2078 2140 2126
+f 2126 2074 2078
+f 2086 2144 2140
+f 2140 2078 2086
+f 1933 1935 1871
+f 1871 1869 1933
+f 1951 1955 1935
+f 1935 1933 1951
+f 1973 1975 1955
+f 1955 1951 1973
+f 1990 1997 1975
+f 1975 1973 1990
+f 2012 2020 1997
+f 1997 1990 2012
+f 2028 2038 2020
+f 2020 2012 2028
+f 2040 2054 2038
+f 2038 2028 2040
+f 2050 2074 2054
+f 2054 2040 2050
+f 2062 2078 2074
+f 2074 2050 2062
+f 2070 2086 2078
+f 2078 2062 2070
+f 1939 1933 1869
+f 1869 1866 1939
+f 1965 1951 1933
+f 1933 1939 1965
+f 1985 1973 1951
+f 1951 1965 1985
+f 2008 1990 1973
+f 1973 1985 2008
+f 2032 2012 1990
+f 1990 2008 2032
+f 2056 2028 2012
+f 2012 2032 2056
+f 2080 2040 2028
+f 2028 2056 2080
+f 2100 2050 2040
+f 2040 2080 2100
+f 2114 2062 2050
+f 2050 2100 2114
+f 2122 2070 2062
+f 2062 2114 2122
+f 2232 2116 2124
+f 2124 2236 2232
+f 2218 2102 2116
+f 2116 2232 2218
+f 2199 2082 2102
+f 2102 2218 2199
+f 2150 2058 2082
+f 2082 2199 2150
+f 2120 2034 2058
+f 2058 2150 2120
+f 2064 2010 2034
+f 2034 2120 2064
+f 2023 1986 2010
+f 2010 2064 2023
+f 1980 1966 1986
+f 1986 2023 1980
+f 1946 1940 1966
+f 1966 1980 1946
+f 1862 1730 1940
+f 1940 1946 1862
+f 2332 2232 2236
+f 2236 2336 2332
+f 2322 2218 2232
+f 2232 2332 2322
+f 2306 2199 2218
+f 2218 2322 2306
+f 2275 2150 2199
+f 2199 2306 2275
+f 2234 2120 2150
+f 2150 2275 2234
+f 2170 2064 2120
+f 2120 2234 2170
+f 2093 2023 2064
+f 2064 2170 2093
+f 2016 1980 2023
+f 2023 2093 2016
+f 1968 1946 1980
+f 1980 2016 1968
+f 1858 1862 1946
+f 1946 1968 1858
+f 2409 2332 2336
+f 2336 2413 2409
+f 2400 2322 2332
+f 2332 2409 2400
+f 2376 2306 2322
+f 2322 2400 2376
+f 2349 2275 2306
+f 2306 2376 2349
+f 2324 2234 2275
+f 2275 2349 2324
+f 2271 2170 2234
+f 2234 2324 2271
+f 2185 2093 2170
+f 2170 2271 2185
+f 2072 2016 2093
+f 2093 2185 2072
+f 1976 1968 2016
+f 2016 2072 1976
+f 1729 1858 1968
+f 1968 1976 1729
+f 2488 2409 2413
+f 2413 2498 2488
+f 2470 2400 2409
+f 2409 2488 2470
+f 2444 2376 2400
+f 2400 2470 2444
+f 2418 2349 2376
+f 2376 2444 2418
+f 2384 2324 2349
+f 2349 2418 2384
+f 2338 2271 2324
+f 2324 2384 2338
+f 2269 2185 2271
+f 2271 2338 2269
+f 2138 2072 2185
+f 2185 2269 2138
+f 1998 1976 2072
+f 2072 2138 1998
+f 1722 1729 1976
+f 1976 1998 1722
+f 2559 2488 2498
+f 2498 2569 2559
+f 2549 2470 2488
+f 2488 2559 2549
+f 2531 2444 2470
+f 2470 2549 2531
+f 2492 2418 2444
+f 2444 2531 2492
+f 2436 2384 2418
+f 2418 2492 2436
+f 2394 2338 2384
+f 2384 2436 2394
+f 2326 2269 2338
+f 2338 2394 2326
+f 2212 2138 2269
+f 2269 2326 2212
+f 2026 1998 2138
+f 2138 2212 2026
+f 1850 1722 1998
+f 1998 2026 1850
+f 2653 2559 2569
+f 2569 2655 2653
+f 2631 2549 2559
+f 2559 2653 2631
+f 2593 2531 2549
+f 2549 2631 2593
+f 2551 2492 2531
+f 2531 2593 2551
+f 2510 2436 2492
+f 2492 2551 2510
+f 2432 2394 2436
+f 2436 2510 2432
+f 2366 2326 2394
+f 2394 2432 2366
+f 2263 2212 2326
+f 2326 2366 2263
+f 2052 2026 2212
+f 2212 2263 2052
+f 1726 1850 2026
+f 2026 2052 1726
+f 2720 2653 2655
+f 2655 2726 2720
+f 2697 2631 2653
+f 2653 2720 2697
+f 2662 2593 2631
+f 2631 2697 2662
+f 2607 2551 2593
+f 2593 2662 2607
+f 2547 2510 2551
+f 2551 2607 2547
+f 2484 2432 2510
+f 2510 2547 2484
+f 2405 2366 2432
+f 2432 2484 2405
+f 2308 2263 2366
+f 2366 2405 2308
+f 2090 2052 2263
+f 2263 2308 2090
+f 1719 1726 2052
+f 2052 2090 1719
+f 2787 2720 2726
+f 2726 2795 2787
+f 2759 2697 2720
+f 2720 2787 2759
+f 2713 2662 2697
+f 2697 2759 2713
+f 2657 2607 2662
+f 2662 2713 2657
+f 2589 2547 2607
+f 2607 2657 2589
+f 2525 2484 2547
+f 2547 2589 2525
+f 2422 2405 2484
+f 2484 2525 2422
+f 2330 2308 2405
+f 2405 2422 2330
+f 2118 2090 2308
+f 2308 2330 2118
+f 1700 1719 2090
+f 2090 2118 1700
+f 2834 2787 2795
+f 2795 2844 2834
+f 2798 2759 2787
+f 2787 2834 2798
+f 2750 2713 2759
+f 2759 2798 2750
+f 2690 2657 2713
+f 2713 2750 2690
+f 2624 2589 2657
+f 2657 2690 2624
+f 2536 2525 2589
+f 2589 2624 2536
+f 2441 2422 2525
+f 2525 2536 2441
+f 2340 2330 2422
+f 2422 2441 2340
+f 2128 2118 2330
+f 2330 2340 2128
+f 1825 1700 2118
+f 2118 2128 1825
+f 2847 2834 2844
+f 2844 2857 2847
+f 2821 2798 2834
+f 2834 2847 2821
+f 2765 2750 2798
+f 2798 2821 2765
+f 2703 2690 2750
+f 2750 2765 2703
+f 2637 2624 2690
+f 2690 2703 2637
+f 2543 2536 2624
+f 2624 2637 2543
+f 2446 2441 2536
+f 2536 2543 2446
+f 2344 2340 2441
+f 2441 2446 2344
+f 2136 2128 2340
+f 2340 2344 2136
+f 1713 1825 2128
+f 2128 2136 1713
+f 1676 1682 1864
+f 1864 1862 1676
+f 1642 1656 1682
+f 1682 1676 1642
+f 1601 1636 1656
+f 1656 1642 1601
+f 1558 1612 1636
+f 1636 1601 1558
+f 1502 1588 1612
+f 1612 1558 1502
+f 1472 1564 1588
+f 1588 1502 1472
+f 1425 1540 1564
+f 1564 1472 1425
+f 1404 1520 1540
+f 1540 1425 1404
+f 1390 1506 1520
+f 1520 1404 1390
+f 1387 1498 1506
+f 1506 1390 1387
+f 1654 1676 1862
+f 1862 1859 1654
+f 1606 1642 1676
+f 1676 1654 1606
+f 1531 1601 1642
+f 1642 1606 1531
+f 1452 1558 1601
+f 1601 1531 1452
+f 1388 1502 1558
+f 1558 1452 1388
+f 1347 1472 1502
+f 1502 1388 1347
+f 1316 1425 1472
+f 1472 1347 1316
+f 1300 1404 1425
+f 1425 1316 1300
+f 1290 1390 1404
+f 1404 1300 1290
+f 1286 1387 1390
+f 1390 1290 1286
+f 1646 1654 1859
+f 1859 1856 1646
+f 1550 1606 1654
+f 1654 1646 1550
+f 1439 1531 1606
+f 1606 1550 1439
+f 1351 1452 1531
+f 1531 1439 1351
+f 1298 1388 1452
+f 1452 1351 1298
+f 1275 1347 1388
+f 1388 1298 1275
+f 1246 1316 1347
+f 1347 1275 1246
+f 1222 1300 1316
+f 1316 1246 1222
+f 1215 1290 1300
+f 1300 1222 1215
+f 1211 1286 1290
+f 1290 1215 1211
+f 1624 1646 1856
+f 1856 1854 1624
+f 1484 1550 1646
+f 1646 1624 1484
+f 1353 1439 1550
+f 1550 1484 1353
+f 1284 1351 1439
+f 1439 1353 1284
+f 1238 1298 1351
+f 1351 1284 1238
+f 1204 1275 1298
+f 1298 1238 1204
+f 1178 1246 1275
+f 1275 1204 1178
+f 1152 1222 1246
+f 1246 1178 1152
+f 1134 1215 1222
+f 1222 1152 1134
+f 1124 1211 1215
+f 1215 1134 1124
+f 1596 1624 1854
+f 1854 1851 1596
+f 1410 1484 1624
+f 1624 1596 1410
+f 1296 1353 1484
+f 1484 1410 1296
+f 1228 1284 1353
+f 1353 1296 1228
+f 1186 1238 1284
+f 1284 1228 1186
+f 1130 1204 1238
+f 1238 1186 1130
+f 1091 1178 1204
+f 1204 1130 1091
+f 1073 1152 1178
+f 1178 1091 1073
+f 1063 1134 1152
+f 1152 1073 1063
+f 1053 1124 1134
+f 1134 1063 1053
+f 1570 1596 1851
+f 1851 1848 1570
+f 1359 1410 1596
+f 1596 1570 1359
+f 1256 1296 1410
+f 1410 1359 1256
+f 1190 1228 1296
+f 1296 1256 1190
+f 1112 1186 1228
+f 1228 1190 1112
+f 1071 1130 1186
+f 1186 1112 1071
+f 1029 1091 1130
+f 1130 1071 1029
+f 991 1073 1091
+f 1091 1029 991
+f 969 1063 1073
+f 1073 991 969
+f 967 1053 1063
+f 1063 969 967
+f 1532 1570 1848
+f 1848 1846 1532
+f 1314 1359 1570
+f 1570 1532 1314
+f 1219 1256 1359
+f 1359 1314 1219
+f 1138 1190 1256
+f 1256 1219 1138
+f 1075 1112 1190
+f 1190 1138 1075
+f 1015 1071 1112
+f 1112 1075 1015
+f 962 1029 1071
+f 1071 1015 962
+f 925 991 1029
+f 1029 962 925
+f 904 969 991
+f 991 925 904
+f 898 967 969
+f 969 904 898
+f 1504 1532 1846
+f 1846 1832 1504
+f 1292 1314 1532
+f 1532 1504 1292
+f 1200 1219 1314
+f 1314 1292 1200
+f 1097 1138 1219
+f 1219 1200 1097
+f 1033 1075 1138
+f 1138 1097 1033
+f 965 1015 1075
+f 1075 1033 965
+f 909 962 1015
+f 1015 965 909
+f 863 925 962
+f 962 909 863
+f 835 904 925
+f 925 863 835
+f 827 898 904
+f 904 835 827
+f 1494 1504 1832
+f 1832 1824 1494
+f 1282 1292 1504
+f 1504 1494 1282
+f 1183 1200 1292
+f 1292 1282 1183
+f 1088 1097 1200
+f 1200 1183 1088
+f 1000 1033 1097
+f 1097 1088 1000
+f 934 965 1033
+f 1033 1000 934
+f 874 909 965
+f 965 934 874
+f 826 863 909
+f 909 874 826
+f 790 835 863
+f 863 826 790
+f 780 827 835
+f 835 790 780
+f 1486 1494 1824
+f 1824 1814 1486
+f 1278 1282 1494
+f 1494 1486 1278
+f 1176 1183 1282
+f 1282 1278 1176
+f 1079 1088 1183
+f 1183 1176 1079
+f 985 1000 1088
+f 1088 1079 985
+f 919 934 1000
+f 1000 985 919
+f 857 874 934
+f 934 919 857
+f 801 826 874
+f 874 857 801
+f 775 790 826
+f 826 801 775
+f 765 780 790
+f 790 775 765
+f 1391 1507 1499
+f 1499 1387 1391
+f 1405 1521 1507
+f 1507 1391 1405
+f 1424 1541 1521
+f 1521 1405 1424
+f 1473 1565 1541
+f 1541 1424 1473
+f 1503 1589 1565
+f 1565 1473 1503
+f 1559 1613 1589
+f 1589 1503 1559
+f 1600 1637 1613
+f 1613 1559 1600
+f 1643 1657 1637
+f 1637 1600 1643
+f 1677 1683 1657
+f 1657 1643 1677
+f 1863 1892 1683
+f 1683 1677 1863
+f 1291 1391 1387
+f 1387 1287 1291
+f 1301 1405 1391
+f 1391 1291 1301
+f 1317 1424 1405
+f 1405 1301 1317
+f 1348 1473 1424
+f 1424 1317 1348
+f 1389 1503 1473
+f 1473 1348 1389
+f 1453 1559 1503
+f 1503 1389 1453
+f 1530 1600 1559
+f 1559 1453 1530
+f 1607 1643 1600
+f 1600 1530 1607
+f 1655 1677 1643
+f 1643 1607 1655
+f 1861 1863 1677
+f 1677 1655 1861
+f 1214 1291 1287
+f 1287 1210 1214
+f 1223 1301 1291
+f 1291 1214 1223
+f 1247 1317 1301
+f 1301 1223 1247
+f 1274 1348 1317
+f 1317 1247 1274
+f 1299 1389 1348
+f 1348 1274 1299
+f 1352 1453 1389
+f 1389 1299 1352
+f 1438 1530 1453
+f 1453 1352 1438
+f 1551 1607 1530
+f 1530 1438 1551
+f 1647 1655 1607
+f 1607 1551 1647
+f 1891 1861 1655
+f 1655 1647 1891
+f 1135 1214 1210
+f 1210 1125 1135
+f 1153 1223 1214
+f 1214 1135 1153
+f 1179 1247 1223
+f 1223 1153 1179
+f 1205 1274 1247
+f 1247 1179 1205
+f 1239 1299 1274
+f 1274 1205 1239
+f 1285 1352 1299
+f 1299 1239 1285
+f 1354 1438 1352
+f 1352 1285 1354
+f 1485 1551 1438
+f 1438 1354 1485
+f 1625 1647 1551
+f 1551 1485 1625
+f 1901 1891 1647
+f 1647 1625 1901
+f 1064 1135 1125
+f 1125 1054 1064
+f 1074 1153 1135
+f 1135 1064 1074
+f 1092 1179 1153
+f 1153 1074 1092
+f 1131 1205 1179
+f 1179 1092 1131
+f 1187 1239 1205
+f 1205 1131 1187
+f 1229 1285 1239
+f 1239 1187 1229
+f 1297 1354 1285
+f 1285 1229 1297
+f 1411 1485 1354
+f 1354 1297 1411
+f 1597 1625 1485
+f 1485 1411 1597
+f 1853 1901 1625
+f 1625 1597 1853
+f 970 1064 1054
+f 1054 968 970
+f 992 1074 1064
+f 1064 970 992
+f 1030 1092 1074
+f 1074 992 1030
+f 1072 1131 1092
+f 1092 1030 1072
+f 1113 1187 1131
+f 1131 1072 1113
+f 1191 1229 1187
+f 1187 1113 1191
+f 1257 1297 1229
+f 1229 1191 1257
+f 1360 1411 1297
+f 1297 1257 1360
+f 1571 1597 1411
+f 1411 1360 1571
+f 1899 1853 1597
+f 1597 1571 1899
+f 903 970 968
+f 968 897 903
+f 926 992 970
+f 970 903 926
+f 961 1030 992
+f 992 926 961
+f 1016 1072 1030
+f 1030 961 1016
+f 1076 1113 1072
+f 1072 1016 1076
+f 1139 1191 1113
+f 1113 1076 1139
+f 1218 1257 1191
+f 1191 1139 1218
+f 1315 1360 1257
+f 1257 1218 1315
+f 1533 1571 1360
+f 1360 1315 1533
+f 1920 1899 1571
+f 1571 1533 1920
+f 836 903 897
+f 897 828 836
+f 864 926 903
+f 903 836 864
+f 910 961 926
+f 926 864 910
+f 966 1016 961
+f 961 910 966
+f 1034 1076 1016
+f 1016 966 1034
+f 1098 1139 1076
+f 1076 1034 1098
+f 1201 1218 1139
+f 1139 1098 1201
+f 1293 1315 1218
+f 1218 1201 1293
+f 1505 1533 1315
+f 1315 1293 1505
+f 1924 1920 1533
+f 1533 1505 1924
+f 789 836 828
+f 828 779 789
+f 825 864 836
+f 836 789 825
+f 873 910 864
+f 864 825 873
+f 933 966 910
+f 910 873 933
+f 999 1034 966
+f 966 933 999
+f 1087 1098 1034
+f 1034 999 1087
+f 1182 1201 1098
+f 1098 1087 1182
+f 1283 1293 1201
+f 1201 1182 1283
+f 1495 1505 1293
+f 1293 1283 1495
+f 1826 1924 1505
+f 1505 1495 1826
+f 776 789 779
+f 779 766 776
+f 802 825 789
+f 789 776 802
+f 858 873 825
+f 825 802 858
+f 920 933 873
+f 873 858 920
+f 986 999 933
+f 933 920 986
+f 1080 1087 999
+f 999 986 1080
+f 1177 1182 1087
+f 1087 1080 1177
+f 1279 1283 1182
+f 1182 1177 1279
+f 1487 1495 1283
+f 1283 1279 1487
+f 1914 1826 1495
+f 1495 1487 1914
+f 1947 1941 1867
+f 1867 1863 1947
+f 1981 1967 1941
+f 1941 1947 1981
+f 2022 1987 1967
+f 1967 1981 2022
+f 2065 2011 1987
+f 1987 2022 2065
+f 2121 2035 2011
+f 2011 2065 2121
+f 2151 2059 2035
+f 2035 2121 2151
+f 2198 2083 2059
+f 2059 2151 2198
+f 2219 2103 2083
+f 2083 2198 2219
+f 2233 2117 2103
+f 2103 2219 2233
+f 2236 2125 2117
+f 2117 2233 2236
+f 1969 1947 1863
+f 1863 1860 1969
+f 2017 1981 1947
+f 1947 1969 2017
+f 2092 2022 1981
+f 1981 2017 2092
+f 2171 2065 2022
+f 2022 2092 2171
+f 2235 2121 2065
+f 2065 2171 2235
+f 2276 2151 2121
+f 2121 2235 2276
+f 2307 2198 2151
+f 2151 2276 2307
+f 2323 2219 2198
+f 2198 2307 2323
+f 2333 2233 2219
+f 2219 2323 2333
+f 2337 2236 2233
+f 2233 2333 2337
+f 1977 1969 1860
+f 1860 1857 1977
+f 2073 2017 1969
+f 1969 1977 2073
+f 2184 2092 2017
+f 2017 2073 2184
+f 2272 2171 2092
+f 2092 2184 2272
+f 2325 2235 2171
+f 2171 2272 2325
+f 2348 2276 2235
+f 2235 2325 2348
+f 2377 2307 2276
+f 2276 2348 2377
+f 2401 2323 2307
+f 2307 2377 2401
+f 2408 2333 2323
+f 2323 2401 2408
+f 2412 2337 2333
+f 2333 2408 2412
+f 1999 1977 1857
+f 1857 1855 1999
+f 2139 2073 1977
+f 1977 1999 2139
+f 2270 2184 2073
+f 2073 2139 2270
+f 2339 2272 2184
+f 2184 2270 2339
+f 2385 2325 2272
+f 2272 2339 2385
+f 2419 2348 2325
+f 2325 2385 2419
+f 2445 2377 2348
+f 2348 2419 2445
+f 2471 2401 2377
+f 2377 2445 2471
+f 2489 2408 2401
+f 2401 2471 2489
+f 2499 2412 2408
+f 2408 2489 2499
+f 2027 1999 1855
+f 1855 1852 2027
+f 2213 2139 1999
+f 1999 2027 2213
+f 2327 2270 2139
+f 2139 2213 2327
+f 2395 2339 2270
+f 2270 2327 2395
+f 2437 2385 2339
+f 2339 2395 2437
+f 2493 2419 2385
+f 2385 2437 2493
+f 2532 2445 2419
+f 2419 2493 2532
+f 2550 2471 2445
+f 2445 2532 2550
+f 2560 2489 2471
+f 2471 2550 2560
+f 2570 2499 2489
+f 2489 2560 2570
+f 2053 2027 1852
+f 1852 1849 2053
+f 2264 2213 2027
+f 2027 2053 2264
+f 2367 2327 2213
+f 2213 2264 2367
+f 2433 2395 2327
+f 2327 2367 2433
+f 2511 2437 2395
+f 2395 2433 2511
+f 2552 2493 2437
+f 2437 2511 2552
+f 2594 2532 2493
+f 2493 2552 2594
+f 2632 2550 2532
+f 2532 2594 2632
+f 2654 2560 2550
+f 2550 2632 2654
+f 2656 2570 2560
+f 2560 2654 2656
+f 2091 2053 1849
+f 1849 1847 2091
+f 2309 2264 2053
+f 2053 2091 2309
+f 2404 2367 2264
+f 2264 2309 2404
+f 2485 2433 2367
+f 2367 2404 2485
+f 2548 2511 2433
+f 2433 2485 2548
+f 2608 2552 2511
+f 2511 2548 2608
+f 2661 2594 2552
+f 2552 2608 2661
+f 2698 2632 2594
+f 2594 2661 2698
+f 2719 2654 2632
+f 2632 2698 2719
+f 2725 2656 2654
+f 2654 2719 2725
+f 2119 2091 1847
+f 1847 1833 2119
+f 2331 2309 2091
+f 2091 2119 2331
+f 2423 2404 2309
+f 2309 2331 2423
+f 2526 2485 2404
+f 2404 2423 2526
+f 2590 2548 2485
+f 2485 2526 2590
+f 2658 2608 2548
+f 2548 2590 2658
+f 2714 2661 2608
+f 2608 2658 2714
+f 2760 2698 2661
+f 2661 2714 2760
+f 2788 2719 2698
+f 2698 2760 2788
+f 2796 2725 2719
+f 2719 2788 2796
+f 2129 2119 1833
+f 1833 1827 2129
+f 2341 2331 2119
+f 2119 2129 2341
+f 2440 2423 2331
+f 2331 2341 2440
+f 2535 2526 2423
+f 2423 2440 2535
+f 2623 2590 2526
+f 2526 2535 2623
+f 2689 2658 2590
+f 2590 2623 2689
+f 2749 2714 2658
+f 2658 2689 2749
+f 2797 2760 2714
+f 2714 2749 2797
+f 2833 2788 2760
+f 2760 2797 2833
+f 2843 2796 2788
+f 2788 2833 2843
+f 2137 2129 1827
+f 1827 1815 2137
+f 2345 2341 2129
+f 2129 2137 2345
+f 2447 2440 2341
+f 2341 2345 2447
+f 2544 2535 2440
+f 2440 2447 2544
+f 2638 2623 2535
+f 2535 2544 2638
+f 2704 2689 2623
+f 2623 2638 2704
+f 2766 2749 2689
+f 2689 2704 2766
+f 2822 2797 2749
+f 2749 2766 2822
+f 2848 2833 2797
+f 2797 2822 2848
+f 2858 2843 2833
+f 2833 2848 2858
+f 1735 2334 2329
+f 1735 2329 2321
+f 1735 2321 2305
+f 1735 2305 2274
+f 1735 2274 2231
+f 1735 2231 2167
+f 1735 2167 2089
+f 1735 2089 2014
+f 1735 2014 1962
+f 1735 1962 1733
+f 2515 2329 2334
+f 2334 2524 2515
+f 2495 2321 2329
+f 2329 2515 2495
+f 2456 2305 2321
+f 2321 2495 2456
+f 2429 2274 2305
+f 2305 2456 2429
+f 2399 2231 2274
+f 2274 2429 2399
+f 2347 2167 2231
+f 2231 2399 2347
+f 2292 2089 2167
+f 2167 2347 2292
+f 2148 2014 2089
+f 2089 2292 2148
+f 2004 1962 2014
+f 2014 2148 2004
+f 1739 1733 1962
+f 1962 2004 1739
+f 2647 2515 2524
+f 2524 2649 2647
+f 2621 2495 2515
+f 2515 2647 2621
+f 2584 2456 2495
+f 2495 2621 2584
+f 2541 2429 2456
+f 2456 2584 2541
+f 2502 2399 2429
+f 2429 2541 2502
+f 2426 2347 2399
+f 2399 2502 2426
+f 2352 2292 2347
+f 2347 2426 2352
+f 2255 2148 2292
+f 2292 2352 2255
+f 2046 2004 2148
+f 2148 2255 2046
+f 1702 1739 2004
+f 2004 2046 1702
+f 2746 2647 2649
+f 2649 2757 2746
+f 2721 2621 2647
+f 2647 2746 2721
+f 2681 2584 2621
+f 2621 2721 2681
+f 2639 2541 2584
+f 2584 2681 2639
+f 2557 2502 2541
+f 2541 2639 2557
+f 2505 2426 2502
+f 2502 2557 2505
+f 2415 2352 2426
+f 2426 2505 2415
+f 2318 2255 2352
+f 2352 2415 2318
+f 2098 2046 2255
+f 2255 2318 2098
+f 1745 1702 2046
+f 2046 2098 1745
+f 2840 2746 2757
+f 2757 2849 2840
+f 2808 2721 2746
+f 2746 2840 2808
+f 2756 2681 2721
+f 2721 2808 2756
+f 2696 2639 2681
+f 2681 2756 2696
+f 2626 2557 2639
+f 2639 2696 2626
+f 2538 2505 2557
+f 2557 2626 2538
+f 2443 2415 2505
+f 2505 2538 2443
+f 2342 2318 2415
+f 2415 2443 2342
+f 2131 2098 2318
+f 2318 2342 2131
+f 1904 1745 2098
+f 2098 2131 1904
+f 2906 2840 2849
+f 2849 2925 2906
+f 2867 2808 2840
+f 2840 2906 2867
+f 2818 2756 2808
+f 2808 2867 2818
+f 2736 2696 2756
+f 2756 2818 2736
+f 2667 2626 2696
+f 2696 2736 2667
+f 2565 2538 2626
+f 2626 2667 2565
+f 2475 2443 2538
+f 2538 2565 2475
+f 2356 2342 2443
+f 2443 2475 2356
+f 2156 2131 2342
+f 2342 2356 2156
+f 1704 1904 2131
+f 2131 2156 1704
+f 2976 2906 2925
+f 2925 2987 2976
+f 2914 2867 2906
+f 2906 2976 2914
+f 2852 2818 2867
+f 2867 2914 2852
+f 2772 2736 2818
+f 2818 2852 2772
+f 2688 2667 2736
+f 2736 2772 2688
+f 2592 2565 2667
+f 2667 2688 2592
+f 2497 2475 2565
+f 2565 2592 2497
+f 2372 2356 2475
+f 2475 2497 2372
+f 2176 2156 2356
+f 2356 2372 2176
+f 1752 1704 2156
+f 2156 2176 1752
+f 2993 2976 2987
+f 2987 3011 2993
+f 2952 2914 2976
+f 2976 2993 2952
+f 2874 2852 2914
+f 2914 2952 2874
+f 2794 2772 2852
+f 2852 2874 2794
+f 2702 2688 2772
+f 2772 2794 2702
+f 2604 2592 2688
+f 2688 2702 2604
+f 2509 2497 2592
+f 2592 2604 2509
+f 2380 2372 2497
+f 2497 2509 2380
+f 2182 2176 2372
+f 2372 2380 2182
+f 1723 1752 2176
+f 2176 2182 1723
+f 3000 2993 3011
+f 3011 3020 3000
+f 2967 2952 2993
+f 2993 3000 2967
+f 2879 2874 2952
+f 2952 2967 2879
+f 2799 2794 2874
+f 2874 2879 2799
+f 2707 2702 2794
+f 2794 2799 2707
+f 2605 2604 2702
+f 2702 2707 2605
+f 2512 2509 2604
+f 2604 2605 2512
+f 2382 2380 2509
+f 2509 2512 2382
+f 2188 2182 2380
+f 2380 2382 2188
+f 1699 1723 2182
+f 2182 2188 1699
+f 3006 3000 3020
+f 3020 3022 3006
+f 2972 2967 3000
+f 3000 3006 2972
+f 2888 2879 2967
+f 2967 2972 2888
+f 2804 2799 2879
+f 2879 2888 2804
+f 2710 2707 2799
+f 2799 2804 2710
+f 2613 2605 2707
+f 2707 2710 2613
+f 2520 2512 2605
+f 2605 2613 2520
+f 2388 2382 2512
+f 2512 2520 2388
+f 2192 2188 2382
+f 2382 2388 2192
+f 1760 1699 2188
+f 2188 2192 1760
+f 1735 1737 1660
+f 1735 1660 1608
+f 1735 1608 1535
+f 1735 1535 1457
+f 1735 1457 1393
+f 1735 1393 1350
+f 1735 1350 1319
+f 1735 1319 1303
+f 1735 1303 1295
+f 1735 1295 1288
+f 1618 1660 1737
+f 1737 1739 1618
+f 1474 1608 1660
+f 1660 1618 1474
+f 1332 1535 1608
+f 1608 1474 1332
+f 1277 1457 1535
+f 1535 1332 1277
+f 1225 1393 1457
+f 1457 1277 1225
+f 1195 1350 1393
+f 1393 1225 1195
+f 1166 1319 1350
+f 1350 1195 1166
+f 1129 1303 1319
+f 1319 1166 1129
+f 1109 1295 1303
+f 1303 1129 1109
+f 1099 1288 1295
+f 1295 1109 1099
+f 1576 1618 1739
+f 1739 1741 1576
+f 1367 1474 1618
+f 1618 1576 1367
+f 1270 1332 1474
+f 1474 1367 1270
+f 1196 1277 1332
+f 1332 1270 1196
+f 1120 1225 1277
+f 1277 1196 1120
+f 1081 1195 1225
+f 1225 1120 1081
+f 1040 1166 1195
+f 1195 1081 1040
+f 1001 1129 1166
+f 1166 1040 1001
+f 975 1109 1129
+f 1129 1001 975
+f 973 1099 1109
+f 1109 975 973
+f 1524 1576 1741
+f 1741 1744 1524
+f 1304 1367 1576
+f 1576 1524 1304
+f 1209 1270 1367
+f 1367 1304 1209
+f 1119 1196 1270
+f 1270 1209 1119
+f 1065 1120 1196
+f 1196 1119 1065
+f 983 1081 1120
+f 1120 1065 983
+f 941 1040 1081
+f 1081 983 941
+f 901 1001 1040
+f 1040 941 901
+f 878 975 1001
+f 1001 901 878
+f 865 973 975
+f 975 878 865
+f 1493 1524 1744
+f 1744 1747 1493
+f 1280 1304 1524
+f 1524 1493 1280
+f 1181 1209 1304
+f 1304 1280 1181
+f 1086 1119 1209
+f 1209 1181 1086
+f 998 1065 1119
+f 1119 1086 998
+f 928 983 1065
+f 1065 998 928
+f 868 941 983
+f 983 928 868
+f 816 901 941
+f 941 868 816
+f 784 878 901
+f 901 816 784
+f 773 865 878
+f 878 784 773
+f 1466 1493 1747
+f 1747 1749 1466
+f 1266 1280 1493
+f 1493 1466 1266
+f 1149 1181 1280
+f 1280 1266 1149
+f 1057 1086 1181
+f 1181 1149 1057
+f 955 998 1086
+f 1086 1057 955
+f 888 928 998
+f 998 955 888
+f 806 868 928
+f 928 888 806
+f 755 816 868
+f 868 806 755
+f 718 784 816
+f 816 755 718
+f 697 773 784
+f 784 718 697
+f 1446 1466 1749
+f 1749 1753 1446
+f 1250 1266 1466
+f 1466 1446 1250
+f 1127 1149 1266
+f 1266 1250 1127
+f 1032 1057 1149
+f 1149 1127 1032
+f 936 955 1057
+f 1057 1032 936
+f 852 888 955
+f 955 936 852
+f 772 806 888
+f 888 852 772
+f 710 755 806
+f 806 772 710
+f 648 718 755
+f 755 710 648
+f 637 697 718
+f 718 648 637
+f 1440 1446 1753
+f 1753 1755 1440
+f 1242 1250 1446
+f 1446 1440 1242
+f 1115 1127 1250
+f 1250 1242 1115
+f 1020 1032 1127
+f 1127 1115 1020
+f 922 936 1032
+f 1032 1020 922
+f 830 852 936
+f 936 922 830
+f 750 772 852
+f 852 830 750
+f 672 710 772
+f 772 750 672
+f 631 648 710
+f 710 672 631
+f 613 637 648
+f 648 631 613
+f 1434 1440 1755
+f 1755 1757 1434
+f 1240 1242 1440
+f 1440 1434 1240
+f 1110 1115 1242
+f 1242 1240 1110
+f 1017 1020 1115
+f 1115 1110 1017
+f 915 922 1020
+f 1020 1017 915
+f 823 830 922
+f 922 915 823
+f 743 750 830
+f 830 823 743
+f 655 672 750
+f 750 743 655
+f 622 631 672
+f 672 655 622
+f 602 613 631
+f 631 622 602
+f 1428 1434 1757
+f 1757 1760 1428
+f 1232 1240 1434
+f 1434 1428 1232
+f 1105 1110 1240
+f 1240 1232 1105
+f 1010 1017 1110
+f 1110 1105 1010
+f 913 915 1017
+f 1017 1010 913
+f 821 823 915
+f 915 913 821
+f 736 743 823
+f 823 821 736
+f 652 655 743
+f 743 736 652
+f 619 622 655
+f 655 652 619
+f 601 602 622
+f 622 619 601
+f 1735 1289 1294
+f 1735 1294 1302
+f 1735 1302 1318
+f 1735 1318 1349
+f 1735 1349 1392
+f 1735 1392 1456
+f 1735 1456 1534
+f 1735 1534 1609
+f 1735 1609 1661
+f 1735 1661 1889
+f 1108 1294 1289
+f 1289 1099 1108
+f 1128 1302 1294
+f 1294 1108 1128
+f 1167 1318 1302
+f 1302 1128 1167
+f 1194 1349 1318
+f 1318 1167 1194
+f 1224 1392 1349
+f 1349 1194 1224
+f 1276 1456 1392
+f 1392 1224 1276
+f 1331 1534 1456
+f 1456 1276 1331
+f 1475 1609 1534
+f 1534 1331 1475
+f 1619 1661 1609
+f 1609 1475 1619
+f 1738 1889 1661
+f 1661 1619 1738
+f 976 1108 1099
+f 1099 974 976
+f 1002 1128 1108
+f 1108 976 1002
+f 1039 1167 1128
+f 1128 1002 1039
+f 1082 1194 1167
+f 1167 1039 1082
+f 1121 1224 1194
+f 1194 1082 1121
+f 1197 1276 1224
+f 1224 1121 1197
+f 1271 1331 1276
+f 1276 1197 1271
+f 1368 1475 1331
+f 1331 1271 1368
+f 1577 1619 1475
+f 1475 1368 1577
+f 1903 1738 1619
+f 1619 1577 1903
+f 877 976 974
+f 974 866 877
+f 902 1002 976
+f 976 877 902
+f 942 1039 1002
+f 1002 902 942
+f 984 1082 1039
+f 1039 942 984
+f 1066 1121 1082
+f 1082 984 1066
+f 1118 1197 1121
+f 1121 1066 1118
+f 1208 1271 1197
+f 1197 1118 1208
+f 1305 1368 1271
+f 1271 1208 1305
+f 1525 1577 1368
+f 1368 1305 1525
+f 1742 1903 1577
+f 1577 1525 1742
+f 783 877 866
+f 866 774 783
+f 815 902 877
+f 877 783 815
+f 867 942 902
+f 902 815 867
+f 927 984 942
+f 942 867 927
+f 997 1066 984
+f 984 927 997
+f 1085 1118 1066
+f 1066 997 1085
+f 1180 1208 1118
+f 1118 1085 1180
+f 1281 1305 1208
+f 1208 1180 1281
+f 1492 1525 1305
+f 1305 1281 1492
+f 1703 1742 1525
+f 1525 1492 1703
+f 717 783 774
+f 774 698 717
+f 756 815 783
+f 783 717 756
+f 805 867 815
+f 815 756 805
+f 887 927 867
+f 867 805 887
+f 956 997 927
+f 927 887 956
+f 1058 1085 997
+f 997 956 1058
+f 1148 1180 1085
+f 1085 1058 1148
+f 1267 1281 1180
+f 1180 1148 1267
+f 1467 1492 1281
+f 1281 1267 1467
+f 1905 1703 1492
+f 1492 1467 1905
+f 647 717 698
+f 698 636 647
+f 709 756 717
+f 717 647 709
+f 771 805 756
+f 756 709 771
+f 851 887 805
+f 805 771 851
+f 935 956 887
+f 887 851 935
+f 1031 1058 956
+f 956 935 1031
+f 1126 1148 1058
+f 1058 1031 1126
+f 1251 1267 1148
+f 1148 1126 1251
+f 1447 1467 1267
+f 1267 1251 1447
+f 1751 1905 1467
+f 1467 1447 1751
+f 630 647 636
+f 636 612 630
+f 671 709 647
+f 647 630 671
+f 749 771 709
+f 709 671 749
+f 829 851 771
+f 771 749 829
+f 921 935 851
+f 851 829 921
+f 1019 1031 935
+f 935 921 1019
+f 1114 1126 1031
+f 1031 1019 1114
+f 1243 1251 1126
+f 1126 1114 1243
+f 1441 1447 1251
+f 1251 1243 1441
+f 1896 1751 1447
+f 1447 1441 1896
+f 623 630 612
+f 612 603 623
+f 656 671 630
+f 630 623 656
+f 744 749 671
+f 671 656 744
+f 824 829 749
+f 749 744 824
+f 916 921 829
+f 829 824 916
+f 1018 1019 921
+f 921 916 1018
+f 1111 1114 1019
+f 1019 1018 1111
+f 1241 1243 1114
+f 1114 1111 1241
+f 1435 1441 1243
+f 1243 1241 1435
+f 1923 1896 1441
+f 1441 1435 1923
+f 617 623 603
+f 603 601 617
+f 650 656 623
+f 623 617 650
+f 734 744 656
+f 656 650 734
+f 818 824 744
+f 744 734 818
+f 912 916 824
+f 824 818 912
+f 1009 1018 916
+f 916 912 1009
+f 1102 1111 1018
+f 1018 1009 1102
+f 1235 1241 1111
+f 1111 1102 1235
+f 1431 1435 1241
+f 1241 1235 1431
+f 1759 1923 1435
+f 1435 1431 1759
+f 1735 1736 1963
+f 1735 1963 2015
+f 1735 2015 2088
+f 1735 2088 2166
+f 1735 2166 2230
+f 1735 2230 2273
+f 1735 2273 2304
+f 1735 2304 2320
+f 1735 2320 2328
+f 1735 2328 2335
+f 2005 1963 1736
+f 1736 1738 2005
+f 2149 2015 1963
+f 1963 2005 2149
+f 2291 2088 2015
+f 2015 2149 2291
+f 2346 2166 2088
+f 2088 2291 2346
+f 2398 2230 2166
+f 2166 2346 2398
+f 2428 2273 2230
+f 2230 2398 2428
+f 2457 2304 2273
+f 2273 2428 2457
+f 2494 2320 2304
+f 2304 2457 2494
+f 2514 2328 2320
+f 2320 2494 2514
+f 2524 2335 2328
+f 2328 2514 2524
+f 2047 2005 1738
+f 1738 1740 2047
+f 2256 2149 2005
+f 2005 2047 2256
+f 2353 2291 2149
+f 2149 2256 2353
+f 2427 2346 2291
+f 2291 2353 2427
+f 2503 2398 2346
+f 2346 2427 2503
+f 2542 2428 2398
+f 2398 2503 2542
+f 2583 2457 2428
+f 2428 2542 2583
+f 2622 2494 2457
+f 2457 2583 2622
+f 2648 2514 2494
+f 2494 2622 2648
+f 2650 2524 2514
+f 2514 2648 2650
+f 2099 2047 1740
+f 1740 1743 2099
+f 2319 2256 2047
+f 2047 2099 2319
+f 2414 2353 2256
+f 2256 2319 2414
+f 2504 2427 2353
+f 2353 2414 2504
+f 2558 2503 2427
+f 2427 2504 2558
+f 2640 2542 2503
+f 2503 2558 2640
+f 2682 2583 2542
+f 2542 2640 2682
+f 2722 2622 2583
+f 2583 2682 2722
+f 2745 2648 2622
+f 2622 2722 2745
+f 2758 2650 2648
+f 2648 2745 2758
+f 2130 2099 1743
+f 1743 1746 2130
+f 2343 2319 2099
+f 2099 2130 2343
+f 2442 2414 2319
+f 2319 2343 2442
+f 2537 2504 2414
+f 2414 2442 2537
+f 2625 2558 2504
+f 2504 2537 2625
+f 2695 2640 2558
+f 2558 2625 2695
+f 2755 2682 2640
+f 2640 2695 2755
+f 2807 2722 2682
+f 2682 2755 2807
+f 2839 2745 2722
+f 2722 2807 2839
+f 2850 2758 2745
+f 2745 2839 2850
+f 2157 2130 1746
+f 1746 1748 2157
+f 2357 2343 2130
+f 2130 2157 2357
+f 2474 2442 2343
+f 2343 2357 2474
+f 2566 2537 2442
+f 2442 2474 2566
+f 2668 2625 2537
+f 2537 2566 2668
+f 2735 2695 2625
+f 2625 2668 2735
+f 2817 2755 2695
+f 2695 2735 2817
+f 2868 2807 2755
+f 2755 2817 2868
+f 2905 2839 2807
+f 2807 2868 2905
+f 2926 2850 2839
+f 2839 2905 2926
+f 2177 2157 1748
+f 1748 1750 2177
+f 2373 2357 2157
+f 2157 2177 2373
+f 2496 2474 2357
+f 2357 2373 2496
+f 2591 2566 2474
+f 2474 2496 2591
+f 2687 2668 2566
+f 2566 2591 2687
+f 2771 2735 2668
+f 2668 2687 2771
+f 2851 2817 2735
+f 2735 2771 2851
+f 2913 2868 2817
+f 2817 2851 2913
+f 2975 2905 2868
+f 2868 2913 2975
+f 2986 2926 2905
+f 2905 2975 2986
+f 2183 2177 1750
+f 1750 1754 2183
+f 2381 2373 2177
+f 2177 2183 2381
+f 2508 2496 2373
+f 2373 2381 2508
+f 2603 2591 2496
+f 2496 2508 2603
+f 2701 2687 2591
+f 2591 2603 2701
+f 2793 2771 2687
+f 2687 2701 2793
+f 2873 2851 2771
+f 2771 2793 2873
+f 2951 2913 2851
+f 2851 2873 2951
+f 2992 2975 2913
+f 2913 2951 2992
+f 3010 2986 2975
+f 2975 2992 3010
+f 2189 2183 1754
+f 1754 1756 2189
+f 2383 2381 2183
+f 2183 2189 2383
+f 2513 2508 2381
+f 2381 2383 2513
+f 2606 2603 2508
+f 2508 2513 2606
+f 2708 2701 2603
+f 2603 2606 2708
+f 2800 2793 2701
+f 2701 2708 2800
+f 2880 2873 2793
+f 2793 2800 2880
+f 2968 2951 2873
+f 2873 2880 2968
+f 3001 2992 2951
+f 2951 2968 3001
+f 3021 3010 2992
+f 2992 3001 3021
+f 2195 2189 1756
+f 1756 1759 2195
+f 2390 2383 2189
+f 2189 2195 2390
+f 2517 2513 2383
+f 2383 2390 2517
+f 2612 2606 2513
+f 2513 2517 2612
+f 2709 2708 2606
+f 2606 2612 2709
+f 2801 2800 2708
+f 2708 2709 2801
+f 2886 2880 2800
+f 2800 2801 2886
+f 2970 2968 2880
+f 2880 2886 2970
+f 3004 3001 2968
+f 2968 2970 3004
+f 3022 3021 3001
+f 3001 3004 3022
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_09/Ex_09.pde b/content/handbook_2e/examples/17 Shapes/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..1f2969446
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_09/Ex_09.pde
@@ -0,0 +1,21 @@
+PShape zig;
+
+void setup() {
+ size(100, 100);
+ zig = createShape();
+ zig.beginShape();
+ zig.fill(0);
+ zig.noStroke();
+ zig.vertex(10, 0);
+ zig.vertex(100, 30);
+ zig.vertex(90, 70);
+ zig.vertex(100, 70);
+ zig.vertex(10, 90);
+ zig.vertex(50, 40);
+ zig.endShape();
+}
+
+void draw() {
+ background(204);
+ shape(zig, 0, 0);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_10/Ex_10.pde b/content/handbook_2e/examples/17 Shapes/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..25da73ba6
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_10/Ex_10.pde
@@ -0,0 +1,24 @@
+PShape zig;
+
+void setup() {
+ size(100, 100);
+ zig = createShape();
+ zig.beginShape();
+ zig.fill(0);
+ zig.noStroke();
+ zig.vertex(10, 0);
+ zig.vertex(100, 30);
+ zig.vertex(90, 70);
+ zig.vertex(100, 70);
+ zig.vertex(10, 90);
+ zig.vertex(50, 40);
+ zig.endShape();
+ zig.scale(0.7);
+ zig.translate(-50, -50);
+}
+
+void draw() {
+ background(204);
+ shape(zig, 50, 50);
+ zig.rotate(0.01);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_11/Ex_11.pde b/content/handbook_2e/examples/17 Shapes/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..bd5f0cdf3
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_11/Ex_11.pde
@@ -0,0 +1,20 @@
+PShape petal;
+
+void setup() {
+ size(100, 100, P3D);
+ petal = createShape();
+ petal.beginShape();
+ petal.noStroke();
+ petal.fill(0);
+ petal.vertex(90, 39);
+ petal.bezierVertex(90, 39, 54, 17, 26, 83);
+ petal.bezierVertex(26, 83, 90, 107, 90, 39);
+ petal.endShape();
+ petal.translate(-50, -50);
+}
+
+void draw() {
+ background(204);
+ shape(petal, 50, 50);
+ petal.rotateX(0.01);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_12/Ex_12.pde b/content/handbook_2e/examples/17 Shapes/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..70accbdb0
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_12/Ex_12.pde
@@ -0,0 +1,25 @@
+PShape zig;
+
+void setup() {
+ size(100, 100);
+ zig = createShape();
+ zig.beginShape();
+ zig.fill(0);
+ zig.vertex(10, 0);
+ zig.vertex(100, 30);
+ zig.vertex(90, 70);
+ zig.vertex(100, 70);
+ zig.vertex(10, 90);
+ zig.vertex(50, 40);
+ zig.endShape(CLOSE);
+ frameRate(4);
+}
+
+void draw() {
+ background(204);
+ color strokeVal = color(random(255));
+ color fillVal = color(random(255));
+ zig.setStroke(strokeVal);
+ zig.setFill(fillVal);
+ shape(zig, 0, 0);
+}
diff --git a/content/handbook_2e/examples/17 Shapes/Ex_13/Ex_13.pde b/content/handbook_2e/examples/17 Shapes/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..635f6e298
--- /dev/null
+++ b/content/handbook_2e/examples/17 Shapes/Ex_13/Ex_13.pde
@@ -0,0 +1,27 @@
+PShape zig;
+
+void setup() {
+ size(100, 100);
+ zig = createShape();
+ zig.beginShape();
+ zig.fill(0);
+ zig.vertex(10, 0);
+ zig.vertex(100, 30);
+ zig.vertex(90, 70);
+ zig.vertex(100, 70);
+ zig.vertex(10, 90);
+ zig.vertex(50, 40);
+ zig.endShape(CLOSE);
+}
+
+void draw() {
+ background(204);
+ for (int i = 0; i < zig.getVertexCount(); i++) {
+ float x = zig.getVertexX(i);
+ float y = zig.getVertexY(i);
+ x += random(-1, 1);
+ y += random(-1, 1);
+ zig.setVertex(i, x, y);
+ }
+ shape(zig, 0, 0);
+}
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_01/Ex_01.pde b/content/handbook_2e/examples/18 Synthesis 2/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..e6d18c509
--- /dev/null
+++ b/content/handbook_2e/examples/18 Synthesis 2/Ex_01/Ex_01.pde
@@ -0,0 +1,32 @@
+int x = 320; // Hero x-coordinate
+int y = 240; // Hero y-coordinate
+int r = 40; // Hero radius
+float speed = 2.0; // Hero speed
+
+void setup() {
+ size(640, 480);
+ ellipseMode(RADIUS);
+ noCursor();
+}
+
+void draw() {
+ background(204);
+
+ // Draw hero
+ noStroke();
+ fill(126);
+ ellipse(x, y, r, r);
+
+ // Move hero with arrow keys
+ if ((keyPressed == true) && (key == CODED)) {
+ if (keyCode == UP) {
+ y -= speed;
+ } else if (keyCode == DOWN) {
+ y += speed;
+ } else if (keyCode == LEFT) {
+ x -= speed;
+ } else if (keyCode == RIGHT) {
+ x += speed;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_02/Ex_02.pde b/content/handbook_2e/examples/18 Synthesis 2/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..693e5ffff
--- /dev/null
+++ b/content/handbook_2e/examples/18 Synthesis 2/Ex_02/Ex_02.pde
@@ -0,0 +1,44 @@
+// Master variables
+int w = 40; // Wall thickness
+int tx = 620; // Text x-coordinate
+int ty = 420; // Text y-coordinate
+boolean gate = true; // Is the gate closed or open?
+
+// Room 1 variables
+int gx = 260; // Gate x-coordinate
+int dx = 150; // Dagger x-coordinate
+int dy = 210; // Dagger y-coordinate
+
+void setup() {
+ size(640, 480);
+ ellipseMode(RADIUS);
+ noCursor();
+ textSize(14);
+ textAlign(RIGHT);
+}
+
+void draw() {
+
+ // Walls
+ background(255);
+ noStroke();
+ fill(0);
+ rect(0, 0, width, w); // Top
+ rect(0, 0, w, height); // Left
+ rect(0, height-w, width, w); // Bottom
+
+ // Gate
+ fill(0);
+ if (gate == true) {
+ for (int y = w; y <= height-w; y += 20) {
+ ellipse(gx, y, 5, 5);
+ }
+ text("Use the arrow keys to explore", tx, ty);
+ }
+
+ // Dagger
+ fill(102);
+ triangle(dx, dy, dx+5, dy-10, dx+10, dy);
+ rect(dx, dy, 10, 70);
+ rect(dx-10, dy+45, 30, 10);
+}
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_03/Ex_03.pde b/content/handbook_2e/examples/18 Synthesis 2/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..9735e3487
--- /dev/null
+++ b/content/handbook_2e/examples/18 Synthesis 2/Ex_03/Ex_03.pde
@@ -0,0 +1,62 @@
+// Master variables
+int w = 40; // Wall thickness
+int tx = 620; // Text x-coordinate
+int ty = 420; // Text y-coordinate
+boolean gate = true; // Is the gate closed or open?
+
+// Room 2 variables
+int kx = 440; // Key x-coordinate
+int ky = 230; // Key y-coordinate
+
+void setup() {
+ size(640, 480);
+ ellipseMode(RADIUS);
+ noCursor();
+ textSize(14);
+ textAlign(RIGHT);
+}
+
+void draw() {
+
+ // Walls
+ background(255);
+ noStroke();
+ fill(0);
+ rect(0, 0, width, w); // Top
+ rect(width-w, 0, w, height); // Right
+ rect(0, height-w, width, w); // Bottom
+
+ // Key
+ if (gate == true) {
+ fill(102);
+ pushMatrix();
+ translate(kx, ky);
+ beginShape();
+ vertex(0, 10);
+ vertex(50, 10);
+ vertex(50, 0);
+ vertex(80, 0);
+ vertex(80, 30);
+ vertex(50, 30);
+ vertex(50, 20);
+ vertex(30, 20);
+ vertex(30, 30);
+ vertex(20, 30);
+ vertex(20, 20);
+ vertex(10, 20);
+ vertex(10, 30);
+ vertex(0, 30);
+ endShape();
+ popMatrix();
+ }
+
+ // Text
+ fill(0);
+ if (gate) {
+ text("Grab the key to open the gate", tx-w, ty);
+ }
+ else {
+ text("You have the key. The gate is open!", tx-w, ty);
+ }
+
+}
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_04/Ex_04.pde b/content/handbook_2e/examples/18 Synthesis 2/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..d953e2e63
--- /dev/null
+++ b/content/handbook_2e/examples/18 Synthesis 2/Ex_04/Ex_04.pde
@@ -0,0 +1,169 @@
+// Master variables
+int mode = 1; // Current room
+int w = 40; // Wall thickness
+int tx = 620; // Text x-coordinate
+int ty = 420; // Text y-coordinate
+boolean gate = true; // Is the gate closed or open?
+
+// Hero variables
+int x = 400; // Hero x-coordinate
+int y = 240; // Hero y-coordinate
+int r = 40; // Hero radius
+float speed = 2.0; // Hero speed
+
+// Room 1 variables
+int gx = 260; // Gate x-coordinate
+int dx = 150; // Dagger x-coordinate
+int dy = 210; // Dagger y-coordinate
+
+// Room 2 variables
+int kx = 440; // Key x-coordinate
+int ky = 230; // Key y-coordinate
+
+void setup() {
+ size(640, 480);
+ ellipseMode(RADIUS);
+ noCursor();
+ textSize(14);
+ textAlign(RIGHT);
+}
+
+void draw() {
+
+ if (mode == 1) { // ROOM 1
+
+ // Walls
+ background(255);
+ noStroke();
+ fill(0);
+ rect(0, 0, width, w); // Top
+ rect(0, 0, w, height); // Left
+ rect(0, height-w, width, w); // Bottom
+
+ // Gate
+ fill(0);
+ if (gate == true) {
+ for (int y = w; y <= height-w; y += 20) {
+ ellipse(gx, y, 5, 5);
+ }
+ text("Use the arrow keys to explore", tx, ty);
+ } else {
+ text("Edit the code to grab the dagger", tx, ty);
+ }
+
+ // Dagger
+ fill(102);
+ triangle(dx, dy, dx+5, dy-10, dx+10, dy);
+ rect(dx, dy, 10, 70);
+ rect(dx-10, dy+45, 30, 10);
+
+ // Stop the hero from walking through walls
+ if (gate == true) {
+ if (x < gx+r+5) { // Check gate
+ x = gx+r+5;
+ }
+ }
+ else {
+ if (x < w+r) { // Check left wall
+ x = w+r;
+ }
+ }
+ if (y > height-w-r) { // Check bottom wall
+ y = height-w-r;
+ }
+ if (y < w+r) { // Check top wall
+ y = w+r;
+ }
+
+ // Move to room 2
+ if (x > width+r) {
+ mode = 2;
+ x = r;
+ }
+
+ } else { // ROOM 2
+
+ // Walls
+ background(255);
+ noStroke();
+ fill(0);
+ rect(0, 0, width, w); // Top
+ rect(width-w, 0, w, height); // Right
+ rect(0, height-w, width, w); // Bottom
+
+ // Key
+ if (gate == true) {
+ fill(102);
+ pushMatrix();
+ translate(kx, ky);
+ beginShape();
+ vertex(0, 10);
+ vertex(50, 10);
+ vertex(50, 0);
+ vertex(80, 0);
+ vertex(80, 30);
+ vertex(50, 30);
+ vertex(50, 20);
+ vertex(30, 20);
+ vertex(30, 30);
+ vertex(20, 30);
+ vertex(20, 20);
+ vertex(10, 20);
+ vertex(10, 30);
+ vertex(0, 30);
+ endShape();
+ popMatrix();
+ }
+
+ // Text
+ fill(0);
+ if (gate == true) {
+ text("Grab the key to open the gate", tx-w, ty);
+ }
+ else {
+ text("You have the key. The gate is open!", tx-w, ty);
+ }
+
+ // Check if hero is on top of the key
+ if (x > kx && x < kx+80 && y > ky && y < ky+30) {
+ gate = false;
+ }
+
+ // Stop the hero from walking through walls
+ if (x < -r) {
+ mode = 1;
+ x = width-r;
+ }
+ if (x > width-w-r) { // Check right wall
+ x = width-w-r;
+ }
+ if (y > height-w-r) { // Check bottom wall
+ y = height-w-r;
+ }
+ if (y < w+r) { // Check top wall
+ y = w+r;
+ }
+ // Move to room 2
+ if (x > width+r) {
+ mode = 2;
+ x = r;
+ }
+ }
+
+ // Draw hero
+ fill(126);
+ ellipse(x, y, r, r);
+
+ // Move hero with arrow keys
+ if (keyPressed && key == CODED) {
+ if (keyCode == UP) {
+ y -= speed;
+ } else if (keyCode == DOWN) {
+ y += speed;
+ } else if (keyCode == LEFT) {
+ x -= speed;
+ } else if (keyCode == RIGHT) {
+ x += speed;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_05/Ex_05.pde b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..a2cf45a50
--- /dev/null
+++ b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/Ex_05.pde
@@ -0,0 +1,144 @@
+// Master variables
+int mode = 1; // Current room
+int w = 40; // Wall thickness
+int tx = 620; // Text x-coordinate
+int ty = 420; // Text y-coordinate
+boolean gate = true; // Is the gate closed or open?
+PImage scribbles; // Background image
+PFont heroFont; // Font for the project
+
+// Hero variables
+PImage hero; // Hero image
+int x = 440; // Hero x-coordinate
+int y = 240; // Hero y-coordinate
+int r = 110; // Hero radius
+float speed = 2; // Hero speed
+
+// Room 1 variables
+int gx = 220; // Gate x-coordinate
+int dx = 75; // Dagger x-coordinate
+int dy = 120; // Dagger y-coordinate
+PImage dagger; // Dagger image
+
+// Room 2 variables
+int kx = 390; // Key x-coordinate
+int ky = 180; // Key y-coordinate
+PImage gateKey; // Key image
+
+void setup() {
+ size(640, 480);
+ noCursor();
+ textAlign(RIGHT);
+ hero = loadImage("figure.png");
+ scribbles = loadImage("background.png");
+ heroFont = createFont("SourceCodePro-Bold", 16);
+ gateKey = loadImage("key.png");
+ dagger = loadImage("dagger.png");
+ textFont(heroFont);
+}
+
+void draw() {
+
+ if (mode == 1) { // ROOM 1
+
+ // Walls
+ imageMode(CORNER);
+ image(scribbles, 0, 0);
+
+ // Gate
+ if (gate == true) {
+ noStroke();
+ fill(0);
+ rect(gx, w, w, height-w*2);
+ fill(0);
+ text("Use the arrow keys to explore", tx, ty);
+ } else {
+ text("Edit the code to grab the dagger", tx, ty);
+ }
+
+ // Dagger
+ image(dagger, dx, dy);
+
+ // Stop the hero from walking through walls
+ if (gate == true) {
+ if (x < gx+r+5) { // Check gate
+ x = gx+r+5;
+ }
+ } else {
+ if (x < w+r) { // Check left wall
+ x = w+r;
+ }
+ }
+ if (y > height-w-r) { // Check bottom wall
+ y = height-w-r;
+ }
+ if (y < w+r) { // Check top wall
+ y = w+r;
+ }
+
+ // Move to room 2
+ if (x > width+r) {
+ mode = 2;
+ x = r;
+ }
+
+ } else { // ROOM 2
+
+ // Walls
+ imageMode(CORNER);
+ image(scribbles, -width, 0);
+
+ // Key
+ if (gate == true) {
+ image(gateKey, kx, ky);
+ }
+
+ // Text
+ fill(0);
+ if (gate == true) {
+ text("Grab the key to open the gate", tx-w, ty);
+ }
+ else {
+ text("You have the key. The gate is open!", tx-w, ty);
+ }
+
+ // Check if hero is on top of the key
+ if (x > kx && x < kx+gateKey.width && y > ky && y < ky+gateKey.height) {
+ gate = false;
+ }
+
+ // Stop the hero from walking through walls
+ if (x > width-w-r) { // Check right wall
+ x = width-w-r;
+ }
+ if (y > height-w-r) { // Check bottom wall
+ y = height-w-r;
+ }
+ if (y < w+r) { // Check top wall
+ y = w+r;
+ }
+
+ // Move to room 1
+ if (x < -r) {
+ mode = 1;
+ x = width-r;
+ }
+ }
+
+ // Draw hero
+ imageMode(CENTER);
+ image(hero, x, y);
+
+ // Move hero with arrow keys
+ if ((keyPressed == true) && (key == CODED)) {
+ if (keyCode == UP) {
+ y -= speed;
+ } else if (keyCode == DOWN) {
+ y += speed;
+ } else if (keyCode == LEFT) {
+ x -= speed;
+ } else if (keyCode == RIGHT) {
+ x += speed;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/background.png b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/background.png
new file mode 100644
index 000000000..8d7a8165a
Binary files /dev/null and b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/background.png differ
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/dagger.png b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/dagger.png
new file mode 100644
index 000000000..1b9426585
Binary files /dev/null and b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/dagger.png differ
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/figure.png b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/figure.png
new file mode 100644
index 000000000..54a859340
Binary files /dev/null and b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/figure.png differ
diff --git a/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/key.png b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/key.png
new file mode 100644
index 000000000..6d121cefb
Binary files /dev/null and b/content/handbook_2e/examples/18 Synthesis 2/Ex_05/data/key.png differ
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_01/Ex_01.pde b/content/handbook_2e/examples/20 Calculate/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..e96a0837b
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_01/Ex_01.pde
@@ -0,0 +1,3 @@
+float a = sq(1); // Assign 1 to a, equivalent to 1 * 1
+float b = sq(-5); // Assign 25 to b, equivalent to -5 * -5
+float c = sq(9); // Assign 81 to c, equivalent to 9 * 9
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_02/Ex_02.pde b/content/handbook_2e/examples/20 Calculate/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..4316d88ab
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_02/Ex_02.pde
@@ -0,0 +1,3 @@
+float a = sqrt(6561); // Assign 81 to a
+float b = sqrt(625); // Assign 25 to b
+float c = sqrt(1); // Assign 1 to c
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_03/Ex_03.pde b/content/handbook_2e/examples/20 Calculate/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..6fe0cc66d
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_03/Ex_03.pde
@@ -0,0 +1,4 @@
+float a = pow(1, 3); // Assign 1.0 to a, equivalent to 1*1*1
+float b = pow(3, 4); // Assign 81.0 to b, equivalent to 3*3*3*3
+float c = pow(3, -2); // Assign 0.11 to c, equivalent to 1 / 3*3
+float d = pow(-3, 3); // Assign -27.0 to d, equivalent to -3*-3*-3
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_04/Ex_04.pde b/content/handbook_2e/examples/20 Calculate/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..ca560fc8a
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_04/Ex_04.pde
@@ -0,0 +1,3 @@
+float a = pow(8, 0); // Assign 1 to a
+float b = pow(3, 1); // Assign 3 to b
+float c = pow(4, 1); // Assign 4 to c
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_05/Ex_05.pde b/content/handbook_2e/examples/20 Calculate/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..99f98d310
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_05/Ex_05.pde
@@ -0,0 +1,3 @@
+float x = norm(0.0, 0.0, 255.0); // Assign 0.0 to x
+float y = norm(102.0, 0.0, 255.0); // Assign 0.4 to y
+float z = norm(255.0, 0.0, 255.0); // Assign 1.0 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_06/Ex_06.pde b/content/handbook_2e/examples/20 Calculate/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..059b8592d
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_06/Ex_06.pde
@@ -0,0 +1,3 @@
+float x = lerp(-20.0, 60.0, 0.0); // Assign -20.0 to x
+float y = lerp(-20.0, 60.0, 0.5); // Assign 20.0 to y
+float z = lerp(-20.0, 60.0, 1.0); // Assign 60.0 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_07/Ex_07.pde b/content/handbook_2e/examples/20 Calculate/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..ccda0faf3
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_07/Ex_07.pde
@@ -0,0 +1,3 @@
+float x = map(20.0, 0.0, 255.0, -1.0, 1.0); // Assign -0.84 to x
+float y = map(0.0, 0.0, 255.0, -1.0, 1.0); // Assign -1.0 to y
+float z = map(255.0, 0.0, 255.0, -1.0, 1.0); // Assign 1.0 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_08/Ex_08.pde b/content/handbook_2e/examples/20 Calculate/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..655734b09
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_08/Ex_08.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ float x1 = map(mouseX, 0, width, 0, 20);
+ float x2 = map(mouseX, 0, width, -20, 80);
+ float x3 = map(mouseX, 0, width, 20, 60);
+ ellipse(x1, 25, 40, 40);
+ ellipse(x2, 50, 40, 40);
+ ellipse(x3, 75, 40, 40);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_09/Ex_09.pde b/content/handbook_2e/examples/20 Calculate/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..7e2fec74e
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_09/Ex_09.pde
@@ -0,0 +1,6 @@
+for (int x = 0; x < 100; x++) {
+ float n = norm(x, 0.0, 100.0); // Range 0.0 to 1.0
+ float y = pow(n, 4); // Calculate curve
+ y *= 100; // Range 0.0 to 100.0
+ point(x, y);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_10/Ex_10.pde b/content/handbook_2e/examples/20 Calculate/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..fe6c7a737
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_10/Ex_10.pde
@@ -0,0 +1,6 @@
+for (int x = 0; x < 100; x++) {
+ float n = norm(x, 0.0, 100.0); // Range 0.0 to 1.0
+ float y = pow(n, 0.4); // Calculate curve
+ y *= 100; // Range 0.0 to 100.0
+ point(x, y);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_11/Ex_11.pde b/content/handbook_2e/examples/20 Calculate/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..824ee60e0
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_11/Ex_11.pde
@@ -0,0 +1,8 @@
+noFill();
+for (int x = 0; x < 100; x += 5) {
+ float n = norm(x, 0.0, 100.0); // Range 0.0 to 1.0
+ float y = pow(n, 4); // Calculate curve
+ y *= 100; // Scale y to range 0.0 to 100.0
+ strokeWeight(n * 5); // Increase thickness
+ ellipse(x, y, 120, 120);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_12/Ex_12.pde b/content/handbook_2e/examples/20 Calculate/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..056df55df
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_12/Ex_12.pde
@@ -0,0 +1,6 @@
+for (int x = 5; x < 100; x += 5) {
+ float n = map(x, 5, 95, -1, 1);
+ float p = pow(n, 4);
+ float ypos = lerp(20, 80, p);
+ line(x, 0, x, ypos);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_13/Ex_13.pde b/content/handbook_2e/examples/20 Calculate/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..47419e914
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_13/Ex_13.pde
@@ -0,0 +1,9 @@
+for (int x = 0; x < 100; x++) {
+ float n = norm(x, 0.0, 100.0); // Range 0.0 to 1.0
+ float val = n * 255.0;
+ stroke(val);
+ line(x, 0, x, 50); // Draw top gradient
+ float valSquare = pow(n, 4) * 255.0;
+ stroke(valSquare);
+ line(x, 50, x, 100); // Draw bottom gradient
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_14/Ex_14.pde b/content/handbook_2e/examples/20 Calculate/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..2353ab3e0
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_14/Ex_14.pde
@@ -0,0 +1,4 @@
+int w = ceil(2.0); // Assign 2 to w
+int x = ceil(2.1); // Assign 3 to x
+int y = ceil(2.5); // Assign 3 to y
+int z = ceil(2.9); // Assign 3 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_15/Ex_15.pde b/content/handbook_2e/examples/20 Calculate/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..11cf8ec09
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_15/Ex_15.pde
@@ -0,0 +1,4 @@
+int w = floor(2.0); // Assign 2 to w
+int x = floor(2.1); // Assign 2 to x
+int y = floor(2.5); // Assign 2 to y
+int z = floor(2.9); // Assign 2 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_16/Ex_16.pde b/content/handbook_2e/examples/20 Calculate/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..616e24793
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_16/Ex_16.pde
@@ -0,0 +1,4 @@
+int w = round(2.0); // Assign 2 to w
+int x = round(2.1); // Assign 2 to x
+int y = round(2.5); // Assign 3 to y
+int z = round(2.9); // Assign 3 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_17/Ex_17.pde b/content/handbook_2e/examples/20 Calculate/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..f0b0318bd
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_17/Ex_17.pde
@@ -0,0 +1 @@
+float w = round(2.1); // Assign 2.0 to w
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_18/Ex_18.pde b/content/handbook_2e/examples/20 Calculate/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..068f45e5f
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_18/Ex_18.pde
@@ -0,0 +1,6 @@
+int u = min(5, 9); // Assign 5 to u
+int v = min(-4, -12, -9); // Assign -12 to v
+float w = min(12.3, 230.24); // Assign 12.3 to w
+int x = max(5, 9); // Assign 9 to x
+int y = max(-4, -12, -9); // Assign -4 to y
+float z = max(12.3, 230.24); // Assign 230.24 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_19/Ex_19.pde b/content/handbook_2e/examples/20 Calculate/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..9f5c45c56
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_19/Ex_19.pde
@@ -0,0 +1,4 @@
+int x = constrain(35, 10, 90); // Assign 35 to x
+int y = constrain(5, 10, 90); // Assign 10 to y
+float z = constrain(1.2, 0.5, 1.0); // Assign 1.0 to z
+
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_20/Ex_20.pde b/content/handbook_2e/examples/20 Calculate/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..b86fbac60
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_20/Ex_20.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ // Limits variable mx between 35 and 65
+ int mx = constrain(mouseX, 35, 65);
+ // Limits variable my between 40 and 60
+ int my = constrain(mouseY, 40, 60);
+ fill(102);
+ rect(20, 25, 60, 50);
+ fill(255);
+ ellipse(mx, my, 30, 30);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_21/Ex_21.pde b/content/handbook_2e/examples/20 Calculate/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..b63071c03
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_21/Ex_21.pde
@@ -0,0 +1,3 @@
+float x = abs(10); // Assign 10.0 to x
+float y = abs(0); // Assign 0.0 to y
+float z = abs(-60); // Assign 60.0 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_22/Ex_22.pde b/content/handbook_2e/examples/20 Calculate/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..860dd0e3d
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_22/Ex_22.pde
@@ -0,0 +1,3 @@
+float x = dist(0, 0, 50, 0); // Assign 50.0 to x
+float y = dist(50, 0, 50, 90); // Assign 90.0 to y
+float z = dist(30, 20, 80, 90); // Assign 86.023254 to z
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_23/Ex_23.pde b/content/handbook_2e/examples/20 Calculate/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..dcf08f2a4
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_23/Ex_23.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(0);
+ float r = dist(width/2, height/2, mouseX, mouseY);
+ ellipse(width/2, height/2, r*2, r*2);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_24/Ex_24.pde b/content/handbook_2e/examples/20 Calculate/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..fb47c4f7f
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_24/Ex_24.pde
@@ -0,0 +1,19 @@
+float maxDistance;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(0);
+ maxDistance = dist(0, 0, width, height);
+}
+
+void draw() {
+ background(204);
+ for (int i = 0; i <= width; i += 20) {
+ for (int j = 0; j <= height; j += 20) {
+ float mouseDist = dist(mouseX, mouseY, i, j);
+ float diameter = (mouseDist / maxDistance) * 66.0;
+ ellipse(i, j, diameter, diameter);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_25/Ex_25.pde b/content/handbook_2e/examples/20 Calculate/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..d1dc483da
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_25/Ex_25.pde
@@ -0,0 +1,14 @@
+float x = 0.0;
+float easing = 0.05; // Numbers 0.0 to 1.0
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(0);
+ float targetX = mouseX;
+ x += (targetX - x) * easing;
+ ellipse(mouseX, 30, 40, 40);
+ ellipse(x, 70, 40, 40);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_26/Ex_26.pde b/content/handbook_2e/examples/20 Calculate/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..73c17dae3
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_26/Ex_26.pde
@@ -0,0 +1,20 @@
+float x = 0.0;
+float y = 0.0;
+float easing = 0.05; // Numbers 0.0 to 1.0
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ float targetX = mouseX;
+ float targetY = mouseY;
+ x += (targetX - x) * easing;
+ y += (targetY - y) * easing;
+ fill(153);
+ ellipse(mouseX, mouseY, 20, 20);
+ fill(255);
+ ellipse(x, y, 40, 40);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_27/Ex_27.pde b/content/handbook_2e/examples/20 Calculate/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..3bcb1726e
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_27/Ex_27.pde
@@ -0,0 +1,20 @@
+float x = 0.0;
+float easing = 0.05; // Numbers 0.0 to 1.0
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(0);
+ float targetX = mouseX;
+ // Distance from position and target
+ float dx = targetX - x;
+ // If the distance between the current position and the
+ // destination is greater than 1.0, update the position
+ if (abs(dx) > 1.0) {
+ x += dx * easing;
+ }
+ ellipse(mouseX, 30, 40, 40);
+ ellipse(x, 70, 40, 40);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_28/Ex_28.pde b/content/handbook_2e/examples/20 Calculate/Ex_28/Ex_28.pde
new file mode 100644
index 000000000..e0c8bda02
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_28/Ex_28.pde
@@ -0,0 +1 @@
+println(PI); // Print the value of PI to the console
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_29/Ex_29.pde b/content/handbook_2e/examples/20 Calculate/Ex_29/Ex_29.pde
new file mode 100644
index 000000000..4dc1d2434
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_29/Ex_29.pde
@@ -0,0 +1,8 @@
+float r1 = radians(90);
+float r2 = radians(180);
+println(r1); // Prints "1.5707964"
+println(r2); // Prints "3.1415927"
+float d1 = degrees(PI);
+float d2 = degrees(TWO_PI);
+println(d1); // Prints "180.0"
+println(d2); // Prints "360.0"
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_30/Ex_30.pde b/content/handbook_2e/examples/20 Calculate/Ex_30/Ex_30.pde
new file mode 100644
index 000000000..797a803cb
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_30/Ex_30.pde
@@ -0,0 +1,4 @@
+for (int degree = 0; degree < 360; degree++) {
+ float angle = radians(degree);
+ println(sin(angle));
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_31/Ex_31.pde b/content/handbook_2e/examples/20 Calculate/Ex_31/Ex_31.pde
new file mode 100644
index 000000000..cbb878bfd
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_31/Ex_31.pde
@@ -0,0 +1,3 @@
+for (float angle = 0; angle < TWO_PI; angle += PI/24.0) {
+ println(sin(angle) * 50.0);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_32/Ex_32.pde b/content/handbook_2e/examples/20 Calculate/Ex_32/Ex_32.pde
new file mode 100644
index 000000000..d16fced55
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_32/Ex_32.pde
@@ -0,0 +1,4 @@
+for (float angle = 0; angle < TWO_PI; angle += PI/24.0) {
+ float newValue = map(sin(angle), -1, 1, 0, 1000);
+ println(newValue);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_33/Ex_33.pde b/content/handbook_2e/examples/20 Calculate/Ex_33/Ex_33.pde
new file mode 100644
index 000000000..719a8545f
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_33/Ex_33.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(700, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ float angle = 0.0;
+ for (int x = 0; x < width; x += 5) {
+ float y = 50 + (sin(angle) * 35.0);
+ rect(x, y, 2, 4);
+ angle += PI/40.0;
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_34/Ex_34.pde b/content/handbook_2e/examples/20 Calculate/Ex_34/Ex_34.pde
new file mode 100644
index 000000000..dc9a76615
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_34/Ex_34.pde
@@ -0,0 +1,19 @@
+float offset = 50.0; // Y offset
+float scaleVal = 35.0; // Scale value for the wave magnitude
+float angleInc = PI/28.0; // Increment between the next angle
+
+void setup() {
+ size(700, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ float angle = 0.0;
+ for (int x = 0; x < width; x += 5) {
+ float y = offset + (sin(angle) * scaleVal);
+ rect(x, y, 2, 4);
+ angle += angleInc;
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_35/Ex_35.pde b/content/handbook_2e/examples/20 Calculate/Ex_35/Ex_35.pde
new file mode 100644
index 000000000..35f41ead5
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_35/Ex_35.pde
@@ -0,0 +1,23 @@
+float offset = 50.0; // Y offset
+float scaleVal = 35.0; // Scale value for the wave magnitude
+float angleInc = PI/28.0; // Increment between the next angle
+
+void setup() {
+ size(700, 100);
+ noStroke();
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ float angle = 0.0;
+ for (int x = 0; x < width; x += 5) {
+ float y1 = offset + (sin(angle) * scaleVal);
+ fill(255);
+ rect(x, y1, 2, 4);
+ float y2 = offset + (cos(angle) * scaleVal);
+ fill(0);
+ rect(x, y2, 2, 4);
+ angle += angleInc;
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_36/Ex_36.pde b/content/handbook_2e/examples/20 Calculate/Ex_36/Ex_36.pde
new file mode 100644
index 000000000..67fa488dc
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_36/Ex_36.pde
@@ -0,0 +1,23 @@
+float offset = 50.0;
+float scaleVal = 30.0;
+float angleInc = PI/56.0;
+
+void setup() {
+ size(700, 100);
+}
+
+void draw() {
+ background(204);
+ float angle = 0.0;
+ beginShape(TRIANGLE_STRIP);
+ for (int x = 4 ; x <= width+5; x += 5) {
+ float y = sin(angle) * scaleVal;
+ if ((x % 2) == 0) { // Every other time through the loop
+ vertex(x, offset + y);
+ } else {
+ vertex(x, offset - y);
+ }
+ angle += angleInc;
+ }
+ endShape();
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_37/Ex_37.pde b/content/handbook_2e/examples/20 Calculate/Ex_37/Ex_37.pde
new file mode 100644
index 000000000..605fbbd0a
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_37/Ex_37.pde
@@ -0,0 +1,17 @@
+float offset = 126.0;
+float scaleVal = 126.0;
+float angleInc = 0.2;
+
+void setup() {
+ size(700, 100);
+}
+
+void draw() {
+ float angle = 0.0;
+ for (int x = -52; x < width; x += 1) {
+ float y = offset + (sin(angle) * scaleVal);
+ stroke(y);
+ line(x, 0, x+50, height);
+ angle += angleInc;
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_38/Ex_38.pde b/content/handbook_2e/examples/20 Calculate/Ex_38/Ex_38.pde
new file mode 100644
index 000000000..3aaa9b7d2
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_38/Ex_38.pde
@@ -0,0 +1,21 @@
+float scaleVal = 6.0;
+float angleInc = 0.19;
+
+void setup() {
+ size(700, 100);
+ stroke(255);
+}
+
+void draw() {
+ background(0);
+ float angle = 0.0;
+ for (int offset = -10; offset < width+10; offset += 5) {
+ for (int y = 0; y <= height; y += 2) {
+ float x = offset + (sin(angle) * scaleVal);
+ line(x, y, x, y+2);
+ angle += angleInc;
+ }
+ angle += PI;
+ }
+}
+
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_39/Ex_39.pde b/content/handbook_2e/examples/20 Calculate/Ex_39/Ex_39.pde
new file mode 100644
index 000000000..e554ff339
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_39/Ex_39.pde
@@ -0,0 +1,16 @@
+int radius = 38;
+
+void setup() {
+ size(100, 100);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ for (int deg = 0; deg < 360; deg += 12) {
+ float angle = radians(deg);
+ float x = 50 + (cos(angle) * radius);
+ float y = 50 + (sin(angle) * radius);
+ ellipse(x, y, 4, 4);
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_40/Ex_40.pde b/content/handbook_2e/examples/20 Calculate/Ex_40/Ex_40.pde
new file mode 100644
index 000000000..62743133d
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_40/Ex_40.pde
@@ -0,0 +1,17 @@
+int radius = 38;
+
+void setup() {
+ size(100, 100);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ int piece = int(map(mouseX, 0, width, 0, 360));
+ for (int deg = 0; deg <= piece; deg += 12) {
+ float angle = radians(deg);
+ float x = 50 + (cos(angle) * radius);
+ float y = 50 + (sin(angle) * radius);
+ ellipse(x, y, 4, 4);
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_41/Ex_41.pde b/content/handbook_2e/examples/20 Calculate/Ex_41/Ex_41.pde
new file mode 100644
index 000000000..a05a78c70
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_41/Ex_41.pde
@@ -0,0 +1,18 @@
+void setup() {
+ size(100, 100);
+ fill(0);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ float scalar = map(mouseX, 0, width, 4, 20);
+ float radius = 1.0;
+ for (int deg = 0; deg < 360*6; deg += scalar) {
+ float angle = radians(deg);
+ float x = 75 + (cos(angle) * radius);
+ float y = 42 + (sin(angle) * radius);
+ ellipse(x, y, 4, 4);
+ radius = radius + 0.34;
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_42/Ex_42.pde b/content/handbook_2e/examples/20 Calculate/Ex_42/Ex_42.pde
new file mode 100644
index 000000000..9d6fc80e9
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_42/Ex_42.pde
@@ -0,0 +1,19 @@
+float cx = 33.0; // Center x-coordinate
+float cy = 66.0; // Center y-coordinate
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ float radius = 0.15;
+ float radVal = map(mouseX, 0, width, 1.05, 1.1);
+ for (int deg = 0; deg < 360*5; deg += 12) {
+ float angle = radians(deg);
+ float x = cx + (cos(angle) * radius);
+ float y = cy + (sin(angle) * radius);
+ line(x, y, x, y+2);
+ radius = radius * radVal;
+ }
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_43/Ex_43.pde b/content/handbook_2e/examples/20 Calculate/Ex_43/Ex_43.pde
new file mode 100644
index 000000000..c5c85ab47
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_43/Ex_43.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(100, 100);
+ fill(0);
+}
+
+void draw() {
+ float angle = atan2(mouseY, mouseX);
+ float deg = degrees(angle);
+ background(204);
+ text(int(deg), 50, 50);
+ ellipse(mouseX, mouseY, 8, 8);
+ rotate(angle);
+ line(0, 0, 150, 0);
+}
diff --git a/content/handbook_2e/examples/20 Calculate/Ex_44/Ex_44.pde b/content/handbook_2e/examples/20 Calculate/Ex_44/Ex_44.pde
new file mode 100644
index 000000000..e5b6339a1
--- /dev/null
+++ b/content/handbook_2e/examples/20 Calculate/Ex_44/Ex_44.pde
@@ -0,0 +1,26 @@
+int x = 50;
+int y1 = 33;
+int y2 = 66;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ // Top triangle
+ float angle = atan2(mouseY-y1, mouseX-x);
+ pushMatrix();
+ translate(x, y1);
+ rotate(angle);
+ triangle(-20, -8, 20, 0, -20, 8);
+ popMatrix();
+ pushMatrix();
+ // Bottom triangle
+ float angle2 = atan2(mouseY-(y2), mouseX-x);
+ translate(x, y2);
+ rotate(angle2);
+ triangle(-20, -8, 20, 0, -20, 8);
+ popMatrix();
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_01/Ex_01.pde b/content/handbook_2e/examples/21 Random/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..f4ecd7a91
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_01/Ex_01.pde
@@ -0,0 +1,3 @@
+float f = random(5.2); // Assign f a float value from 0 to 5.2
+int i = random(5.2); // ERROR! Can't assign a float to an int
+int j = int(random(5.2)); // Assign j an int value from 0 to 5
diff --git a/content/handbook_2e/examples/21 Random/Ex_01/sketch.properties b/content/handbook_2e/examples/21 Random/Ex_01/sketch.properties
new file mode 100644
index 000000000..68851a4d1
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_01/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.tweak.TweakMode
+mode=Tweak
diff --git a/content/handbook_2e/examples/21 Random/Ex_02/Ex_02.pde b/content/handbook_2e/examples/21 Random/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..bb7d32135
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_02/Ex_02.pde
@@ -0,0 +1,7 @@
+strokeWeight(10);
+stroke(0, 130);
+line(random(100), 0, random(100), 100);
+line(random(100), 0, random(100), 100);
+line(random(100), 0, random(100), 100);
+line(random(100), 0, random(100), 100);
+line(random(100), 0, random(100), 100);
diff --git a/content/handbook_2e/examples/21 Random/Ex_03/Ex_03.pde b/content/handbook_2e/examples/21 Random/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..296d3556e
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_03/Ex_03.pde
@@ -0,0 +1,10 @@
+strokeWeight(20);
+//stroke(0, 230);
+float r1 = random(5, 45);
+float r2 = random(55, 95);
+stroke(r1 * 4, 230);
+line(r1, 0, r2, 100);
+r1 = random(5, 45);
+r2 = random(55, 95);
+stroke(r1 * 4, 230);
+line(r1, 0, r2, 100);
diff --git a/content/handbook_2e/examples/21 Random/Ex_04/Ex_04.pde b/content/handbook_2e/examples/21 Random/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..13a3c866a
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_04/Ex_04.pde
@@ -0,0 +1,8 @@
+size(700, 100);
+stroke(255, 102);
+background(0);
+for (int i = 0; i < width; i+=6) {
+ float r = random(-10, 10);
+ strokeWeight(abs(r));
+ line(i-r, 100, i+r, 0);
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_05/Ex_05.pde b/content/handbook_2e/examples/21 Random/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..3a56ab669
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_05/Ex_05.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(700, 100);
+ stroke(255, 102);
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < width; i+=6) {
+ float r = random(-10, 10);
+ strokeWeight(abs(r));
+ line(i-r, 100, i+r, 0);
+ }
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_06/Ex_06.pde b/content/handbook_2e/examples/21 Random/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..73e25db18
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_06/Ex_06.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+ stroke(255);
+ frameRate(2);
+}
+
+void draw() {
+ background(0);
+ float r = random(100);
+ if (r < 50.0) {
+ line(0, 0, 100, 100);
+ } else {
+ ellipse(50, 50, 75, 75);
+ }
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_07/Ex_07.pde b/content/handbook_2e/examples/21 Random/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..542b17342
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_07/Ex_07.pde
@@ -0,0 +1,13 @@
+void setup() {
+ size(100, 100);
+ stroke(255);
+ frameRate(2);
+}
+
+void draw() {
+ background(0);
+ int num = int(random(50)) + 1;
+ for (int i = 0; i < num; i++) {
+ line(i * 2, 0, i * 2, 100);
+ }
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_08/Ex_08.pde b/content/handbook_2e/examples/21 Random/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..5ae7e7039
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_08/Ex_08.pde
@@ -0,0 +1,7 @@
+int numPoints = 2000;
+noSmooth();
+for (int i = 0; i < numPoints; i++) {
+ float x = random(20, 80);
+ float y = random(10, 90);
+ point(x, y);
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_09/Ex_09.pde b/content/handbook_2e/examples/21 Random/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..9d1f2bfec
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_09/Ex_09.pde
@@ -0,0 +1,9 @@
+int power = 8;
+int numPoints = 4000;
+noSmooth();
+for (int i = 0; i < numPoints; i++) {
+ float x = random(20, 80);
+ float y = random(1);
+ y = 10 + (pow(y, power) * 80);
+ point(x, y);
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_10/Ex_10.pde b/content/handbook_2e/examples/21 Random/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..7062102a6
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_10/Ex_10.pde
@@ -0,0 +1,9 @@
+int numPoints = 900;
+noSmooth();
+for (int i = 0; i < numPoints; i++) {
+ float angle = random(0, TWO_PI);
+ float scalar = random(10, 40);
+ float x = 50 + (cos(angle) * scalar);
+ float y = 50 + (sin(angle) * scalar);
+ point(x, y);
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_11/Ex_11.pde b/content/handbook_2e/examples/21 Random/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..587595ca1
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_11/Ex_11.pde
@@ -0,0 +1,9 @@
+int d = 2;
+noSmooth();
+for (int y = 10; y <= 90; y+=4) {
+ for (int x = 10; x <= 90; x+=4) {
+ float dx = random(-d, d);
+ float dy = random(-d, d);
+ point(x+dx, y+dy);
+ }
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_12/Ex_12.pde b/content/handbook_2e/examples/21 Random/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..584d5d02f
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_12/Ex_12.pde
@@ -0,0 +1,11 @@
+float threshold = 0.2;
+noSmooth();
+for (int y = 10; y <= 90; y+=4) {
+ for (int x = 10; x <= 90; x+=4) {
+ float r = random(1);
+ if (r > threshold) {
+ point(x, y);
+ }
+ }
+}
+
diff --git a/content/handbook_2e/examples/21 Random/Ex_13/Ex_13.pde b/content/handbook_2e/examples/21 Random/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..9e9883f94
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_13/Ex_13.pde
@@ -0,0 +1,13 @@
+int u = 5;
+float threshold = 0.5;
+noSmooth();
+for (int y = 0; y < 100; y += u) {
+ for (int x = 0; x < 100; x += u) {
+ float r = random(1);
+ if (r > threshold) {
+ line(x, y, x+u, y+u);
+ } else {
+ line(x, y+u, x+u, y);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_14/Ex_14.pde b/content/handbook_2e/examples/21 Random/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..85b9ac38d
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_14/Ex_14.pde
@@ -0,0 +1,10 @@
+int s = 6; // Seed value
+size(700, 100);
+stroke(255, 102);
+randomSeed(s); // Produce the same numbers each time
+background(0);
+for (int i = 0; i < width; i+=6) {
+ float r = random(-10, 10);
+ strokeWeight(abs(r));
+ line(i-r, 100, i+r, 0);
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_15/Ex_15.pde b/content/handbook_2e/examples/21 Random/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..7a129621f
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_15/Ex_15.pde
@@ -0,0 +1,18 @@
+float v = 0.0;
+float inc = 0.1;
+
+void setup() {
+ size(700, 100);
+ noStroke();
+ fill(0);
+ noiseSeed(0);
+ noLoop();
+}
+
+void draw() {
+ for (int i = 0; i < width; i = i+4) {
+ float n = noise(v) * 70.0;
+ rect(i, 10 + n, 3, 20);
+ v = v + inc;
+ }
+}
diff --git a/content/handbook_2e/examples/21 Random/Ex_16/21_16_1.tif b/content/handbook_2e/examples/21 Random/Ex_16/21_16_1.tif
new file mode 100644
index 000000000..9bb957f69
Binary files /dev/null and b/content/handbook_2e/examples/21 Random/Ex_16/21_16_1.tif differ
diff --git a/content/handbook_2e/examples/21 Random/Ex_16/Ex_16.pde b/content/handbook_2e/examples/21 Random/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..7d18ecd83
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_16/Ex_16.pde
@@ -0,0 +1,24 @@
+float xnoise = 0.0;
+float ynoise = 0.0;
+float inc = 0.04;
+
+void setup() {
+ size(700, 100);
+ noLoop();
+ noSmooth();
+}
+
+void draw() {
+ background(0);
+ for (int y = 0; y < height; y++) {
+ for (int x = 0; x < width; x++) {
+ float gray = noise(xnoise, ynoise) * 255;
+ stroke(gray);
+ point(x, y);
+ xnoise = xnoise + inc;
+ }
+ xnoise = 0;
+ ynoise = ynoise + inc;
+ }
+}
+
diff --git a/content/handbook_2e/examples/21 Random/Ex_17/Ex_17.pde b/content/handbook_2e/examples/21 Random/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..2ae95ff25
--- /dev/null
+++ b/content/handbook_2e/examples/21 Random/Ex_17/Ex_17.pde
@@ -0,0 +1,25 @@
+float power = 3.0; // Turbulence power
+float d = 16.0; // Turbulence density
+
+void setup() {
+ size(700, 100);
+ noLoop();
+ noSmooth();
+}
+
+void draw() {
+ for (int y = 0; y < height; y++) {
+ for (int x = 0; x < width; x++) {
+ float total = 0.0;
+ for (float i = d; i >= 1; i = i/2.0) {
+ total += noise(x/d, y/d) * d;
+ }
+ float turbulence = 128.0 * total / d;
+ float base = (x * 0.2) + (y * 0.12);
+ float offset = base + (power * turbulence / 256.0);
+ float gray = abs(sin(offset)) * 256.0;
+ stroke(gray);
+ point(x, y);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_01/Ex_01.pde b/content/handbook_2e/examples/22 Motion/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..83235c0fa
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_01/Ex_01.pde
@@ -0,0 +1,18 @@
+float y = 50.0;
+float speed = 1.0;
+float radius = 15.0;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ background(0);
+ ellipse(33, y, radius, radius);
+ y = y + speed;
+ if (y > height+radius) {
+ y = -radius;
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_02/Ex_02.pde b/content/handbook_2e/examples/22 Motion/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..63dab0d53
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_02/Ex_02.pde
@@ -0,0 +1,21 @@
+float y = 50.0;
+float speed = 1.0;
+float radius = 15.0;
+int direction = 1;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ ellipse(33, y, radius, radius);
+ y += speed * direction;
+ if ((y > height-radius) || (y < radius)) {
+ direction = -direction;
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_03/Ex_03.pde b/content/handbook_2e/examples/22 Motion/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..179c90d8c
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_03/Ex_03.pde
@@ -0,0 +1,28 @@
+float x = 50.0; // X-coordinate
+float y = 50.0; // Y-coordinate
+float radius = 15.0; // Radius of the circle
+float speedX = 1.0; // Speed of motion on the x-axis
+float speedY = 0.4; // Speed of motion on the y-axis
+int directionX = 1; // Direction of motion on the x-axis
+int directionY = -1; // Direction of motion on the y-axis
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ ellipse(x, y, radius, radius);
+ x += speedX * directionX;
+ if ((x > width-radius) || (x < radius)) {
+ directionX = -directionX; // Change direction
+ }
+ y += speedY * directionY;
+ if ((y > height-radius) || (y < radius)) {
+ directionY = -directionY; // Change direction
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_04/Ex_04.pde b/content/handbook_2e/examples/22 Motion/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..dbface58a
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_04/Ex_04.pde
@@ -0,0 +1,20 @@
+float d = 20.0;
+float speed = 1.0;
+int direction = 1;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(255, 204);
+}
+void draw() {
+ background(0);
+ ellipse(0, 50, d, d);
+ ellipse(100, 50, d, d);
+ ellipse(50, 0, d, d);
+ ellipse(50, 100, d, d);
+ d += speed * direction;
+ if ((d > width) || (d < width/10)) {
+ direction = -direction;
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_05/Ex_05.pde b/content/handbook_2e/examples/22 Motion/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..44e592edb
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_05/Ex_05.pde
@@ -0,0 +1,29 @@
+float beginX = 20.0; // Initial x-coordinate
+float beginY = 10.0; // Initial y-coordinate
+float endX = 70.0; // Final x-coordinate
+float endY = 80.0; // Final y-coordinate
+float distX; // X-axis distance to move
+float distY; // Y-axis distance to move
+float x = 0.0; // Current x-coordinate
+float y = 0.0; // Current y-coordinate
+float step = 0.02; // Size of each step (0.0 to 1.0)
+float pct = 0.0; // Percentage traveled (0.0 to 1.0)
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ distX = endX - beginX;
+ distY = endY - beginY;
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ pct += step;
+ if (pct < 1.0) {
+ x = beginX + (pct * distX);
+ y = beginY + (pct * distY);
+ }
+ fill(255);
+ ellipse(x, y, 20, 20);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_06/Ex_06.pde b/content/handbook_2e/examples/22 Motion/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..18ef9b8a7
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_06/Ex_06.pde
@@ -0,0 +1,22 @@
+float x = 20.0; // Initial x-coordinate
+float y = 10.0; // Initial y-coordinate
+float endX = 70.0; // Destination x-coordinate
+float endY = 80.0; // Destination y-coordinate
+float easing = 0.05; // Size of each step along the path
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ float d = dist(x, y, endX, endY);
+ if (d > 1.0) {
+ x += (endX - x) * easing;
+ y += (endY - y) * easing;
+ }
+ fill(255);
+ ellipse(x, y, 20, 20);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_07/Ex_07.pde b/content/handbook_2e/examples/22 Motion/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..2a1119791
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_07/Ex_07.pde
@@ -0,0 +1,30 @@
+float beginX = 20.0; // Initial x-coordinate
+float beginY = 10.0; // Initial y-coordinate
+float endX = 70.0; // Final x-coordinate
+float endY = 80.0; // Final y-coordinate
+float distX; // X-axis distance to move
+float distY; // Y-axis distance to move
+float exponent = 0.5; // Determines the curve
+float x = 0.0; // Current x-coordinate
+float y = 0.0; // Current y-coordinate
+float step = 0.01; // Size of each step along the path
+float pct = 0.0; // Percentage traveled (0.0 to 1.0)
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ distX = endX - beginX;
+ distY = endY - beginY;
+}
+
+void draw() {
+ fill(0, 2);
+ rect(0, 0, width, height);
+ pct += step;
+ if (pct < 1.0) {
+ x = beginX + (pct * distX);
+ y = beginY + (pow(pct, exponent) * distY);
+ }
+ fill(255);
+ ellipse(x, y, 20, 20);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_08/Ex_08.pde b/content/handbook_2e/examples/22 Motion/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..feeb37c3a
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_08/Ex_08.pde
@@ -0,0 +1,39 @@
+float beginX = 20.0; // Initial x-coordinate
+float beginY = 10.0; // Initial y-coordinate
+float endX = 70.0; // Final x-coordinate
+float endY = 80.0; // Final y-coordinate
+float distX; // X-axis distance to move
+float distY; // Y-axis distance to move
+float exponent = 3.0; // Determines the curve
+float x = 0.0; // Current x-coordinate
+float y = 0.0; // Current y-coordinate
+float step = 0.01; // Size of each step along the path
+float pct = 0.0; // Percentage traveled (0.0 to 1.0)
+int direction = 1;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ distX = endX - beginX;
+ distY = endY - beginY;
+}
+
+void draw() {
+ fill(0, 2);
+ rect(0, 0, width, height);
+ pct += step * direction;
+ if ((pct > 1.0) || (pct < 0.0)) {
+ direction = direction * -1;
+ }
+ if (direction == 1) {
+ x = beginX + (pct * distX);
+ float e = pow(pct, exponent);
+ y = beginY + (e * distY);
+ } else {
+ x = beginX + (pct * distX);
+ float e = pow(1.0-pct, exponent*2);
+ y = beginY + (e * -distY) + distY;
+ }
+ fill(255);
+ ellipse(x, y, 20, 20);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_09/Ex_09.pde b/content/handbook_2e/examples/22 Motion/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..13f59d87f
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_09/Ex_09.pde
@@ -0,0 +1,39 @@
+float beginX = 20.0; // Initial x-coordinate
+float beginY = 10.0; // Initial y-coordinate
+float endX = 70.0; // Final x-coordinate
+float endY = 80.0; // Final y-coordinate
+float distX; // X-axis distance to move
+float distY; // Y-axis distance to move
+float exponent = 3.0; // Determines the curve
+float x = 0.0; // Current x-coordinate
+float y = 0.0; // Current y-coordinate
+float step = 0.01; // Size of each step along the path
+float pct = 0.0; // Percentage traveled (0.0 to 1.0)
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ distX = endX - beginX;
+ distY = endY - beginY;
+}
+
+void draw() {
+ fill(0, 2);
+ rect(0, 0, width, height);
+ if (pct < 1.0) {
+ pct = pct + step;
+ float rate = pow(pct, exponent);
+ x = beginX + (rate * distX);
+ y = beginY + (rate * distY);
+ }
+ fill(255);
+ ellipse(x, y, 20, 20);
+}
+
+void mousePressed() {
+ pct = 0.0;
+ beginX = x;
+ beginY = y;
+ distX = mouseX - x;
+ distY = mouseY - y;
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_10/Ex_10.pde b/content/handbook_2e/examples/22 Motion/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..37dd0697d
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_10/Ex_10.pde
@@ -0,0 +1,18 @@
+float angle = 0.0; // Current angle
+float speed = 0.1; // Speed of motion
+float radius = 60.0; // Range of motion
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ angle += speed;
+ float sinval = sin(angle);
+ float yoffset = sinval * radius;
+ ellipse(50, 50 + yoffset, 80, 80);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_11/Ex_11.pde b/content/handbook_2e/examples/22 Motion/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..3ec64da3f
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_11/Ex_11.pde
@@ -0,0 +1,29 @@
+float angle = 0.0; // Current angle
+float speed = 0.05; // Speed of motion
+float radius = 30.0; // Range of motion
+float sx = 2.0;
+float sy = 2.0;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ fill(0, 4);
+ rect(0, 0, width, height);
+ angle += speed; // Update the angle
+ float sinval = sin(angle);
+ float cosval = cos(angle);
+ // Set the position of the small circle based on new
+ // values from sine and cosine
+ float x = 50 + (cosval * radius);
+ float y = 50 + (sinval * radius);
+ fill(255);
+ ellipse(x, y, 2, 2); // Draw smaller circle
+ // Set the position of the large circles based on the
+ // new position of the small circle
+ float x2 = x + cos(angle * sx) * radius/2;
+ float y2 = y + sin(angle * sy) * radius/2;
+ ellipse(x2, y2, 6, 6); // Draw larger circle
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_12/Ex_12.pde b/content/handbook_2e/examples/22 Motion/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..fc42c335f
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_12/Ex_12.pde
@@ -0,0 +1,15 @@
+float angle = 0.0;
+float speed = 0.1;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ angle = angle + speed;
+ ellipse(50 + (sin(angle + PI) * 5), 25, 30, 30);
+ ellipse(50 + (sin(angle + HALF_PI) * 5), 55, 30, 30);
+ ellipse(50 + (sin(angle + QUARTER_PI) * 5), 85, 30, 30);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_13/Ex_13.pde b/content/handbook_2e/examples/22 Motion/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..a4c37d5f4
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_13/Ex_13.pde
@@ -0,0 +1,19 @@
+float angle = 0.0;
+float speed = 0.05;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(255, 180);
+}
+
+void draw() {
+ background(0);
+ float d1 = 65 + (sin(angle) * 45);
+ ellipse(50, 50, d1, d1);
+ float d2 = 65 + (sin(angle + QUARTER_PI) * 45);
+ ellipse(50, 50, d2, d2);
+ float d3 = 65 + (sin(angle + HALF_PI) * 45);
+ ellipse(50, 50, d3, d3);
+ angle += speed;
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_14/Ex_14.pde b/content/handbook_2e/examples/22 Motion/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..b25573efe
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_14/Ex_14.pde
@@ -0,0 +1,16 @@
+float x = 50.0; // X-coordinate
+float y = 80.0; // Y-coordinate
+
+void setup() {
+ size(100, 100);
+ randomSeed(0); // Force the same random values
+ background(0);
+ stroke(255);
+ strokeWeight(2);
+}
+
+void draw() {
+ x += random(-2, 2); // Assign new x-coordinate
+ y += random(-2, 2); // Assign new y-coordinate
+ point(x, y);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_15/Ex_15.pde b/content/handbook_2e/examples/22 Motion/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..02d8b02f3
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_15/Ex_15.pde
@@ -0,0 +1,20 @@
+float x = 0.0; // X-coordinate
+float y = 50.0; // Y-coordinate
+float angle = 0.0; // Direction of motion
+float speed = 0.5; // Speed of motion
+
+void setup() {
+ size(100, 100);
+ background(0);
+ stroke(255, 130);
+ randomSeed(121); // Force the same random values
+}
+
+void draw() {
+ angle += random(-0.3, 0.3);
+ x += cos(angle) * speed; // Update x-coordinate
+ y += sin(angle) * speed; // Update y-coordinate
+ translate(x, y);
+ rotate(angle);
+ line(0, -10, 0, 10);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_16/Ex_16.pde b/content/handbook_2e/examples/22 Motion/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..c7e908b1a
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_16/Ex_16.pde
@@ -0,0 +1,20 @@
+float inc1 = 0.1;
+float n1 = 0.0;
+float inc2 = 0.09;
+float n2 = 0.0;
+
+void setup() {
+ size(100, 100);
+ stroke(255);
+ strokeWeight(40);
+}
+
+void draw() {
+ background(0);
+ float y1 = (noise(n1) - 0.5) * 30.0; // Values -15 to 15
+ float y2 = (noise(n2) - 0.5) * 30.0; // Values -15 to 15
+ line(0, 50, 30, 50 + y1);
+ line(100, 50, 70, 50 + y2);
+ n1 += inc1;
+ n2 += inc2;
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_17/Ex_17.pde b/content/handbook_2e/examples/22 Motion/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..e9a5eeed4
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_17/Ex_17.pde
@@ -0,0 +1,24 @@
+float inc = 0.06;
+int density = 4;
+float znoise = 0.0;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ float xnoise = 0.0;
+ float ynoise = 0.0;
+ for (int y = 0; y < height; y += density) {
+ for (int x = 0; x < width; x += density) {
+ float n = noise(xnoise, ynoise, znoise) * 256;
+ fill(n);
+ rect(y, x, density, density);
+ xnoise += inc;
+ }
+ xnoise = 0;
+ ynoise += inc;
+ }
+ znoise += inc;
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_18/Ex_18.pde b/content/handbook_2e/examples/22 Motion/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..601f82541
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_18/Ex_18.pde
@@ -0,0 +1,24 @@
+PFont font;
+float x1 = 0;
+float x2 = 100;
+
+void setup() {
+ size(100, 100);
+ font = createFont("SourceCodePro-Light.otf", 36);
+ textFont(font);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ text("Right", x1, 50);
+ text("Left", x2, 75);
+ x1 += 1.0;
+ if (x1 > 100) {
+ x1 = -150;
+ }
+ x2 -= 0.8;
+ if (x2 < -150) {
+ x2 = 100;
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_18/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/22 Motion/Ex_18/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/22 Motion/Ex_18/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/22 Motion/Ex_19/Ex_19.pde b/content/handbook_2e/examples/22 Motion/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..d16e5faae
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_19/Ex_19.pde
@@ -0,0 +1,15 @@
+PFont font;
+
+void setup() {
+ size(100, 100);
+ font = createFont("SourceCodePro-Light.otf", 24);
+ textFont(font);
+ noStroke();
+}
+
+void draw() {
+ fill(204, 24);
+ rect(0, 0, width, height);
+ fill(0);
+ text("flicker", random(-100, 100), random(-20, 120));
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_19/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/22 Motion/Ex_19/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/22 Motion/Ex_19/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/22 Motion/Ex_20/Ex_20.pde b/content/handbook_2e/examples/22 Motion/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..fac3770d3
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_20/Ex_20.pde
@@ -0,0 +1,19 @@
+PFont font;
+int opacity = 0;
+int direction = 1;
+
+void setup() {
+ size(100, 100);
+ font = createFont("SourceCodePro-Light.otf", 24);
+ textFont(font);
+}
+
+void draw() {
+ background(204);
+ opacity += 2 * direction;
+ if ((opacity < 0) || (opacity > 255)) {
+ direction = -direction;
+ }
+ fill(0, opacity);
+ text("FADE", 4, 60);
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_20/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/22 Motion/Ex_20/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/22 Motion/Ex_20/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/22 Motion/Ex_21/Ex_21.pde b/content/handbook_2e/examples/22 Motion/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..d2ecf17b8
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_21/Ex_21.pde
@@ -0,0 +1,21 @@
+PFont font;
+String s = "VERTIGO";
+float angle = 0.0;
+
+void setup() {
+ size(100, 100);
+ font = createFont("SourceCodePro-Light.otf", 60);
+ textFont(font);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ angle += 0.02;
+ pushMatrix();
+ translate(33, 50);
+ scale((cos(angle/4.0) + 1.2) * 2.0);
+ rotate(angle);
+ text(s, 0, 0);
+ popMatrix();
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_21/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/22 Motion/Ex_21/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/22 Motion/Ex_21/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/22 Motion/Ex_22/Ex_22.pde b/content/handbook_2e/examples/22 Motion/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..35402db5e
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_22/Ex_22.pde
@@ -0,0 +1,21 @@
+PFont font;
+String[] words = { "Three", "strikes", "and", "youʼre", "out...", " " };
+int whichWord = 0;
+
+void setup() {
+ size(100, 100);
+ font = createFont("SourceCodePro-Light.otf", 22);
+ textFont(font);
+ textAlign(CENTER);
+ frameRate(4);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ text(words[whichWord], width/2, 55);
+ whichWord++;
+ if (whichWord == words.length) {
+ whichWord = 0;
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_22/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/22 Motion/Ex_22/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/22 Motion/Ex_22/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/22 Motion/Ex_23/Ex_23.pde b/content/handbook_2e/examples/22 Motion/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..c351855de
--- /dev/null
+++ b/content/handbook_2e/examples/22 Motion/Ex_23/Ex_23.pde
@@ -0,0 +1,20 @@
+PFont font;
+String s = "AREA";
+float angle = 0.0;
+
+void setup() {
+ size(100, 100);
+ font = createFont("SourceCodePro-Light.otf", 48);
+ textFont(font);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ angle += 0.05;
+ for (int i = 0; i < s.length(); i++) {
+ float c = sin(angle + i/PI);
+ textSize((c + 1.0) * 15 + 10);
+ text(s.charAt(i), i*20, 60);
+ }
+}
diff --git a/content/handbook_2e/examples/22 Motion/Ex_23/data/SourceCodePro-Light.otf b/content/handbook_2e/examples/22 Motion/Ex_23/data/SourceCodePro-Light.otf
new file mode 100644
index 000000000..f624ee1c6
Binary files /dev/null and b/content/handbook_2e/examples/22 Motion/Ex_23/data/SourceCodePro-Light.otf differ
diff --git a/content/handbook_2e/examples/23 Time/Ex_01/Ex_01.pde b/content/handbook_2e/examples/23 Time/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..670462de0
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_01/Ex_01.pde
@@ -0,0 +1,4 @@
+int s = second(); // Returns values from 0 to 59
+int m = minute(); // Returns values from 0 to 59
+int h = hour(); // Returns values from 0 to 23
+println(h + ":" + m + ":" + s); // Prints the time to the console
diff --git a/content/handbook_2e/examples/23 Time/Ex_02/Ex_02.pde b/content/handbook_2e/examples/23 Time/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..7150d8979
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_02/Ex_02.pde
@@ -0,0 +1,16 @@
+int lastSecond = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ int s = second();
+ int m = minute();
+ int h = hour();
+ // Only prints once when the second changes
+ if (s != lastSecond) {
+ println(h + ":" + m + ":" + s);
+ lastSecond = s;
+ }
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_03/Ex_03.pde b/content/handbook_2e/examples/23 Time/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..1ef295651
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_03/Ex_03.pde
@@ -0,0 +1,18 @@
+PFont font;
+
+void setup() {
+ size(100, 100);
+ font = createFont("mono", 16);
+ textFont(font);
+ textAlign(CENTER);
+}
+
+void draw() {
+ background(0);
+ int s = second();
+ int m = minute();
+ int h = hour();
+ // The nf() function spaces the numbers nicely
+ String t = nf(h,2) + ":" + nf(m,2) + ":" + nf(s,2);
+ text(t, 50, 55);
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_04/Ex_04.pde b/content/handbook_2e/examples/23 Time/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..51a9f5210
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_04/Ex_04.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+ noSmooth();
+ stroke(255);
+}
+
+void draw() {
+ background(0);
+ float s = map(second(), 0, 59, 0, 99);
+ float m = map(minute(), 0, 59, 0, 99);
+ float h = map(hour(), 0, 23, 0, 99);
+ line(s, 0, s, 33);
+ line(m, 34, m, 66);
+ line(h, 67, h, 100);
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_05/Ex_05.pde b/content/handbook_2e/examples/23 Time/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..b3d01cd5b
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_05/Ex_05.pde
@@ -0,0 +1,20 @@
+void setup() {
+ size(100, 100);
+ stroke(255);
+}
+
+void draw() {
+ background(0);
+ fill(80);
+ noStroke();
+ // Angles for sin() and cos() start at 3 o'clock;
+ // subtract HALF_PI to make them start at the top
+ ellipse(50, 50, 80, 80);
+ float s = map(second(), 0, 60, 0, TWO_PI) - HALF_PI;
+ float m = map(minute(), 0, 60, 0, TWO_PI) - HALF_PI;
+ float h = map(hour() % 12, 0, 12, 0, TWO_PI) - HALF_PI;
+ stroke(255);
+ line(50, 50, cos(s)*38 + 50, sin(s)*38 + 50);
+ line(50, 50, cos(m)*30 + 50, sin(m)*30 + 50);
+ line(50, 50, cos(h)*25 + 50, sin(h)*25 + 50);
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_06/Ex_06.pde b/content/handbook_2e/examples/23 Time/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..9dfadf5c8
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_06/Ex_06.pde
@@ -0,0 +1,12 @@
+int x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ if (millis() > 3000) {
+ x++;
+ }
+ line(x, 0, x, 100);
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_07/Ex_07.pde b/content/handbook_2e/examples/23 Time/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..102fef2b0
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_07/Ex_07.pde
@@ -0,0 +1,29 @@
+int mode = 0;
+int nextTime = 0;
+int timer = 1000;
+
+void setup() {
+ size(100, 100);
+ nextTime = millis() + timer;
+ noFill();
+ stroke(255);
+}
+
+void draw() {
+ background(0);
+ if (mode == 0) {
+ line(10, 10, 90, 90);
+ } else if (mode == 1) {
+ ellipse(50, 50, 80, 80);
+ } else if (mode == 2) {
+ rect(10, 10, 80, 80);
+ }
+
+ if (millis() > nextTime) {
+ mode++;
+ if (mode > 2) {
+ mode = 0;
+ }
+ nextTime = millis() + timer;
+ }
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_08/Ex_08.pde b/content/handbook_2e/examples/23 Time/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..482adf028
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_08/Ex_08.pde
@@ -0,0 +1,13 @@
+int x = 0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ float sec = millis() / 1000.0;
+ if (sec > 3.0) {
+ x++;
+ }
+ line(x, 0, x, 100);
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_09/Ex_09.pde b/content/handbook_2e/examples/23 Time/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..b752aed75
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_09/Ex_09.pde
@@ -0,0 +1,4 @@
+int d = day(); // Returns values from 1 to 31
+int m = month(); // Returns values from 1 to 12
+int y = year(); // Returns four-digit year (2007, 2008, etc.)
+println(y + " " + m + " " + d);
diff --git a/content/handbook_2e/examples/23 Time/Ex_10/Ex_10.pde b/content/handbook_2e/examples/23 Time/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..d68bf6929
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_10/Ex_10.pde
@@ -0,0 +1,6 @@
+void draw() {
+ int d = day(); // Values from 1 to 31
+ if (d == 1) {
+ println("Welcome to a new month!");
+ }
+}
diff --git a/content/handbook_2e/examples/23 Time/Ex_11/Ex_11.pde b/content/handbook_2e/examples/23 Time/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..3b21e84ec
--- /dev/null
+++ b/content/handbook_2e/examples/23 Time/Ex_11/Ex_11.pde
@@ -0,0 +1,7 @@
+void draw() {
+ int d = day(); // Values from 1 to 31
+ int m = month(); // Values from 1 to 12
+ if ((d == 1) && (m == 1)) {
+ println("Today is the first day of the year!");
+ }
+}
diff --git a/content/handbook_2e/examples/24 Functions/EX_05/EX_05.pde b/content/handbook_2e/examples/24 Functions/EX_05/EX_05.pde
new file mode 100644
index 000000000..c34bf85c5
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/EX_05/EX_05.pde
@@ -0,0 +1,22 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ // Draw thick, light gray X
+ stroke(160);
+ strokeWeight(20);
+ line(0, 5, 60, 65);
+ line(60, 5, 0, 65);
+ // Draw medium, black X
+ stroke(0);
+ strokeWeight(10);
+ line(30, 20, 90, 80);
+ line(90, 20, 30, 80);
+ // Draw thin, white X
+ stroke(255);
+ strokeWeight(2);
+ line(20, 38, 80, 98);
+ line(80, 38, 20, 98);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_01/Ex_01.pde b/content/handbook_2e/examples/24 Functions/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..753e8656c
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_01/Ex_01.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ fill(255);
+ ellipse(50, 50, 60, 60); // White circle
+ fill(0);
+ ellipse(50+10, 50, 30, 30); // Black circle
+ fill(255);
+ ellipse(50+16, 45, 6, 6); // Small, white circle
+}
+
diff --git a/content/handbook_2e/examples/24 Functions/Ex_02/Ex_02.pde b/content/handbook_2e/examples/24 Functions/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..fe4d1e356
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_02/Ex_02.pde
@@ -0,0 +1,22 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ // Right shape
+ fill(255);
+ ellipse(65, 44, 60, 60);
+ fill(0);
+ ellipse(75, 44, 30, 30);
+ fill(255);
+ ellipse(81, 39, 6, 6);
+ // Left shape
+ fill(255);
+ ellipse(20, 50, 60, 60);
+ fill(0);
+ ellipse(30, 50, 30, 30);
+ fill(255);
+ ellipse(36, 45, 6, 6);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_03/Ex_03.pde b/content/handbook_2e/examples/24 Functions/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..9e6bfe4ba
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_03/Ex_03.pde
@@ -0,0 +1,19 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ eye(65, 44);
+ eye(20, 50);
+}
+
+void eye(int x, int y) {
+ fill(255);
+ ellipse(x, y, 60, 60);
+ fill(0);
+ ellipse(x+10, y, 30, 30);
+ fill(255);
+ ellipse(x+16, y-5, 6, 6);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_04/Ex_04.pde b/content/handbook_2e/examples/24 Functions/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..7215caa62
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_04/Ex_04.pde
@@ -0,0 +1,23 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ eye(65, 44);
+ eye(20, 50);
+ eye(65, 74);
+ eye(20, 80);
+ eye(65, 104);
+ eye(20, 110);
+}
+
+void eye(int x, int y) {
+ fill(255);
+ ellipse(x, y, 60, 60);
+ fill(0);
+ ellipse(x+10, y, 30, 30);
+ fill(255);
+ ellipse(x+16, y-5, 6, 6);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_06/Ex_06.pde b/content/handbook_2e/examples/24 Functions/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..ae7cc95ef
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_06/Ex_06.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ drawX();
+}
+
+void drawX() {
+ background(204);
+ // Draw thick, light gray X
+ stroke(160);
+ strokeWeight(20);
+ line(0, 5, 60, 65);
+ line(60, 5, 0, 65);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_07/Ex_07.pde b/content/handbook_2e/examples/24 Functions/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..2cb37d5fc
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_07/Ex_07.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ drawX(0); // Passes 0 to drawX(), runs drawX()
+}
+
+void drawX(int gray) { // Declares and assigns gray
+ stroke(gray); // Uses gray to set the stroke
+ strokeWeight(20);
+ line(0, 5, 60, 65);
+ line(60, 5, 0, 65);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_08/Ex_08.pde b/content/handbook_2e/examples/24 Functions/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..65ff2b2e7
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_08/Ex_08.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ drawX(0, 30); // Passes values to drawX(), runs drawX()
+}
+
+void drawX(int gray, int weight) {
+ stroke(gray);
+ strokeWeight(weight);
+ line(0, 5, 60, 65);
+ line(60, 5, 0, 65);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_09/Ex_09.pde b/content/handbook_2e/examples/24 Functions/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..4337a7bec
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_09/Ex_09.pde
@@ -0,0 +1,16 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ drawX(0, 30, 40, 30, 36);
+}
+
+void drawX(int gray, int weight, int x, int y, int size) {
+ stroke(gray);
+ strokeWeight(weight);
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+}
+
diff --git a/content/handbook_2e/examples/24 Functions/Ex_10/Ex_10.pde b/content/handbook_2e/examples/24 Functions/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..1e8e461dc
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_10/Ex_10.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ drawX(160, 20, 0, 5, 60); // Draw thick, light gray X
+ drawX(0, 10, 30, 20, 60); // Draw medium, black X
+ drawX(255, 2, 20, 38, 60); // Draw thin, white X
+}
+
+void drawX(int gray, int weight, int x, int y, int size) {
+ stroke(gray);
+ strokeWeight(weight);
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_11/Ex_11.pde b/content/handbook_2e/examples/24 Functions/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..2f3f4fde0
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_11/Ex_11.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ for (int i = 0; i < 20; i++) {
+ drawX(200- i*10, (20-i)*2, i, i/2, 70);
+ }
+}
+
+void drawX(int gray, int weight, int x, int y, int size) {
+ stroke(gray);
+ strokeWeight(weight);
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_12/Ex_12.pde b/content/handbook_2e/examples/24 Functions/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..8fb76bbf1
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_12/Ex_12.pde
@@ -0,0 +1,22 @@
+void setup() {
+ size(600, 100);
+ frameRate(4);
+}
+
+void draw() {
+ background(204);
+ for (int i = 0; i < 70; i++) { // Draw 70 X shapes
+ int grayValue = int(random(255));
+ int thickness = int(random(30));
+ int x = int(random(-50, width));
+ int y = int(random(-50, height));
+ drawX(grayValue, thickness, x, y, 100);
+ }
+}
+
+void drawX(int gray, int weight, int x, int y, int size) {
+ stroke(gray);
+ strokeWeight(weight);
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_13/Ex_13.pde b/content/handbook_2e/examples/24 Functions/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..9e3820c9f
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_13/Ex_13.pde
@@ -0,0 +1,21 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ leaf(26, 83, 60, 1);
+}
+
+void leaf(int x, int y, int size, int dir) {
+ pushMatrix();
+ translate(x, y); // Move to position
+ scale(size); // Scale to size
+ beginShape(); // Draw the shape
+ vertex(1.0*dir, -0.7);
+ bezierVertex(1.0*dir, -0.7, 0.4*dir, -1.0, 0.0, 0.0);
+ bezierVertex(0.0, 0.0, 1.0*dir, 0.4, 1.0*dir, -0.7);
+ endShape();
+ popMatrix();
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_14/Ex_14.pde b/content/handbook_2e/examples/24 Functions/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..8316160d7
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_14/Ex_14.pde
@@ -0,0 +1,35 @@
+void setup() {
+ size(100, 100);
+ frameRate(2);
+}
+
+void draw() {
+ background(0);
+ int leaves = int(random(2, 15));
+ vine(33, leaves, 16);
+}
+
+void vine(int x, int numLeaves, int leafSize) {
+ stroke(255);
+ line(x, 0, x, height);
+ noStroke();
+ int gap = height / numLeaves;
+ int direction = 1;
+ for (int i = 0; i < numLeaves; i++) {
+ int r = int(random(gap));
+ leaf(x, gap*i + r, leafSize, direction);
+ direction = -direction;
+ }
+}
+
+void leaf(int x, int y, int size, int dir) {
+ pushMatrix();
+ translate(x, y); // Move to position
+ scale(size); // Scale to size
+ beginShape(); // Draw the shape
+ vertex(1.0*dir, -0.7);
+ bezierVertex(1.0*dir, -0.7, 0.4*dir, -1.0, 0.0, 0.0);
+ bezierVertex(0.0, 0.0, 1.0*dir, 0.4, 1.0*dir, -0.7);
+ endShape();
+ popMatrix();
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_15/Ex_15.pde b/content/handbook_2e/examples/24 Functions/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..d9e2b05db
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_15/Ex_15.pde
@@ -0,0 +1,26 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ drawX(255); // Run first drawX()
+ drawX(0, 2, 44, 48, 36); // Run second drawX()
+}
+
+// Draw an X with the gray value set by the parameter
+void drawX(int gray) {
+ stroke(gray);
+ strokeWeight(20);
+ line(0, 5, 60, 65);
+ line(60, 5, 0, 65);
+}
+
+// Draw an X with the gray value, thickness,
+// position, and size set by the parameters
+void drawX(int gray, int weight, int x, int y, int s) {
+ stroke(gray);
+ strokeWeight(weight);
+ line(x, y, x+s, y+s);
+ line(x+s, y, x, y+s);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_16/Ex_16.pde b/content/handbook_2e/examples/24 Functions/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..eb493507c
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_16/Ex_16.pde
@@ -0,0 +1,2 @@
+float d = random(0, 100);
+ellipse(50, 50, d, d);
diff --git a/content/handbook_2e/examples/24 Functions/Ex_17/Ex_17.pde b/content/handbook_2e/examples/24 Functions/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..c71cff813
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_17/Ex_17.pde
@@ -0,0 +1,2 @@
+int d = random(0, 100); // ERROR! random() returns a float
+ellipse(50, 50, d, d);
diff --git a/content/handbook_2e/examples/24 Functions/Ex_18/Ex_18.pde b/content/handbook_2e/examples/24 Functions/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..b935e80e4
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_18/Ex_18.pde
@@ -0,0 +1,2 @@
+int d = int(random(0, 100)); // int() converts the float value
+ellipse(50, 50, d, d);
diff --git a/content/handbook_2e/examples/24 Functions/Ex_19/Ex_19.pde b/content/handbook_2e/examples/24 Functions/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..405df6bfe
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_19/Ex_19.pde
@@ -0,0 +1,9 @@
+void setup() {
+ float f = average(12.0, 6.0); // Assign 9.0 to f
+ println(f);
+}
+
+float average(float num1, float num2) {
+ float av = (num1 + num2) / 2.0;
+ return av;
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_20/Ex_20.pde b/content/handbook_2e/examples/24 Functions/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..25a150a4b
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_20/Ex_20.pde
@@ -0,0 +1,9 @@
+void setup() {
+ float c = fahrenheitToCelsius(451.0); // Assign 232.77779 to c
+ println(c);
+}
+
+float fahrenheitToCelsius(float t) {
+ float f = (t-32.0) * (5.0/9.0);
+ return f;
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/Ex_21.pde b/content/handbook_2e/examples/24 Functions/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..ba44f8fcf
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_21/Ex_21.pde
@@ -0,0 +1,7 @@
+size(120, 100);
+int front = int(random(1, 10)); // Select the front card
+int back = int(random(1, 10)); // Select the back card
+PImage imgFront = loadImage(front + "f.jpg");
+PImage imgBack = loadImage(back + "b.jpg");
+image(imgFront, 0, 0);
+image(imgBack, 60, 0);
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/1b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/1b.jpg
new file mode 100644
index 000000000..59ed7d851
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/1b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/1f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/1f.jpg
new file mode 100644
index 000000000..35256c6ab
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/1f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/2b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/2b.jpg
new file mode 100644
index 000000000..85416542b
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/2b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/2f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/2f.jpg
new file mode 100644
index 000000000..f6c8bc2d0
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/2f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/3b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/3b.jpg
new file mode 100644
index 000000000..40be055b8
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/3b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/3f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/3f.jpg
new file mode 100644
index 000000000..607caff59
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/3f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/4b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/4b.jpg
new file mode 100644
index 000000000..63c8f2a1d
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/4b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/4f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/4f.jpg
new file mode 100644
index 000000000..dbfb42def
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/4f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/5b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/5b.jpg
new file mode 100644
index 000000000..7983a0dc2
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/5b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/5f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/5f.jpg
new file mode 100644
index 000000000..b3c8e7c7a
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/5f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/6b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/6b.jpg
new file mode 100644
index 000000000..205a146bd
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/6b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/6f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/6f.jpg
new file mode 100644
index 000000000..10da0841c
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/6f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/7b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/7b.jpg
new file mode 100644
index 000000000..d040e7e77
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/7b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/7f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/7f.jpg
new file mode 100644
index 000000000..62d52cf04
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/7f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/8b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/8b.jpg
new file mode 100644
index 000000000..fb8321d46
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/8b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/8f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/8f.jpg
new file mode 100644
index 000000000..0315ab064
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/8f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/9b.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/9b.jpg
new file mode 100644
index 000000000..58ddc6b21
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/9b.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_21/data/9f.jpg b/content/handbook_2e/examples/24 Functions/Ex_21/data/9f.jpg
new file mode 100644
index 000000000..9e6a6b123
Binary files /dev/null and b/content/handbook_2e/examples/24 Functions/Ex_21/data/9f.jpg differ
diff --git a/content/handbook_2e/examples/24 Functions/Ex_22/Ex_22.pde b/content/handbook_2e/examples/24 Functions/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..136513d4e
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_22/Ex_22.pde
@@ -0,0 +1,21 @@
+float c = 25.0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ arch(c);
+}
+
+void arch(float curvature) {
+ float y = 90.0;
+ strokeWeight(6);
+ noFill();
+ beginShape();
+ vertex(15.0, y);
+ bezierVertex(15.0, y-curvature, 30.0, 55.0, 50.0, 55.0);
+ bezierVertex(70.0, 55.0, 85.0, y-curvature, 85.0, y);
+ endShape();
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_23/Ex_23.pde b/content/handbook_2e/examples/24 Functions/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..23fe7070f
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_23/Ex_23.pde
@@ -0,0 +1,22 @@
+float c = 55.0;
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ arch(c);
+}
+
+void arch(float curvature) {
+ float y = 90.0;
+ float sw = (65.0 - curvature) / 4.0;
+ strokeWeight(sw);
+ noFill();
+ beginShape();
+ vertex(15.0, y);
+ bezierVertex(15.0, y-curvature, 30.0, 55.0, 50.0, 55.0);
+ bezierVertex(70.0, 55.0, 85.0, y-curvature, 85.0, y);
+ endShape();
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_24/Ex_24.pde b/content/handbook_2e/examples/24 Functions/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..fe27ef7ca
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_24/Ex_24.pde
@@ -0,0 +1,25 @@
+int x = 20; // X-coordinate
+int u = 14; // Units
+float a = -0.12; // Angle
+
+void setup() {
+ size(100, 100);
+ stroke(255, 204);
+}
+
+void draw() {
+ background(0);
+ tail(x, u, a);
+}
+
+void tail(int xpos, int units, float angle) {
+ pushMatrix();
+ translate(xpos, 0);
+ for (int i = units; i > 0; i--) { // Count in reverse
+ strokeWeight(i);
+ line(0, 0, 0, 8);
+ translate(0, 8);
+ rotate(angle);
+ }
+ popMatrix();
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_25/Ex_25.pde b/content/handbook_2e/examples/24 Functions/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..b9a553c33
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_25/Ex_25.pde
@@ -0,0 +1,29 @@
+float inc = 0.0;
+
+void setup() {
+ size(100, 100);
+ stroke(255, 204);
+}
+
+void draw() {
+ background(0);
+ float angle = sin(inc)/10.0 + sin(inc*1.2)/20.0;
+ tail(18, 9, angle/1.3);
+ tail(33, 12, angle);
+ tail(44, 10, angle/1.3);
+ tail(62, 5, angle);
+ tail(88, 7, angle*2);
+ inc += 0.01;
+}
+
+void tail(int xpos, int units, float angle) {
+ pushMatrix();
+ translate(xpos, 0);
+ for (int i = units; i > 0; i--) { // Count in reverse
+ strokeWeight(i);
+ line(0, 0, 0, 8);
+ translate(0, 8);
+ rotate(angle);
+ }
+ popMatrix();
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_26/Ex_26.pde b/content/handbook_2e/examples/24 Functions/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..b92c9b037
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_26/Ex_26.pde
@@ -0,0 +1,25 @@
+int x = 40; // X-coordinate
+int y = 30; // Y-coordinate
+int g = 20; // Gap between eyes
+
+void setup() {
+ size(100, 100);
+ fill(0);
+}
+
+void draw() {
+ background(204);
+ face(x, y, g);
+}
+
+void face(int x, int y, int gap) {
+ stroke(0);
+ line(x, 0, x, y); // Nose Bridge
+ line(x, y, x+gap, y); // Nose
+ line(x+gap, y, x+gap, 100);
+ int mouthY = height - (height-y)/2;
+ line(x, mouthY, x+gap, mouthY); // Mouth
+ noStroke();
+ ellipse(x-gap/2, y/2, 5, 5); // Left eye
+ ellipse(x+gap, y/2, 5, 5); // Right eye
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_27/Ex_27.pde b/content/handbook_2e/examples/24 Functions/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..00864a3d2
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_27/Ex_27.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(100, 100);
+ drawLines(5, 15);
+}
+
+void drawLines(int x, int num) {
+ for (int i = 0; i < num; num -= 1) {
+ line(x, 20, x, 80);
+ x += 5;
+ }
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_28/Ex_28.pde b/content/handbook_2e/examples/24 Functions/Ex_28/Ex_28.pde
new file mode 100644
index 000000000..7081ad99b
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_28/Ex_28.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(100, 100);
+ drawLines(5, 15);
+}
+
+void drawLines(int x, int num) {
+ line(x, 20, x, 80);
+ if (num > 0) {
+ drawLines(x+5, num-1);
+ }
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_29/Ex_29.pde b/content/handbook_2e/examples/24 Functions/Ex_29/Ex_29.pde
new file mode 100644
index 000000000..d6672f918
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_29/Ex_29.pde
@@ -0,0 +1,17 @@
+int x = 50; // X-coordinate of the center
+int y = 100; // Y-coordinate of the bottom
+int a = 35; // Half the width of the top bar
+
+void setup() {
+ size(100, 100);
+ noLoop();
+}
+
+void draw() {
+ drawT(x, y, a);
+}
+
+void drawT(int xpos, int ypos, int apex) {
+ line(xpos, ypos, xpos, ypos-apex);
+ line(xpos-(apex/2), ypos-apex, xpos+(apex/2), ypos-apex);
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_30/Ex_30.pde b/content/handbook_2e/examples/24 Functions/Ex_30/Ex_30.pde
new file mode 100644
index 000000000..25a2746ea
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_30/Ex_30.pde
@@ -0,0 +1,24 @@
+int x = 50; // X-coordinate of the center
+int y = 100; // Y-coordinate of the bottom
+int a = 35; // Half the width of the top bar
+int n = 3; // Number of recursions
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ drawT(x, y, a, n);
+}
+
+void drawT(int x, int y, int apex, int num) {
+ line(x, y, x, y-apex);
+ line(x-apex, y-apex, x+apex, y-apex);
+ // This relational expression must eventually be
+ // false to stop the recursion and return to draw()
+ if (num > 0) {
+ drawT(x-apex, y-apex, apex/2, num-1);
+ drawT(x+apex, y-apex, apex/2, num-1);
+ }
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_31/Ex_31.pde b/content/handbook_2e/examples/24 Functions/Ex_31/Ex_31.pde
new file mode 100644
index 000000000..5f8b8abce
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_31/Ex_31.pde
@@ -0,0 +1,23 @@
+int x = 63; // X-coordinate
+int r = 85; // Starting radius
+int n = 5; // Number of recursions
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ drawCircle(x, r, n);
+}
+
+void drawCircle(int x, int radius, int num) {
+ float tt = 126 * num/4.0;
+ fill(tt);
+ ellipse(x, 50, radius*2, radius*2);
+ if (num > 0) {
+ drawCircle(x - radius/2, radius/2, num-1);
+ drawCircle(x + radius/2, radius/2, num-1);
+ }
+}
diff --git a/content/handbook_2e/examples/24 Functions/Ex_32/Ex_32.pde b/content/handbook_2e/examples/24 Functions/Ex_32/Ex_32.pde
new file mode 100644
index 000000000..1f0d4f157
--- /dev/null
+++ b/content/handbook_2e/examples/24 Functions/Ex_32/Ex_32.pde
@@ -0,0 +1,34 @@
+int x = 300; // X-coordinate
+int y = 50; // Y-coordinate
+int r = 80; // Starting radius
+int n = 7; // Number of recursions
+int rs = 0; // Random seed value
+
+void setup() {
+ size(700, 100);
+ noStroke();
+ frameRate(2);
+}
+
+void draw() {
+ background(0);
+ randomSeed(rs);
+ drawCircle(x, y, r, n);
+ rs++;
+}
+
+void drawCircle(float x, float y, int radius, int num) {
+ float value = 255 * num / 6.0;
+ fill(value, 153);
+ ellipse(x, y, radius*2, radius*2);
+ if (num > 1) {
+ num = num - 1;
+ int branches = int(random(2, 6));
+ for (int i = 0; i < branches; i++) {
+ float a = random(0, TWO_PI);
+ float newx = x + cos(a) * 16.0 * num;
+ float newy = y + sin(a) * 6.0 * num;
+ drawCircle(newx, newy, radius/2, num);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_01/Ex_01.pde b/content/handbook_2e/examples/25 Objects/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..23c27c70c
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_01/Ex_01.pde
@@ -0,0 +1,13 @@
+float x = 33;
+float y = 50;
+float diameter = 30;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(0);
+ ellipse(x, y, diameter, diameter);
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_02/Ex_02.pde b/content/handbook_2e/examples/25 Objects/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..f5d520180
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_02/Ex_02.pde
@@ -0,0 +1,20 @@
+Spot sp; // Declare the object
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ sp = new Spot(); // Construct the object
+ sp.x = 33; // Assign 33 to the x field
+ sp.y = 50; // Assign 50 to the y field
+ sp.diameter = 30; // Assign 30 to the diameter field
+}
+
+void draw() {
+ background(0);
+ ellipse(sp.x, sp.y, sp.diameter, sp.diameter);
+}
+
+class Spot {
+ float x, y; // The x- and y-coordinate
+ float diameter; // Diameter of the circle
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_03/Ex_03.pde b/content/handbook_2e/examples/25 Objects/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..06de862cc
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_03/Ex_03.pde
@@ -0,0 +1,23 @@
+Spot sp; // Declare the object
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ sp = new Spot(); // Construct the object
+ sp.x = 33;
+ sp.y = 50;
+ sp.diameter = 30;
+}
+
+void draw() {
+ background(0);
+ sp.display();
+}
+
+class Spot {
+ float x, y, diameter;
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_04/Ex_04.pde b/content/handbook_2e/examples/25 Objects/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..7da8f1d4e
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_04/Ex_04.pde
@@ -0,0 +1,26 @@
+Spot sp; // Declare the object
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ sp = new Spot(33, 50, 30); // Construct the object
+}
+
+void draw() {
+ background(0);
+ sp.display();
+}
+
+class Spot {
+ float x, y, diameter;
+
+ Spot(float xpos, float ypos, float dia) {
+ x = xpos; // Assign 33 to x
+ y = ypos; // Assign 50 to y
+ diameter = dia; // Assign 30 to diameter
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_05/Ex_05.pde b/content/handbook_2e/examples/25 Objects/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..fe60a0035
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_05/Ex_05.pde
@@ -0,0 +1,25 @@
+class Spot {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the circle
+ float speed; // Distance moved each frame
+ int direction = 1; // Direction of motion (1 is down, -1 is up)
+
+ // Constructor
+ Spot(float xpos, float ypos, float dia, float sp) {
+ x = xpos;
+ y = ypos;
+ diameter = dia;
+ speed = sp;
+ }
+
+ void move() {
+ y += (speed * direction);
+ if ((y > (height - diameter/2)) || (y < diameter/2)) {
+ direction *= -1;
+ }
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_06/Ex_06.pde b/content/handbook_2e/examples/25 Objects/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..ddbc6ba17
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_06/Ex_06.pde
@@ -0,0 +1,41 @@
+Spot sp; // Declare the object
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ sp = new Spot(33, 50, 30, 1.5); // Construct the object
+}
+
+void draw() {
+ fill(0, 15);
+ rect(0, 0, width, height);
+ fill(255);
+ sp.move();
+ sp.display();
+}
+
+class Spot {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the circle
+ float speed; // Distance moved each frame
+ int direction = 1; // Direction of motion (1 is down, -1 is up)
+
+ // Constructor
+ Spot(float xpos, float ypos, float dia, float sp) {
+ x = xpos;
+ y = ypos;
+ diameter = dia;
+ speed = sp;
+ }
+
+ void move() {
+ y += (speed * direction);
+ if ((y > (height - diameter/2)) || (y < diameter/2)) {
+ direction *= -1;
+ }
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_07/Ex_07.pde b/content/handbook_2e/examples/25 Objects/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..3dd64ecfa
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_07/Ex_07.pde
@@ -0,0 +1,47 @@
+Spot sp1, sp2, sp3; // Declare the objects
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ sp1 = new Spot(20, 50, 40, 0.5); // Construct sp1
+ sp2 = new Spot(50, 50, 10, 2.0); // Construct sp2
+ sp3 = new Spot(80, 50, 30, 1.5); // Construct sp3
+}
+
+void draw() {
+ fill(0, 15);
+ rect(0, 0, width, height);
+ fill(255);
+ sp1.move();
+ sp2.move();
+ sp3.move();
+ sp1.display();
+ sp2.display();
+ sp3.display();
+}
+
+class Spot {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the circle
+ float speed; // Distance moved each frame
+ int direction = 1; // Direction of motion (1 is down, -1 is up)
+
+ // Constructor
+ Spot(float xpos, float ypos, float dia, float sp) {
+ x = xpos;
+ y = ypos;
+ diameter = dia;
+ speed = sp;
+ }
+
+ void move() {
+ y += (speed * direction);
+ if ((y > (height - diameter/2)) || (y < diameter/2)) {
+ direction *= -1;
+ }
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_08/Ex_08.pde b/content/handbook_2e/examples/25 Objects/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..33ed9b405
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_08/Ex_08.pde
@@ -0,0 +1,36 @@
+class Egg {
+ float x, y; // X-coordinate, y-coordinate
+ float tilt; // Left and right angle offset
+ float angle; // Used to define the tilt
+ float scalar; // Height of the egg
+
+ // Constructor
+ Egg(int xpos, int ypos, float t, float s) {
+ x = xpos;
+ y = ypos;
+ tilt = t;
+ scalar = s / 100.0;
+ }
+
+ void wobble() {
+ tilt = cos(angle) / 8;
+ angle += 0.1;
+ }
+
+ void display() {
+ noStroke();
+ fill(255);
+ pushMatrix();
+ translate(x, y);
+ rotate(tilt);
+ scale(scalar);
+ beginShape();
+ vertex(0, -100);
+ bezierVertex(25, -100, 40, -65, 40, -40);
+ bezierVertex(40, -15, 25, 0, 0, 0);
+ bezierVertex(-25, 0, -40, -15, -40, -40);
+ bezierVertex(-40, -65, -25, -100, 0, -100);
+ endShape();
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_09/Ex_09.pde b/content/handbook_2e/examples/25 Objects/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..af0e5174d
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_09/Ex_09.pde
@@ -0,0 +1,50 @@
+Egg humpty; // Declare the object
+
+void setup() {
+ size(100, 100);
+ // Inputs: x-coordinate, y-coordinate, tilt, height
+ humpty = new Egg(50, 100, PI/32, 80);
+}
+
+void draw() {
+ background(0);
+ humpty.wobble();
+ humpty.display();
+}
+
+class Egg {
+ float x, y; // X-coordinate, y-coordinate
+ float tilt; // Left and right angle offset
+ float angle; // Used to define the tilt
+ float scalar; // Height of the egg
+
+ // Constructor
+ Egg(int xpos, int ypos, float t, float s) {
+ x = xpos;
+ y = ypos;
+ tilt = t;
+ scalar = s / 100.0;
+ }
+
+ void wobble() {
+ tilt = cos(angle) / 8;
+ angle += 0.1;
+ }
+
+ void display() {
+ noStroke();
+ fill(255);
+ pushMatrix();
+ translate(x, y);
+ rotate(tilt);
+ scale(scalar);
+ beginShape();
+ vertex(0, -100);
+ bezierVertex(25, -100, 40, -65, 40, -40);
+ bezierVertex(40, -15, 25, 0, 0, 0);
+ bezierVertex(-25, 0, -40, -15, -40, -40);
+ bezierVertex(-40, -65, -25, -100, 0, -100);
+ endShape();
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_10/Ex_10.pde b/content/handbook_2e/examples/25 Objects/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..53cb75838
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_10/Ex_10.pde
@@ -0,0 +1,32 @@
+class Ring {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the ring
+ boolean on = false; // Turns the display on and off
+
+ void start(float xpos, float ypos) {
+ x = xpos;
+ y = ypos;
+
+ diameter = 1;
+ on = true;
+ }
+
+ void grow() {
+ if (on == true) {
+ diameter += 0.5;
+ if (diameter > 400) {
+ on = false;
+ diameter = 1;
+ }
+ }
+ }
+
+ void display() {
+ if (on == true) {
+ noFill();
+ strokeWeight(4);
+ stroke(204, 153);
+ ellipse(x, y, diameter, diameter);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_11/Ex_11.pde b/content/handbook_2e/examples/25 Objects/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..4b5de85e8
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_11/Ex_11.pde
@@ -0,0 +1,50 @@
+Ring r;
+
+void setup() {
+ size(100, 100);
+ r = new Ring();
+}
+
+void draw() {
+ background(0);
+ r.grow();
+ r.display();
+}
+
+void mousePressed() {
+ r.start(mouseX, mouseY);
+}
+
+
+class Ring {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the ring
+ boolean on = false; // Turns the display on and off
+
+ void start(float xpos, float ypos) {
+ x = xpos;
+ y = ypos;
+
+ diameter = 1;
+ on = true;
+ }
+
+ void grow() {
+ if (on == true) {
+ diameter += 0.5;
+ if (diameter > 400) {
+ on = false;
+ diameter = 1;
+ }
+ }
+ }
+
+ void display() {
+ if (on == true) {
+ noFill();
+ strokeWeight(4);
+ stroke(204, 153);
+ ellipse(x, y, diameter, diameter);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_12/Ex_12.pde b/content/handbook_2e/examples/25 Objects/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..a2b075e10
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_12/Ex_12.pde
@@ -0,0 +1,39 @@
+Spot sp1, sp2;
+
+void setup() {
+ size(100, 100);
+ noLoop();
+ // Run the constructor without parameters
+ sp1 = new Spot();
+ // Run the constructor with three parameters
+ sp2 = new Spot(66, 50, 20);
+}
+
+void draw() {
+ sp1.display();
+ sp2.display();
+}
+
+class Spot {
+ float x, y, diameter;
+
+ // First version of the Spot constructor;
+ // the fields are assigned default values
+ Spot() {
+ x = 33;
+ y = 50;
+ diameter = 8;
+ }
+
+ // Second version of the Spot constructor;
+ // the fields are assigned with parameters
+ Spot(float xpos, float ypos, float d) {
+ x = xpos;
+ y = ypos;
+ diameter = d;
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_13/Egg.pde b/content/handbook_2e/examples/25 Objects/Ex_13/Egg.pde
new file mode 100644
index 000000000..33ed9b405
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_13/Egg.pde
@@ -0,0 +1,36 @@
+class Egg {
+ float x, y; // X-coordinate, y-coordinate
+ float tilt; // Left and right angle offset
+ float angle; // Used to define the tilt
+ float scalar; // Height of the egg
+
+ // Constructor
+ Egg(int xpos, int ypos, float t, float s) {
+ x = xpos;
+ y = ypos;
+ tilt = t;
+ scalar = s / 100.0;
+ }
+
+ void wobble() {
+ tilt = cos(angle) / 8;
+ angle += 0.1;
+ }
+
+ void display() {
+ noStroke();
+ fill(255);
+ pushMatrix();
+ translate(x, y);
+ rotate(tilt);
+ scale(scalar);
+ beginShape();
+ vertex(0, -100);
+ bezierVertex(25, -100, 40, -65, 40, -40);
+ bezierVertex(40, -15, 25, 0, 0, 0);
+ bezierVertex(-25, 0, -40, -15, -40, -40);
+ bezierVertex(-40, -65, -25, -100, 0, -100);
+ endShape();
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_13/EggRing.pde b/content/handbook_2e/examples/25 Objects/Ex_13/EggRing.pde
new file mode 100644
index 000000000..e69de29bb
diff --git a/content/handbook_2e/examples/25 Objects/Ex_13/Ex_13.pde b/content/handbook_2e/examples/25 Objects/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..14cfa961d
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_13/Ex_13.pde
@@ -0,0 +1,19 @@
+class EggRing {
+ Egg ovoid;
+ Ring circle = new Ring();
+
+ EggRing(int x, int y, float t, float sp) {
+ ovoid = new Egg(x, y, t, sp);
+ circle.start(x, y - sp/2);
+ }
+
+ void transmit() {
+ ovoid.wobble();
+ ovoid.display();
+ circle.grow();
+ circle.display();
+ if (circle.on == false) {
+ circle.on = true;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_13/Ring.pde b/content/handbook_2e/examples/25 Objects/Ex_13/Ring.pde
new file mode 100644
index 000000000..53cb75838
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_13/Ring.pde
@@ -0,0 +1,32 @@
+class Ring {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the ring
+ boolean on = false; // Turns the display on and off
+
+ void start(float xpos, float ypos) {
+ x = xpos;
+ y = ypos;
+
+ diameter = 1;
+ on = true;
+ }
+
+ void grow() {
+ if (on == true) {
+ diameter += 0.5;
+ if (diameter > 400) {
+ on = false;
+ diameter = 1;
+ }
+ }
+ }
+
+ void display() {
+ if (on == true) {
+ noFill();
+ strokeWeight(4);
+ stroke(204, 153);
+ ellipse(x, y, diameter, diameter);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_14/Egg.pde b/content/handbook_2e/examples/25 Objects/Ex_14/Egg.pde
new file mode 100644
index 000000000..33ed9b405
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_14/Egg.pde
@@ -0,0 +1,36 @@
+class Egg {
+ float x, y; // X-coordinate, y-coordinate
+ float tilt; // Left and right angle offset
+ float angle; // Used to define the tilt
+ float scalar; // Height of the egg
+
+ // Constructor
+ Egg(int xpos, int ypos, float t, float s) {
+ x = xpos;
+ y = ypos;
+ tilt = t;
+ scalar = s / 100.0;
+ }
+
+ void wobble() {
+ tilt = cos(angle) / 8;
+ angle += 0.1;
+ }
+
+ void display() {
+ noStroke();
+ fill(255);
+ pushMatrix();
+ translate(x, y);
+ rotate(tilt);
+ scale(scalar);
+ beginShape();
+ vertex(0, -100);
+ bezierVertex(25, -100, 40, -65, 40, -40);
+ bezierVertex(40, -15, 25, 0, 0, 0);
+ bezierVertex(-25, 0, -40, -15, -40, -40);
+ bezierVertex(-40, -65, -25, -100, 0, -100);
+ endShape();
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_14/EggRing.pde b/content/handbook_2e/examples/25 Objects/Ex_14/EggRing.pde
new file mode 100644
index 000000000..14cfa961d
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_14/EggRing.pde
@@ -0,0 +1,19 @@
+class EggRing {
+ Egg ovoid;
+ Ring circle = new Ring();
+
+ EggRing(int x, int y, float t, float sp) {
+ ovoid = new Egg(x, y, t, sp);
+ circle.start(x, y - sp/2);
+ }
+
+ void transmit() {
+ ovoid.wobble();
+ ovoid.display();
+ circle.grow();
+ circle.display();
+ if (circle.on == false) {
+ circle.on = true;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_14/Ex_14.pde b/content/handbook_2e/examples/25 Objects/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..911b45f7b
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_14/Ex_14.pde
@@ -0,0 +1,15 @@
+EggRing er1, er2;
+
+void setup() {
+ size(100, 100);
+
+ er1 = new EggRing(33, 66, 0.1, 33);
+ er2 = new EggRing(66, 90, 0.05, 66);
+}
+
+void draw() {
+ background(0);
+ er1.transmit();
+ er2.transmit();
+}
+
diff --git a/content/handbook_2e/examples/25 Objects/Ex_14/Ring.pde b/content/handbook_2e/examples/25 Objects/Ex_14/Ring.pde
new file mode 100644
index 000000000..53cb75838
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_14/Ring.pde
@@ -0,0 +1,32 @@
+class Ring {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the ring
+ boolean on = false; // Turns the display on and off
+
+ void start(float xpos, float ypos) {
+ x = xpos;
+ y = ypos;
+
+ diameter = 1;
+ on = true;
+ }
+
+ void grow() {
+ if (on == true) {
+ diameter += 0.5;
+ if (diameter > 400) {
+ on = false;
+ diameter = 1;
+ }
+ }
+ }
+
+ void display() {
+ if (on == true) {
+ noFill();
+ strokeWeight(4);
+ stroke(204, 153);
+ ellipse(x, y, diameter, diameter);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_15/Ex_15.pde b/content/handbook_2e/examples/25 Objects/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..69baccd0e
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_15/Ex_15.pde
@@ -0,0 +1,14 @@
+class Spin {
+ float x, y, speed;
+ float angle = 0.0;
+
+ Spin(float xpos, float ypos, float s) {
+ x = xpos;
+ y = ypos;
+ speed = s;
+ }
+
+ void update() {
+ angle += speed;
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_16/Ex_16.pde b/content/handbook_2e/examples/25 Objects/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..2b642bfe1
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_16/Ex_16.pde
@@ -0,0 +1,17 @@
+class SpinArm extends Spin {
+
+ SpinArm(float x, float y, float s) {
+ super(x, y, s);
+ }
+
+ void display() {
+ strokeWeight(1);
+ stroke(0);
+ pushMatrix();
+ translate(x, y);
+ angle += speed;
+ rotate(angle);
+ line(0, 0, 100, 0);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_16/Spin.pde b/content/handbook_2e/examples/25 Objects/Ex_16/Spin.pde
new file mode 100644
index 000000000..69baccd0e
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_16/Spin.pde
@@ -0,0 +1,14 @@
+class Spin {
+ float x, y, speed;
+ float angle = 0.0;
+
+ Spin(float xpos, float ypos, float s) {
+ x = xpos;
+ y = ypos;
+ speed = s;
+ }
+
+ void update() {
+ angle += speed;
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_17/Ex_17.pde b/content/handbook_2e/examples/25 Objects/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..f86f7a0cd
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_17/Ex_17.pde
@@ -0,0 +1,19 @@
+class SpinSpots extends Spin {
+ float dim;
+
+ SpinSpots(float x, float y, float s, float d) {
+ super(x, y, s);
+ dim = d;
+ }
+
+ void display() {
+ noStroke();
+ pushMatrix();
+ translate(x, y);
+ angle += speed;
+ rotate(angle);
+ ellipse(-dim/2, 0, dim, dim);
+ ellipse(dim/2, 0, dim, dim);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_17/Spin.pde b/content/handbook_2e/examples/25 Objects/Ex_17/Spin.pde
new file mode 100644
index 000000000..69baccd0e
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_17/Spin.pde
@@ -0,0 +1,14 @@
+class Spin {
+ float x, y, speed;
+ float angle = 0.0;
+
+ Spin(float xpos, float ypos, float s) {
+ x = xpos;
+ y = ypos;
+ speed = s;
+ }
+
+ void update() {
+ angle += speed;
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_18/Ex_18.pde b/content/handbook_2e/examples/25 Objects/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..a02a6059c
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_18/Ex_18.pde
@@ -0,0 +1,18 @@
+SpinSpots spots;
+SpinArm arm;
+
+void setup() {
+ size(100, 100);
+ arm = new SpinArm(width/2, height/2, 0.01);
+ spots = new SpinSpots(width/2, height/2, -0.02, 33.0);
+}
+
+void draw() {
+ background(204);
+ arm.update();
+ arm.display();
+ spots.update();
+ spots.display();
+}
+
+
diff --git a/content/handbook_2e/examples/25 Objects/Ex_18/Spin.pde b/content/handbook_2e/examples/25 Objects/Ex_18/Spin.pde
new file mode 100644
index 000000000..69baccd0e
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_18/Spin.pde
@@ -0,0 +1,14 @@
+class Spin {
+ float x, y, speed;
+ float angle = 0.0;
+
+ Spin(float xpos, float ypos, float s) {
+ x = xpos;
+ y = ypos;
+ speed = s;
+ }
+
+ void update() {
+ angle += speed;
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_18/SpinArm.pde b/content/handbook_2e/examples/25 Objects/Ex_18/SpinArm.pde
new file mode 100644
index 000000000..2b642bfe1
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_18/SpinArm.pde
@@ -0,0 +1,17 @@
+class SpinArm extends Spin {
+
+ SpinArm(float x, float y, float s) {
+ super(x, y, s);
+ }
+
+ void display() {
+ strokeWeight(1);
+ stroke(0);
+ pushMatrix();
+ translate(x, y);
+ angle += speed;
+ rotate(angle);
+ line(0, 0, 100, 0);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/25 Objects/Ex_18/SpinSpots.pde b/content/handbook_2e/examples/25 Objects/Ex_18/SpinSpots.pde
new file mode 100644
index 000000000..f86f7a0cd
--- /dev/null
+++ b/content/handbook_2e/examples/25 Objects/Ex_18/SpinSpots.pde
@@ -0,0 +1,19 @@
+class SpinSpots extends Spin {
+ float dim;
+
+ SpinSpots(float x, float y, float s, float d) {
+ super(x, y, s);
+ dim = d;
+ }
+
+ void display() {
+ noStroke();
+ pushMatrix();
+ translate(x, y);
+ angle += speed;
+ rotate(angle);
+ ellipse(-dim/2, 0, dim, dim);
+ ellipse(dim/2, 0, dim, dim);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_01/Ex_01.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..b3eeeccad
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_01/Ex_01.pde
@@ -0,0 +1,22 @@
+int paddleX;
+int paddleY;
+int paddleHeight = 100;
+int paddleWidth = 20;
+
+void setup() {
+ size(600, 600);
+ paddleX = width-paddleWidth*2;
+}
+
+void draw() {
+ background(0);
+
+ // Update paddle
+ paddleY = mouseY - paddleHeight/2;
+ paddleY = constrain(paddleY, 0, height-paddleHeight);
+
+ // Draw paddle
+ fill(102);
+ noStroke();
+ rect(paddleX, paddleY, paddleWidth, paddleHeight);
+}
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_02/Ex_02.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..3bf798dc3
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_02/Ex_02.pde
@@ -0,0 +1,42 @@
+float ballX;
+float ballY;
+float ballSpeedX = random(3, 5);
+float ballSpeedY = random(-2, 2);
+float ballDiameter = 20.0;
+float ballRadius = ballDiameter/2;
+
+void setup() {
+ size(600, 600);
+ ballX = -ballRadius;
+ ballY = height/2;
+}
+
+void draw() {
+ background(0);
+
+ // Draw ball
+ fill(255);
+ noStroke();
+ ellipse(ballX, ballY, ballDiameter, ballDiameter);
+
+ // Update ball location
+ ballX = ballX + ballSpeedX;
+ ballY = ballY + ballSpeedY;
+
+ // Reset position if ball leaves the screen
+ if (ballX > width + ballRadius) {
+ ballX = -ballRadius;
+ ballY = random(height*0.25, height*0.75);
+ ballSpeedX = random(3, 5);
+ ballSpeedY = random(-6, 6);
+ }
+
+ // If ball hits top or bottom, change direction of Y
+ if (ballY > height - ballRadius) {
+ ballY = height - ballRadius;
+ ballSpeedY = ballSpeedY * -1;
+ } else if (ballY < ballRadius) {
+ ballY = ballRadius;
+ ballSpeedY = ballSpeedY * -1;
+ }
+}
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_03/Ex_03.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..839c59456
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_03/Ex_03.pde
@@ -0,0 +1,60 @@
+float ballX = 300.0;
+float ballY = 300.0;
+float ballDiameter = 200.0;
+
+int paddleX;
+int paddleY;
+int paddleHeight = 150;
+int paddleWidth = 50;
+
+void setup() {
+ size(600, 600);
+ noCursor();
+}
+
+void draw() {
+ background(0);
+
+ // Update paddle
+ paddleX = mouseX;
+ paddleY = mouseY;
+
+ // Draw paddle
+ fill(102);
+ noStroke();
+ rect(paddleX, paddleY, paddleWidth, paddleHeight);
+
+ // Draw ball
+ fill(255);
+ noStroke();
+ ellipse(ballX, ballY, ballDiameter, ballDiameter);
+
+ // Set variable to true if shapes are overlapping, false if not
+ boolean collision = hitPaddle(paddleX, paddleY, paddleWidth, paddleHeight,
+ ballX, ballY, ballDiameter/2);
+
+ if (collision == true) {
+ stroke(204);
+ strokeWeight(10);
+ line(0, 0, width, height);
+ line(0, width, height, 0);
+ }
+}
+
+boolean hitPaddle(int rx, int ry, int rw, int rh, float cx, float cy, float cr) {
+
+ float circleDistanceX = abs(cx - rx - rw/2);
+ float circleDistanceY = abs(cy - ry - rh/2);
+
+ if (circleDistanceX > (rw/2 + cr)) { return false; }
+ if (circleDistanceY > (rh/2 + cr)) { return false; }
+ if (circleDistanceX <= rw/2) { return true; }
+ if (circleDistanceY <= rh/2) { return true; }
+
+ float cornerDistance = pow(circleDistanceX - rw/2, 2) + pow(circleDistanceY - rh/2, 2);
+ if (cornerDistance <= pow(cr, 2)) {
+ return true;
+ } else {
+ return false;
+ }
+}
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_04/Ex_04.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..dcfddae1c
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_04/Ex_04.pde
@@ -0,0 +1,93 @@
+float ballX;
+float ballY;
+float ballSpeedX = random(3, 5);
+float ballSpeedY = random(-2, 2);
+float ballDiameter = 20.0;
+float ballRadius = ballDiameter/2;
+
+int paddleX;
+int paddleY;
+int paddleHeight = 100;
+int paddleWidth = 20;
+
+void setup() {
+ size(600, 600);
+ paddleX = width-paddleWidth*2;
+ ballX = -ballRadius;
+ ballY = height/2;
+ noCursor();
+}
+
+void draw() {
+ background(0);
+
+ // Update paddle
+ paddleY = mouseY - paddleHeight/2;
+ paddleY = constrain(paddleY, 0, height-paddleHeight);
+
+ // Draw paddle
+ fill(102);
+ noStroke();
+ rect(paddleX, paddleY, paddleWidth, paddleHeight);
+
+ // Draw ball
+ fill(255);
+ noStroke();
+ ellipse(ballX, ballY, ballDiameter, ballDiameter);
+
+ // Update ball location
+ ballX = ballX + ballSpeedX;
+ ballY = ballY + ballSpeedY;
+
+ // Reset position if ball leaves the screen
+ if (ballX > width + ballRadius) {
+ ballX = -ballRadius;
+ ballY = random(height*0.25, height*0.75);
+ ballSpeedX = random(3, 5);
+ ballSpeedY = random(-6, 6);
+ }
+
+ // If ball hits the left edge, change directino of X
+ if (ballX < ballRadius) {
+ ballX = ballRadius;
+ ballSpeedX = ballSpeedX * -1;
+ }
+
+ // If ball hits top or bottom, change direction of Y
+ if (ballY > height - ballRadius) {
+ ballY = height - ballRadius;
+ ballSpeedY = ballSpeedY * -1;
+ } else if (ballY < ballRadius) {
+ ballY = ballRadius;
+ ballSpeedY = ballSpeedY * -1;
+ }
+
+ // Set variable to true if shapes are overlapping, false if not
+ boolean collision = hitPaddle(paddleX, paddleY, paddleWidth, paddleHeight,
+ ballX, ballY, ballDiameter/2);
+
+ // Change ball direction when paddle is hit
+ // and bump it back to the edge of the paddle
+ if (collision == true) {
+ ballSpeedX = ballSpeedX * -1;
+ ballX += ballSpeedX;
+ }
+}
+
+boolean hitPaddle(int rx, int ry, int rw, int rh, float cx, float cy, float cr) {
+
+ float circleDistanceX = abs(cx - rx - rw/2);
+ float circleDistanceY = abs(cy - ry - rh/2);
+
+ if (circleDistanceX > (rw/2 + cr)) { return false; }
+ if (circleDistanceY > (rh/2 + cr)) { return false; }
+ if (circleDistanceX <= rw/2) { return true; }
+ if (circleDistanceY <= rh/2) { return true; }
+
+ float cornerDistance = pow(circleDistanceX - rw/2, 2) + pow(circleDistanceY - rh/2, 2);
+ if (cornerDistance <= pow(cr, 2)) {
+ return true;
+ } else {
+ return false;
+ }
+}
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Ball.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Ball.pde
new file mode 100644
index 000000000..0e924edfb
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Ball.pde
@@ -0,0 +1,59 @@
+class Ball {
+
+ float x; // X-coordinate of the ball
+ float y; // Y-coordinate of the ball
+ float diameter = 20.0; // Diameter of the ball
+ float radius = diameter/2; // Radius of the ball
+ float speedX = random(3, 5); // Speed along the x-axis
+ float speedY = random(-2, 2); // Speed along the y-axis
+
+ Ball() {
+ x = -radius;
+ y = height/2;
+ }
+
+ // Change ball position
+ void update() {
+ // Update ball coordinates
+ x = x + speedX;
+ y = y + speedY;
+
+ // Reset position if ball leaves the screen
+ if (x > width + radius) {
+ x = -radius;
+ y = random(height*0.25, height*0.75);
+ speedX = random(5, 15);
+ speedY = random(-6, 6);
+ }
+
+ // If ball hits the left edge, change direction of X
+ if (x < radius) {
+ x = radius;
+ speedX = speedX * -1;
+ }
+
+ // If ball hits top or bottom, change direction of Y
+ if (y > height - radius) {
+ y = height - radius;
+ speedY = speedY * -1;
+ } else if (y < radius) {
+ y = radius;
+ speedY = speedY * -1;
+ }
+ }
+
+ // Draw ball to the display window
+ void display() {
+ fill(255);
+ noStroke();
+ ellipse(x, y, diameter, diameter);
+ }
+
+ // Change ball direction when paddle is hit
+ // and bump it back to the edge of the paddle
+ void hit(Paddle p) {
+ speedX = speedX * -1;
+ x += speedX;
+ }
+
+}
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Ex_05.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..dd46029c8
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Ex_05.pde
@@ -0,0 +1,45 @@
+Ball ball;
+Paddle paddle;
+
+void setup() {
+ size(600, 600);
+ paddle = new Paddle();
+ ball = new Ball();
+ noCursor();
+}
+
+void draw() {
+ background(0);
+
+ paddle.update(); // Update paddle
+ paddle.display(); // Draw paddle
+
+ ball.update(); // Update ball
+ ball.display(); // Draw ball
+
+ // Set variable to true if shapes are overlapping, false if not
+ boolean collision = hitPaddle(paddle, ball);
+
+ if (collision == true) {
+ ball.hit(paddle);
+ }
+}
+
+boolean hitPaddle(Paddle p, Ball b) {
+
+ float circleDistanceX = abs(b.x - p.x - p.w/2);
+ float circleDistanceY = abs(b.y - p.y - p.h/2);
+
+ if (circleDistanceX > (p.w/2 + b.radius)) { return false; }
+ if (circleDistanceY > (p.h/2 + b.radius)) { return false; }
+ if (circleDistanceX <= p.w/2) { return true; }
+ if (circleDistanceY <= p.h/2) { return true; }
+
+ float cornerDistance = pow(circleDistanceX - p.w/2, 2) + pow(circleDistanceY - p.h/2, 2);
+ if (cornerDistance <= pow(b.radius, 2)) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
diff --git a/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Paddle.pde b/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Paddle.pde
new file mode 100644
index 000000000..c30b91956
--- /dev/null
+++ b/content/handbook_2e/examples/26 Synthesis 3/Ex_05/Paddle.pde
@@ -0,0 +1,27 @@
+class Paddle {
+
+ int x; // X-coordinate of the paddle
+ int y; // Y-coordinate of the paddle
+ int w = 20; // Width of the paddle
+ int h = 100; // Height of the paddle
+
+
+ Paddle() {
+ x = width-w*2;
+ y = height/2;
+ }
+
+ // Change paddle position with cursor
+ void update() {
+ y = mouseY - h/2;
+ y = constrain(y, 0, height-h);
+ }
+
+ // Draw paddle to the display window
+ void display() {
+ fill(102);
+ noStroke();
+ rect(x, y, w, h);
+ }
+
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_01/Ex_01.pde b/content/handbook_2e/examples/28 Arrays/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..22a8362a6
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_01/Ex_01.pde
@@ -0,0 +1,22 @@
+int x0 = 50;
+int x1 = 61;
+int x2 = 83;
+int x3 = 69;
+int x4 = 71;
+int x5 = 50;
+int x6 = 29;
+int x7 = 31;
+int x8 = 17;
+int x9 = 39;
+
+fill(0);
+rect(0, 0, x0, 8);
+rect(0, 10, x1, 8);
+rect(0, 20, x2, 8);
+rect(0, 30, x3, 8);
+rect(0, 40, x4, 8);
+rect(0, 50, x5, 8);
+rect(0, 60, x6, 8);
+rect(0, 70, x7, 8);
+rect(0, 80, x8, 8);
+rect(0, 90, x9, 8);
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_02/Ex_02.pde b/content/handbook_2e/examples/28 Arrays/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..ae7ae2684
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_02/Ex_02.pde
@@ -0,0 +1,7 @@
+int[] x = { 50, 61, 83, 69, 71, 50, 29, 31, 17, 39 };
+
+fill(0);
+// Reads one array element every time through the block
+for (int i = 0; i < x.length; i++) {
+ rect(0, i*10, x[i], 8);
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_03/Ex_03.pde b/content/handbook_2e/examples/28 Arrays/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..1224cbb6f
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_03/Ex_03.pde
@@ -0,0 +1,11 @@
+int[] data; // Declare
+
+void setup() {
+ size(100, 100);
+ data = new int[5]; // Create
+ data[0] = 19; // Assign
+ data[1] = 40;
+ data[2] = 75;
+ data[3] = 76;
+ data[4] = 90;
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_04/Ex_04.pde b/content/handbook_2e/examples/28 Arrays/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..d3dd8e468
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_04/Ex_04.pde
@@ -0,0 +1,10 @@
+int[] data = new int[5]; // Declare, create
+
+void setup() {
+ size(100, 100);
+ data[0] = 19; // Assign
+ data[1] = 40;
+ data[2] = 75;
+ data[3] = 76;
+ data[4] = 90;
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_05/Ex_05.pde b/content/handbook_2e/examples/28 Arrays/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..49598ce83
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_05/Ex_05.pde
@@ -0,0 +1,5 @@
+int[] data = { 19, 40, 75, 76, 90 }; // Declare, create, assign
+
+void setup() {
+ size(100, 100);
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_06/Ex_06.pde b/content/handbook_2e/examples/28 Arrays/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..fe4415a07
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_06/Ex_06.pde
@@ -0,0 +1,7 @@
+int[] data; // Declare
+data = new int[5]; // Create
+data[0] = 19; // Assign
+data[1] = 40;
+data[2] = 75;
+data[3] = 76;
+data[4] = 90;
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_07/Ex_07.pde b/content/handbook_2e/examples/28 Arrays/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..dcc3959c1
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_07/Ex_07.pde
@@ -0,0 +1,6 @@
+int[] data = new int[5]; // Declare, create
+data[0] = 19; // Assign
+data[1] = 40;
+data[2] = 75;
+data[3] = 76;
+data[4] = 90;
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_08/Ex_08.pde b/content/handbook_2e/examples/28 Arrays/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..c0e289750
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_08/Ex_08.pde
@@ -0,0 +1 @@
+int[] data = { 19, 40, 75, 76, 90 }; // Declare, create, assign
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_09/Ex_09.pde b/content/handbook_2e/examples/28 Arrays/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..e1db4d56c
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_09/Ex_09.pde
@@ -0,0 +1,6 @@
+int[] data = { 19, 40, 75, 76, 90 };
+line(data[0], 0, data[0], 100);
+line(data[1], 0, data[1], 100);
+line(data[2], 0, data[2], 100);
+line(data[3], 0, data[3], 100);
+line(data[4], 0, data[4], 100);
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_10/Ex_10.pde b/content/handbook_2e/examples/28 Arrays/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..7a9a26a3a
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_10/Ex_10.pde
@@ -0,0 +1,4 @@
+int[] data = { 19, 40, 75, 76, 90 };
+println(data[0]); // Prints 19 to the console
+println(data[2]); // Prints 75 to the console
+println(data[5]); // ERROR! The last element of the array is 4
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_11/Ex_11.pde b/content/handbook_2e/examples/28 Arrays/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..f69530a5e
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_11/Ex_11.pde
@@ -0,0 +1,6 @@
+int[] data1 = { 19, 40, 75, 76, 90 };
+int[] data2 = { 19, 40 };
+int[] data3 = new int[127];
+println(data1.length); // Prints "5" to the console
+println(data2.length); // Prints "2" to the console
+println(data3.length); // Prints "127" to the console
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_12/Ex_12.pde b/content/handbook_2e/examples/28 Arrays/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..350aa9d92
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_12/Ex_12.pde
@@ -0,0 +1,4 @@
+int[] data = { 19, 40, 75, 76, 90 };
+for (int i = 0; i < data.length; i++) {
+ line(data[i], 0, data[i], 100);
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_13/Ex_13.pde b/content/handbook_2e/examples/28 Arrays/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..c78e06575
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_13/Ex_13.pde
@@ -0,0 +1,13 @@
+float[] sineWave = new float[width];
+
+for (int i = 0; i < sineWave.length; i++) {
+ // Fill the array with values from sin()
+ float r = map(i, 0, width, 0, TWO_PI);
+ sineWave[i] = abs(sin(r));
+}
+
+for (int i = 0; i < sineWave.length; i++) {
+ // Set the stroke values to numbers read from the array
+ stroke(sineWave[i] * 255);
+ line(i, 0, i, height);
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_14/Ex_14.pde b/content/handbook_2e/examples/28 Arrays/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..3d3b8848f
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_14/Ex_14.pde
@@ -0,0 +1,2 @@
+int[] data = { 19, 40, 75, 76, 90 };
+printArray(data); // Prints
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_15/Ex_15.pde b/content/handbook_2e/examples/28 Arrays/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..084e05955
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_15/Ex_15.pde
@@ -0,0 +1,21 @@
+int[] y;
+
+void setup() {
+ size(100, 100);
+ y = new int[width];
+}
+
+void draw() {
+ background(204);
+ // Read the array from the end to the
+ // beginning to avoid overwriting the data
+ for (int i = y.length-1; i > 0; i--) {
+ y[i] = y[i-1];
+ }
+ // Add new values to the beginning
+ y[0] = mouseY;
+ // Display each pair of values as a line
+ for (int i = 1; i < y.length; i++) {
+ line(i, y[i], i-1, y[i-1]);
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_16/Ex_16.pde b/content/handbook_2e/examples/28 Arrays/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..b115a2068
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_16/Ex_16.pde
@@ -0,0 +1,25 @@
+int num = 50;
+int[] x = new int[num];
+int[] y = new int[num];
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(255, 102);
+}
+
+void draw() {
+ background(0);
+ // Shift the values to the right
+ for (int i = num-1; i > 0; i--) {
+ x[i] = x[i-1];
+ y[i] = y[i-1];
+ }
+ // Add the new values to the beginning of the array
+ x[0] = mouseX;
+ y[0] = mouseY;
+ // Draw the circles
+ for (int i = 0; i < num; i++) {
+ ellipse(x[i], y[i], i/2.0, i/2.0);
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_17/Ex_17.pde b/content/handbook_2e/examples/28 Arrays/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..2fdd2137d
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_17/Ex_17.pde
@@ -0,0 +1,13 @@
+String[] trees = { "ash", "oak" };
+append(trees, "maple"); // INCORRECT! Does not change the array
+printArray(trees); // Prints [0] "ash", [1] "oak"
+println();
+trees = append(trees, "maple"); // Add "maple" to the end
+printArray(trees); // Prints [0] "ash", [1] "oak", [2] "maple"
+println();
+// Add "beech" to the end of the trees array, and creates a new
+// array to store the change
+String[] moretrees = append(trees, "beech");
+// Prints [0] "ash", [1] "oak", [2] "maple", [3] "beech"
+printArray(moretrees);
+
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_18/Ex_18.pde b/content/handbook_2e/examples/28 Arrays/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..1bc7264b8
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_18/Ex_18.pde
@@ -0,0 +1,14 @@
+String[] trees = { "ash", "oak" };
+append(trees, "maple"); // INCORRECT! Does not change the array
+printArray(trees); // Prints [0] "ash", [1] "oak"
+println();
+
+trees = append(trees, "maple"); // Add "maple" to the end
+printArray(trees); // Prints [0] "ash", [1] "oak", [2] "maple"
+println();
+
+// Add "beech" to the end of the trees array, and creates a new
+// array to store the change
+String[] moretrees = append(trees, "beech");
+// Prints [0] "ash", [1] "oak", [2] "maple", [3] "beech"
+printArray(moretrees);
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_19/Ex_19.pde b/content/handbook_2e/examples/28 Arrays/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..bba886358
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_19/Ex_19.pde
@@ -0,0 +1,8 @@
+String[] trees = { "lychee", "coconut", "fig"};
+
+trees = shorten(trees); // Remove the last element from the array
+printArray(trees); // Prints [0] "lychee", [1] "coconut"
+println();
+
+trees = shorten(trees); // Remove the last element from the array
+printArray(trees); // Prints [0] "lychee"
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_20/Ex_20.pde b/content/handbook_2e/examples/28 Arrays/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..3e76aec7d
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_20/Ex_20.pde
@@ -0,0 +1,15 @@
+int[] x = new int[100]; // Array to store x-coordinates
+int count = 0; // Positions stored in the array
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ x[count] = mouseX; // Assign new x-coordinate to the array
+ count++; // Increment the counter
+ if (count == x.length) { // If the x array is full,
+ x = expand(x); // double the size of x
+ println(x.length); // Write the new size to the console
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_21/Ex_21.pde b/content/handbook_2e/examples/28 Arrays/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..2337735d2
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_21/Ex_21.pde
@@ -0,0 +1,9 @@
+String[] north = { "OH", "IN", "MI" };
+String[] south = { "GA", "FL", "NC" };
+arraycopy(north, south); // Copy from north array to south array
+printArray(south); // Prints [0] "OH", [1] "IN", [3] "MI"
+println();
+String[] east = { "MA", "NY", "RI" };
+String[] west = new String[east.length]; // Create a new array
+arraycopy(east, west); // Copy from east array to west array
+printArray(west); // Prints [0] "MA", [1] "NY", [2] "RI"
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_22/Ex_22.pde b/content/handbook_2e/examples/28 Arrays/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..33ae4cb1f
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_22/Ex_22.pde
@@ -0,0 +1,16 @@
+float[] data = { 19.0, 40.0, 75.0, 76.0, 90.0 };
+
+void setup() {
+ halve(data);
+ println(data[0]); // Prints "9.5"
+ println(data[1]); // Prints "20.0"
+ println(data[2]); // Prints "37.5"
+ println(data[3]); // Prints "38.0"
+ println(data[4]); // Prints "45.0"
+}
+
+void halve(float[] d) {
+ for (int i = 0; i < d.length; i++) { // For each array element,
+ d[i] = d[i] / 2.0; // divide the value by 2
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_23/Ex_23.pde b/content/handbook_2e/examples/28 Arrays/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..2daf4b297
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_23/Ex_23.pde
@@ -0,0 +1,20 @@
+float[] data = { 19.0, 40.0, 75.0, 76.0, 90.0 };
+float[] halfData;
+
+void setup() {
+ halfData = halve(data); // Run the halve() function
+ println(data[0], halfData[0]); // Prints "19.0, 9.5"
+ println(data[1], halfData[1]); // Prints "40.0, 20.0"
+ println(data[2], halfData[2]); // Prints "75.0, 37.5"
+ println(data[3], halfData[3]); // Prints "76.0, 38.0"
+ println(data[4], halfData[4]); // Prints "90.0, 45.0"
+}
+
+float[] halve(float[] d) {
+ float[] numbers = new float[d.length]; // Create a new array
+ arrayCopy(d, numbers);
+ for (int i = 0; i < numbers.length; i++) { // For each element,
+ numbers[i] = numbers[i] / 2.0; // divide the value by 2
+ }
+ return numbers; // Return the new array
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_24/Ex_24.pde b/content/handbook_2e/examples/28 Arrays/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..7b0a0250c
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_24/Ex_24.pde
@@ -0,0 +1,28 @@
+Ring[] rings; // Declare the array
+int numRings = 50;
+int currentRing = 0;
+
+void setup() {
+ size(100, 100);
+ rings = new Ring[numRings]; // Create the array
+ for (int i = 0; i < numRings; i++) {
+ rings[i] = new Ring(); // Create each object
+ }
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < numRings; i++) {
+ rings[i].grow();
+ rings[i].display();
+ }
+}
+
+// Click to create a new Ring
+void mousePressed() {
+ rings[currentRing].start(mouseX, mouseY);
+ currentRing++;
+ if (currentRing >= numRings) {
+ currentRing = 0;
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_24/Ring.pde b/content/handbook_2e/examples/28 Arrays/Ex_24/Ring.pde
new file mode 100644
index 000000000..53cb75838
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_24/Ring.pde
@@ -0,0 +1,32 @@
+class Ring {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the ring
+ boolean on = false; // Turns the display on and off
+
+ void start(float xpos, float ypos) {
+ x = xpos;
+ y = ypos;
+
+ diameter = 1;
+ on = true;
+ }
+
+ void grow() {
+ if (on == true) {
+ diameter += 0.5;
+ if (diameter > 400) {
+ on = false;
+ diameter = 1;
+ }
+ }
+ }
+
+ void display() {
+ if (on == true) {
+ noFill();
+ strokeWeight(4);
+ stroke(204, 153);
+ ellipse(x, y, diameter, diameter);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_25/Ex_25.pde b/content/handbook_2e/examples/28 Arrays/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..870c99097
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_25/Ex_25.pde
@@ -0,0 +1,26 @@
+Spot[] spots; // Declare array
+
+void setup() {
+ size(700, 100);
+ int numSpots = 70; // Number of objects
+ int dia = width/numSpots; // Calculate diameter
+ spots = new Spot[numSpots]; // Create array
+ for (int i = 0; i < spots.length; i++) {
+ float x = dia/2 + i*dia;
+ float rate = random(0.1, 2.0);
+ // Create each object
+ spots[i] = new Spot(x, 50, dia, rate);
+ }
+ noStroke();
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ for (int i=0; i < spots.length; i++) {
+ spots[i].move(); // Move each object
+ spots[i].display(); // Display each object
+ }
+}
+
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_25/Spot.pde b/content/handbook_2e/examples/28 Arrays/Ex_25/Spot.pde
new file mode 100644
index 000000000..fe60a0035
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_25/Spot.pde
@@ -0,0 +1,25 @@
+class Spot {
+ float x, y; // X-coordinate, y-coordinate
+ float diameter; // Diameter of the circle
+ float speed; // Distance moved each frame
+ int direction = 1; // Direction of motion (1 is down, -1 is up)
+
+ // Constructor
+ Spot(float xpos, float ypos, float dia, float sp) {
+ x = xpos;
+ y = ypos;
+ diameter = dia;
+ speed = sp;
+ }
+
+ void move() {
+ y += (speed * direction);
+ if ((y > (height - diameter/2)) || (y < diameter/2)) {
+ direction *= -1;
+ }
+ }
+
+ void display() {
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_26/Ex_26.pde b/content/handbook_2e/examples/28 Arrays/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..343ca478d
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_26/Ex_26.pde
@@ -0,0 +1,8 @@
+int[][] x = { {50, 0}, {61,204}, {83,51}, {69,102}, {71, 0},
+ {50,153}, {29, 0}, {31,51}, {17,102}, {39,204} };
+
+println(x[0][0]); // Prints "50"
+println(x[0][1]); // Prints "0"
+println(x[4][2]); // ERROR! This element is outside the array
+println(x[3][0]); // Prints "69"
+println(x[9][1]); // Prints "204"
diff --git a/content/handbook_2e/examples/28 Arrays/Ex_27/Ex_27.pde b/content/handbook_2e/examples/28 Arrays/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..017582072
--- /dev/null
+++ b/content/handbook_2e/examples/28 Arrays/Ex_27/Ex_27.pde
@@ -0,0 +1,14 @@
+int[][] x = { {50, 0}, {61,204}, {83,51}, {69,102}, {71, 0},
+ {50,153}, {29, 0}, {31,51}, {17,102}, {39,204} };
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ for (int i = 0; i < x.length; i++) {
+ fill(x[i][1]);
+ rect(0, i*10, x[i][0], 8);
+ }
+}
+
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/Ex_01.pde b/content/handbook_2e/examples/29 Animation/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..f1b24d0f7
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_01/Ex_01.pde
@@ -0,0 +1,28 @@
+int numFrames = 12; // The number of animation frames
+int frame = 0; // The frame to display
+PImage[] images = new PImage[numFrames]; // Image array
+
+void setup() {
+ size(100, 100);
+ frameRate(30); // Maximum 30 frames per second
+ images[0] = loadImage("ani-000.gif");
+ images[1] = loadImage("ani-001.gif");
+ images[2] = loadImage("ani-002.gif");
+ images[3] = loadImage("ani-003.gif");
+ images[4] = loadImage("ani-004.gif");
+ images[5] = loadImage("ani-005.gif");
+ images[6] = loadImage("ani-006.gif");
+ images[7] = loadImage("ani-007.gif");
+ images[8] = loadImage("ani-008.gif");
+ images[9] = loadImage("ani-009.gif");
+ images[10] = loadImage("ani-010.gif");
+ images[11] = loadImage("ani-011.gif");
+}
+
+void draw() {
+ image(images[frame], 0, 0);
+ frame++;
+ if (frame == numFrames) {
+ frame = 0;
+ }
+}
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-000.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-000.gif
new file mode 100644
index 000000000..1a62c89dd
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-000.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-001.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-001.gif
new file mode 100644
index 000000000..8fa73ba5f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-001.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-002.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-002.gif
new file mode 100644
index 000000000..b9862cdb9
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-002.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-003.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-003.gif
new file mode 100644
index 000000000..78d757200
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-003.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-004.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-004.gif
new file mode 100644
index 000000000..bc9a90347
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-004.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-005.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-005.gif
new file mode 100644
index 000000000..55454e80f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-005.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-006.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-006.gif
new file mode 100644
index 000000000..ed3fd318f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-006.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-007.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-007.gif
new file mode 100644
index 000000000..b91b69d94
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-007.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-008.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-008.gif
new file mode 100644
index 000000000..b32af1571
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-008.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-009.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-009.gif
new file mode 100644
index 000000000..da247b92e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-009.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-010.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-010.gif
new file mode 100644
index 000000000..6752a466e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-010.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-011.gif b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-011.gif
new file mode 100644
index 000000000..332652d91
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_01/data/ani-011.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/Ex_02.pde b/content/handbook_2e/examples/29 Animation/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..c29f55f97
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_02/Ex_02.pde
@@ -0,0 +1,19 @@
+int numFrames = 12; // The number of animation frames
+PImage[] images = new PImage[numFrames]; // Image array
+
+void setup() {
+ size(100, 100);
+ frameRate(30); // Maximum 30 frames per second
+ // Automate the image loading
+ for (int i = 0; i < images.length; i++) {
+ // Construct the name of the image to load
+ String imageName = "ani-" + nf(i, 3) + ".gif";
+ images[i] = loadImage(imageName);
+ }
+}
+
+void draw() {
+ // Calculate the frame to display, use % to cycle through frames
+ int frame = frameCount % numFrames;
+ image(images[frame], 0, 0);
+}
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-000.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-000.gif
new file mode 100644
index 000000000..1a62c89dd
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-000.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-001.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-001.gif
new file mode 100644
index 000000000..8fa73ba5f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-001.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-002.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-002.gif
new file mode 100644
index 000000000..b9862cdb9
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-002.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-003.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-003.gif
new file mode 100644
index 000000000..78d757200
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-003.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-004.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-004.gif
new file mode 100644
index 000000000..bc9a90347
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-004.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-005.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-005.gif
new file mode 100644
index 000000000..55454e80f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-005.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-006.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-006.gif
new file mode 100644
index 000000000..ed3fd318f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-006.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-007.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-007.gif
new file mode 100644
index 000000000..b91b69d94
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-007.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-008.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-008.gif
new file mode 100644
index 000000000..b32af1571
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-008.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-009.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-009.gif
new file mode 100644
index 000000000..da247b92e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-009.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-010.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-010.gif
new file mode 100644
index 000000000..6752a466e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-010.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-011.gif b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-011.gif
new file mode 100644
index 000000000..332652d91
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_02/data/ani-011.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/Ex_03.pde b/content/handbook_2e/examples/29 Animation/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..b23f32816
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_03/Ex_03.pde
@@ -0,0 +1,16 @@
+int numFrames = 5; // The number of animation frames
+PImage[] images = new PImage[numFrames];
+
+void setup() {
+ size(100, 100);
+ for (int i = 0; i < images.length; i++) {
+ String imageName = "ani-" + nf(i, 3) + ".gif";
+ images[i] = loadImage(imageName);
+ }
+}
+
+void draw() {
+ int frame = int(random(0, numFrames)); // The frame to display
+ image(images[frame], 0, 0);
+ frameRate(random(1, 60.0));
+}
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-000.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-000.gif
new file mode 100644
index 000000000..1a62c89dd
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-000.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-001.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-001.gif
new file mode 100644
index 000000000..8fa73ba5f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-001.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-002.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-002.gif
new file mode 100644
index 000000000..b9862cdb9
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-002.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-003.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-003.gif
new file mode 100644
index 000000000..78d757200
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-003.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-004.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-004.gif
new file mode 100644
index 000000000..bc9a90347
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-004.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-005.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-005.gif
new file mode 100644
index 000000000..55454e80f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-005.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-006.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-006.gif
new file mode 100644
index 000000000..ed3fd318f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-006.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-007.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-007.gif
new file mode 100644
index 000000000..b91b69d94
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-007.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-008.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-008.gif
new file mode 100644
index 000000000..b32af1571
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-008.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-009.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-009.gif
new file mode 100644
index 000000000..da247b92e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-009.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-010.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-010.gif
new file mode 100644
index 000000000..6752a466e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-010.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-011.gif b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-011.gif
new file mode 100644
index 000000000..332652d91
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_03/data/ani-011.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/Ex_04.pde b/content/handbook_2e/examples/29 Animation/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..b342acb85
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_04/Ex_04.pde
@@ -0,0 +1,24 @@
+int numFrames = 12; // The number of animation frames
+int topFrame = 0; // The top frame to display
+int bottomFrame = 0; // The bottom frame to display
+PImage[] images = new PImage[numFrames];
+int lastTime = 0;
+
+void setup() {
+ size(100, 100);
+ frameRate(30);
+ for (int i = 0; i < images.length; i++) {
+ String imageName = "ani-" + nf(i, 3) + ".gif";
+ images[i] = loadImage(imageName);
+ }
+}
+
+void draw() {
+ image(images[bottomFrame], 0, 50);
+ topFrame = (topFrame + 1) % numFrames;
+ image(images[topFrame], 0, 0);
+ if ((millis() - lastTime) > 500) {
+ bottomFrame = (bottomFrame + 1) % numFrames;
+ lastTime = millis();
+ }
+}
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-000.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-000.gif
new file mode 100644
index 000000000..1a62c89dd
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-000.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-001.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-001.gif
new file mode 100644
index 000000000..8fa73ba5f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-001.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-002.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-002.gif
new file mode 100644
index 000000000..b9862cdb9
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-002.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-003.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-003.gif
new file mode 100644
index 000000000..78d757200
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-003.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-004.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-004.gif
new file mode 100644
index 000000000..bc9a90347
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-004.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-005.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-005.gif
new file mode 100644
index 000000000..55454e80f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-005.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-006.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-006.gif
new file mode 100644
index 000000000..ed3fd318f
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-006.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-007.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-007.gif
new file mode 100644
index 000000000..b91b69d94
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-007.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-008.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-008.gif
new file mode 100644
index 000000000..b32af1571
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-008.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-009.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-009.gif
new file mode 100644
index 000000000..da247b92e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-009.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-010.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-010.gif
new file mode 100644
index 000000000..6752a466e
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-010.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-011.gif b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-011.gif
new file mode 100644
index 000000000..332652d91
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_04/data/ani-011.gif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_05/Ex_05.pde b/content/handbook_2e/examples/29 Animation/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..10a026ed5
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_05/Ex_05.pde
@@ -0,0 +1,4 @@
+line(0, 0, width, height);
+line(width, 0, 0, height);
+// Saves the TIFF file "x.tif" to the current sketch's folder
+save("x.tif");
diff --git a/content/handbook_2e/examples/29 Animation/Ex_06/Ex_06.pde b/content/handbook_2e/examples/29 Animation/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..fcc487470
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_06/Ex_06.pde
@@ -0,0 +1,4 @@
+line(0, 0, width, height);
+// Saves the TIFF file "line.tif" to the current sketch's folder
+save("line.tif");
+line(width, 0, 0, height);
diff --git a/content/handbook_2e/examples/29 Animation/Ex_06/line.tif b/content/handbook_2e/examples/29 Animation/Ex_06/line.tif
new file mode 100644
index 000000000..bfd139366
Binary files /dev/null and b/content/handbook_2e/examples/29 Animation/Ex_06/line.tif differ
diff --git a/content/handbook_2e/examples/29 Animation/Ex_07/Ex_07.pde b/content/handbook_2e/examples/29 Animation/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..5dc2204b7
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_07/Ex_07.pde
@@ -0,0 +1,8 @@
+// Save the first 50 frames
+void draw() {
+ background(0);
+ ellipse(mouseX, 50, 40, 40);
+ if (frameCount <= 50) {
+ saveFrame("circles-####.tif");
+ }
+}
diff --git a/content/handbook_2e/examples/29 Animation/Ex_08/Ex_08.pde b/content/handbook_2e/examples/29 Animation/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..feb7e9e44
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_08/Ex_08.pde
@@ -0,0 +1,8 @@
+// Save 24 frames, from x-1000.tif to x-1023.tif
+void draw() {
+ background(204);
+ line(mouseX, mouseY, pmouseX, pmouseY);
+ if ((frameCount > 999) && (frameCount < 1024)) {
+ saveFrame("line-####.tif");
+ }
+}
diff --git a/content/handbook_2e/examples/29 Animation/Ex_09/Ex_09.pde b/content/handbook_2e/examples/29 Animation/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..fb9c7912a
--- /dev/null
+++ b/content/handbook_2e/examples/29 Animation/Ex_09/Ex_09.pde
@@ -0,0 +1,8 @@
+// Save every fifth frame (i.e., x-0005.tif, x-0010.tif, x-0015.tif)
+void draw() {
+ background(204);
+ line(mouseX, mouseY, pmouseX, pmouseY);
+ if ((frameCount % 5) == 0) {
+ saveFrame("line-####.tif");
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_01/Ex_01.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..be5f3aef7
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_01/Ex_01.pde
@@ -0,0 +1,8 @@
+void setup() {
+ size(100, 100);
+ noSmooth();
+}
+
+void draw() {
+ point(mouseX, mouseY);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_02/Ex_02.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..ca3ee237a
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_02/Ex_02.pde
@@ -0,0 +1,7 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ line(mouseX, mouseY, pmouseX, pmouseY);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_03/Ex_03.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..8d1b20035
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_03/Ex_03.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ line(mouseX, mouseY, pmouseX, pmouseY);
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_04/Ex_04.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..7b005d27d
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_04/Ex_04.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ if (mousePressed == true) { // If mouse is pressed,
+ stroke(255); // set the stroke to white
+ } else { // Otherwise,
+ stroke(0); // set to black
+ }
+ line(mouseX, mouseY, pmouseX, pmouseY);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_05/Ex_05.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..d5df95cb5
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_05/Ex_05.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ for (int i = 0; i < 50; i += 2) {
+ point(mouseX+i, mouseY+i);
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_06/Ex_06.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..92258a0ec
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_06/Ex_06.pde
@@ -0,0 +1,9 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ for (int i = -14; i <= 14; i += 2) {
+ point(mouseX+i, mouseY);
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_07/Ex_07.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..1a4ecefd4
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_07/Ex_07.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100);
+ noStroke();
+ fill(255, 40);
+ background(0);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ fill(0, 26);
+ } else {
+ fill(255, 26);
+ }
+ for (int i = 0; i < 6; i++) {
+ ellipse(mouseX + i*i, mouseY, i, i);
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_08/Ex_08.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..86fd763dd
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_08/Ex_08.pde
@@ -0,0 +1,11 @@
+PImage lineImage;
+
+void setup() {
+ size(100, 100);
+ // This image is 100 pixels wide, but one pixel tall
+ lineImage = loadImage("imageline.jpg");
+}
+
+void draw() {
+ image(lineImage, mouseX-lineImage.width/2, mouseY);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_08/data/imageline.jpg b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_08/data/imageline.jpg
new file mode 100644
index 000000000..cb7ad356e
Binary files /dev/null and b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_08/data/imageline.jpg differ
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_09/Ex_09.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..ac6f926a2
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_09/Ex_09.pde
@@ -0,0 +1,14 @@
+PImage alphaImg;
+
+void setup() {
+ size(100, 100);
+ // This image is partially transparent
+ alphaImg = loadImage("dwp.png");
+ background(0);
+}
+
+void draw() {
+ int ix = mouseX - alphaImg.width/2;
+ int iy = mouseY - alphaImg.height/2;
+ image(alphaImg, ix, iy);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_09/data/dwp.png b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_09/data/dwp.png
new file mode 100644
index 000000000..3ee0c99f9
Binary files /dev/null and b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_09/data/dwp.png differ
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/Ex_10.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..924248dbc
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/Ex_10.pde
@@ -0,0 +1,15 @@
+PShape map;
+
+void setup() {
+ size(100, 100);
+ map = loadShape("antarctica.svg");
+ map.disableStyle();
+ stroke(255, 10);
+ noFill();
+ background(0);
+ shapeMode(CENTER);
+}
+
+void draw() {
+ shape(map, mouseX, mouseY);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/data/antarctica.svg b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/data/antarctica.svg
new file mode 100644
index 000000000..b2e13775a
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/data/antarctica.svg
@@ -0,0 +1,917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/data/dwp.png b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/data/dwp.png
new file mode 100644
index 000000000..3ee0c99f9
Binary files /dev/null and b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_10/data/dwp.png differ
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_11/Ex_11.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..57a61daa9
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_11/Ex_11.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(700, 100);
+ stroke(0, 102);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ float weight = dist(mouseX, mouseY, pmouseX, pmouseY);
+ strokeWeight(weight);
+ line(mouseX, mouseY, pmouseX, pmouseY);
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_12/Ex_12.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..810f78089
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_12/Ex_12.pde
@@ -0,0 +1,22 @@
+float x, y;
+float px, py;
+float easing = 0.1;
+
+void setup() {
+ size(600, 100);
+ stroke(0, 102);
+}
+
+void draw() {
+ float targetX = mouseX;
+ float targetY = mouseY;
+ x += (targetX - x) * easing;
+ y += (targetY - y) * easing;
+ float weight = dist(x, y, px, py);
+ strokeWeight(weight);
+ if (mousePressed == true) {
+ line(x, y, px, py);
+ }
+ py = y;
+ px = x;
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_13/Ex_13.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..5f61fbccd
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_13/Ex_13.pde
@@ -0,0 +1,14 @@
+void setup() {
+ size(700, 100);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ float angle = atan2(mouseY-height/2, mouseX-width/2);
+ pushMatrix();
+ translate(mouseX, mouseY);
+ rotate(angle);
+ line(0, 0, 50, 0);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_14/Ex_14.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..bc3689159
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_14/Ex_14.pde
@@ -0,0 +1,21 @@
+int clickX, clickY;
+
+void setup() {
+ size(700, 100);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ float angle = atan2(mouseY-clickY, mouseX-clickX);
+ pushMatrix();
+ translate(mouseX, mouseY);
+ rotate(angle);
+ line(0, 0, 50, 0);
+ popMatrix();
+ }
+}
+
+void mousePressed() {
+ clickX = mouseX;
+ clickY = mouseY;
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_15/Ex_15.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..9826e3390
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_15/Ex_15.pde
@@ -0,0 +1,24 @@
+int angle = 0;
+
+void setup() {
+ size(700, 100);
+ noStroke();
+ fill(0, 102);
+}
+
+void draw() {
+ if (mousePressed == true) {
+ angle += 10;
+ float val = cos(radians(angle)) * 6.0;
+ // Draw an cluster of circles
+ for (int a = 0; a < 360; a += 75) {
+ float xoff = cos(radians(a)) * val;
+ float yoff = sin(radians(a)) * val;
+ fill(0);
+ ellipse(mouseX + xoff, mouseY + yoff, val/2, val/2);
+ }
+ fill(255);
+ ellipse(mouseX, mouseY, 2, 2);
+ }
+}
+
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_16/Ex_16.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..833b3f5f0
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_16/Ex_16.pde
@@ -0,0 +1,35 @@
+Blade diagonal;
+
+void setup() {
+ size(700, 100);
+ noSmooth();
+ diagonal = new Blade(30, 80);
+}
+
+void draw() {
+ diagonal.grow();
+}
+
+void mouseMoved() {
+ diagonal.seed(mouseX, mouseY);
+}
+
+class Blade {
+ float x, y;
+
+ Blade(int xpos, int ypos) {
+ x = xpos;
+ y = ypos;
+ }
+
+ void seed(int xpos, int ypos) {
+ x = xpos;
+ y = ypos;
+ }
+
+ void grow() {
+ x += 0.5;
+ y -= 1.0;
+ point(x, y);
+ }
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_17/Ex_17.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..3e81f984c
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_17/Ex_17.pde
@@ -0,0 +1,17 @@
+float x1, y1, x2, y2;
+
+void setup() {
+ size(100, 100);
+ x1 = width / 4.0;
+ y1 = x1;
+ x2 = width - x1;
+ y2 = x2;
+}
+void draw() {
+ background(204);
+ x1 += random(-0.5, 0.5);
+ y1 += random(-0.5, 0.5);
+ x2 += random(-0.5, 0.5);
+ y2 += random(-0.5, 0.5);
+ line(x1, y1, x2, y2);
+}
diff --git a/content/handbook_2e/examples/30 Dynamic Drawing/Ex_18/Ex_18.pde b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..31d3aec53
--- /dev/null
+++ b/content/handbook_2e/examples/30 Dynamic Drawing/Ex_18/Ex_18.pde
@@ -0,0 +1,44 @@
+int numLines = 500;
+MovingLine[] lines = new MovingLine[numLines];
+int currentLine = 0;
+
+void setup() {
+ size(300, 100);
+ for (int i = 0; i < numLines; i++) {
+ lines[i] = new MovingLine();
+ }
+}
+
+void draw() {
+ background(204);
+ for (int i = 0; i < currentLine; i++) {
+ lines[i].display();
+ }
+}
+
+void mouseDragged() {
+ lines[currentLine].setPosition(mouseX, mouseY,
+ pmouseX, pmouseY);
+ if (currentLine < numLines - 1) {
+ currentLine++;
+ }
+}
+
+class MovingLine {
+ float x1, y1, x2, y2;
+
+ void setPosition(int x, int y, int px, int py) {
+ x1 = x;
+ y1 = y;
+ x2 = px;
+ y2 = py;
+ }
+
+ void display() {
+ x1 += random(-0.1, 0.1);
+ y1 += random(-0.1, 0.1);
+ x2 += random(-0.1, 0.1);
+ y2 += random(-0.1, 0.1);
+ line(x1, y1, x2, y2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_01/Ex_01.pde b/content/handbook_2e/examples/31 Simulate/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..c2e1e9b41
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_01/Ex_01.pde
@@ -0,0 +1,23 @@
+float y = 50.0;
+float radius = 15.0;
+float velocity = 0.0;
+float acceleration = 0.01;
+
+void setup() {
+ size(100, 100);
+
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ fill(0, 10);
+ rect(0, 0, width, height);
+ fill(255);
+ ellipse(33, y, radius, radius);
+ velocity += acceleration; // Increase the velocity
+ y += velocity; // Update the position
+ if (y > height+radius) { // If over the bottom edge,
+ y = -radius; // move to the top
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_02/Ex_02.pde b/content/handbook_2e/examples/31 Simulate/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..b109bc87a
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_02/Ex_02.pde
@@ -0,0 +1,22 @@
+float y = 50.0;
+float radius = 15.0;
+float velocity = 9.0;
+float acceleration = -0.05;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ ellipse(33, y, radius, radius);
+ velocity += acceleration;
+ y += velocity;
+ if (y > height+radius) {
+ y = -radius;
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_03/Ex_03.pde b/content/handbook_2e/examples/31 Simulate/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..e8d847b13
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_03/Ex_03.pde
@@ -0,0 +1,22 @@
+float y = 50.0;
+float radius = 15.0;
+float velocity = 8.0;
+float friction = 0.98;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ ellipse(33, y, radius, radius);
+ velocity *= friction;
+ y += velocity;
+ if (y > height+radius) {
+ y = -radius;
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_04/Ex_04.pde b/content/handbook_2e/examples/31 Simulate/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..c7713df24
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_04/Ex_04.pde
@@ -0,0 +1,26 @@
+float x = 33;
+float y = 5;
+float velocity = 0.0;
+float radius = 15.0;
+float friction = 0.99;
+float acceleration = 0.3;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ ellipseMode(RADIUS);
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ velocity += acceleration;
+ velocity *= friction;
+ y += velocity;
+ if (y > (height-radius)) {
+ y = height - radius;
+ velocity = -velocity;
+ }
+ ellipse(x, y, radius, radius);
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_05/Ex_05.pde b/content/handbook_2e/examples/31 Simulate/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_05/Ex_05.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_06/Ex_06.pde b/content/handbook_2e/examples/31 Simulate/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..b1e65f492
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_06/Ex_06.pde
@@ -0,0 +1,17 @@
+// Requires Particle class
+
+Particle p;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ p = new Particle(0, height, 2.2, -4.2, 20.0);
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ p.update();
+ p.display();
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_06/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_06/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_06/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_07/Ex_07.pde b/content/handbook_2e/examples/31 Simulate/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..88abacd7c
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_07/Ex_07.pde
@@ -0,0 +1,20 @@
+class GenParticle extends Particle {
+ float originX, originY;
+
+ GenParticle(int xpos, int ypos, float velx, float vely,
+ float r, float ox, float oy) {
+ super(xpos, ypos, velx, vely, r);
+ originX = ox;
+ originY = oy;
+ }
+
+ void regenerate() {
+ if ((x > width+radius) || (x < -radius) ||
+ (y > height+radius) || (y < -radius)) {
+ x = originX;
+ y = originY;
+ vx = random(-1.0, 1.0);
+ vy = random(-4.0, -2.0);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_07/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_07/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_07/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_08/Ex_08.pde b/content/handbook_2e/examples/31 Simulate/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..01fee05bd
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_08/Ex_08.pde
@@ -0,0 +1,27 @@
+// Requires Particle and GenParticle classes
+
+int numParticles = 200;
+GenParticle[] p = new GenParticle[numParticles];
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ for (int i = 0; i < p.length; i++) {
+ float velX = random(-1, 1);
+ float velY = -i;
+ // Inputs: x, y, x-velocity, y-velocity,
+ // radius, origin x, origin y
+ p[i] = new GenParticle(width/2, height/2, velX, velY, 5.0, width/2, height/2);
+ }
+}
+
+void draw() {
+ fill(0, 36);
+ rect(0, 0, width, height);
+ fill(255, 60);
+ for (GenParticle part : p) {
+ part.update();
+ part.regenerate();
+ part.display();
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_08/GenParticle.pde b/content/handbook_2e/examples/31 Simulate/Ex_08/GenParticle.pde
new file mode 100644
index 000000000..88abacd7c
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_08/GenParticle.pde
@@ -0,0 +1,20 @@
+class GenParticle extends Particle {
+ float originX, originY;
+
+ GenParticle(int xpos, int ypos, float velx, float vely,
+ float r, float ox, float oy) {
+ super(xpos, ypos, velx, vely, r);
+ originX = ox;
+ originY = oy;
+ }
+
+ void regenerate() {
+ if ((x > width+radius) || (x < -radius) ||
+ (y > height+radius) || (y < -radius)) {
+ x = originX;
+ y = originY;
+ vx = random(-1.0, 1.0);
+ vy = random(-4.0, -2.0);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_08/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_08/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_08/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_09/Ex_09.pde b/content/handbook_2e/examples/31 Simulate/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..c62b36ed8
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_09/Ex_09.pde
@@ -0,0 +1,25 @@
+class LimitedParticle extends Particle {
+ float friction = 0.99;
+
+ LimitedParticle(int xpos, int ypos, float velx, float vely, float r) {
+ super(xpos, ypos, velx, vely, r);
+ }
+
+ void update() {
+ vx *= friction;
+ vy *= friction;
+ super.update();
+ limit();
+ }
+
+ void limit() {
+ if ((x < radius) || (x > width-radius)) {
+ vx = -vx;
+ x = constrain(x, radius, width-radius);
+ }
+ if (y > height-radius) {
+ vy = -vy;
+ y = height-radius;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_09/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_09/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_09/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_10/Ex_10.pde b/content/handbook_2e/examples/31 Simulate/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..cfd37722f
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_10/Ex_10.pde
@@ -0,0 +1,29 @@
+// Requires Particle and LimitedParticle classes
+
+int num = 80;
+LimitedParticle[] p = new LimitedParticle[num];
+float radius = 1.2;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ for (int i = 0; i < p.length; i++) {
+ float velX = random(-2, 2);
+ float velY = -i;
+ // Inputs: x, y, x-velocity, y-velocity, radius
+ p[i] = new LimitedParticle(width/2, height/2,
+ velX, velY, 2.2);
+ }
+}
+
+void draw() {
+ fill(0, 24);
+ rect(0, 0, width, height);
+ fill(255);
+ for (LimitedParticle part : p) {
+ part.update();
+ part.display();
+ }
+}
+
+
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_10/LimitedParticle.pde b/content/handbook_2e/examples/31 Simulate/Ex_10/LimitedParticle.pde
new file mode 100644
index 000000000..c62b36ed8
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_10/LimitedParticle.pde
@@ -0,0 +1,25 @@
+class LimitedParticle extends Particle {
+ float friction = 0.99;
+
+ LimitedParticle(int xpos, int ypos, float velx, float vely, float r) {
+ super(xpos, ypos, velx, vely, r);
+ }
+
+ void update() {
+ vx *= friction;
+ vy *= friction;
+ super.update();
+ limit();
+ }
+
+ void limit() {
+ if ((x < radius) || (x > width-radius)) {
+ vx = -vx;
+ x = constrain(x, radius, width-radius);
+ }
+ if (y > height-radius) {
+ vy = -vy;
+ y = height-radius;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_10/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_10/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_10/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_11/Ex_11.pde b/content/handbook_2e/examples/31 Simulate/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..30faf8021
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_11/Ex_11.pde
@@ -0,0 +1,26 @@
+class ArrowParticle extends Particle {
+ float angle = 0.0;
+ float shaftLength = 20.0;
+
+ ArrowParticle(int xpos, int ypos, float velx, float vely, float r) {
+ super(xpos, ypos, velx, vely, r);
+ }
+
+ void update() {
+ super.update();
+ angle = atan2(vy, vx);
+ }
+
+ void display() {
+ stroke(255);
+ pushMatrix();
+ translate(x, y);
+ rotate(angle);
+ scale(shaftLength);
+ strokeWeight(1.0 / shaftLength);
+ line(0, 0, 1, 0);
+ line(1, 0, 0.7, -0.3);
+ line(1, 0, 0.7, 0.3);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_11/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_11/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_11/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_12/ArrowParticle.pde b/content/handbook_2e/examples/31 Simulate/Ex_12/ArrowParticle.pde
new file mode 100644
index 000000000..30faf8021
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_12/ArrowParticle.pde
@@ -0,0 +1,26 @@
+class ArrowParticle extends Particle {
+ float angle = 0.0;
+ float shaftLength = 20.0;
+
+ ArrowParticle(int xpos, int ypos, float velx, float vely, float r) {
+ super(xpos, ypos, velx, vely, r);
+ }
+
+ void update() {
+ super.update();
+ angle = atan2(vy, vx);
+ }
+
+ void display() {
+ stroke(255);
+ pushMatrix();
+ translate(x, y);
+ rotate(angle);
+ scale(shaftLength);
+ strokeWeight(1.0 / shaftLength);
+ line(0, 0, 1, 0);
+ line(1, 0, 0.7, -0.3);
+ line(1, 0, 0.7, 0.3);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_12/Ex_12.pde b/content/handbook_2e/examples/31 Simulate/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..6d5f905c3
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_12/Ex_12.pde
@@ -0,0 +1,23 @@
+// Requires Particle, ArrowParticle classes
+
+int num = 320;
+ArrowParticle[] p = new ArrowParticle[num];
+float radius = 1.2;
+
+void setup() {
+ size(700, 100);
+ for (int i = 0; i < p.length; i++) {
+ float velX = random(1, 8);
+ float velY = random(-5, -1);
+ // Parameters: x, y, x-velocity, y-velocity, radius
+ p[i] = new ArrowParticle(0, height/2, velX, velY, 1.2);
+ }
+}
+
+void draw() {
+ background(0);
+ for (ArrowParticle part : p) {
+ part.update();
+ part.display();
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_12/Particle.pde b/content/handbook_2e/examples/31 Simulate/Ex_12/Particle.pde
new file mode 100644
index 000000000..9efc5ff60
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_12/Particle.pde
@@ -0,0 +1,24 @@
+class Particle {
+ float x, y; // The x- and y-coordinates
+ float vx, vy; // The x- and y-velocities
+ float radius; // Particle radius
+ float gravity = 0.1;
+
+ Particle(int xpos, int ypos, float velx, float vely, float r) {
+ x = xpos;
+ y = ypos;
+ vx = velx;
+ vy = vely;
+ radius = r;
+ }
+
+ void update() {
+ vy += gravity;
+ y += vy;
+ x += vx;
+ }
+
+ void display() {
+ ellipse(x, y, radius*2, radius*2);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_13/Ex_13.pde b/content/handbook_2e/examples/31 Simulate/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..e5f5f5513
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_13/Ex_13.pde
@@ -0,0 +1,21 @@
+float stiffness = 0.1;
+float damping = 0.9;
+float velocity = 0.0;
+float targetY = 0.0;
+float y = 0.0;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+ float force = stiffness * (targetY - y); // f = -kx
+ velocity = damping * (velocity + force);
+ y += velocity;
+ rect(10, y, width-20, 12);
+ targetY = mouseY;
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_14/Ex_14.pde b/content/handbook_2e/examples/31 Simulate/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..239bacfe1
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_14/Ex_14.pde
@@ -0,0 +1,31 @@
+float y1, y2;
+float velocity1, velocity2;
+float mass1 = 1.0;
+float mass2 = 6.0;
+float stiffness = 0.1;
+float damping = 0.9;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ fill(0, 12);
+ rect(0, 0, width, height);
+ fill(255);
+
+ float targetY = mouseY;
+
+ float forceA = stiffness * (targetY - y1);
+ float accelerationY1 = forceA / mass1;
+ velocity1 = damping * (velocity1 + accelerationY1);
+ y1 += velocity1;
+ rect(10, y1, 40, 15);
+
+ float forceB = stiffness * (targetY - y2);
+ float accelerationY2 = forceB / mass2;
+ velocity2 = damping * (velocity2 + accelerationY2);
+ y2 += velocity2;
+ rect(50, y2, 40, 15);
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_15/Ex_15.pde b/content/handbook_2e/examples/31 Simulate/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..5c9a1f904
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_15/Ex_15.pde
@@ -0,0 +1,35 @@
+class Spring2D {
+ float vx, vy; // The x- and y-axis velocities
+ float x, y; // The x- and y-coordinates
+ float mass;
+ float gravity;
+ float radius = 10.0;
+ float stiffness = 0.2;
+ float damping = 0.7;
+
+ Spring2D(float xpos, float ypos, float m, float g) {
+ x = xpos;
+ y = ypos;
+ mass = m;
+ gravity = g;
+ }
+
+ void update(float targetX, float targetY) {
+ float forceX = (targetX - x) * stiffness;
+ float ax = forceX / mass;
+ vx = damping * (vx + ax);
+ x += vx;
+ float forceY = (targetY - y) * stiffness;
+ forceY += gravity;
+ float ay = forceY / mass;
+ vy = damping * (vy + ay);
+ y += vy;
+ }
+
+ void display(float nx, float ny) {
+ noStroke();
+ ellipse(x, y, radius*2, radius*2);
+ stroke(255);
+ line(x, y, nx, ny);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_16/Ex_16.pde b/content/handbook_2e/examples/31 Simulate/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..ec4602eca
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_16/Ex_16.pde
@@ -0,0 +1,22 @@
+// Requires Spring2D Class
+
+Spring2D s1, s2;
+float gravity = 5.0;
+float mass = 2.0;
+
+void setup() {
+ size(100, 100);
+
+ fill(0);
+ // Inputs: x, y, mass, gravity
+ s1 = new Spring2D(0.0, width/2, mass, gravity);
+ s2 = new Spring2D(0.0, width/2, mass, gravity);
+}
+
+void draw() {
+ background(204);
+ s1.update(mouseX, mouseY);
+ s1.display(mouseX, mouseY);
+ s2.update(s1.x, s1.y);
+ s2.display(s1.x, s1.y);
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_16/Spring2D.pde b/content/handbook_2e/examples/31 Simulate/Ex_16/Spring2D.pde
new file mode 100644
index 000000000..66f741562
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_16/Spring2D.pde
@@ -0,0 +1,35 @@
+class Spring2D {
+ float vx, vy; // The x- and y-axis velocities
+ float x, y; // The x- and y-coordinates
+ float mass;
+ float gravity;
+ float radius = 10;
+ float stiffness = 0.2;
+ float damping = 0.7;
+
+ Spring2D(float xpos, float ypos, float m, float g) {
+ x = xpos;
+ y = ypos;
+ mass = m;
+ gravity = g;
+ }
+
+ void update(float targetX, float targetY) {
+ float forceX = (targetX - x) * stiffness;
+ float ax = forceX / mass;
+ vx = damping * (vx + ax);
+ x += vx;
+ float forceY = (targetY - y) * stiffness;
+ forceY += gravity;
+ float ay = forceY / mass;
+ vy = damping * (vy + ay);
+ y += vy;
+ }
+
+ void display(float nx, float ny) {
+ noStroke();
+ ellipse(x, y, radius*2, radius*2);
+ stroke(255);
+ line(x, y, nx, ny);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_17/Ex_17.pde b/content/handbook_2e/examples/31 Simulate/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..d8e936fc8
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_17/Ex_17.pde
@@ -0,0 +1,24 @@
+// Requires Spring2D Class
+
+int numSprings = 12;
+Spring2D[] s = new Spring2D[numSprings];
+float mass = 3.0;
+float gravity = 5.0;
+
+void setup() {
+ size(100, 400);
+ fill(0);
+ for (int i = 0; i < s.length; i++) {
+ s[i] = new Spring2D(width/2, i*(height/numSprings), mass, gravity);
+ }
+}
+
+void draw() {
+ background(204);
+ s[0].update(mouseX, mouseY);
+ s[0].display(mouseX, mouseY);
+ for (int i = 1; i < s.length; i++) {
+ s[i].update(s[i-1].x, s[i-1].y);
+ s[i].display(s[i-1].x, s[i-1].y);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_17/Spring2D.pde b/content/handbook_2e/examples/31 Simulate/Ex_17/Spring2D.pde
new file mode 100644
index 000000000..66f741562
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_17/Spring2D.pde
@@ -0,0 +1,35 @@
+class Spring2D {
+ float vx, vy; // The x- and y-axis velocities
+ float x, y; // The x- and y-coordinates
+ float mass;
+ float gravity;
+ float radius = 10;
+ float stiffness = 0.2;
+ float damping = 0.7;
+
+ Spring2D(float xpos, float ypos, float m, float g) {
+ x = xpos;
+ y = ypos;
+ mass = m;
+ gravity = g;
+ }
+
+ void update(float targetX, float targetY) {
+ float forceX = (targetX - x) * stiffness;
+ float ax = forceX / mass;
+ vx = damping * (vx + ax);
+ x += vx;
+ float forceY = (targetY - y) * stiffness;
+ forceY += gravity;
+ float ay = forceY / mass;
+ vy = damping * (vy + ay);
+ y += vy;
+ }
+
+ void display(float nx, float ny) {
+ noStroke();
+ ellipse(x, y, radius*2, radius*2);
+ stroke(255);
+ line(x, y, nx, ny);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_18/Ex_18.pde b/content/handbook_2e/examples/31 Simulate/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..c21896d4a
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_18/Ex_18.pde
@@ -0,0 +1,22 @@
+class FixedSpring extends Spring2D {
+ float springLength;
+
+ FixedSpring (float xpos, float ypos, float m, float g, float s) {
+ super(xpos, ypos, m, g);
+ springLength = s;
+ }
+
+ void update(float newX, float newY) {
+ // Calculate the target position
+ float dx = x - newX;
+ float dy = y - newY;
+ float angle = atan2(dy, dx);
+ float targetX = newX + cos(angle) * springLength;
+ float targetY = newY + sin(angle) * springLength;
+ // Activate update method from Spring2D
+ super.update(targetX, targetY);
+ // Constrain to display window
+ x = constrain(x, radius, width-radius);
+ y = constrain(y, radius, height-radius);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_18/Spring2D.pde b/content/handbook_2e/examples/31 Simulate/Ex_18/Spring2D.pde
new file mode 100644
index 000000000..66f741562
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_18/Spring2D.pde
@@ -0,0 +1,35 @@
+class Spring2D {
+ float vx, vy; // The x- and y-axis velocities
+ float x, y; // The x- and y-coordinates
+ float mass;
+ float gravity;
+ float radius = 10;
+ float stiffness = 0.2;
+ float damping = 0.7;
+
+ Spring2D(float xpos, float ypos, float m, float g) {
+ x = xpos;
+ y = ypos;
+ mass = m;
+ gravity = g;
+ }
+
+ void update(float targetX, float targetY) {
+ float forceX = (targetX - x) * stiffness;
+ float ax = forceX / mass;
+ vx = damping * (vx + ax);
+ x += vx;
+ float forceY = (targetY - y) * stiffness;
+ forceY += gravity;
+ float ay = forceY / mass;
+ vy = damping * (vy + ay);
+ y += vy;
+ }
+
+ void display(float nx, float ny) {
+ noStroke();
+ ellipse(x, y, radius*2, radius*2);
+ stroke(255);
+ line(x, y, nx, ny);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_19/Ex_19.pde b/content/handbook_2e/examples/31 Simulate/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..797e60260
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_19/Ex_19.pde
@@ -0,0 +1,19 @@
+// Requires Spring2D and FixedSpring classes
+
+FixedSpring s;
+float gravity = 0.5;
+
+void setup() {
+ size(100, 100);
+
+ fill(0);
+ // Inputs: x, y, mass, gravity, length
+ s = new FixedSpring(0.0, 50.0, 1.0, gravity, 40.0);
+}
+
+void draw() {
+ background(204);
+ s.update(mouseX, mouseY);
+ s.display(mouseX, mouseY);
+}
+
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_19/FixedSpring.pde b/content/handbook_2e/examples/31 Simulate/Ex_19/FixedSpring.pde
new file mode 100644
index 000000000..c21896d4a
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_19/FixedSpring.pde
@@ -0,0 +1,22 @@
+class FixedSpring extends Spring2D {
+ float springLength;
+
+ FixedSpring (float xpos, float ypos, float m, float g, float s) {
+ super(xpos, ypos, m, g);
+ springLength = s;
+ }
+
+ void update(float newX, float newY) {
+ // Calculate the target position
+ float dx = x - newX;
+ float dy = y - newY;
+ float angle = atan2(dy, dx);
+ float targetX = newX + cos(angle) * springLength;
+ float targetY = newY + sin(angle) * springLength;
+ // Activate update method from Spring2D
+ super.update(targetX, targetY);
+ // Constrain to display window
+ x = constrain(x, radius, width-radius);
+ y = constrain(y, radius, height-radius);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_19/Spring2D.pde b/content/handbook_2e/examples/31 Simulate/Ex_19/Spring2D.pde
new file mode 100644
index 000000000..66f741562
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_19/Spring2D.pde
@@ -0,0 +1,35 @@
+class Spring2D {
+ float vx, vy; // The x- and y-axis velocities
+ float x, y; // The x- and y-coordinates
+ float mass;
+ float gravity;
+ float radius = 10;
+ float stiffness = 0.2;
+ float damping = 0.7;
+
+ Spring2D(float xpos, float ypos, float m, float g) {
+ x = xpos;
+ y = ypos;
+ mass = m;
+ gravity = g;
+ }
+
+ void update(float targetX, float targetY) {
+ float forceX = (targetX - x) * stiffness;
+ float ax = forceX / mass;
+ vx = damping * (vx + ax);
+ x += vx;
+ float forceY = (targetY - y) * stiffness;
+ forceY += gravity;
+ float ay = forceY / mass;
+ vy = damping * (vy + ay);
+ y += vy;
+ }
+
+ void display(float nx, float ny) {
+ noStroke();
+ ellipse(x, y, radius*2, radius*2);
+ stroke(255);
+ line(x, y, nx, ny);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_20/Ex_20.pde b/content/handbook_2e/examples/31 Simulate/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..ca01e202c
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_20/Ex_20.pde
@@ -0,0 +1,24 @@
+// Requires Spring2D and FixedSpring classes
+
+FixedSpring s1, s2;
+float gravity = 1.2;
+
+void setup() {
+ size(100, 100);
+ fill(0);
+ // Inputs: x, y, mass, gravity, length
+ s1 = new FixedSpring(45, 33, 1.5, gravity, 40.0);
+ s2 = new FixedSpring(55, 66, 1.5, gravity, 40.0);
+}
+
+void draw() {
+ background(204);
+ s1.update(s2.x, s2.y);
+ s2.update(s1.x, s1.y);
+ s1.display(s2.x, s2.y);
+ s2.display(s1.x, s1.y);
+ if (mousePressed == true) {
+ s1.x = mouseX;
+ s1.y = mouseY;
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_20/FixedSpring.pde b/content/handbook_2e/examples/31 Simulate/Ex_20/FixedSpring.pde
new file mode 100644
index 000000000..c21896d4a
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_20/FixedSpring.pde
@@ -0,0 +1,22 @@
+class FixedSpring extends Spring2D {
+ float springLength;
+
+ FixedSpring (float xpos, float ypos, float m, float g, float s) {
+ super(xpos, ypos, m, g);
+ springLength = s;
+ }
+
+ void update(float newX, float newY) {
+ // Calculate the target position
+ float dx = x - newX;
+ float dy = y - newY;
+ float angle = atan2(dy, dx);
+ float targetX = newX + cos(angle) * springLength;
+ float targetY = newY + sin(angle) * springLength;
+ // Activate update method from Spring2D
+ super.update(targetX, targetY);
+ // Constrain to display window
+ x = constrain(x, radius, width-radius);
+ y = constrain(y, radius, height-radius);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_20/Spring2D.pde b/content/handbook_2e/examples/31 Simulate/Ex_20/Spring2D.pde
new file mode 100644
index 000000000..66f741562
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_20/Spring2D.pde
@@ -0,0 +1,35 @@
+class Spring2D {
+ float vx, vy; // The x- and y-axis velocities
+ float x, y; // The x- and y-coordinates
+ float mass;
+ float gravity;
+ float radius = 10;
+ float stiffness = 0.2;
+ float damping = 0.7;
+
+ Spring2D(float xpos, float ypos, float m, float g) {
+ x = xpos;
+ y = ypos;
+ mass = m;
+ gravity = g;
+ }
+
+ void update(float targetX, float targetY) {
+ float forceX = (targetX - x) * stiffness;
+ float ax = forceX / mass;
+ vx = damping * (vx + ax);
+ x += vx;
+ float forceY = (targetY - y) * stiffness;
+ forceY += gravity;
+ float ay = forceY / mass;
+ vy = damping * (vy + ay);
+ y += vy;
+ }
+
+ void display(float nx, float ny) {
+ noStroke();
+ ellipse(x, y, radius*2, radius*2);
+ stroke(255);
+ line(x, y, nx, ny);
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_21/Ex_21.pde b/content/handbook_2e/examples/31 Simulate/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..4475fbca0
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_21/Ex_21.pde
@@ -0,0 +1,42 @@
+int[] rules = { 0, 0, 0, 1, 1, 1, 1, 0 };
+int gen = 1; // Generation
+color on = color(255);
+color off = color(0);
+
+void setup() {
+ size(101, 101);
+ frameRate(8); // Slow down to 8 frames each second
+ background(0);
+ set(width/2, 0, on); // Set the top middle pixel to white
+}
+
+void draw() {
+ // For each pixel, determine new state by examining current
+ // state and neighbor states and ignore edges that have only
+ // one neighbor
+ for (int x = 1; x < width-1; x++) {
+ int left = get(x-1, gen-1); // Left neighbor
+ int me = get(x, gen-1); // Current pixel
+ int right = get(x+1, gen-1); // Right neighbor
+ if (rules(left, me, right) == 1) {
+ set(x, gen, on);
+ }
+ }
+ gen++; // Increment the generation by 1
+ if (gen > height-1) { // If reached the bottom of the screen,
+ noLoop(); // stop the program
+ }
+}
+
+// Implement the rules
+int rules(color a, color b, color c) {
+ if ((a == on ) && (b == on ) && (c == on )) { return rules[0]; }
+ if ((a == on ) && (b == on ) && (c == off)) { return rules[1]; }
+ if ((a == on ) && (b == off) && (c == on )) { return rules[2]; }
+ if ((a == on ) && (b == off) && (c == off)) { return rules[3]; }
+ if ((a == off) && (b == on ) && (c == on )) { return rules[4]; }
+ if ((a == off) && (b == on ) && (c == off)) { return rules[5]; }
+ if ((a == off) && (b == off) && (c == on )) { return rules[6]; }
+ if ((a == off) && (b == off) && (c == off)) { return rules[7]; }
+ return 0;
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_22/Ex_22.pde b/content/handbook_2e/examples/31 Simulate/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..ad5aef331
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_22/Ex_22.pde
@@ -0,0 +1,53 @@
+int[][] grid, futureGrid;
+
+void setup() {
+ size(540, 100);
+ frameRate(8);
+ grid = new int[width][height];
+ futureGrid = new int[width][height];
+ float density = 0.3 * width * height;
+ // Set a random initial state
+ for (int i = 0; i < density; i++) {
+ int rx = int(random(width));
+ int ry = int(random(height));
+ grid[rx][ry] = 1;
+ }
+ background(0);
+}
+
+void draw() {
+ for (int x = 1; x < width-1; x++) {
+ for (int y = 1; y < height-1; y++) {
+ // Check the number of neighbors (adjacent cells)
+ int nb = neighbors(x, y);
+ if ((grid[x][y] == 1) && (nb < 2)) {
+ futureGrid[x][y] = 0; // Isolation death
+ set(x, y, color(0));
+ } else if ((grid[x][y] == 1) && (nb > 3)) {
+ futureGrid[x][y] = 0; // Overpopulation death
+ set(x, y, color(0));
+ } else if ((grid[x][y] == 0) && (nb == 3)) {
+ futureGrid[x][y] = 1; // Birth
+ set(x, y, color(255));
+ } else {
+ futureGrid[x][y] = grid[x][y]; // No change
+ }
+ }
+ }
+ // Swap current and future grids
+ int[][] temp = grid;
+ grid = futureGrid;
+ futureGrid = temp;
+}
+
+// Count the number of adjacent cells 'on'
+int neighbors(int x, int y) {
+ return grid[x][y-1] + // North
+ grid[x+1][y-1] + // Northeast
+ grid[x+1][y] + // East
+ grid[x+1][y+1] + // Southeast
+ grid[x][y+1] + // South
+ grid[x-1][y+1] + // Southwest
+ grid[x-1][y] + // West
+ grid[x-1][y-1]; // Northwest
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_23/Ex_23.pde b/content/handbook_2e/examples/31 Simulate/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..884f289cb
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_23/Ex_23.pde
@@ -0,0 +1,57 @@
+int[][] grid, futureGrid;
+
+void setup() {
+ size(540, 100);
+ frameRate(8);
+ grid = new int[width][height];
+ futureGrid = new int[width][height];
+ float density = 0.3 * width * height;
+ // Set a random initial state
+ for (int i = 0; i < density; i++) {
+ int rx = int(random(width));
+ int ry = int(random(height));
+ grid[rx][ry] = 1;
+ }
+ background(0);
+}
+
+void draw() {
+ for (int x = 1; x < width-1; x++) {
+ for (int y = 1; y < height-1; y++) {
+ // Check the number of neighbors (adjacent cells)
+ int nb = neighbors(x, y);
+ if ((grid[x][y] == 1) && (nb < 2)) {
+ futureGrid[x][y] = 0; // Isolation death
+ set(x, y, color(0));
+ } else if ((grid[x][y] == 1) && (nb > 3)) {
+ futureGrid[x][y] = 0; // Overpopulation death
+ set(x, y, color(0));
+ } else if ((grid[x][y] == 0) && (nb == 3)) {
+ futureGrid[x][y] = 1; // Birth
+ set(x, y, color(255));
+ } else {
+ futureGrid[x][y] = grid[x][y]; // No change
+ }
+ }
+ }
+ // Swap current and future grids
+ int[][] temp = grid;
+ grid = futureGrid;
+ futureGrid = temp;
+}
+
+// Count the number of adjacent cells 'on'
+int neighbors(int x, int y) {
+ int north = (y + height-1) % height;
+ int south = (y + 1) % height;
+ int east = (x + 1) % width;
+ int west = (x + width-1) % width;
+ return grid[x][north] + // North
+ grid[east][north] + // Northeast
+ grid[east][y] + // East
+ grid[east][south] + // Southeast
+ grid[x][south] + // South
+ grid[west][south] + // Southwest
+ grid[west][y] + // West
+ grid[west][north]; // Northwest
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_24/Ex_24.pde b/content/handbook_2e/examples/31 Simulate/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..c5722b6b6
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_24/Ex_24.pde
@@ -0,0 +1,58 @@
+int SOUTH = 0; // Direction numbers with names
+int EAST = 1; // so that the code self-documents
+int NORTH = 2;
+int WEST = 3;
+int direction = NORTH; // Current direction of the ant
+int x, y; // Ant's current position
+
+color on = color(255); // Color for an 'on' pixel
+color off = color(0); // Color for an 'off' pixel
+
+void setup() {
+ size(100, 100);
+ x = width/2;
+ y = height/2;
+ background(0);
+}
+
+void draw() {
+ if (direction == SOUTH) {
+ y++;
+ if (y == height) {
+ y = 0;
+ }
+ } else if (direction == EAST) {
+ x++;
+ if (x == width) {
+ x = 0;
+ }
+ } else if (direction == NORTH) {
+ if (y == 0) {
+ y = height-1;
+ } else {
+ y--;
+ }
+ } else if (direction == WEST) {
+ if (x == 0) {
+ x = width-1;
+ } else {
+ x--;
+ }
+ }
+
+ if (get(x, y) == on) {
+ set(x, y, off);
+ if (direction == SOUTH) {
+ direction = WEST;
+ } else {
+ direction--;
+ }
+ } else {
+ set(x, y, on);
+ if (direction == WEST) {
+ direction = SOUTH;
+ } else {
+ direction++;
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/31 Simulate/Ex_25/Ex_25.pde b/content/handbook_2e/examples/31 Simulate/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..fcab27f6c
--- /dev/null
+++ b/content/handbook_2e/examples/31 Simulate/Ex_25/Ex_25.pde
@@ -0,0 +1,50 @@
+int[][] angles = {{ 0, 1 }, { 1, 1 }, { 1, 0 }, { 1,-1 },
+ { 0,-1 }, {-1,-1 }, {-1, 0 }, {-1, 1 }};
+
+int numAngles = angles.length;
+int x, y, nx, ny;
+int dir = 0;
+color black = color(0);
+color white = color(255);
+
+void setup() {
+ size(100, 100);
+ background(255);
+ x = width/2;
+ nx = x;
+ y = height/2;
+ ny = y;
+ float woodDensity = width * height * 0.5;
+ // Set random distribution of wood chips
+ for (int i = 0; i < woodDensity; i++) {
+ int rx = int(random(width));
+ int ry = int(random(height));
+ set(rx, ry, black);
+ }
+}
+
+void draw() {
+ int rand = int(random(-2, 2)); // -1, 0, or 1
+ dir = (dir + rand + numAngles) % numAngles;
+ nx = (nx + angles[dir][0] + width) % width;
+ ny = (ny + angles[dir][1] + height) % height;
+
+ if ((get(x,y) == black) && (get(nx,ny) == white)) {
+ // Move the chip one space
+ set(x, y, white);
+ set(nx, ny, black);
+ x = nx;
+ y = ny;
+ } else if ((get(x,y) == black) && (get(nx,ny) == black)) {
+ // Move in the opposite direction
+ dir = (dir + (numAngles/2)) % numAngles;
+ x = (x + angles[dir][0] + width) % width;
+ y = (y + angles[dir][1] + height) % height;
+ } else {
+ // Not carrying
+ x = nx;
+ y = ny;
+ }
+ nx = x; // Save the current position
+ ny = y;
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_01/Ex_01.pde b/content/handbook_2e/examples/32 Data/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..34e771b7b
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_01/Ex_01.pde
@@ -0,0 +1,2 @@
+// Prints "tab space"
+println("tab\tspace");
diff --git a/content/handbook_2e/examples/32 Data/Ex_02/Ex_02.pde b/content/handbook_2e/examples/32 Data/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..94abac201
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_02/Ex_02.pde
@@ -0,0 +1,5 @@
+// Prints each word after "\n" on a new line:
+// line1
+// line2
+// line3
+println("line1\nline2\nline3");
diff --git a/content/handbook_2e/examples/32 Data/Ex_03/Ex_03.pde b/content/handbook_2e/examples/32 Data/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..d67e28d9d
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_03/Ex_03.pde
@@ -0,0 +1,3 @@
+println(nf(200, 10)); // Prints "0000000200"
+println(nf(40, 5)); // Prints "00040"
+println(nf(90, 3)); // Prints "090"
diff --git a/content/handbook_2e/examples/32 Data/Ex_04/Ex_04.pde b/content/handbook_2e/examples/32 Data/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..b7390db7e
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_04/Ex_04.pde
@@ -0,0 +1,3 @@
+println(nf(200.94, 10, 4)); // Prints "0000000200.9400"
+println(nf(40.2, 5, 3)); // Prints "00040.200"
+println(nf(9.012, 0, 5)); // Prints "9.01200"
diff --git a/content/handbook_2e/examples/32 Data/Ex_05/Ex_05.pde b/content/handbook_2e/examples/32 Data/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..6878ea048
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_05/Ex_05.pde
@@ -0,0 +1,36 @@
+int[] x = new int[0];
+int[] y = new int[0];
+
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ background(204);
+ stroke(0);
+ noFill();
+ beginShape();
+ for (int i = 0; i < x.length; i++) {
+ vertex(x[i], y[i]);
+ }
+ endShape();
+ // Show the next segment to be added
+ if (x.length >= 1) {
+ stroke(255);
+ line(mouseX, mouseY, x[x.length-1], y[x.length-1]);
+ }
+}
+
+void mousePressed() { // Click to add a line segment
+ x = append(x, mouseX);
+ y = append(y, mouseY);
+}
+
+void keyPressed() { // Press a key to save the data
+ String[] lines = new String[x.length];
+ for (int i = 0; i < x.length; i++) {
+ lines[i] = x[i] + "\t" + y[i];
+ }
+ saveStrings("lines.txt", lines);
+ exit(); // Stop the program
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_05/lines.txt b/content/handbook_2e/examples/32 Data/Ex_05/lines.txt
new file mode 100644
index 000000000..39e3b2b35
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_05/lines.txt
@@ -0,0 +1,5 @@
+71 38
+29 86
+29 20
+43 44
+71 38
diff --git a/content/handbook_2e/examples/32 Data/Ex_06/Ex_06.pde b/content/handbook_2e/examples/32 Data/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..5355c115e
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_06/Ex_06.pde
@@ -0,0 +1,23 @@
+PrintWriter output;
+
+void setup() {
+ size(100, 100);
+ // Create a new file in the sketch directory
+ output = createWriter("positions.txt");
+ frameRate(12);
+}
+
+void draw() {
+ if (mousePressed) {
+ point(mouseX, mouseY);
+ // Write the coordinate to a file with a
+ // "\t" (TAB character) between each entry
+ output.println(mouseX + "\t" + mouseY);
+ }
+}
+
+void keyPressed() { // Press a key to save the data
+ output.flush(); // Write the remaining data
+ output.close(); // Finish the file
+ exit(); // Stop the program
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_06/positions.txt b/content/handbook_2e/examples/32 Data/Ex_06/positions.txt
new file mode 100644
index 000000000..842af479a
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_06/positions.txt
@@ -0,0 +1,102 @@
+35 45
+41 42
+46 37
+50 32
+57 27
+62 24
+65 23
+68 23
+69 26
+69 29
+69 32
+68 36
+67 39
+65 41
+64 45
+62 46
+59 48
+55 49
+53 52
+49 53
+47 56
+45 60
+45 61
+45 63
+47 65
+50 65
+52 66
+54 66
+56 66
+60 69
+62 72
+62 74
+62 76
+61 78
+59 80
+55 82
+52 82
+49 82
+45 82
+42 82
+39 82
+35 82
+33 82
+30 82
+30 81
+31 66
+28 66
+25 62
+23 59
+22 55
+22 52
+22 47
+23 42
+25 39
+27 36
+30 33
+33 31
+35 30
+38 29
+41 29
+42 30
+43 31
+45 34
+46 36
+48 39
+50 41
+53 43
+57 45
+60 46
+62 48
+63 50
+64 51
+64 53
+64 56
+64 58
+64 61
+63 65
+62 68
+60 69
+56 72
+52 73
+48 74
+44 74
+42 74
+40 74
+38 73
+36 72
+34 70
+33 69
+32 67
+31 65
+30 63
+30 21
+30 21
+34 21
+41 20
+46 19
+50 18
+51 17
+51 16
+58 27
+58 27
diff --git a/content/handbook_2e/examples/32 Data/Ex_07/Ex_07.pde b/content/handbook_2e/examples/32 Data/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..d6eb9bd02
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_07/Ex_07.pde
@@ -0,0 +1,28 @@
+String letters = "";
+PrintWriter output;
+
+void setup() {
+ size(100, 100);
+ fill(0);
+ // Create a new file in the sketch folder
+ output = createWriter("words.txt");
+}
+
+void draw() {
+ background(204);
+ text(letters, 5, 50);
+}
+
+void keyPressed() {
+ if (key == ' ') { // Spacebar pressed
+ output.println(letters); // Write data to words.txt
+ letters = ""; // Clear the letter String
+ } else {
+ letters = letters + key;
+ }
+ if (key == ENTER) {
+ output.flush(); // Write the remaining data
+ output.close(); // Finish the file
+ exit(); // Stop the program
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_07/data/OpenSans-ExtraBoldItalic.ttf b/content/handbook_2e/examples/32 Data/Ex_07/data/OpenSans-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..31cb68834
Binary files /dev/null and b/content/handbook_2e/examples/32 Data/Ex_07/data/OpenSans-ExtraBoldItalic.ttf differ
diff --git a/content/handbook_2e/examples/32 Data/Ex_08/Ex_08.pde b/content/handbook_2e/examples/32 Data/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..a6f540de3
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_08/Ex_08.pde
@@ -0,0 +1,22 @@
+String[] lines;
+int index = 0;
+
+void setup() {
+ size(100, 100);
+ lines = loadStrings("positions.txt");
+ noSmooth();
+ frameRate(12);
+}
+
+void draw() {
+ if (index < lines.length) {
+ String[] pieces = split(lines[index], '\t');
+ if (pieces.length == 2) {
+ int x = int(pieces[0]);
+ int y = int(pieces[1]);
+ point(x, y);
+ }
+ // Go to the next line for the next run through draw()
+ index++;
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_08/data/positions.txt b/content/handbook_2e/examples/32 Data/Ex_08/data/positions.txt
new file mode 100644
index 000000000..3b8ff2e23
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_08/data/positions.txt
@@ -0,0 +1,206 @@
+70 35
+69 35
+68 39
+67 42
+66 47
+64 51
+64 54
+63 57
+60 60
+58 64
+51 69
+48 72
+44 73
+39 75
+35 75
+30 75
+25 75
+21 75
+17 73
+13 69
+12 66
+11 61
+11 57
+10 49
+10 45
+10 38
+12 32
+13 29
+16 23
+20 19
+24 16
+27 15
+31 13
+33 13
+37 13
+40 15
+42 16
+45 19
+46 21
+47 24
+48 26
+48 29
+48 33
+47 39
+43 45
+42 47
+38 50
+35 51
+32 51
+30 51
+27 50
+27 50
+26 46
+26 41
+29 36
+30 34
+31 33
+31 33
+32 33
+33 33
+34 33
+34 33
+35 33
+37 33
+39 33
+42 32
+44 31
+46 29
+48 29
+49 27
+52 24
+53 23
+57 19
+61 16
+63 14
+67 13
+69 12
+69 12
+77 11
+77 11
+80 11
+86 16
+90 21
+93 25
+95 29
+95 32
+95 33
+95 37
+94 41
+93 44
+92 46
+91 49
+89 51
+87 55
+85 59
+82 62
+80 64
+79 67
+77 69
+74 71
+68 72
+65 73
+63 73
+62 73
+60 72
+58 69
+57 67
+57 66
+56 60
+56 56
+56 54
+58 49
+60 47
+62 47
+63 47
+67 48
+70 52
+73 55
+74 57
+74 58
+74 60
+74 62
+73 65
+70 68
+67 69
+65 70
+63 70
+62 70
+60 68
+57 65
+55 64
+50 62
+46 61
+40 60
+38 60
+36 60
+32 61
+30 62
+27 64
+26 68
+25 71
+25 77
+25 81
+26 84
+28 86
+31 87
+33 88
+36 88
+39 86
+41 85
+43 83
+44 81
+45 76
+45 74
+45 71
+40 67
+37 65
+34 63
+33 61
+33 61
+32 60
+33 49
+37 45
+41 41
+45 39
+47 38
+51 37
+54 37
+58 38
+61 41
+63 44
+65 46
+66 49
+66 51
+67 55
+67 58
+67 60
+66 62
+64 65
+63 66
+61 67
+60 68
+58 68
+55 69
+54 69
+51 69
+48 69
+46 68
+45 66
+44 65
+44 63
+44 61
+44 59
+44 56
+44 55
+45 53
+47 52
+49 50
+50 48
+51 47
+52 46
+54 46
+55 45
+55 45
+56 44
+57 44
diff --git a/content/handbook_2e/examples/32 Data/Ex_09/Ex_09.pde b/content/handbook_2e/examples/32 Data/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..cfeef2f85
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_09/Ex_09.pde
@@ -0,0 +1,4 @@
+String s = "a, b";
+String[] p = split(s, ", ");
+println(p[0]); // Prints "a"
+println(p[1]); // Prints "b"
diff --git a/content/handbook_2e/examples/32 Data/Ex_10/Ex_10.pde b/content/handbook_2e/examples/32 Data/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..d051fbec7
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_10/Ex_10.pde
@@ -0,0 +1,19 @@
+Table xy;
+int index = 0;
+
+void setup() {
+ size(100, 100);
+ xy = loadTable("positions.txt", "tsv");
+ noSmooth();
+ frameRate(12);
+}
+
+void draw() {
+ if (index < xy.getRowCount()) {
+ int x = xy.getInt(index, 0);
+ int y = xy.getInt(index, 1);
+ point(x, y);
+ // Go to the next line for the next run through draw()
+ index++;
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_10/data/positions.txt b/content/handbook_2e/examples/32 Data/Ex_10/data/positions.txt
new file mode 100644
index 000000000..3b8ff2e23
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_10/data/positions.txt
@@ -0,0 +1,206 @@
+70 35
+69 35
+68 39
+67 42
+66 47
+64 51
+64 54
+63 57
+60 60
+58 64
+51 69
+48 72
+44 73
+39 75
+35 75
+30 75
+25 75
+21 75
+17 73
+13 69
+12 66
+11 61
+11 57
+10 49
+10 45
+10 38
+12 32
+13 29
+16 23
+20 19
+24 16
+27 15
+31 13
+33 13
+37 13
+40 15
+42 16
+45 19
+46 21
+47 24
+48 26
+48 29
+48 33
+47 39
+43 45
+42 47
+38 50
+35 51
+32 51
+30 51
+27 50
+27 50
+26 46
+26 41
+29 36
+30 34
+31 33
+31 33
+32 33
+33 33
+34 33
+34 33
+35 33
+37 33
+39 33
+42 32
+44 31
+46 29
+48 29
+49 27
+52 24
+53 23
+57 19
+61 16
+63 14
+67 13
+69 12
+69 12
+77 11
+77 11
+80 11
+86 16
+90 21
+93 25
+95 29
+95 32
+95 33
+95 37
+94 41
+93 44
+92 46
+91 49
+89 51
+87 55
+85 59
+82 62
+80 64
+79 67
+77 69
+74 71
+68 72
+65 73
+63 73
+62 73
+60 72
+58 69
+57 67
+57 66
+56 60
+56 56
+56 54
+58 49
+60 47
+62 47
+63 47
+67 48
+70 52
+73 55
+74 57
+74 58
+74 60
+74 62
+73 65
+70 68
+67 69
+65 70
+63 70
+62 70
+60 68
+57 65
+55 64
+50 62
+46 61
+40 60
+38 60
+36 60
+32 61
+30 62
+27 64
+26 68
+25 71
+25 77
+25 81
+26 84
+28 86
+31 87
+33 88
+36 88
+39 86
+41 85
+43 83
+44 81
+45 76
+45 74
+45 71
+40 67
+37 65
+34 63
+33 61
+33 61
+32 60
+33 49
+37 45
+41 41
+45 39
+47 38
+51 37
+54 37
+58 38
+61 41
+63 44
+65 46
+66 49
+66 51
+67 55
+67 58
+67 60
+66 62
+64 65
+63 66
+61 67
+60 68
+58 68
+55 69
+54 69
+51 69
+48 69
+46 68
+45 66
+44 65
+44 63
+44 61
+44 59
+44 56
+44 55
+45 53
+47 52
+49 50
+50 48
+51 47
+52 46
+54 46
+55 45
+55 45
+56 44
+57 44
diff --git a/content/handbook_2e/examples/32 Data/Ex_11/Ex_11.pde b/content/handbook_2e/examples/32 Data/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..3c65b5b58
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_11/Ex_11.pde
@@ -0,0 +1,11 @@
+Table cars;
+
+void setup() {
+ size(100, 100);
+ cars = loadTable("cars.tsv", "header");
+ for (TableRow row : cars.rows()) {
+ String id = row.getString("name");
+ int mpg = row.getInt("mpg");
+ println(id + ", " + mpg + " miles per gallon");
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_11/data/cars.tsv b/content/handbook_2e/examples/32 Data/Ex_11/data/cars.tsv
new file mode 100644
index 000000000..6382dca09
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_11/data/cars.tsv
@@ -0,0 +1 @@
+name mpg cylinders displacement horsepower weight acceleration year origin
chevrolet chevelle malibu 18 8 307 130 3504 12 70 1
buick skylark 320 15 8 350 165 3693 11.5 70 1
plymouth satellite 18 8 318 150 3436 11 70 1
amc rebel sst 16 8 304 150 3433 12 70 1
ford torino 17 8 302 140 3449 10.5 70 1
ford galaxie 500 15 8 429 198 4341 10 70 1
chevrolet impala 14 8 454 220 4354 9 70 1
plymouth fury iii 14 8 440 215 4312 8.5 70 1
pontiac catalina 14 8 455 225 4425 10 70 1
amc ambassador dpl 15 8 390 190 3850 8.5 70 1
citroen ds-21 pallas NA 4 133 115 3090 17.5 70 2
chevrolet chevelle concours (sw) NA 8 350 165 4142 11.5 70 1
ford torino (sw) NA 8 351 153 4034 11 70 1
plymouth satellite (sw) NA 8 383 175 4166 10.5 70 1
amc rebel sst (sw) NA 8 360 175 3850 11 70 1
dodge challenger se 15 8 383 170 3563 10 70 1
plymouth 'cuda 340 14 8 340 160 3609 8 70 1
ford mustang boss 302 NA 8 302 140 3353 8 70 1
chevrolet monte carlo 15 8 400 150 3761 9.5 70 1
buick estate wagon (sw) 14 8 455 225 3086 10 70 1
toyota corona mark ii 24 4 113 95 2372 15 70 3
plymouth duster 22 6 198 95 2833 15.5 70 1
amc hornet 18 6 199 97 2774 15.5 70 1
ford maverick 21 6 200 85 2587 16 70 1
datsun pl510 27 4 97 88 2130 14.5 70 3
volkswagen 1131 deluxe sedan 26 4 97 46 1835 20.5 70 2
peugeot 504 25 4 110 87 2672 17.5 70 2
audi 100 ls 24 4 107 90 2430 14.5 70 2
saab 99e 25 4 104 95 2375 17.5 70 2
bmw 2002 26 4 121 113 2234 12.5 70 2
amc gremlin 21 6 199 90 2648 15 70 1
ford f250 10 8 360 215 4615 14 70 1
chevy c20 10 8 307 200 4376 15 70 1
dodge d200 11 8 318 210 4382 13.5 70 1
hi 1200d 9 8 304 193 4732 18.5 70 1
datsun pl510 27 4 97 88 2130 14.5 71 3
chevrolet vega 2300 28 4 140 90 2264 15.5 71 1
toyota corona 25 4 113 95 2228 14 71 3
ford pinto 25 4 98 NA 2046 19 71 1
volkswagen super beetle 117 NA 4 97 48 1978 20 71 2
amc gremlin 19 6 232 100 2634 13 71 1
plymouth satellite custom 16 6 225 105 3439 15.5 71 1
chevrolet chevelle malibu 17 6 250 100 3329 15.5 71 1
ford torino 500 19 6 250 88 3302 15.5 71 1
amc matador 18 6 232 100 3288 15.5 71 1
chevrolet impala 14 8 350 165 4209 12 71 1
pontiac catalina brougham 14 8 400 175 4464 11.5 71 1
ford galaxie 500 14 8 351 153 4154 13.5 71 1
plymouth fury iii 14 8 318 150 4096 13 71 1
dodge monaco (sw) 12 8 383 180 4955 11.5 71 1
ford country squire (sw) 13 8 400 170 4746 12 71 1
pontiac safari (sw) 13 8 400 175 5140 12 71 1
amc hornet sportabout (sw) 18 6 258 110 2962 13.5 71 1
chevrolet vega (sw) 22 4 140 72 2408 19 71 1
pontiac firebird 19 6 250 100 3282 15 71 1
ford mustang 18 6 250 88 3139 14.5 71 1
mercury capri 2000 23 4 122 86 2220 14 71 1
opel 1900 28 4 116 90 2123 14 71 2
peugeot 304 30 4 79 70 2074 19.5 71 2
fiat 124b 30 4 88 76 2065 14.5 71 2
toyota corolla 1200 31 4 71 65 1773 19 71 3
datsun 1200 35 4 72 69 1613 18 71 3
volkswagen model 111 27 4 97 60 1834 19 71 2
plymouth cricket 26 4 91 70 1955 20.5 71 1
toyota corona hardtop 24 4 113 95 2278 15.5 72 3
dodge colt hardtop 25 4 97.5 80 2126 17 72 1
volkswagen type 3 23 4 97 54 2254 23.5 72 2
chevrolet vega 20 4 140 90 2408 19.5 72 1
ford pinto runabout 21 4 122 86 2226 16.5 72 1
chevrolet impala 13 8 350 165 4274 12 72 1
pontiac catalina 14 8 400 175 4385 12 72 1
plymouth fury iii 15 8 318 150 4135 13.5 72 1
ford galaxie 500 14 8 351 153 4129 13 72 1
amc ambassador sst 17 8 304 150 3672 11.5 72 1
mercury marquis 11 8 429 208 4633 11 72 1
buick lesabre custom 13 8 350 155 4502 13.5 72 1
oldsmobile delta 88 royale 12 8 350 160 4456 13.5 72 1
chrysler newport royal 13 8 400 190 4422 12.5 72 1
mazda rx2 coupe 19 3 70 97 2330 13.5 72 3
amc matador (sw) 15 8 304 150 3892 12.5 72 1
chevrolet chevelle concours (sw) 13 8 307 130 4098 14 72 1
ford gran torino (sw) 13 8 302 140 4294 16 72 1
plymouth satellite custom (sw) 14 8 318 150 4077 14 72 1
volvo 145e (sw) 18 4 121 112 2933 14.5 72 2
volkswagen 411 (sw) 22 4 121 76 2511 18 72 2
peugeot 504 (sw) 21 4 120 87 2979 19.5 72 2
renault 12 (sw) 26 4 96 69 2189 18 72 2
ford pinto (sw) 22 4 122 86 2395 16 72 1
datsun 510 (sw) 28 4 97 92 2288 17 72 3
toyouta corona mark ii (sw) 23 4 120 97 2506 14.5 72 3
dodge colt (sw) 28 4 98 80 2164 15 72 1
toyota corolla 1600 (sw) 27 4 97 88 2100 16.5 72 3
buick century 350 13 8 350 175 4100 13 73 1
amc matador 14 8 304 150 3672 11.5 73 1
chevrolet malibu 13 8 350 145 3988 13 73 1
ford gran torino 14 8 302 137 4042 14.5 73 1
dodge coronet custom 15 8 318 150 3777 12.5 73 1
mercury marquis brougham 12 8 429 198 4952 11.5 73 1
chevrolet caprice classic 13 8 400 150 4464 12 73 1
ford ltd 13 8 351 158 4363 13 73 1
plymouth fury gran sedan 14 8 318 150 4237 14.5 73 1
chrysler new yorker brougham 13 8 440 215 4735 11 73 1
buick electra 225 custom 12 8 455 225 4951 11 73 1
amc ambassador brougham 13 8 360 175 3821 11 73 1
plymouth valiant 18 6 225 105 3121 16.5 73 1
chevrolet nova custom 16 6 250 100 3278 18 73 1
amc hornet 18 6 232 100 2945 16 73 1
ford maverick 18 6 250 88 3021 16.5 73 1
plymouth duster 23 6 198 95 2904 16 73 1
volkswagen super beetle 26 4 97 46 1950 21 73 2
chevrolet impala 11 8 400 150 4997 14 73 1
ford country 12 8 400 167 4906 12.5 73 1
plymouth custom suburb 13 8 360 170 4654 13 73 1
oldsmobile vista cruiser 12 8 350 180 4499 12.5 73 1
amc gremlin 18 6 232 100 2789 15 73 1
toyota carina 20 4 97 88 2279 19 73 3
chevrolet vega 21 4 140 72 2401 19.5 73 1
datsun 610 22 4 108 94 2379 16.5 73 3
maxda rx3 18 3 70 90 2124 13.5 73 3
ford pinto 19 4 122 85 2310 18.5 73 1
mercury capri v6 21 6 155 107 2472 14 73 1
fiat 124 sport coupe 26 4 98 90 2265 15.5 73 2
chevrolet monte carlo s 15 8 350 145 4082 13 73 1
pontiac grand prix 16 8 400 230 4278 9.5 73 1
fiat 128 29 4 68 49 1867 19.5 73 2
opel manta 24 4 116 75 2158 15.5 73 2
audi 100ls 20 4 114 91 2582 14 73 2
volvo 144ea 19 4 121 112 2868 15.5 73 2
dodge dart custom 15 8 318 150 3399 11 73 1
saab 99le 24 4 121 110 2660 14 73 2
toyota mark ii 20 6 156 122 2807 13.5 73 3
oldsmobile omega 11 8 350 180 3664 11 73 1
plymouth duster 20 6 198 95 3102 16.5 74 1
ford maverick 21 6 200 NA 2875 17 74 1
amc hornet 19 6 232 100 2901 16 74 1
chevrolet nova 15 6 250 100 3336 17 74 1
datsun b210 31 4 79 67 1950 19 74 3
ford pinto 26 4 122 80 2451 16.5 74 1
toyota corolla 1200 32 4 71 65 1836 21 74 3
chevrolet vega 25 4 140 75 2542 17 74 1
chevrolet chevelle malibu classic 16 6 250 100 3781 17 74 1
amc matador 16 6 258 110 3632 18 74 1
plymouth satellite sebring 18 6 225 105 3613 16.5 74 1
ford gran torino 16 8 302 140 4141 14 74 1
buick century luxus (sw) 13 8 350 150 4699 14.5 74 1
dodge coronet custom (sw) 14 8 318 150 4457 13.5 74 1
ford gran torino (sw) 14 8 302 140 4638 16 74 1
amc matador (sw) 14 8 304 150 4257 15.5 74 1
audi fox 29 4 98 83 2219 16.5 74 2
volkswagen dasher 26 4 79 67 1963 15.5 74 2
opel manta 26 4 97 78 2300 14.5 74 2
toyota corona 31 4 76 52 1649 16.5 74 3
datsun 710 32 4 83 61 2003 19 74 3
dodge colt 28 4 90 75 2125 14.5 74 1
fiat 128 24 4 90 75 2108 15.5 74 2
fiat 124 tc 26 4 116 75 2246 14 74 2
honda civic 24 4 120 97 2489 15 74 3
subaru 26 4 108 93 2391 15.5 74 3
fiat x1.9 31 4 79 67 2000 16 74 2
plymouth valiant custom 19 6 225 95 3264 16 75 1
chevrolet nova 18 6 250 105 3459 16 75 1
mercury monarch 15 6 250 72 3432 21 75 1
ford maverick 15 6 250 72 3158 19.5 75 1
pontiac catalina 16 8 400 170 4668 11.5 75 1
chevrolet bel air 15 8 350 145 4440 14 75 1
plymouth grand fury 16 8 318 150 4498 14.5 75 1
ford ltd 14 8 351 148 4657 13.5 75 1
buick century 17 6 231 110 3907 21 75 1
chevroelt chevelle malibu 16 6 250 105 3897 18.5 75 1
amc matador 15 6 258 110 3730 19 75 1
plymouth fury 18 6 225 95 3785 19 75 1
buick skyhawk 21 6 231 110 3039 15 75 1
chevrolet monza 2+2 20 8 262 110 3221 13.5 75 1
ford mustang ii 13 8 302 129 3169 12 75 1
toyota corolla 29 4 97 75 2171 16 75 3
ford pinto 23 4 140 83 2639 17 75 1
amc gremlin 20 6 232 100 2914 16 75 1
pontiac astro 23 4 140 78 2592 18.5 75 1
toyota corona 24 4 134 96 2702 13.5 75 3
volkswagen dasher 25 4 90 71 2223 16.5 75 2
datsun 710 24 4 119 97 2545 17 75 3
ford pinto 18 6 171 97 2984 14.5 75 1
volkswagen rabbit 29 4 90 70 1937 14 75 2
amc pacer 19 6 232 90 3211 17 75 1
audi 100ls 23 4 115 95 2694 15 75 2
peugeot 504 23 4 120 88 2957 17 75 2
volvo 244dl 22 4 121 98 2945 14.5 75 2
saab 99le 25 4 121 115 2671 13.5 75 2
honda civic cvcc 33 4 91 53 1795 17.5 75 3
fiat 131 28 4 107 86 2464 15.5 76 2
opel 1900 25 4 116 81 2220 16.9 76 2
capri ii 25 4 140 92 2572 14.9 76 1
dodge colt 26 4 98 79 2255 17.7 76 1
renault 12tl 27 4 101 83 2202 15.3 76 2
chevrolet chevelle malibu classic 17.5 8 305 140 4215 13 76 1
dodge coronet brougham 16 8 318 150 4190 13 76 1
amc matador 15.5 8 304 120 3962 13.9 76 1
ford gran torino 14.5 8 351 152 4215 12.8 76 1
plymouth valiant 22 6 225 100 3233 15.4 76 1
chevrolet nova 22 6 250 105 3353 14.5 76 1
ford maverick 24 6 200 81 3012 17.6 76 1
amc hornet 22.5 6 232 90 3085 17.6 76 1
chevrolet chevette 29 4 85 52 2035 22.2 76 1
chevrolet woody 24.5 4 98 60 2164 22.1 76 1
vw rabbit 29 4 90 70 1937 14.2 76 2
honda civic 33 4 91 53 1795 17.4 76 3
dodge aspen se 20 6 225 100 3651 17.7 76 1
ford granada ghia 18 6 250 78 3574 21 76 1
pontiac ventura sj 18.5 6 250 110 3645 16.2 76 1
amc pacer d/l 17.5 6 258 95 3193 17.8 76 1
volkswagen rabbit 29.5 4 97 71 1825 12.2 76 2
datsun b-210 32 4 85 70 1990 17 76 3
toyota corolla 28 4 97 75 2155 16.4 76 3
ford pinto 26.5 4 140 72 2565 13.6 76 1
volvo 245 20 4 130 102 3150 15.7 76 2
plymouth volare premier v8 13 8 318 150 3940 13.2 76 1
peugeot 504 19 4 120 88 3270 21.9 76 2
toyota mark ii 19 6 156 108 2930 15.5 76 3
mercedes-benz 280s 16.5 6 168 120 3820 16.7 76 2
cadillac seville 16.5 8 350 180 4380 12.1 76 1
chevy c10 13 8 350 145 4055 12 76 1
ford f108 13 8 302 130 3870 15 76 1
dodge d100 13 8 318 150 3755 14 76 1
honda accord cvcc 31.5 4 98 68 2045 18.5 77 3
buick opel isuzu deluxe 30 4 111 80 2155 14.8 77 1
renault 5 gtl 36 4 79 58 1825 18.6 77 2
plymouth arrow gs 25.5 4 122 96 2300 15.5 77 1
datsun f-10 hatchback 33.5 4 85 70 1945 16.8 77 3
chevrolet caprice classic 17.5 8 305 145 3880 12.5 77 1
oldsmobile cutlass supreme 17 8 260 110 4060 19 77 1
dodge monaco brougham 15.5 8 318 145 4140 13.7 77 1
mercury cougar brougham 15 8 302 130 4295 14.9 77 1
chevrolet concours 17.5 6 250 110 3520 16.4 77 1
buick skylark 20.5 6 231 105 3425 16.9 77 1
plymouth volare custom 19 6 225 100 3630 17.7 77 1
ford granada 18.5 6 250 98 3525 19 77 1
pontiac grand prix lj 16 8 400 180 4220 11.1 77 1
chevrolet monte carlo landau 15.5 8 350 170 4165 11.4 77 1
chrysler cordoba 15.5 8 400 190 4325 12.2 77 1
ford thunderbird 16 8 351 149 4335 14.5 77 1
volkswagen rabbit custom 29 4 97 78 1940 14.5 77 2
pontiac sunbird coupe 24.5 4 151 88 2740 16 77 1
toyota corolla liftback 26 4 97 75 2265 18.2 77 3
ford mustang ii 2+2 25.5 4 140 89 2755 15.8 77 1
chevrolet chevette 30.5 4 98 63 2051 17 77 1
dodge colt m/m 33.5 4 98 83 2075 15.9 77 1
subaru dl 30 4 97 67 1985 16.4 77 3
volkswagen dasher 30.5 4 97 78 2190 14.1 77 2
datsun 810 22 6 146 97 2815 14.5 77 3
bmw 320i 21.5 4 121 110 2600 12.8 77 2
mazda rx-4 21.5 3 80 110 2720 13.5 77 3
volkswagen rabbit custom diesel 43.1 4 90 48 1985 21.5 78 2
ford fiesta 36.1 4 98 66 1800 14.4 78 1
mazda glc deluxe 32.8 4 78 52 1985 19.4 78 3
datsun b210 gx 39.4 4 85 70 2070 18.6 78 3
honda civic cvcc 36.1 4 91 60 1800 16.4 78 3
oldsmobile cutlass salon brougham 19.9 8 260 110 3365 15.5 78 1
dodge diplomat 19.4 8 318 140 3735 13.2 78 1
mercury monarch ghia 20.2 8 302 139 3570 12.8 78 1
pontiac phoenix lj 19.2 6 231 105 3535 19.2 78 1
chevrolet malibu 20.5 6 200 95 3155 18.2 78 1
ford fairmont (auto) 20.2 6 200 85 2965 15.8 78 1
ford fairmont (man) 25.1 4 140 88 2720 15.4 78 1
plymouth volare 20.5 6 225 100 3430 17.2 78 1
amc concord 19.4 6 232 90 3210 17.2 78 1
buick century special 20.6 6 231 105 3380 15.8 78 1
mercury zephyr 20.8 6 200 85 3070 16.7 78 1
dodge aspen 18.6 6 225 110 3620 18.7 78 1
amc concord d/l 18.1 6 258 120 3410 15.1 78 1
chevrolet monte carlo landau 19.2 8 305 145 3425 13.2 78 1
buick regal sport coupe (turbo) 17.7 6 231 165 3445 13.4 78 1
ford futura 18.1 8 302 139 3205 11.2 78 1
dodge magnum xe 17.5 8 318 140 4080 13.7 78 1
chevrolet chevette 30 4 98 68 2155 16.5 78 1
toyota corona 27.5 4 134 95 2560 14.2 78 3
datsun 510 27.2 4 119 97 2300 14.7 78 3
dodge omni 30.9 4 105 75 2230 14.5 78 1
toyota celica gt liftback 21.1 4 134 95 2515 14.8 78 3
plymouth sapporo 23.2 4 156 105 2745 16.7 78 1
oldsmobile starfire sx 23.8 4 151 85 2855 17.6 78 1
datsun 200-sx 23.9 4 119 97 2405 14.9 78 3
audi 5000 20.3 5 131 103 2830 15.9 78 2
volvo 264gl 17 6 163 125 3140 13.6 78 2
saab 99gle 21.6 4 121 115 2795 15.7 78 2
peugeot 604sl 16.2 6 163 133 3410 15.8 78 2
volkswagen scirocco 31.5 4 89 71 1990 14.9 78 2
honda accord lx 29.5 4 98 68 2135 16.6 78 3
pontiac lemans v6 21.5 6 231 115 3245 15.4 79 1
mercury zephyr 6 19.8 6 200 85 2990 18.2 79 1
ford fairmont 4 22.3 4 140 88 2890 17.3 79 1
amc concord dl 6 20.2 6 232 90 3265 18.2 79 1
dodge aspen 6 20.6 6 225 110 3360 16.6 79 1
chevrolet caprice classic 17 8 305 130 3840 15.4 79 1
ford ltd landau 17.6 8 302 129 3725 13.4 79 1
mercury grand marquis 16.5 8 351 138 3955 13.2 79 1
dodge st. regis 18.2 8 318 135 3830 15.2 79 1
buick estate wagon (sw) 16.9 8 350 155 4360 14.9 79 1
ford country squire (sw) 15.5 8 351 142 4054 14.3 79 1
chevrolet malibu classic (sw) 19.2 8 267 125 3605 15 79 1
chrysler lebaron town @ country (sw) 18.5 8 360 150 3940 13 79 1
vw rabbit custom 31.9 4 89 71 1925 14 79 2
maxda glc deluxe 34.1 4 86 65 1975 15.2 79 3
dodge colt hatchback custom 35.7 4 98 80 1915 14.4 79 1
amc spirit dl 27.4 4 121 80 2670 15 79 1
mercedes benz 300d 25.4 5 183 77 3530 20.1 79 2
cadillac eldorado 23 8 350 125 3900 17.4 79 1
peugeot 504 27.2 4 141 71 3190 24.8 79 2
oldsmobile cutlass salon brougham 23.9 8 260 90 3420 22.2 79 1
plymouth horizon 34.2 4 105 70 2200 13.2 79 1
plymouth horizon tc3 34.5 4 105 70 2150 14.9 79 1
datsun 210 31.8 4 85 65 2020 19.2 79 3
fiat strada custom 37.3 4 91 69 2130 14.7 79 2
buick skylark limited 28.4 4 151 90 2670 16 79 1
chevrolet citation 28.8 6 173 115 2595 11.3 79 1
oldsmobile omega brougham 26.8 6 173 115 2700 12.9 79 1
pontiac phoenix 33.5 4 151 90 2556 13.2 79 1
vw rabbit 41.5 4 98 76 2144 14.7 80 2
toyota corolla tercel 38.1 4 89 60 1968 18.8 80 3
chevrolet chevette 32.1 4 98 70 2120 15.5 80 1
datsun 310 37.2 4 86 65 2019 16.4 80 3
chevrolet citation 28 4 151 90 2678 16.5 80 1
ford fairmont 26.4 4 140 88 2870 18.1 80 1
amc concord 24.3 4 151 90 3003 20.1 80 1
dodge aspen 19.1 6 225 90 3381 18.7 80 1
audi 4000 34.3 4 97 78 2188 15.8 80 2
toyota corona liftback 29.8 4 134 90 2711 15.5 80 3
mazda 626 31.3 4 120 75 2542 17.5 80 3
datsun 510 hatchback 37 4 119 92 2434 15 80 3
toyota corolla 32.2 4 108 75 2265 15.2 80 3
mazda glc 46.6 4 86 65 2110 17.9 80 3
dodge colt 27.9 4 156 105 2800 14.4 80 1
datsun 210 40.8 4 85 65 2110 19.2 80 3
vw rabbit c (diesel) 44.3 4 90 48 2085 21.7 80 2
vw dasher (diesel) 43.4 4 90 48 2335 23.7 80 2
audi 5000s (diesel) 36.4 5 121 67 2950 19.9 80 2
mercedes-benz 240d 30 4 146 67 3250 21.8 80 2
honda civic 1500 gl 44.6 4 91 67 1850 13.8 80 3
renault lecar deluxe 40.9 4 85 NA 1835 17.3 80 2
subaru dl 33.8 4 97 67 2145 18 80 3
vokswagen rabbit 29.8 4 89 62 1845 15.3 80 2
datsun 280-zx 32.7 6 168 132 2910 11.4 80 3
mazda rx-7 gs 23.7 3 70 100 2420 12.5 80 3
triumph tr7 coupe 35 4 122 88 2500 15.1 80 2
ford mustang cobra 23.6 4 140 NA 2905 14.3 80 1
honda accord 32.4 4 107 72 2290 17 80 3
plymouth reliant 27.2 4 135 84 2490 15.7 81 1
buick skylark 26.6 4 151 84 2635 16.4 81 1
dodge aries wagon (sw) 25.8 4 156 92 2620 14.4 81 1
chevrolet citation 23.5 6 173 110 2725 12.6 81 1
plymouth reliant 30 4 135 84 2385 12.9 81 1
toyota starlet 39.1 4 79 58 1755 16.9 81 3
plymouth champ 39 4 86 64 1875 16.4 81 1
honda civic 1300 35.1 4 81 60 1760 16.1 81 3
subaru 32.3 4 97 67 2065 17.8 81 3
datsun 210 mpg 37 4 85 65 1975 19.4 81 3
toyota tercel 37.7 4 89 62 2050 17.3 81 3
mazda glc 4 34.1 4 91 68 1985 16 81 3
plymouth horizon 4 34.7 4 105 63 2215 14.9 81 1
ford escort 4w 34.4 4 98 65 2045 16.2 81 1
ford escort 2h 29.9 4 98 65 2380 20.7 81 1
volkswagen jetta 33 4 105 74 2190 14.2 81 2
renault 18i 34.5 4 100 NA 2320 15.8 81 2
honda prelude 33.7 4 107 75 2210 14.4 81 3
toyota corolla 32.4 4 108 75 2350 16.8 81 3
datsun 200sx 32.9 4 119 100 2615 14.8 81 3
mazda 626 31.6 4 120 74 2635 18.3 81 3
peugeot 505s turbo diesel 28.1 4 141 80 3230 20.4 81 2
saab 900s NA 4 121 110 2800 15.4 81 2
volvo diesel 30.7 6 145 76 3160 19.6 81 2
toyota cressida 25.4 6 168 116 2900 12.6 81 3
datsun 810 maxima 24.2 6 146 120 2930 13.8 81 3
buick century 22.4 6 231 110 3415 15.8 81 1
oldsmobile cutlass ls 26.6 8 350 105 3725 19 81 1
ford granada gl 20.2 6 200 88 3060 17.1 81 1
chrysler lebaron salon 17.6 6 225 85 3465 16.6 81 1
chevrolet cavalier 28 4 112 88 2605 19.6 82 1
chevrolet cavalier wagon 27 4 112 88 2640 18.6 82 1
chevrolet cavalier 2-door 34 4 112 88 2395 18 82 1
pontiac j2000 se hatchback 31 4 112 85 2575 16.2 82 1
dodge aries se 29 4 135 84 2525 16 82 1
pontiac phoenix 27 4 151 90 2735 18 82 1
ford fairmont futura 24 4 140 92 2865 16.4 82 1
amc concord dl 23 4 151 NA 3035 20.5 82 1
volkswagen rabbit l 36 4 105 74 1980 15.3 82 2
mazda glc custom l 37 4 91 68 2025 18.2 82 3
mazda glc custom 31 4 91 68 1970 17.6 82 3
plymouth horizon miser 38 4 105 63 2125 14.7 82 1
mercury lynx l 36 4 98 70 2125 17.3 82 1
nissan stanza xe 36 4 120 88 2160 14.5 82 3
honda accord 36 4 107 75 2205 14.5 82 3
toyota corolla 34 4 108 70 2245 16.9 82 3
honda civic 38 4 91 67 1965 15 82 3
honda civic (auto) 32 4 91 67 1965 15.7 82 3
datsun 310 gx 38 4 91 67 1995 16.2 82 3
buick century limited 25 6 181 110 2945 16.4 82 1
oldsmobile cutlass ciera (diesel) 38 6 262 85 3015 17 82 1
chrysler lebaron medallion 26 4 156 92 2585 14.5 82 1
ford granada l 22 6 232 112 2835 14.7 82 1
toyota celica gt 32 4 144 96 2665 13.9 82 3
dodge charger 2.2 36 4 135 84 2370 13 82 1
chevrolet camaro 27 4 151 90 2950 17.3 82 1
ford mustang gl 27 4 140 86 2790 15.6 82 1
vw pickup 44 4 97 52 2130 24.6 82 2
dodge rampage 32 4 135 84 2295 11.6 82 1
ford ranger 28 4 120 79 2625 18.6 82 1
chevy s-10 31 4 119 82 2720 19.4 82 1
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_12/Ex_12.pde b/content/handbook_2e/examples/32 Data/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..1bd28fc38
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_12/Ex_12.pde
@@ -0,0 +1,7 @@
+XML xml;
+
+void setup() {
+ xml = loadXML("mammals.xml");
+ XML[] animals = xml.getChildren("animal");
+ println(animals.length);
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_12/data/mammals.xml b/content/handbook_2e/examples/32 Data/Ex_12/data/mammals.xml
new file mode 100644
index 000000000..752da754b
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_12/data/mammals.xml
@@ -0,0 +1,6 @@
+
+
+ Goat
+ Leopard
+ Zebra
+
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_13/Ex_13.pde b/content/handbook_2e/examples/32 Data/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..172a85578
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_13/Ex_13.pde
@@ -0,0 +1,11 @@
+XML xml;
+
+void setup() {
+ xml = loadXML("mammals.xml");
+ for (XML a : xml.getChildren("animal")) {
+ String name = a.getContent();
+ String species = a.getString("species");
+ println(name + ", " + species);
+ }
+}
+
diff --git a/content/handbook_2e/examples/32 Data/Ex_13/data/mammals.xml b/content/handbook_2e/examples/32 Data/Ex_13/data/mammals.xml
new file mode 100644
index 000000000..752da754b
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_13/data/mammals.xml
@@ -0,0 +1,6 @@
+
+
+ Goat
+ Leopard
+ Zebra
+
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_14/Ex_14.pde b/content/handbook_2e/examples/32 Data/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..7c10f6d13
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_14/Ex_14.pde
@@ -0,0 +1,26 @@
+XML cambridge; // Data for Cambridge, MA
+
+int[] lows = new int[0];
+int[] highs = new int[0];
+
+void setup() {
+ cambridge = loadXML("cambridge.xml");
+ for (XML temps : cambridge.getChildren("temperature")) {
+ String type = temps.getString("type");
+ if (type.equals("maximum")) {
+ for (XML val : temps.getChildren("value")) {
+ int t = int(val.getContent());
+ highs = append(highs, t);
+ }
+ }
+ else {
+ for (XML val : temps.getChildren("value")) {
+ int t = int(val.getContent());
+ lows = append(lows, t);
+ }
+ }
+ }
+ printArray(lows);
+ printArray(highs);
+}
+
diff --git a/content/handbook_2e/examples/32 Data/Ex_14/data/cambridge.xml b/content/handbook_2e/examples/32 Data/Ex_14/data/cambridge.xml
new file mode 100644
index 000000000..5887180d5
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_14/data/cambridge.xml
@@ -0,0 +1,27 @@
+
+
+
+ Cambridge, MA
+
+
+
+ Daily Maximum Temperature
+ 29
+ 26
+ 32
+ 27
+ 33
+ 38
+ 36
+
+
+ Daily Minimum Temperature
+ 18
+ 13
+ 23
+ 18
+ 11
+ 25
+ 24
+
+
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_14/data/marinadelrey.xml b/content/handbook_2e/examples/32 Data/Ex_14/data/marinadelrey.xml
new file mode 100644
index 000000000..faad13578
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_14/data/marinadelrey.xml
@@ -0,0 +1,27 @@
+
+
+
+ Marina Del Rey, CA
+
+
+
+ Daily Maximum Temperature
+ 70
+ 64
+ 72
+ 71
+ 75
+ 75
+ 70
+
+
+ Daily Minimum Temperature
+ 46
+ 46
+ 48
+ 49
+ 50
+ 49
+ 47
+
+
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_15/Ex_15.pde b/content/handbook_2e/examples/32 Data/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..b652dea75
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_15/Ex_15.pde
@@ -0,0 +1,44 @@
+XML cambridge; // Data for Cambridge, MA
+
+int[] lows = new int[0];
+int[] highs = new int[0];
+
+void setup() {
+ size(700, 100);
+ cambridge = loadXML("cambridge.xml");
+ lows = getData(cambridge, "minimum");
+ highs = getData(cambridge, "maximum");
+}
+
+void draw() {
+ background(204);
+ // Shape defined by daily highs and lows
+ noStroke();
+ fill(0);
+ beginShape(QUAD_STRIP);
+ for (int i = 0; i < lows.length; i++) {
+ float x = map(i, 0, lows.length-1, 0, width);
+ vertex(x, height-lows[i]);
+ vertex(x, height-highs[i]*2);
+ }
+ endShape();
+ // Lines for temperatures, 0 (bottom) to 50 (top)
+ stroke(255, 153);
+ for (int y = height-1; y > 0; y -= 10) {
+ line(0, y, width, y);
+ }
+}
+
+int[] getData(XML city, String minOrMax) {
+ int[] values = new int[0];
+ for (XML temps : city.getChildren("temperature")) {
+ String type = temps.getString("type");
+ if (type.equals(minOrMax)) {
+ for (XML val : temps.getChildren("value")) {
+ int t = int(val.getContent());
+ values = append(values, t);
+ }
+ }
+ }
+ return values;
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_15/data/cambridge.xml b/content/handbook_2e/examples/32 Data/Ex_15/data/cambridge.xml
new file mode 100644
index 000000000..5887180d5
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_15/data/cambridge.xml
@@ -0,0 +1,27 @@
+
+
+
+ Cambridge, MA
+
+
+
+ Daily Maximum Temperature
+ 29
+ 26
+ 32
+ 27
+ 33
+ 38
+ 36
+
+
+ Daily Minimum Temperature
+ 18
+ 13
+ 23
+ 18
+ 11
+ 25
+ 24
+
+
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_15/data/marinadelrey.xml b/content/handbook_2e/examples/32 Data/Ex_15/data/marinadelrey.xml
new file mode 100644
index 000000000..faad13578
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_15/data/marinadelrey.xml
@@ -0,0 +1,27 @@
+
+
+
+ Marina Del Rey, CA
+
+
+
+ Daily Maximum Temperature
+ 70
+ 64
+ 72
+ 71
+ 75
+ 75
+ 70
+
+
+ Daily Minimum Temperature
+ 46
+ 46
+ 48
+ 49
+ 50
+ 49
+ 47
+
+
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_16/Ex_16.pde b/content/handbook_2e/examples/32 Data/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..f6dcfad81
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_16/Ex_16.pde
@@ -0,0 +1,6 @@
+JSONArray animals;
+
+void setup() {
+ animals = loadJSONArray("animals.json");
+ println(animals.size());
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_16/data/animals.json b/content/handbook_2e/examples/32 Data/Ex_16/data/animals.json
new file mode 100644
index 000000000..9385a3271
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_16/data/animals.json
@@ -0,0 +1,17 @@
+[
+ {
+ "id": 0,
+ "species": "Capra hircus",
+ "name": "Goat"
+ },
+ {
+ "id": 1,
+ "species": "Panthera pardus",
+ "name": "Leopard"
+ },
+ {
+ "id": 2,
+ "species": "Equus zebra",
+ "name": "Zebra"
+ }
+]
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_17/Ex_17.pde b/content/handbook_2e/examples/32 Data/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..9b04ac8fc
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_17/Ex_17.pde
@@ -0,0 +1,11 @@
+JSONArray animals;
+
+void setup() {
+ animals = loadJSONArray("animals.json");
+ for (int i = 0; i < animals.size(); i++) {
+ JSONObject a = animals.getJSONObject(i);
+ String name = a.getString("name");
+ String species = a.getString("species");
+ println(name + ", " + species);
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_17/data/animals.json b/content/handbook_2e/examples/32 Data/Ex_17/data/animals.json
new file mode 100644
index 000000000..9385a3271
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_17/data/animals.json
@@ -0,0 +1,17 @@
+[
+ {
+ "id": 0,
+ "species": "Capra hircus",
+ "name": "Goat"
+ },
+ {
+ "id": 1,
+ "species": "Panthera pardus",
+ "name": "Leopard"
+ },
+ {
+ "id": 2,
+ "species": "Equus zebra",
+ "name": "Zebra"
+ }
+]
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_18/Ex_18.pde b/content/handbook_2e/examples/32 Data/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..691a28b9d
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_18/Ex_18.pde
@@ -0,0 +1,14 @@
+JSONArray bookData;
+
+void setup() {
+ bookData = loadJSONArray("books.json");
+ for (int i = 0; i < bookData.size(); i++) {
+ JSONObject b = bookData.getJSONObject(i);
+ String title = b.getString("title");
+ JSONArray dims = b.getJSONArray("dimensions");
+ float w = dims.getFloat(0);
+ float h = dims.getFloat(1);
+ float d = dims.getFloat(2);
+ println(title, w, h, d);
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_18/data/books.json b/content/handbook_2e/examples/32 Data/Ex_18/data/books.json
new file mode 100644
index 000000000..5ad2f6c93
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_18/data/books.json
@@ -0,0 +1,14 @@
+[
+ {
+ "title": "Six Years",
+ "author": "Lippard",
+ "ISBN-10": 0520210131,
+ "dimensions": [ 7.0, 8.0, 0.8 ]
+ },
+ {
+ "title": "Beyond Modern",
+ "author": "Burnham",
+ "ISBN-10": 0987654321,
+ "dimensions": [ 7.6, 9.2, 1 ]
+ }
+]
\ No newline at end of file
diff --git a/content/handbook_2e/examples/32 Data/Ex_19/Book.pde b/content/handbook_2e/examples/32 Data/Ex_19/Book.pde
new file mode 100644
index 000000000..d0cfbecbe
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_19/Book.pde
@@ -0,0 +1,29 @@
+class Book {
+
+ String title;
+ String author;
+ int isbn;
+ float w, h, d;
+
+ Book(JSONObject b) {
+ title = b.getString("title");
+ author = b.getString("author");
+ isbn = b.getInt("ISBN-10");
+ JSONArray dims = b.getJSONArray("dimensions");
+ w = dims.getFloat(0);
+ h = dims.getFloat(1);
+ d = dims.getFloat(2);
+ println(title, author, isbn, w, h, d);
+ }
+
+ float getDepth() {
+ return d;
+ }
+
+ void display() {
+ fill(0);
+ stroke(255);
+ box(w, d, h);
+ }
+}
+
diff --git a/content/handbook_2e/examples/32 Data/Ex_19/Ex_19.pde b/content/handbook_2e/examples/32 Data/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..7566bdae5
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_19/Ex_19.pde
@@ -0,0 +1,25 @@
+JSONArray bookData;
+Book[] books;
+
+void setup() {
+ size(100, 100, P3D);
+ bookData = loadJSONArray("books.json");
+ books = new Book[bookData.size()];
+ for (int i = 0; i < books.length; i++) {
+ JSONObject b = bookData.getJSONObject(i);
+ books[i] = new Book(b);
+ }
+}
+
+void draw() {
+ background(204);
+ translate(50, 20, -50);
+ scale(10);
+ strokeWeight(0.1);
+ float angle = map(mouseX, 0, width, -1, 1);
+ rotateY(angle); // Rotate with mouseX
+ for (Book b : books) {
+ b.display();
+ translate(0, b.getDepth(), 0);
+ }
+}
diff --git a/content/handbook_2e/examples/32 Data/Ex_19/data/books.json b/content/handbook_2e/examples/32 Data/Ex_19/data/books.json
new file mode 100644
index 000000000..c3a381f05
--- /dev/null
+++ b/content/handbook_2e/examples/32 Data/Ex_19/data/books.json
@@ -0,0 +1,50 @@
+[
+ {
+ "title": "Six Years",
+ "author": "Lippard",
+ "ISBN-10": 0520210131,
+ "dimensions": [ 7.0, 8.0, 0.8 ]
+ },
+ {
+ "title": "Beyond Modern",
+ "author": "Burnham",
+ "ISBN-10": 0987654321,
+ "dimensions": [ 7.6, 9.2, 1 ]
+ },
+ {
+ "title": "Relational Aesthetics",
+ "author": "Bourriaud",
+ "ISBN-10": 2840660601,
+ "dimensions": [ 5.8, 8.2, 0.3 ]
+ },
+ {
+ "title": "The Open Work",
+ "author": "Eco",
+ "ISBN-10": 0674639766,
+ "dimensions": [ 5.9, 8.9, 1 ]
+ },
+ {
+ "title": "Open Systems",
+ "author": "De Salvo",
+ "ISBN-10": 1854375652,
+ "dimensions": [ 9, 10.6, 0.6 ]
+ },
+ {
+ "title": "Designing Programmes",
+ "author": "Gerstner",
+ "ISBN-10": 3037780932,
+ "dimensions": [ 7.2, 9.2, 0.6 ]
+ },
+ {
+ "title": "Typographie",
+ "author": "Ruder",
+ "ISBN-10": 3721200438,
+ "dimensions": [ 8.8, 9.2, 1.2 ]
+ },
+ {
+ "title": "Conditional Design",
+ "author": "Maurer et al.",
+ "ISBN-10": 9078088583,
+ "dimensions": [ 8.2, 11.8, 1.1 ]
+ }
+]
\ No newline at end of file
diff --git a/content/handbook_2e/examples/33 Interface/Ex_01/Ex_01.pde b/content/handbook_2e/examples/33 Interface/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..8513a3abb
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_01/Ex_01.pde
@@ -0,0 +1,25 @@
+class OverCircle {
+ int x, y; // The x- and y-coordinates
+ int diameter; // Diameter of the circle
+ int gray; // Gray value
+
+ OverCircle(int xp, int yp, int d) {
+ x = xp;
+ y = yp;
+ diameter = d;
+ gray = 0;
+ }
+
+ void update(int mx, int my) {
+ if (dist(mx, my, x, y) < diameter/2) {
+ gray = 255;
+ } else {
+ gray = 0;
+ }
+ }
+
+ void display() {
+ fill(gray);
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_02/Ex_02.pde b/content/handbook_2e/examples/33 Interface/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..0f9e59ada
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_02/Ex_02.pde
@@ -0,0 +1,25 @@
+class OverRect {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height) of the rectangle
+ int gray; // Gray value
+
+ OverRect(int xp, int yp, int s) {
+ x = xp;
+ y = yp;
+ size = s;
+ gray = 0;
+ }
+
+ void update(int mx, int my) {
+ if ((mx > x) && (mx < x+size) && (my > y) && (my < y+size)) {
+ gray = 255;
+ } else {
+ gray = 0;
+ }
+ }
+
+ void display() {
+ fill(gray);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_03/Ex_03.pde b/content/handbook_2e/examples/33 Interface/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..edbb22001
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_03/Ex_03.pde
@@ -0,0 +1,19 @@
+// Requires the OverRect and OverCircle classes
+
+OverRect r;
+OverCircle c;
+
+void setup() {
+ size(100, 100);
+ r = new OverRect(9, 30, 36);
+ c = new OverCircle(72, 48, 40);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ r.update(mouseX, mouseY);
+ r.display();
+ c.update(mouseX, mouseY);
+ c.display();
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_03/OverCircle.pde b/content/handbook_2e/examples/33 Interface/Ex_03/OverCircle.pde
new file mode 100644
index 000000000..6d6d667d5
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_03/OverCircle.pde
@@ -0,0 +1,24 @@
+class OverCircle {
+ int x, y; // The x- and y-coordinates
+ int diameter; // Diameter of the circle
+ int gray; // Gray value
+
+ OverCircle(int xp, int yp, int d) {
+ x = xp;
+ y = yp;
+ diameter = d;
+ gray = 0;
+ }
+ void update(int mx, int my) {
+ if (dist(mx, my, x, y) < diameter/2) {
+ gray = 255;
+ } else {
+ gray = 0;
+ }
+ }
+
+ void display() {
+ fill(gray);
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_03/OverRect.pde b/content/handbook_2e/examples/33 Interface/Ex_03/OverRect.pde
new file mode 100644
index 000000000..0f9e59ada
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_03/OverRect.pde
@@ -0,0 +1,25 @@
+class OverRect {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height) of the rectangle
+ int gray; // Gray value
+
+ OverRect(int xp, int yp, int s) {
+ x = xp;
+ y = yp;
+ size = s;
+ gray = 0;
+ }
+
+ void update(int mx, int my) {
+ if ((mx > x) && (mx < x+size) && (my > y) && (my < y+size)) {
+ gray = 255;
+ } else {
+ gray = 0;
+ }
+ }
+
+ void display() {
+ fill(gray);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_04/Ex_04.pde b/content/handbook_2e/examples/33 Interface/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..0fa3b9d10
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_04/Ex_04.pde
@@ -0,0 +1,17 @@
+// Requires the OverRect and OverCircle classes
+
+OverRect r = new OverRect(9, 30, 36);
+OverCircle c = new OverCircle(72, 48, 40);
+
+void setup() {
+ size(100, 100);
+ noStroke();
+}
+
+void draw() {
+ background(204);
+ r.update(mouseX, mouseY);
+ r.display();
+ c.update(mouseX, mouseY);
+ c.display();
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_04/OverCircle.pde b/content/handbook_2e/examples/33 Interface/Ex_04/OverCircle.pde
new file mode 100644
index 000000000..8f68d44c0
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_04/OverCircle.pde
@@ -0,0 +1,29 @@
+class OverCircle {
+ int x, y; // The x- and y-coordinates
+ int diameter; // Diameter of the circle
+ int gray; // Gray value
+
+ OverCircle(int xp, int yp, int d) {
+ x = xp;
+ y = yp;
+ diameter = d;
+ gray = 0;
+ }
+
+ void update(int mx, int my) {
+ if (dist(mx, my, x, y) < diameter/2) {
+ if (gray < 255) {
+ gray++;
+ }
+ } else {
+ if (gray > 0) {
+ gray--;
+ }
+ }
+}
+
+ void display() {
+ fill(gray);
+ ellipse(x, y, diameter, diameter);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_04/OverRect.pde b/content/handbook_2e/examples/33 Interface/Ex_04/OverRect.pde
new file mode 100644
index 000000000..0f9e59ada
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_04/OverRect.pde
@@ -0,0 +1,25 @@
+class OverRect {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height) of the rectangle
+ int gray; // Gray value
+
+ OverRect(int xp, int yp, int s) {
+ x = xp;
+ y = yp;
+ size = s;
+ gray = 0;
+ }
+
+ void update(int mx, int my) {
+ if ((mx > x) && (mx < x+size) && (my > y) && (my < y+size)) {
+ gray = 255;
+ } else {
+ gray = 0;
+ }
+ }
+
+ void display() {
+ fill(gray);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_05/Ex_05.pde b/content/handbook_2e/examples/33 Interface/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..b163718df
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_05/Ex_05.pde
@@ -0,0 +1,55 @@
+class Button {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ color overGray; // Value when mouse is over the button
+ color pressGray; // Value when mouse is over and pressed
+ boolean over = false; // True when the mouse is over
+ boolean pressed = false; // True when the mouse is over and pressed
+
+ Button(int xp, int yp, int s, color b, color o, color p) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ overGray = o;
+ pressGray = p;
+ }
+
+ // Updates the over field every frame
+ void update() {
+ if ((mouseX >= x) && (mouseX <= x+size) &&
+ (mouseY >= y) && (mouseY <= y+size)) {
+ over = true;
+ } else {
+ over = false;
+ }
+ }
+
+ // Respond to mousePressed() event
+ boolean press() {
+ if (over == true) {
+ pressed = true;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Respond to mouseReleased() event
+ void release() {
+ pressed = false;
+ }
+
+ void display() {
+ if (pressed == true) {
+ fill(pressGray);
+ } else if (over == true) {
+ fill(overGray);
+ } else {
+ fill(baseGray);
+ }
+ stroke(255);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_06/Button.pde b/content/handbook_2e/examples/33 Interface/Ex_06/Button.pde
new file mode 100644
index 000000000..b163718df
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_06/Button.pde
@@ -0,0 +1,55 @@
+class Button {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ color overGray; // Value when mouse is over the button
+ color pressGray; // Value when mouse is over and pressed
+ boolean over = false; // True when the mouse is over
+ boolean pressed = false; // True when the mouse is over and pressed
+
+ Button(int xp, int yp, int s, color b, color o, color p) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ overGray = o;
+ pressGray = p;
+ }
+
+ // Updates the over field every frame
+ void update() {
+ if ((mouseX >= x) && (mouseX <= x+size) &&
+ (mouseY >= y) && (mouseY <= y+size)) {
+ over = true;
+ } else {
+ over = false;
+ }
+ }
+
+ // Respond to mousePressed() event
+ boolean press() {
+ if (over == true) {
+ pressed = true;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Respond to mouseReleased() event
+ void release() {
+ pressed = false;
+ }
+
+ void display() {
+ if (pressed == true) {
+ fill(pressGray);
+ } else if (over == true) {
+ fill(overGray);
+ } else {
+ fill(baseGray);
+ }
+ stroke(255);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_06/Ex_06.pde b/content/handbook_2e/examples/33 Interface/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..b6739383c
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_06/Ex_06.pde
@@ -0,0 +1,27 @@
+// Requires the Button class
+
+Button button;
+
+void setup() {
+ size(100, 100);
+ // Inputs: x, y, size,
+ // base color, over color, press color
+ button = new Button(25, 25, 50,
+ color(204), color(255), color(0));
+}
+
+void draw() {
+ background(204);
+ stroke(255);
+ button.update();
+ button.display();
+}
+
+void mousePressed() {
+ button.press();
+}
+
+void mouseReleased() {
+ button.release();
+}
+
diff --git a/content/handbook_2e/examples/33 Interface/Ex_07/Button.pde b/content/handbook_2e/examples/33 Interface/Ex_07/Button.pde
new file mode 100644
index 000000000..b163718df
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_07/Button.pde
@@ -0,0 +1,55 @@
+class Button {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ color overGray; // Value when mouse is over the button
+ color pressGray; // Value when mouse is over and pressed
+ boolean over = false; // True when the mouse is over
+ boolean pressed = false; // True when the mouse is over and pressed
+
+ Button(int xp, int yp, int s, color b, color o, color p) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ overGray = o;
+ pressGray = p;
+ }
+
+ // Updates the over field every frame
+ void update() {
+ if ((mouseX >= x) && (mouseX <= x+size) &&
+ (mouseY >= y) && (mouseY <= y+size)) {
+ over = true;
+ } else {
+ over = false;
+ }
+ }
+
+ // Respond to mousePressed() event
+ boolean press() {
+ if (over == true) {
+ pressed = true;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Respond to mouseReleased() event
+ void release() {
+ pressed = false;
+ }
+
+ void display() {
+ if (pressed == true) {
+ fill(pressGray);
+ } else if (over == true) {
+ fill(overGray);
+ } else {
+ fill(baseGray);
+ }
+ stroke(255);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_07/Ex_07.pde b/content/handbook_2e/examples/33 Interface/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..bad576777
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_07/Ex_07.pde
@@ -0,0 +1,49 @@
+// Requires the Button class
+
+Button button1, button2, button3;
+int mode = 1;
+
+void setup() {
+ size(100, 100);
+ color gray = color(204);
+ color white = color(255);
+ color black = color(0);
+ button1 = new Button(10, 80, 10, gray, white, black);
+ button2 = new Button(25, 80, 10, gray, white, black);
+ button3 = new Button(40, 80, 10, gray, white, black);
+}
+
+void draw() {
+ background(204);
+ manageButtons();
+ noStroke();
+ fill(0);
+ if (mode == 1) {
+ ellipse(0, 40, 60, 60);
+ } else if (mode == 2) {
+ ellipse(50, 40, 60, 60);
+ } else if (mode == 3) {
+ ellipse(100, 40, 60, 60);
+ }
+}
+
+void manageButtons() {
+ button1.update();
+ button2.update();
+ button3.update();
+ button1.display();
+ button2.display();
+ button3.display();
+}
+
+void mousePressed() {
+ if (button1.press() == true) { mode = 1; }
+ if (button2.press() == true) { mode = 2; }
+ if (button3.press() == true) { mode = 3; }
+}
+
+void mouseReleased() {
+ button1.release();
+ button2.release();
+ button3.release();
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_08/Button.pde b/content/handbook_2e/examples/33 Interface/Ex_08/Button.pde
new file mode 100644
index 000000000..b163718df
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_08/Button.pde
@@ -0,0 +1,55 @@
+class Button {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ color overGray; // Value when mouse is over the button
+ color pressGray; // Value when mouse is over and pressed
+ boolean over = false; // True when the mouse is over
+ boolean pressed = false; // True when the mouse is over and pressed
+
+ Button(int xp, int yp, int s, color b, color o, color p) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ overGray = o;
+ pressGray = p;
+ }
+
+ // Updates the over field every frame
+ void update() {
+ if ((mouseX >= x) && (mouseX <= x+size) &&
+ (mouseY >= y) && (mouseY <= y+size)) {
+ over = true;
+ } else {
+ over = false;
+ }
+ }
+
+ // Respond to mousePressed() event
+ boolean press() {
+ if (over == true) {
+ pressed = true;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Respond to mouseReleased() event
+ void release() {
+ pressed = false;
+ }
+
+ void display() {
+ if (pressed == true) {
+ fill(pressGray);
+ } else if (over == true) {
+ fill(overGray);
+ } else {
+ fill(baseGray);
+ }
+ stroke(255);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_08/Ex_08.pde b/content/handbook_2e/examples/33 Interface/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..cf0dce7d8
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_08/Ex_08.pde
@@ -0,0 +1,20 @@
+class DragButton extends Button {
+ int xoff, yoff;
+
+ DragButton(int xp, int yp, int s, color b, color o, color p) {
+ super(xp, yp, s, b, o, p);
+ }
+
+ boolean press() {
+ xoff = mouseX - x; // Store x-offset from shape origin
+ yoff = mouseY - y; // Store y-offset from shape origin
+ return super.press();
+ }
+
+ void drag() {
+ if (pressed == true) {
+ x = mouseX - xoff; // Apply x-offset
+ y = mouseY - yoff; // Apply y-offset
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_09/Button.pde b/content/handbook_2e/examples/33 Interface/Ex_09/Button.pde
new file mode 100644
index 000000000..b163718df
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_09/Button.pde
@@ -0,0 +1,55 @@
+class Button {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ color overGray; // Value when mouse is over the button
+ color pressGray; // Value when mouse is over and pressed
+ boolean over = false; // True when the mouse is over
+ boolean pressed = false; // True when the mouse is over and pressed
+
+ Button(int xp, int yp, int s, color b, color o, color p) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ overGray = o;
+ pressGray = p;
+ }
+
+ // Updates the over field every frame
+ void update() {
+ if ((mouseX >= x) && (mouseX <= x+size) &&
+ (mouseY >= y) && (mouseY <= y+size)) {
+ over = true;
+ } else {
+ over = false;
+ }
+ }
+
+ // Respond to mousePressed() event
+ boolean press() {
+ if (over == true) {
+ pressed = true;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Respond to mouseReleased() event
+ void release() {
+ pressed = false;
+ }
+
+ void display() {
+ if (pressed == true) {
+ fill(pressGray);
+ } else if (over == true) {
+ fill(overGray);
+ } else {
+ fill(baseGray);
+ }
+ stroke(255);
+ rect(x, y, size, size);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_09/DragButton.pde b/content/handbook_2e/examples/33 Interface/Ex_09/DragButton.pde
new file mode 100644
index 000000000..cf0dce7d8
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_09/DragButton.pde
@@ -0,0 +1,20 @@
+class DragButton extends Button {
+ int xoff, yoff;
+
+ DragButton(int xp, int yp, int s, color b, color o, color p) {
+ super(xp, yp, s, b, o, p);
+ }
+
+ boolean press() {
+ xoff = mouseX - x; // Store x-offset from shape origin
+ yoff = mouseY - y; // Store y-offset from shape origin
+ return super.press();
+ }
+
+ void drag() {
+ if (pressed == true) {
+ x = mouseX - xoff; // Apply x-offset
+ y = mouseY - yoff; // Apply y-offset
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_09/Ex_09.pde b/content/handbook_2e/examples/33 Interface/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..b2bd16a4f
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_09/Ex_09.pde
@@ -0,0 +1,22 @@
+// Requires DragButton and Button classes
+
+DragButton icon;
+
+void setup() {
+ size(100, 100);
+ color gray = color(204);
+ color white = color(255);
+ color black = color(0);
+ icon = new DragButton(21, 42, 50, gray, white, black);
+}
+
+void draw() {
+ background(204);
+ icon.update();
+ icon.display();
+}
+
+void mousePressed() { icon.press(); }
+void mouseReleased() { icon.release(); }
+void mouseDragged() { icon.drag(); }
+
diff --git a/content/handbook_2e/examples/33 Interface/Ex_10/Ex_10.pde b/content/handbook_2e/examples/33 Interface/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..62d63d3c0
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_10/Ex_10.pde
@@ -0,0 +1,31 @@
+class Check {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ boolean checked = false; // True when the check box is selected
+
+ Check(int xp, int yp, int s, color b) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ }
+
+ // Updates the boolean variable checked
+ void press(float mx, float my) {
+ if ((mx >= x) && (mx <= x+size) && (my >= y) && (my <= y+size)) {
+ checked = !checked; // Toggle the check box on and off
+ }
+ }
+
+ // Draws the box and an X inside if the checked variable is true
+ void display() {
+ stroke(255);
+ fill(baseGray);
+ rect(x, y, size, size);
+ if (checked == true) {
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_11/Check.pde b/content/handbook_2e/examples/33 Interface/Ex_11/Check.pde
new file mode 100644
index 000000000..62d63d3c0
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_11/Check.pde
@@ -0,0 +1,31 @@
+class Check {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ boolean checked = false; // True when the check box is selected
+
+ Check(int xp, int yp, int s, color b) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ }
+
+ // Updates the boolean variable checked
+ void press(float mx, float my) {
+ if ((mx >= x) && (mx <= x+size) && (my >= y) && (my <= y+size)) {
+ checked = !checked; // Toggle the check box on and off
+ }
+ }
+
+ // Draws the box and an X inside if the checked variable is true
+ void display() {
+ stroke(255);
+ fill(baseGray);
+ rect(x, y, size, size);
+ if (checked == true) {
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_11/Ex_11.pde b/content/handbook_2e/examples/33 Interface/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..050aca659
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_11/Ex_11.pde
@@ -0,0 +1,18 @@
+// Requires the Check class
+
+Check check;
+
+void setup() {
+ size(100, 100);
+ // Inputs: x, y, size, fill color
+ check = new Check(25, 25, 50, color(0));
+}
+
+void draw() {
+ background(204);
+ check.display();
+}
+
+void mousePressed() {
+ check.press(mouseX, mouseY);
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_12/Check.pde b/content/handbook_2e/examples/33 Interface/Ex_12/Check.pde
new file mode 100644
index 000000000..62d63d3c0
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_12/Check.pde
@@ -0,0 +1,31 @@
+class Check {
+ int x, y; // The x- and y-coordinates
+ int size; // Dimension (width and height)
+ color baseGray; // Default gray value
+ boolean checked = false; // True when the check box is selected
+
+ Check(int xp, int yp, int s, color b) {
+ x = xp;
+ y = yp;
+ size = s;
+ baseGray = b;
+ }
+
+ // Updates the boolean variable checked
+ void press(float mx, float my) {
+ if ((mx >= x) && (mx <= x+size) && (my >= y) && (my <= y+size)) {
+ checked = !checked; // Toggle the check box on and off
+ }
+ }
+
+ // Draws the box and an X inside if the checked variable is true
+ void display() {
+ stroke(255);
+ fill(baseGray);
+ rect(x, y, size, size);
+ if (checked == true) {
+ line(x, y, x+size, y+size);
+ line(x+size, y, x, y+size);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_12/Ex_12.pde b/content/handbook_2e/examples/33 Interface/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..fd0a06ae8
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_12/Ex_12.pde
@@ -0,0 +1,31 @@
+// Requires the Check class
+
+int numChecks = 25;
+Check[] checks = new Check[numChecks];
+
+void setup() {
+ size(100, 100);
+ int x = 14;
+ int y = 14;
+ for (int i = 0; i < checks.length; i++) {
+ checks[i] = new Check(x, y, 12, color(0));
+ x += 15;
+ if (x > 80) {
+ x = 14;
+ y += 15;
+ }
+ }
+}
+
+void draw() {
+ background(0);
+ for (Check ch : checks) {
+ ch.display();
+ }
+}
+
+void mousePressed() {
+ for (Check ch : checks) {
+ ch.press(mouseX, mouseY);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_13/Ex_13.pde b/content/handbook_2e/examples/33 Interface/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..131a32f80
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_13/Ex_13.pde
@@ -0,0 +1,45 @@
+class Radio {
+ int x, y; // The x- and y-coordinates
+ int size, dotSize; // Dimension of circle, inner circle
+ color baseGray, dotGray; // Circle gray value, inner gray value
+ boolean checked = false; // True when the button is selected
+ int me; // ID number for this Radio object
+ Radio[] others; // Array of all objects in the group
+
+ Radio(int xp, int yp, int s, color b, color d, int m, Radio[] o) {
+ x = xp;
+ y = yp;
+ size = s;
+ dotSize = size - size/3;
+ baseGray = b;
+ dotGray = d;
+ me = m;
+ others = o;
+ }
+
+ // Updates the boolean value checked, returns true or false
+ boolean press(float mx, float my) {
+ if (dist(x, y, mx, my) < size/2) {
+ checked = true;
+ for (int i = 0; i < others.length; i++) {
+ if (i != me) {
+ others[i].checked = false;
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Draws the element to the display window
+ void display() {
+ noStroke();
+ fill(baseGray);
+ ellipse(x, y, size, size);
+ if (checked == true) {
+ fill(dotGray);
+ ellipse(x, y, dotSize, dotSize);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_14/Ex_14.pde b/content/handbook_2e/examples/33 Interface/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..43a7e3547
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_14/Ex_14.pde
@@ -0,0 +1,22 @@
+// Requires the Radio class
+
+Radio[] buttons = new Radio[2];
+
+void setup() {
+ size(100, 100);
+ // Inputs: x, y, size, base color, fill color,
+ // id number, array of all radio buttons
+ buttons[0] = new Radio(33, 50, 30, color(255), color(0), 0, buttons);
+ buttons[1] = new Radio(66, 50, 30, color(255), color(0), 1, buttons);
+}
+
+void draw() {
+ background(204);
+ buttons[0].display();
+ buttons[1].display();
+}
+
+void mousePressed() {
+ buttons[0].press(mouseX, mouseY);
+ buttons[1].press(mouseX, mouseY);
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_14/Radio.pde b/content/handbook_2e/examples/33 Interface/Ex_14/Radio.pde
new file mode 100644
index 000000000..cc6794efe
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_14/Radio.pde
@@ -0,0 +1,45 @@
+class Radio {
+ int x, y; // The x- and y-coordinates of the rect
+ int size, dotSize; // Dimension of circle, inner circle
+ color baseGray, dotGray; // Circle gray value, inner gray value
+ boolean checked = false; // True when the button is selected
+ int me; // ID number for this Radio object
+ Radio[] others; // Array of all other Radio objects
+
+ Radio(int xp, int yp, int s, color b, color d, int m, Radio[] o) {
+ x = xp;
+ y = yp;
+ size = s;
+ dotSize = size - size/3;
+ baseGray = b;
+ dotGray = d;
+ me = m;
+ others = o;
+ }
+
+ // Update the boolean value press, returns true or false
+ boolean press(float mx, float my) {
+ if (dist(x, y, mx, my) < size/2) {
+ checked = true;
+ for (int i = 0; i < others.length; i++) {
+ if (i != me) {
+ others[i].checked = false;
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Draw the element to the display window
+ void display() {
+ noStroke();
+ fill(baseGray);
+ ellipse(x, y, size, size);
+ if (checked == true) {
+ fill(dotGray);
+ ellipse(x, y, dotSize, dotSize);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_15/Ex_15.pde b/content/handbook_2e/examples/33 Interface/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..ad035acdc
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_15/Ex_15.pde
@@ -0,0 +1,25 @@
+// Requires the Radio class
+
+int numButtons = 7;
+Radio[] buttons = new Radio[numButtons];
+
+void setup() {
+ size(100, 100);
+ for (int i = 0; i < buttons.length; i++) {
+ int x = 14 + i*12;
+ buttons[i] = new Radio(x, 50, 10, color(255), color(0), i, buttons);
+ }
+}
+
+void draw() {
+ background(204);
+ for (Radio r : buttons) {
+ r.display();
+ }
+}
+
+void mousePressed() {
+ for (Radio r : buttons) {
+ r.press(mouseX, mouseY);
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_15/Radio.pde b/content/handbook_2e/examples/33 Interface/Ex_15/Radio.pde
new file mode 100644
index 000000000..cc6794efe
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_15/Radio.pde
@@ -0,0 +1,45 @@
+class Radio {
+ int x, y; // The x- and y-coordinates of the rect
+ int size, dotSize; // Dimension of circle, inner circle
+ color baseGray, dotGray; // Circle gray value, inner gray value
+ boolean checked = false; // True when the button is selected
+ int me; // ID number for this Radio object
+ Radio[] others; // Array of all other Radio objects
+
+ Radio(int xp, int yp, int s, color b, color d, int m, Radio[] o) {
+ x = xp;
+ y = yp;
+ size = s;
+ dotSize = size - size/3;
+ baseGray = b;
+ dotGray = d;
+ me = m;
+ others = o;
+ }
+
+ // Update the boolean value press, returns true or false
+ boolean press(float mx, float my) {
+ if (dist(x, y, mx, my) < size/2) {
+ checked = true;
+ for (int i = 0; i < others.length; i++) {
+ if (i != me) {
+ others[i].checked = false;
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Draw the element to the display window
+ void display() {
+ noStroke();
+ fill(baseGray);
+ ellipse(x, y, size, size);
+ if (checked == true) {
+ fill(dotGray);
+ ellipse(x, y, dotSize, dotSize);
+ }
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_16/Ex_16.pde b/content/handbook_2e/examples/33 Interface/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..081b6b4c3
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_16/Ex_16.pde
@@ -0,0 +1,76 @@
+class Scrollbar {
+ int x, y; // The x- and y-coordinates
+ float sw, sh; // Width and height of scrollbar
+ float pos; // Position of thumb
+ float posMin, posMax; // Min and max values of thumb
+ boolean rollover; // True when the mouse is over
+ boolean locked; // True when its the active scrollbar
+ float minVal, maxVal; // Min and max values for the thumb
+
+ Scrollbar (int xp, int yp, int w, int h, float miv, float mav) {
+ x = xp;
+ y = yp;
+ sw = w;
+ sh = h;
+ minVal = miv;
+ maxVal = mav;
+ pos = x + sw/2 - sh/2; // Move thumb to middle
+ posMin = x;
+ posMax = x + sw - sh;
+ }
+
+ // Update the boolean value over and the position of the thumb
+ void update(int mx, int my) {
+ if (over(mx, my) == true) {
+ rollover = true;
+ } else {
+ rollover = false;
+ }
+ if (locked == true) {
+ pos = constrain(mx-sh/2, posMin, posMax);
+ }
+ }
+
+ // Lock the thumb so the mouse can move off and still update
+ void press(int mx, int my) {
+ if (rollover == true) {
+ locked = true;
+ } else {
+ locked = false;
+ }
+ }
+
+ // Reset the scrollbar to neutral
+ void release() {
+ locked = false;
+ }
+
+ // Return true if the cursor is over the scrollbar
+ boolean over(int mx, int my) {
+ if ((mx > x) && (mx < x+sw) && (my > y) && (my < y+sh)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Draw the scrollbar to the screen
+ void display() {
+ fill(255);
+ rect(x, y, sw, sh); // Draw bar
+ if ((rollover == true) || (locked == true)) {
+ fill(0);
+ } else {
+ fill(102);
+ }
+ rect(pos, y, sh, sh); // Draw thumb
+ }
+
+ // Return the current value of the thumb
+ float getPos() {
+ float scalar = sw/(sw-sh);
+ float ratio = ((pos - x) * scalar) / sw;
+ float thumbPos = minVal + (ratio * (maxVal-minVal));
+ return thumbPos;
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_17/Ex_17.pde b/content/handbook_2e/examples/33 Interface/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..ecaafc409
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_17/Ex_17.pde
@@ -0,0 +1,38 @@
+// Requires Scrollbar class
+
+Scrollbar bar1, bar2;
+PFont font;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ // Inputs: x, y, width, height, minVal, maxVal
+ bar1 = new Scrollbar(10, 35, 80, 10, 0.0, 100.0);
+ bar2 = new Scrollbar(10, 55, 80, 10, 0.0, 1.0);
+ font = createFont("Courier New", 30);
+ textFont(font);
+ textAlign(CENTER);
+}
+
+void draw() {
+ background(204);
+ fill(0);
+ int pos1 = int(bar1.getPos());
+ text(nf(pos1, 2), 50, 30);
+ float pos2 = bar2.getPos();
+ text(nf(pos2, 1, 2), 50, 90);
+ bar1.update(mouseX, mouseY);
+ bar2.update(mouseX, mouseY);
+ bar1.display();
+ bar2.display();
+}
+
+void mousePressed() {
+ bar1.press(mouseX, mouseY);
+ bar2.press(mouseX, mouseY);
+}
+
+void mouseReleased() {
+ bar1.release();
+ bar2.release();
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_17/Scrollbar.pde b/content/handbook_2e/examples/33 Interface/Ex_17/Scrollbar.pde
new file mode 100644
index 000000000..081b6b4c3
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_17/Scrollbar.pde
@@ -0,0 +1,76 @@
+class Scrollbar {
+ int x, y; // The x- and y-coordinates
+ float sw, sh; // Width and height of scrollbar
+ float pos; // Position of thumb
+ float posMin, posMax; // Min and max values of thumb
+ boolean rollover; // True when the mouse is over
+ boolean locked; // True when its the active scrollbar
+ float minVal, maxVal; // Min and max values for the thumb
+
+ Scrollbar (int xp, int yp, int w, int h, float miv, float mav) {
+ x = xp;
+ y = yp;
+ sw = w;
+ sh = h;
+ minVal = miv;
+ maxVal = mav;
+ pos = x + sw/2 - sh/2; // Move thumb to middle
+ posMin = x;
+ posMax = x + sw - sh;
+ }
+
+ // Update the boolean value over and the position of the thumb
+ void update(int mx, int my) {
+ if (over(mx, my) == true) {
+ rollover = true;
+ } else {
+ rollover = false;
+ }
+ if (locked == true) {
+ pos = constrain(mx-sh/2, posMin, posMax);
+ }
+ }
+
+ // Lock the thumb so the mouse can move off and still update
+ void press(int mx, int my) {
+ if (rollover == true) {
+ locked = true;
+ } else {
+ locked = false;
+ }
+ }
+
+ // Reset the scrollbar to neutral
+ void release() {
+ locked = false;
+ }
+
+ // Return true if the cursor is over the scrollbar
+ boolean over(int mx, int my) {
+ if ((mx > x) && (mx < x+sw) && (my > y) && (my < y+sh)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Draw the scrollbar to the screen
+ void display() {
+ fill(255);
+ rect(x, y, sw, sh); // Draw bar
+ if ((rollover == true) || (locked == true)) {
+ fill(0);
+ } else {
+ fill(102);
+ }
+ rect(pos, y, sh, sh); // Draw thumb
+ }
+
+ // Return the current value of the thumb
+ float getPos() {
+ float scalar = sw/(sw-sh);
+ float ratio = ((pos - x) * scalar) / sw;
+ float thumbPos = minVal + (ratio * (maxVal-minVal));
+ return thumbPos;
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_18/Ex_18.pde b/content/handbook_2e/examples/33 Interface/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..a5970ab17
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_18/Ex_18.pde
@@ -0,0 +1,28 @@
+// Requires Scrollbar class
+
+Scrollbar bar;
+PImage img;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ // Inputs: x, y, width, height, minVal, maxVal
+ bar = new Scrollbar(10, 45, 80, 10, -200.0, 0.0);
+ img = loadImage("landscape.jpg");
+}
+
+void draw() {
+ background(204);
+ int x = int(bar.getPos());
+ image(img, x, 0);
+ bar.update(mouseX, mouseY);
+ bar.display();
+}
+
+void mousePressed() {
+ bar.press(mouseX, mouseY);
+}
+
+void mouseReleased() {
+ bar.release();
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_18/Scrollbar.pde b/content/handbook_2e/examples/33 Interface/Ex_18/Scrollbar.pde
new file mode 100644
index 000000000..081b6b4c3
--- /dev/null
+++ b/content/handbook_2e/examples/33 Interface/Ex_18/Scrollbar.pde
@@ -0,0 +1,76 @@
+class Scrollbar {
+ int x, y; // The x- and y-coordinates
+ float sw, sh; // Width and height of scrollbar
+ float pos; // Position of thumb
+ float posMin, posMax; // Min and max values of thumb
+ boolean rollover; // True when the mouse is over
+ boolean locked; // True when its the active scrollbar
+ float minVal, maxVal; // Min and max values for the thumb
+
+ Scrollbar (int xp, int yp, int w, int h, float miv, float mav) {
+ x = xp;
+ y = yp;
+ sw = w;
+ sh = h;
+ minVal = miv;
+ maxVal = mav;
+ pos = x + sw/2 - sh/2; // Move thumb to middle
+ posMin = x;
+ posMax = x + sw - sh;
+ }
+
+ // Update the boolean value over and the position of the thumb
+ void update(int mx, int my) {
+ if (over(mx, my) == true) {
+ rollover = true;
+ } else {
+ rollover = false;
+ }
+ if (locked == true) {
+ pos = constrain(mx-sh/2, posMin, posMax);
+ }
+ }
+
+ // Lock the thumb so the mouse can move off and still update
+ void press(int mx, int my) {
+ if (rollover == true) {
+ locked = true;
+ } else {
+ locked = false;
+ }
+ }
+
+ // Reset the scrollbar to neutral
+ void release() {
+ locked = false;
+ }
+
+ // Return true if the cursor is over the scrollbar
+ boolean over(int mx, int my) {
+ if ((mx > x) && (mx < x+sw) && (my > y) && (my < y+sh)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // Draw the scrollbar to the screen
+ void display() {
+ fill(255);
+ rect(x, y, sw, sh); // Draw bar
+ if ((rollover == true) || (locked == true)) {
+ fill(0);
+ } else {
+ fill(102);
+ }
+ rect(pos, y, sh, sh); // Draw thumb
+ }
+
+ // Return the current value of the thumb
+ float getPos() {
+ float scalar = sw/(sw-sh);
+ float ratio = ((pos - x) * scalar) / sw;
+ float thumbPos = minVal + (ratio * (maxVal-minVal));
+ return thumbPos;
+ }
+}
diff --git a/content/handbook_2e/examples/33 Interface/Ex_18/data/landscape.jpg b/content/handbook_2e/examples/33 Interface/Ex_18/data/landscape.jpg
new file mode 100644
index 000000000..eb38d21a7
Binary files /dev/null and b/content/handbook_2e/examples/33 Interface/Ex_18/data/landscape.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_01/Ex_01.pde b/content/handbook_2e/examples/34 Image Processing/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..694cde0c6
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_01/Ex_01.pde
@@ -0,0 +1,5 @@
+strokeWeight(8);
+line(0, 0, width, height);
+line(0, height, width, 0);
+PImage cross = get(); // Get the entire window
+image(cross, 0, 50); // Draw the image in a new position
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_02/Ex_02.pde b/content/handbook_2e/examples/34 Image Processing/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..1b86578f1
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_02/Ex_02.pde
@@ -0,0 +1,7 @@
+strokeWeight(8);
+line(0, 0, width, height);
+line(0, height, width, 0);
+noStroke();
+ellipse(18, 50, 16, 16);
+PImage cross = get(); // Get the entire window
+image(cross, 42, 30, 40, 40); // Resize to 40 x 40 pixels
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_03/Ex_03.pde b/content/handbook_2e/examples/34 Image Processing/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..2f5ff5d5a
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_03/Ex_03.pde
@@ -0,0 +1,6 @@
+strokeWeight(8);
+line(0, 0, width, height);
+line(0, height, width, 0);
+PImage slice = get(0, 0, 20, 100); // Get window section
+image(slice, 18, 0);
+image(slice, 50, 0);
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_04/Ex_04.pde b/content/handbook_2e/examples/34 Image Processing/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..2df793219
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_04/Ex_04.pde
@@ -0,0 +1,12 @@
+PImage trees, crop;
+
+void setup() {
+ size(100, 100);
+ trees = loadImage("topanga.jpg");
+}
+
+void draw() {
+ image(trees, 0, 0);
+ crop = get(); // Get the entire window
+ image(crop, 0, 50); // Draw the image in a new position
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_04/data/topanga.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_04/data/topanga.jpg
new file mode 100644
index 000000000..e78f93d08
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_04/data/topanga.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_05/Ex_05.pde b/content/handbook_2e/examples/34 Image Processing/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..703b1c499
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_05/Ex_05.pde
@@ -0,0 +1,13 @@
+PImage trees;
+
+void setup() {
+ trees = loadImage("topanga.jpg");
+ noStroke();
+}
+
+void draw() {
+ image(trees, 0, 0);
+ color c = get(20, 30); // Get color at (20, 30)
+ fill(c);
+ rect(20, 30, 40, 40);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_05/data/topanga.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_05/data/topanga.jpg
new file mode 100644
index 000000000..e78f93d08
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_05/data/topanga.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_06/Ex_06.pde b/content/handbook_2e/examples/34 Image Processing/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..79435d2bc
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_06/Ex_06.pde
@@ -0,0 +1,14 @@
+PImage trees;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ trees = loadImage("topangaCrop.jpg");
+}
+
+void draw() {
+ image(trees, 0, 0);
+ color c = get(mouseX, mouseY);
+ fill(c);
+ rect(50, 0, 50, 100);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_06/data/topangaCrop.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_06/data/topangaCrop.jpg
new file mode 100644
index 000000000..4d5cba7be
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_06/data/topangaCrop.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_07/Ex_07.pde b/content/handbook_2e/examples/34 Image Processing/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..f87ee88bc
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_07/Ex_07.pde
@@ -0,0 +1,18 @@
+PImage trees;
+
+void setup() {
+ size(100, 100);
+ trees = loadImage("topangaCrop.jpg");
+}
+
+void draw() {
+ image(trees, 0, 0);
+ int y = constrain(mouseY, 0, 99);
+ for (int x = 0; x < 50; x++) {
+ color c = get(x, y);
+ stroke(c);
+ line(x+50, 0, x+50, 100);
+ }
+ stroke(255);
+ line(0, y, 49, y);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_07/data/topangaCrop.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_07/data/topangaCrop.jpg
new file mode 100644
index 000000000..4d5cba7be
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_07/data/topangaCrop.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_08/Ex_08.pde b/content/handbook_2e/examples/34 Image Processing/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..0de940fbc
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_08/Ex_08.pde
@@ -0,0 +1,15 @@
+PImage trees, treesCrop;
+
+void setup() {
+ trees = loadImage("topanga.jpg");
+ stroke(255);
+ strokeWeight(12);
+}
+
+void draw() {
+ image(trees, 0, 0);
+ line(0, 0, width, height);
+ line(0, height, width, 0);
+ treesCrop = trees.get(20, 20, 60, 60);
+ image(treesCrop, 20, 20);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_08/data/topanga.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_08/data/topanga.jpg
new file mode 100644
index 000000000..e78f93d08
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_08/data/topanga.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_09/Ex_09.pde b/content/handbook_2e/examples/34 Image Processing/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..d123ddb45
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_09/Ex_09.pde
@@ -0,0 +1,5 @@
+color black = color(0);
+set(20, 80, black);
+set(20, 81, black);
+set(20, 82, black);
+set(20, 83, black);
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_10/Ex_10.pde b/content/handbook_2e/examples/34 Image Processing/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..9b9f245ed
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_10/Ex_10.pde
@@ -0,0 +1,6 @@
+for (int x = 0; x < 55; x++) {
+ for (int y = 0; y < 55; y++) {
+ color c = color((x+y) * 1.8);
+ set(30+x, 20+y, c);
+ }
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_11/Ex_11.pde b/content/handbook_2e/examples/34 Image Processing/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..136c5a833
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_11/Ex_11.pde
@@ -0,0 +1,11 @@
+PImage trees;
+
+void setup() {
+ size(100, 100);
+ trees = loadImage("topangaCrop.jpg");
+}
+
+void draw() {
+ int x = constrain(mouseX, 0, 50);
+ set(x, 0, trees);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_11/data/topangaCrop.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_11/data/topangaCrop.jpg
new file mode 100644
index 000000000..4d5cba7be
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_11/data/topangaCrop.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_12/Ex_12.pde b/content/handbook_2e/examples/34 Image Processing/Ex_12/Ex_12.pde
new file mode 100644
index 000000000..1d8e907bc
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_12/Ex_12.pde
@@ -0,0 +1,16 @@
+PImage trees;
+
+void setup() {
+ size(100, 100);
+ trees = loadImage("topangaCrop.jpg");
+}
+
+void draw() {
+ background(0);
+ color white = color(255);
+ trees.set(0, 50, white);
+ trees.set(1, 50, white);
+ trees.set(2, 50, white);
+ trees.set(3, 50, white);
+ image(trees, 20, 0);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_12/data/topangaCrop.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_12/data/topangaCrop.jpg
new file mode 100644
index 000000000..4d5cba7be
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_12/data/topangaCrop.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_13/Ex_13.pde b/content/handbook_2e/examples/34 Image Processing/Ex_13/Ex_13.pde
new file mode 100644
index 000000000..1e406ad70
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_13/Ex_13.pde
@@ -0,0 +1,12 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("topanga.jpg");
+}
+
+void draw() {
+ background(204);
+ image(img, 0, 0);
+ copy(0, 0, 100, 50, 0, 50, 100, 50);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_13/data/topanga.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_13/data/topanga.jpg
new file mode 100644
index 000000000..e78f93d08
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_13/data/topanga.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_14/Ex_14.pde b/content/handbook_2e/examples/34 Image Processing/Ex_14/Ex_14.pde
new file mode 100644
index 000000000..c4ca2a006
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_14/Ex_14.pde
@@ -0,0 +1,14 @@
+PImage img1, img2;
+
+void setup() {
+ size(100, 100);
+ img1 = loadImage("topanga.jpg");
+ img2 = loadImage("airport.jpg");
+}
+
+void draw() {
+ background(255);
+ image(img1, 0, 0);
+ int y = constrain(mouseY, 0, 67);
+ copy(img2, 0, y, 100, 33, 0, y, 100, 33);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_14/data/airport.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_14/data/airport.jpg
new file mode 100644
index 000000000..366b3a19e
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_14/data/airport.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_14/data/topanga.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_14/data/topanga.jpg
new file mode 100644
index 000000000..e78f93d08
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_14/data/topanga.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_15/Ex_15.pde b/content/handbook_2e/examples/34 Image Processing/Ex_15/Ex_15.pde
new file mode 100644
index 000000000..668bdf571
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_15/Ex_15.pde
@@ -0,0 +1,11 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("airport.jpg");
+}
+
+void draw() {
+ img.copy(50, 0, 50, 100, 0, 0, 50, 100);
+ image(img, 0, 0);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_15/data/airport.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_15/data/airport.jpg
new file mode 100644
index 000000000..ed42951c3
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_15/data/airport.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_16/Ex_16.pde b/content/handbook_2e/examples/34 Image Processing/Ex_16/Ex_16.pde
new file mode 100644
index 000000000..ab74e2d80
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_16/Ex_16.pde
@@ -0,0 +1,10 @@
+color c1 = color(0, 126, 255); // Create a new color
+float r = red(c1); // Assign 0.0 to r
+float g = green(c1); // Assign 126.0 to g
+float b = blue(c1); // Assign 255.0 to b
+println(r, g, b); // Prints "0.0 126.0 255.0"
+color c2 = color(102); // Create a new gray value
+float r2 = red(c2); // Assign 102.0 to r2
+float g2 = green(c2); // Assign 102.0 to g2
+float b2 = blue(c2); // Assign 102.0 to b2
+println(r2, g2, b2); // Prints "102.0 102.0 102.0"
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_17/Ex_17.pde b/content/handbook_2e/examples/34 Image Processing/Ex_17/Ex_17.pde
new file mode 100644
index 000000000..1f7c150f7
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_17/Ex_17.pde
@@ -0,0 +1,5 @@
+color c = color(0, 51, 102); // Create a new color
+color g = color(0, 126, 255, 220); // Create a new color
+float a = alpha(c); // Assign 255.0 to a
+float b = alpha(g); // Assign 220.0 to b
+println(a, b); // Prints "255.0 220.0"
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_18/Ex_18.pde b/content/handbook_2e/examples/34 Image Processing/Ex_18/Ex_18.pde
new file mode 100644
index 000000000..720c28f5a
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_18/Ex_18.pde
@@ -0,0 +1,6 @@
+colorMode(HSB, 360, 100, 100); // Set color mode to HSB
+color c = color(210, 100, 40); // Create a new color
+float h = hue(c); // Assign 210.0 to h
+float s = saturation(c); // Assign 100.0 to s
+float b = brightness(c); // Assign 40.0 to b
+println(h, s, b); // Prints "210.0 100.0 40.0"
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_19/Ex_19.pde b/content/handbook_2e/examples/34 Image Processing/Ex_19/Ex_19.pde
new file mode 100644
index 000000000..935cfde0e
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_19/Ex_19.pde
@@ -0,0 +1,4 @@
+color c = color(217, 41, 117); // Create a new color
+float r = red(c); // Assign 217.0 to r
+float h = hue(c); // Assign 236.64774 to h
+println(r, h); // Prints "217.0 236.64774"
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_20/Ex_20.pde b/content/handbook_2e/examples/34 Image Processing/Ex_20/Ex_20.pde
new file mode 100644
index 000000000..e8bc03673
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_20/Ex_20.pde
@@ -0,0 +1,5 @@
+colorMode(RGB, 1.0); // Sets color mode to RGB
+color c = color(0.2, 0.8, 1.0); // Creates a new color
+float r = red(c); // Assign 0.2 to r
+float h = hue(c); // Assign 0.5416667 to h
+println(r, h); // Prints "0.2 0.5416667"
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_21/Ex_21.pde b/content/handbook_2e/examples/34 Image Processing/Ex_21/Ex_21.pde
new file mode 100644
index 000000000..7dec36ed4
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_21/Ex_21.pde
@@ -0,0 +1,4 @@
+color c = color(118, 22, 24); // Create a new color
+int r1 = red(c); // ERROR! red() returns a float
+float r2 = red(c); // Assign 118.0 to r2
+int r3 = int(red(c)); // Assign 118 to r3
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_22/Ex_22.pde b/content/handbook_2e/examples/34 Image Processing/Ex_22/Ex_22.pde
new file mode 100644
index 000000000..2ee85a587
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_22/Ex_22.pde
@@ -0,0 +1,15 @@
+void setup() {
+ size(100, 100);
+ fill(204, 0, 0);
+}
+
+void draw() {
+ background(0);
+ noStroke();
+ ellipse(66, 46, 80, 80);
+ color c = get(mouseX, mouseY);
+ float r = red(c); // Extract red component
+ stroke(255-r); // Set the stroke based on red value
+ line(mouseX, 0, mouseX, height);
+ line(0, mouseY, width, mouseY);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_23/Ex_23.pde b/content/handbook_2e/examples/34 Image Processing/Ex_23/Ex_23.pde
new file mode 100644
index 000000000..720a615ae
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_23/Ex_23.pde
@@ -0,0 +1,22 @@
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("sample.png");
+ stroke(255);
+}
+
+void draw() {
+ image(img, 0, 0);
+ color c = get(mouseX, mouseY);
+ float r = red(c); // Extract red
+ float g = green(c); // Extract green
+ float b = blue(c); // Extract blue
+ fill(r, 0, 0);
+ rect(32, 20, 12, 60); // Red component
+ fill(0, g, 0);
+ rect(44, 20, 12, 60); // Green component
+ fill(0, 0, b);
+ rect(56, 20, 12, 60); // Blue component
+}
+
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_23/data/sample.png b/content/handbook_2e/examples/34 Image Processing/Ex_23/data/sample.png
new file mode 100644
index 000000000..a21b1a077
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_23/data/sample.png differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_24/Ex_24.pde b/content/handbook_2e/examples/34 Image Processing/Ex_24/Ex_24.pde
new file mode 100644
index 000000000..da6eb44e8
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_24/Ex_24.pde
@@ -0,0 +1,30 @@
+int num = 600;
+float[] x = new float[num];
+float[] y = new float[num];
+PImage img;
+
+void setup() {
+ size(100, 100);
+ img = loadImage("figure.jpg");
+ for (int i = 0; i < num; i++) {
+ x[i] = random(width);
+ y[i] = random(height);
+ }
+ stroke(255);
+ noSmooth();
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < num; i++) {
+ color c = img.get(int(x[i]), int(y[i]));
+ float b = brightness(c) / 255.0;
+ float speed = pow(b, 2) + 0.05;
+ x[i] += speed;
+ if (x[i] > width) {
+ x[i] = 0;
+ y[i] = random(height);
+ }
+ point(x[i], y[i]);
+ }
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_24/data/figure.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_24/data/figure.jpg
new file mode 100644
index 000000000..997464157
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_24/data/figure.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_25/Ex_25.pde b/content/handbook_2e/examples/34 Image Processing/Ex_25/Ex_25.pde
new file mode 100644
index 000000000..0618130e6
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_25/Ex_25.pde
@@ -0,0 +1,11 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ float gray = map(second(), 0, 59, 0, 255);
+ int index = frameCount % (width*height);
+ loadPixels();
+ pixels[index] = color(gray);
+ updatePixels();
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_26/Ex_26.pde b/content/handbook_2e/examples/34 Image Processing/Ex_26/Ex_26.pde
new file mode 100644
index 000000000..f25a3b705
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_26/Ex_26.pde
@@ -0,0 +1,4 @@
+// These 3 lines of code are equivalent to: set(25, 50, color(0))
+loadPixels();
+pixels[50*width + 25] = color(0);
+updatePixels();
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_27/Ex_27.pde b/content/handbook_2e/examples/34 Image Processing/Ex_27/Ex_27.pde
new file mode 100644
index 000000000..1b416851b
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_27/Ex_27.pde
@@ -0,0 +1,4 @@
+// These 3 lines are equivalent to: pixels[5075] = color(0)
+int y = 5075 / width;
+int x = 5075 % width;
+set(x, y, color(0));
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_28/Ex_28.pde b/content/handbook_2e/examples/34 Image Processing/Ex_28/Ex_28.pde
new file mode 100644
index 000000000..5e42995cd
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_28/Ex_28.pde
@@ -0,0 +1,12 @@
+void setup() {
+ size(100, 100);
+}
+
+void draw() {
+ // Constrain to not exceed the boundary of the array
+ int x = constrain(mouseX, 0, 99);
+ int y = constrain(mouseY, 0, 99);
+ loadPixels();
+ pixels[y*width + x] = color(0);
+ updatePixels();
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_29/Ex_29.pde b/content/handbook_2e/examples/34 Image Processing/Ex_29/Ex_29.pde
new file mode 100644
index 000000000..c41045439
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_29/Ex_29.pde
@@ -0,0 +1,18 @@
+PImage arch;
+
+void setup() {
+ size(100, 100);
+ noStroke();
+ arch = loadImage("arch.jpg");
+}
+
+void draw() {
+ image(arch, 0, 0);
+ // Constrain to not exceed the boundary of the array
+ int x = constrain(mouseX, 0, 99);
+ int y = constrain(mouseY, 0, 99);
+ loadPixels();
+ color c = pixels[y*width + x];
+ fill(c);
+ rect(20, 20, 60, 60);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_29/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_29/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_29/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_30/Ex_30.pde b/content/handbook_2e/examples/34 Image Processing/Ex_30/Ex_30.pde
new file mode 100644
index 000000000..20eb1e570
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_30/Ex_30.pde
@@ -0,0 +1,16 @@
+PImage arch;
+
+void setup() {
+ size(100, 100);
+ arch = loadImage("arch.jpg");
+}
+
+void draw() {
+ image(arch, 0, 0);
+ int x = constrain(mouseX, 0, 99);
+ int y = constrain(mouseY, 0, 99);
+ arch.loadPixels();
+ arch.pixels[y*width + x] = color(0);
+ arch.updatePixels();
+ image(arch, 50, 0);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_30/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_30/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_30/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_31/Ex_31.pde b/content/handbook_2e/examples/34 Image Processing/Ex_31/Ex_31.pde
new file mode 100644
index 000000000..52287d361
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_31/Ex_31.pde
@@ -0,0 +1,9 @@
+PImage arch = loadImage("arch.jpg");
+size(arch.width, arch.height);
+int count = width * height;
+arch.loadPixels();
+loadPixels();
+for (int i = 0; i < count; i += 2) {
+ pixels[i] = arch.pixels[i];
+}
+updatePixels();
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_31/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_31/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_31/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_32/Ex_32.pde b/content/handbook_2e/examples/34 Image Processing/Ex_32/Ex_32.pde
new file mode 100644
index 000000000..e142d86bf
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_32/Ex_32.pde
@@ -0,0 +1,9 @@
+PImage arch = loadImage("arch.jpg");
+size(arch.width, arch.height);
+int count = width * height;
+arch.loadPixels();
+loadPixels();
+for (int i = 0; i < count; i += 3) {
+ pixels[i] = arch.pixels[i];
+}
+updatePixels();
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_32/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_32/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_32/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_33/Ex_33.pde b/content/handbook_2e/examples/34 Image Processing/Ex_33/Ex_33.pde
new file mode 100644
index 000000000..68009914c
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_33/Ex_33.pde
@@ -0,0 +1,9 @@
+PImage arch = loadImage("arch.jpg");
+size(arch.width, arch.height);
+int count = width * height;
+arch.loadPixels();
+loadPixels();
+for (int i = 0; i < count; i++) {
+ pixels[i] = arch.pixels[count - i - 1];
+}
+updatePixels();
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_33/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_33/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_33/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_34/Ex_34.pde b/content/handbook_2e/examples/34 Image Processing/Ex_34/Ex_34.pde
new file mode 100644
index 000000000..5ca6e8e14
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_34/Ex_34.pde
@@ -0,0 +1,9 @@
+PImage arch = loadImage("arch.jpg");
+size(arch.width, arch.height);
+int count = width * height;
+arch.loadPixels();
+loadPixels();
+for (int i = 0; i < count; i++) {
+ pixels[i] = arch.pixels[i/2];
+}
+updatePixels();
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_34/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_34/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_34/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_35/Ex_35.pde b/content/handbook_2e/examples/34 Image Processing/Ex_35/Ex_35.pde
new file mode 100644
index 000000000..fd4a6137c
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_35/Ex_35.pde
@@ -0,0 +1,11 @@
+PImage arch = loadImage("arch.jpg");
+image(arch, 0, 0);
+loadPixels();
+for (int i = 0; i < width*height; i++) {
+ color p = pixels[i]; // Grab pixel
+ float r = 255 - red(p); // Modify red value
+ float g = 255 - green(p); // Modify green value
+ float b = 255 - blue(p); // Modify blue value
+ pixels[i] = color(r, g, b); // Assign modified value
+}
+updatePixels();
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_35/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_35/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_35/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_36/Ex_36.pde b/content/handbook_2e/examples/34 Image Processing/Ex_36/Ex_36.pde
new file mode 100644
index 000000000..f88cb7665
--- /dev/null
+++ b/content/handbook_2e/examples/34 Image Processing/Ex_36/Ex_36.pde
@@ -0,0 +1,22 @@
+PImage arch;
+
+void setup() {
+ size(100, 100);
+ arch = loadImage("arch.jpg");
+}
+
+void draw() {
+ image(arch, 0, 0);
+ loadPixels();
+ for (int i = 0; i < width*height; i++) {
+ color p = pixels[i]; // Read color from screen
+ float r = red(p);
+ float g = green(p);
+ float b = blue(p);
+ float bw = (r + g + b) / 3.0;
+ bw = constrain(bw + mouseX, 0, 255);
+ pixels[i] = color(bw); // Assign modified value
+ }
+ updatePixels();
+ line(mouseX, 0, mouseX, height);
+}
diff --git a/content/handbook_2e/examples/34 Image Processing/Ex_36/data/arch.jpg b/content/handbook_2e/examples/34 Image Processing/Ex_36/data/arch.jpg
new file mode 100644
index 000000000..162531753
Binary files /dev/null and b/content/handbook_2e/examples/34 Image Processing/Ex_36/data/arch.jpg differ
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_01/Ex_01.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_01/Ex_01.pde
new file mode 100644
index 000000000..fce190a1d
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_01/Ex_01.pde
@@ -0,0 +1,2 @@
+background(0);
+ellipse(50, 50, 75, 75);
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_02/Ex_02.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_02/Ex_02.pde
new file mode 100644
index 000000000..8b441eb1d
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_02/Ex_02.pde
@@ -0,0 +1,6 @@
+PGraphics circle = createGraphics(100, 100);
+circle.beginDraw();
+circle.background(0);
+circle.ellipse(50, 50, 75, 75);
+circle.endDraw();
+image(circle, 0, 0);
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_03/Ex_03.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_03/Ex_03.pde
new file mode 100644
index 000000000..a2a2ee64f
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_03/Ex_03.pde
@@ -0,0 +1,14 @@
+PGraphics circle;
+
+void setup() {
+ size(100, 100);
+ circle = createGraphics(100, 100);
+}
+
+void draw() {
+ circle.beginDraw();
+ circle.background(0);
+ circle.ellipse(50, 50, 75, 75);
+ circle.endDraw();
+ image(circle, 0, 0);
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_04/Ex_04.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_04/Ex_04.pde
new file mode 100644
index 000000000..5c68bcda7
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_04/Ex_04.pde
@@ -0,0 +1,17 @@
+void setup() {
+ size(100, 100);
+ background(0);
+ noCursor();
+}
+
+void draw() {
+ stroke(255);
+ line(mouseX, 0, mouseX, height);
+ line(0, mouseY, width, mouseY);
+}
+
+void mousePressed() {
+ noStroke();
+ fill(255, 100);
+ ellipse(mouseX, mouseY, 40, 40);
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_05/Ex_05.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_05/Ex_05.pde
new file mode 100644
index 000000000..af2d210bb
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_05/Ex_05.pde
@@ -0,0 +1,25 @@
+PGraphics circles;
+
+void setup() {
+ size(100, 100);
+ circles = createGraphics(width, height);
+ circles.beginDraw();
+ circles.background(0);
+ circles.noStroke();
+ circles.fill(255, 100);
+ circles.endDraw();
+ noCursor();
+}
+
+void draw() {
+ image(circles, 0, 0);
+ stroke(255);
+ line(mouseX, 0, mouseX, height);
+ line(0, mouseY, width, mouseY);
+}
+
+void mousePressed() {
+ circles.beginDraw();
+ circles.ellipse(mouseX, mouseY, 40, 40);
+ circles.endDraw();
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_06/Ex_06.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_06/Ex_06.pde
new file mode 100644
index 000000000..b3204bd0f
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_06/Ex_06.pde
@@ -0,0 +1,28 @@
+PGraphics tile;
+
+void setup() {
+ size(600, 100);
+ tile = createGraphics(50, 50);
+ background(0);
+}
+
+void draw() {
+ runTile();
+ for (int y = 0; y < height; y += tile.height) {
+ for (int x = 0; x < width; x += tile.width) {
+ image(tile, x, y);
+ }
+ }
+}
+
+void runTile() {
+ float x = random(20, tile.width-20);
+ float y = random(20, tile.height-20);
+ tile.beginDraw();
+ tile.noStroke();
+ tile.fill(0, 20);
+ tile.rect(0, 0, tile.width, tile.height);
+ tile.fill(255);
+ tile.ellipse(x, y, 10, 10);
+ tile.endDraw();
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_07/Ex_07.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_07/Ex_07.pde
new file mode 100644
index 000000000..dd713672b
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_07/Ex_07.pde
@@ -0,0 +1,24 @@
+PGraphics cube;
+
+void setup() {
+ size(100, 100, P3D);
+ cube = createGraphics(width, height, P3D);
+}
+
+void draw() {
+ background(0);
+ drawCube();
+ image(cube, 0, 0);
+}
+
+void drawCube() {
+ cube.beginDraw();
+ cube.lights();
+ cube.background(0);
+ cube.noStroke();
+ cube.translate(width/2, height/2);
+ cube.rotateX(frameCount/100.0);
+ cube.rotateY(frameCount/200.0);
+ cube.box(40);
+ cube.endDraw();
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_08/Ex_08.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_08/Ex_08.pde
new file mode 100644
index 000000000..784f3e13c
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_08/Ex_08.pde
@@ -0,0 +1,13 @@
+PGraphics cube;
+
+void setup() {
+ size(100, 100);
+ cube = createGraphics(width, height, P3D); // Error
+}
+
+void draw() {
+ cube.beginDraw();
+ cube.box(40);
+ cube.endDraw();
+ image(cube, 0, 0);
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_09/Ex_09.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_09/Ex_09.pde
new file mode 100644
index 000000000..ef8261e06
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_09/Ex_09.pde
@@ -0,0 +1,44 @@
+PGraphics cubeA;
+PGraphics cubeB;
+
+void setup() {
+ size(200, 200, P3D);
+ cubeA = createGraphics(width, height, P3D);
+ cubeB = createGraphics(width, height, P3D);
+}
+
+void draw() {
+ background(0);
+ drawCubeA();
+ drawCubeB();
+ float alphaA = map(mouseX, 0, width, 0, 255);
+ float alphaB = map(mouseY, 0, height, 0, 255);
+ tint(255, alphaA);
+ image(cubeA, 0, 0);
+ tint(255, alphaB);
+ image(cubeB, 0, 0);
+}
+
+void drawCubeA() {
+ cubeA.beginDraw();
+ cubeA.lights();
+ cubeA.clear();
+ cubeA.noStroke();
+ cubeA.translate(width/2, height/2);
+ cubeA.rotateX(frameCount/100.0);
+ cubeA.rotateY(frameCount/200.0);
+ cubeA.box(80);
+ cubeA.endDraw();
+}
+
+void drawCubeB() {
+ cubeB.beginDraw();
+ cubeB.lights();
+ cubeB.clear();
+ cubeB.noStroke();
+ cubeB.translate(width/2, height/2);
+ cubeB.rotateX(frameCount/150.0);
+ cubeB.rotateY(frameCount/250.0);
+ cubeB.box(80);
+ cubeB.endDraw();
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_10/Ex_10.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_10/Ex_10.pde
new file mode 100644
index 000000000..256741e17
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_10/Ex_10.pde
@@ -0,0 +1,32 @@
+PGraphics cubeA;
+PGraphics cubeB;
+
+void setup() {
+ size(200, 200, P3D);
+ cubeA = createGraphics(width, height, P3D);
+ cubeB = createGraphics(width, height, P3D);
+}
+
+void draw() {
+ background(0);
+ drawCube(cubeA, 100, 200);
+ drawCube(cubeB, 150, 250);
+ float alphaA = map(mouseX, 0, width, 0, 255);
+ float alphaB = map(mouseY, 0, height, 0, 255);
+ tint(255, alphaA);
+ image(cubeA, 0, 0);
+ tint(255, alphaB);
+ image(cubeB, 0, 0);
+}
+
+void drawCube(PGraphics cube, float xd, float yd) {
+ cube.beginDraw();
+ cube.lights();
+ cube.clear();
+ cube.noStroke();
+ cube.translate(cube.width/2, cube.height/2);
+ cube.rotateX(frameCount/xd);
+ cube.rotateY(frameCount/yd);
+ cube.box(80);
+ cube.endDraw();
+}
diff --git a/content/handbook_2e/examples/35 Render Techniques/Ex_11/Ex_11.pde b/content/handbook_2e/examples/35 Render Techniques/Ex_11/Ex_11.pde
new file mode 100644
index 000000000..53fdb37de
--- /dev/null
+++ b/content/handbook_2e/examples/35 Render Techniques/Ex_11/Ex_11.pde
@@ -0,0 +1,29 @@
+PGraphics cubeA;
+PGraphics cubeB;
+
+void setup() {
+ size(200, 200, P3D);
+ cubeA = createGraphics(width, height, P3D);
+ cubeB = createGraphics(width, height, P3D);
+ blendMode(DARKEST);
+}
+
+void draw() {
+ background(255);
+ drawCube(cubeA, 100, 200);
+ drawCube(cubeB, 150, 250);
+ image(cubeA, 0, 0);
+ image(cubeB, 0, 0);
+}
+
+void drawCube(PGraphics cube, float xd, float yd) {
+ cube.beginDraw();
+ cube.lights();
+ cube.clear();
+ cube.noStroke();
+ cube.translate(cube.width/2, cube.height/2);
+ cube.rotateX(frameCount/xd);
+ cube.rotateY(frameCount/yd);
+ cube.box(80);
+ cube.endDraw();
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_01_Collage_1/Ex_01_Collage_1.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_01_Collage_1/Ex_01_Collage_1.pde
new file mode 100644
index 000000000..35c5f2164
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_01_Collage_1/Ex_01_Collage_1.pde
@@ -0,0 +1,21 @@
+PImage img;
+
+void setup() {
+ size(400, 400);
+ img = loadImage("nyt_13.jpg");
+ noLoop();
+}
+
+void draw() {
+ float x = random(width);
+ float y = random(height);
+ float a = random(0, TWO_PI);
+ background(0);
+ translate(x, y);
+ rotate(a);
+ image(img, -img.width/2, -img.height/2);
+}
+
+void mousePressed() {
+ redraw();
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_01_Collage_1/data/nyt_13.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_01_Collage_1/data/nyt_13.jpg
new file mode 100644
index 000000000..67308080a
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_01_Collage_1/data/nyt_13.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/Element.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/Element.pde
new file mode 100644
index 000000000..80e34ddfe
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/Element.pde
@@ -0,0 +1,19 @@
+class Element {
+ float x, y, a;
+ PImage img;
+
+ Element(String imageName) {
+ img = loadImage(imageName);
+ }
+
+ void display() {
+ x = random(width);
+ y = random(height);
+ a = random(0, TWO_PI);
+ pushMatrix();
+ translate(x, y);
+ rotate(a);
+ image(img, -img.width/2, -img.height/2);
+ popMatrix();
+ }
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/Ex_02_Collage_2.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/Ex_02_Collage_2.pde
new file mode 100644
index 000000000..1bf42410c
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/Ex_02_Collage_2.pde
@@ -0,0 +1,22 @@
+Element[] elements = new Element[29];
+
+void setup() {
+ size(1200, 600);
+ for (int i = 0; i < elements.length; i++) {
+ String imageName = "nyt_" + nf(i+1, 2) + ".jpg";
+ elements[i] = new Element(imageName);
+ }
+ noLoop();
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < elements.length; i++) {
+ elements[i].display();
+ }
+}
+
+void mousePressed() {
+ redraw();
+}
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_01.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_01.jpg
new file mode 100644
index 000000000..2a3d5d626
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_01.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_02.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_02.jpg
new file mode 100644
index 000000000..6a6310f01
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_02.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_03.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_03.jpg
new file mode 100644
index 000000000..693b5f716
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_03.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_04.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_04.jpg
new file mode 100644
index 000000000..d8dedaf98
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_04.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_05.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_05.jpg
new file mode 100644
index 000000000..3ace213e4
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_05.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_06.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_06.jpg
new file mode 100644
index 000000000..a795a03c0
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_06.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_07.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_07.jpg
new file mode 100644
index 000000000..4b5d8360e
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_07.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_08.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_08.jpg
new file mode 100644
index 000000000..be468cfa0
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_08.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_09.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_09.jpg
new file mode 100644
index 000000000..61d1e7988
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_09.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_10.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_10.jpg
new file mode 100644
index 000000000..9cc31a1a3
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_10.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_11.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_11.jpg
new file mode 100644
index 000000000..990b91934
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_11.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_12.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_12.jpg
new file mode 100644
index 000000000..684e3e9fa
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_12.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_13.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_13.jpg
new file mode 100644
index 000000000..67308080a
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_13.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_14.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_14.jpg
new file mode 100644
index 000000000..276d4bfd8
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_14.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_15.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_15.jpg
new file mode 100644
index 000000000..1ba35b2a3
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_15.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_16.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_16.jpg
new file mode 100644
index 000000000..431306bfd
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_16.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_17.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_17.jpg
new file mode 100644
index 000000000..5fdff4e51
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_17.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_18.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_18.jpg
new file mode 100644
index 000000000..67ee70a81
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_18.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_19.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_19.jpg
new file mode 100644
index 000000000..779ce05be
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_19.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_20.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_20.jpg
new file mode 100644
index 000000000..beebb8559
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_20.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_21.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_21.jpg
new file mode 100644
index 000000000..33abdf59d
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_21.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_22.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_22.jpg
new file mode 100644
index 000000000..1d0d208b0
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_22.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_23.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_23.jpg
new file mode 100644
index 000000000..30872adcc
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_23.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_24.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_24.jpg
new file mode 100644
index 000000000..e8df53c0f
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_24.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_25.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_25.jpg
new file mode 100644
index 000000000..6048489d6
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_25.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_26.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_26.jpg
new file mode 100644
index 000000000..8bf138417
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_26.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_27.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_27.jpg
new file mode 100644
index 000000000..48e8a42c8
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_27.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_28.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_28.jpg
new file mode 100644
index 000000000..6a408b1e2
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_28.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_29.jpg b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_29.jpg
new file mode 100644
index 000000000..f4f7394f1
Binary files /dev/null and b/content/handbook_2e/examples/36 Synthesis 4/Ex_02_Collage_2/data/nyt_29.jpg differ
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_03_Waves_1/Ex_03_Waves_1.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_03_Waves_1/Ex_03_Waves_1.pde
new file mode 100644
index 000000000..cbb62e457
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_03_Waves_1/Ex_03_Waves_1.pde
@@ -0,0 +1,24 @@
+float curveWidth = 30.0;
+float curveThickness = 50.0;
+
+void setup() {
+ size(200, 600);
+ noFill();
+ stroke(0);
+}
+
+void draw() {
+ background(255);
+
+ float angleIncrement = map(mouseY, 0, height, 0.0, 0.1);
+ float angle = 0.0;
+
+ beginShape(QUAD_STRIP);
+ for (int y = 0; y <= height; y += 10) {
+ float x = width/2 + (sin(angle)* curveWidth);
+ vertex(x, y);
+ vertex(x + curveThickness, y);
+ angle += angleIncrement;
+ }
+ endShape();
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_04_Waves_2/Ex_04_Waves_2.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_04_Waves_2/Ex_04_Waves_2.pde
new file mode 100644
index 000000000..07e0fc9e7
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_04_Waves_2/Ex_04_Waves_2.pde
@@ -0,0 +1,28 @@
+float curveWidth = 30.0;
+float curveThickness = 50.0;
+float angleOffset = 0.9;
+
+void setup() {
+ size(200, 600);
+ noFill();
+ stroke(0);
+}
+
+void draw() {
+ background(255);
+
+ float angleIncrement = map(mouseY, 0, height, 0.0, 0.1);
+ float angleA = 0.0;
+ float angleB = angleA + angleOffset;
+
+ beginShape(QUAD_STRIP);
+ for (int y = 0; y <= height; y += 10) {
+ float x1 = width/2 + (sin(angleA)* curveWidth);
+ float x2 = width/2 + (sin(angleB)* curveWidth);
+ vertex(x1, y);
+ vertex(x2 + curveThickness, y);
+ angleA += angleIncrement;
+ angleB = angleA + angleOffset;
+ }
+ endShape();
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_05_Waves_3/Ex_05_Waves_3.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_05_Waves_3/Ex_05_Waves_3.pde
new file mode 100644
index 000000000..3e4afb9e0
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_05_Waves_3/Ex_05_Waves_3.pde
@@ -0,0 +1,31 @@
+float curveWidth = 10.0;
+float curveThickness = 10.0;
+float angleOffset = 0.9;
+
+void setup() {
+ size(1200, 600);
+}
+
+void draw() {
+ background(255);
+
+ float angleIncrement = map(mouseY, 0, height, 0.0, 0.2);
+ float angleA = 0.0;
+ float angleB = angleA + angleOffset;
+
+ for (int mx = 0; mx < width; mx += curveWidth*3) {
+ float gray = map(mx, 0, width, 0, 255);
+ noStroke();
+ fill(gray);
+ beginShape(QUAD_STRIP);
+ for (int y = 0; y <= height; y += 10) {
+ float x1 = mx + (sin(angleA)* curveWidth);
+ float x2 = mx + (sin(angleB)* curveWidth);
+ vertex(x1, y);
+ vertex(x2 + curveThickness, y);
+ angleA += angleIncrement;
+ angleB = angleA + angleOffset;
+ }
+ endShape();
+ }
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_06_3D_Letter_1/Ex_06_3D_Letter_1.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_06_3D_Letter_1/Ex_06_3D_Letter_1.pde
new file mode 100644
index 000000000..216eb1c1b
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_06_3D_Letter_1/Ex_06_3D_Letter_1.pde
@@ -0,0 +1,23 @@
+PShape k;
+
+void setup() {
+ size(600, 600);
+ k = loadShape("K.svg"); // Load the file
+ k = k.getChild("Path"); // Get the path data
+}
+
+void draw() {
+ background(204);
+ strokeWeight(2);
+ noFill();
+ translate(width/2, height/2);
+ scale(1.5);
+ beginShape();
+ for (int i = 0; i < k.getVertexCount(); i++) {
+ int offset = 200;
+ float x = k.getVertexX(i)-offset;
+ float y = k.getVertexY(i)-offset;
+ vertex(x, y);
+ }
+ endShape();
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_06_3D_Letter_1/data/K.svg b/content/handbook_2e/examples/36 Synthesis 4/Ex_06_3D_Letter_1/data/K.svg
new file mode 100644
index 000000000..28deeb9f8
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_06_3D_Letter_1/data/K.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/Ex_07_3D_Letter_2.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/Ex_07_3D_Letter_2.pde
new file mode 100644
index 000000000..ceb9653d1
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/Ex_07_3D_Letter_2.pde
@@ -0,0 +1,29 @@
+PShape k;
+
+void setup() {
+ size(600, 600, P3D);
+ k = loadShape("K.svg"); // Load the file
+ k = k.getChild("Path"); // Get the path data
+}
+
+void draw() {
+ float ry = map(mouseY, 0, height, 0, TWO_PI);
+ float d = map(mouseX, 0, width, 2, 100);
+
+ background(0);
+ lights();
+ translate(width/2, height/2);
+ scale(1.5);
+ rotateY(ry);
+
+ noStroke();
+ beginShape(QUAD_STRIP);
+ for (int i = 0; i < k.getVertexCount(); i++) {
+ int offset = 200;
+ float x = k.getVertexX(i)-offset;
+ float y = k.getVertexY(i)-offset;
+ vertex(x, y, d);
+ vertex(x, y, -d);
+ }
+ endShape();
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/data/K-center.svg b/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/data/K-center.svg
new file mode 100644
index 000000000..af2d805b3
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/data/K-center.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/data/K.svg b/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/data/K.svg
new file mode 100644
index 000000000..28deeb9f8
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_07_3D_Letter_2/data/K.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_08_3D_Letter_3/Ex_08_3D_Letter_3.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_08_3D_Letter_3/Ex_08_3D_Letter_3.pde
new file mode 100644
index 000000000..27727c715
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_08_3D_Letter_3/Ex_08_3D_Letter_3.pde
@@ -0,0 +1,35 @@
+PShape k; // The letter K
+PShape k3D; // Extruded letter K
+
+void setup() {
+ size(600, 600, P3D);
+ k = loadShape("K.svg"); // Load the file
+ k = k.getChild("Path"); // Get the path data
+ k3D = extrudeShape(k); // Construct 3D letter
+}
+
+void draw() {
+ float ry = map(mouseX, 0, width, 0, TWO_PI);
+ background(0);
+ lights();
+ translate(width/2, height/2);
+ scale(1.5);
+ rotateY(ry);
+ shape(k3D, 0, 0);
+}
+
+PShape extrudeShape(PShape in) {
+ PShape out = createShape();
+ out.beginShape(QUAD_STRIP);
+ out.noStroke();
+ for (int i = 0; i < in.getVertexCount(); i++) {
+ int offset = 200;
+ float x = in.getVertexX(i)-offset;
+ float y = in.getVertexY(i)-offset;
+ out.vertex(x, y, 25);
+ out.vertex(x, y, -25);
+ }
+ out.endShape(CLOSE);
+ return out;
+}
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_08_3D_Letter_3/data/K.svg b/content/handbook_2e/examples/36 Synthesis 4/Ex_08_3D_Letter_3/data/K.svg
new file mode 100644
index 000000000..28deeb9f8
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_08_3D_Letter_3/data/K.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_09_Noise_1/Ex_09_Noise_1.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_09_Noise_1/Ex_09_Noise_1.pde
new file mode 100644
index 000000000..5c53d4f56
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_09_Noise_1/Ex_09_Noise_1.pde
@@ -0,0 +1,17 @@
+float xnoise = 0.0;
+float ynoise = 0.0;
+float inc = 0.05;
+
+background(0);
+noSmooth();
+translate(20, 20);
+for (int y = 0; y < 60; y++) {
+ for (int x = 0; x < 60; x++) {
+ float n = noise(xnoise, ynoise) * 255.0;
+ stroke(n);
+ point(x, y);
+ xnoise = xnoise + inc;
+ }
+ xnoise = 0.0;
+ ynoise = ynoise + inc;
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_10_Noise_2/Ex_10_Noise_2.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_10_Noise_2/Ex_10_Noise_2.pde
new file mode 100644
index 000000000..1f1d89f67
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_10_Noise_2/Ex_10_Noise_2.pde
@@ -0,0 +1,29 @@
+float xnoise = 0.0;
+float ynoise = 0.0;
+float inc = 0.05;
+float yOffset = 0.0;
+int gridSize = 10;
+
+void setup() {
+ size(600, 600);
+}
+
+void draw() {
+ background(0);
+
+ xnoise = 0.0;
+ ynoise = yOffset;
+
+ for (int y = 0; y < 60; y++) {
+ for (int x = 0; x < 60; x++) {
+ float n = noise(xnoise, ynoise) * 255.0;
+ fill(n);
+ rect(x*gridSize, y*gridSize, gridSize, gridSize);
+ xnoise = xnoise + inc;
+ }
+ xnoise = 0.0;
+ ynoise = ynoise + inc;
+ }
+
+ yOffset += inc/6.0;
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_11_Noise_3/Ex_11_Noise_3.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_11_Noise_3/Ex_11_Noise_3.pde
new file mode 100644
index 000000000..fd787e49f
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_11_Noise_3/Ex_11_Noise_3.pde
@@ -0,0 +1,37 @@
+float xnoise = 0.0;
+float ynoise = 0.0;
+float inc = 0.05;
+float yOffset = 0.0;
+int gridSize = 10;
+
+void setup() {
+ size(600, 600, P3D);
+ strokeWeight(2);
+}
+
+void draw() {
+ background(0);
+
+ xnoise = 0.0;
+ ynoise = yOffset;
+
+ translate(0, 120, -300);
+ rotateX(0.7);
+
+ for (int y = 0; y < 60; y++) {
+ noFill();
+ beginShape();
+ for (int x = 0; x < 60; x++) {
+ float z = noise(xnoise, ynoise) * 255.0;
+ float alpha = map(y, 0, 60, 0, 255);
+ stroke(255, alpha);
+ vertex(x*gridSize, y*gridSize, z);
+ xnoise = xnoise + inc;
+ }
+ xnoise = 0.0;
+ ynoise = ynoise + inc;
+ endShape();
+ }
+
+ yOffset += inc/6.0;
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_12_Nodes_1/Ex_12_Nodes_1.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_12_Nodes_1/Ex_12_Nodes_1.pde
new file mode 100644
index 000000000..39dff9580
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_12_Nodes_1/Ex_12_Nodes_1.pde
@@ -0,0 +1,34 @@
+int x1, y1;
+int x2, y2;
+int radius = 50;
+
+void setup() {
+ size(300, 300);
+ ellipseMode(RADIUS);
+ x1 = width/2;
+ y1 = width/2;
+}
+
+void draw() {
+ x2 = mouseX;
+ y2 = mouseY;
+ background(204);
+ noStroke();
+ fill(0, 40);
+ ellipse(x1, y1, radius, radius);
+ ellipse(x2, y2, radius, radius);
+ if (overlap() == true) {
+ stroke(0);
+ line(x1, y1, x2, y2);
+ }
+}
+
+boolean overlap() {
+ float distanceFromCenters = dist(x1, y1, x2, y2);
+ float diameter = radius*2;
+ if (distanceFromCenters < diameter) {
+ return true;
+ } else {
+ return false;
+ }
+}
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_13_Nodes_2/Ex_13_Nodes_2.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_13_Nodes_2/Ex_13_Nodes_2.pde
new file mode 100644
index 000000000..7a54b0918
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_13_Nodes_2/Ex_13_Nodes_2.pde
@@ -0,0 +1,27 @@
+Node[] nodes = new Node[100];
+int nodeCount = 0;
+
+void setup() {
+ size(600, 600);
+ for (int i = 0; i < nodes.length; i++) {
+ // Each element stores the same reference to the nodes array
+ nodes[i] = new Node(i, nodes);
+ }
+}
+
+void draw() {
+ background(0);
+ for (int i = 0; i < nodeCount; i++) {
+ nodes[i].display();
+ nodes[i].displayNetwork(nodeCount);
+ }
+}
+
+void mousePressed() {
+ if (nodeCount < nodes.length) {
+ nodes[nodeCount].setPosition();
+ nodeCount++;
+ }
+}
+
+
diff --git a/content/handbook_2e/examples/36 Synthesis 4/Ex_13_Nodes_2/Node.pde b/content/handbook_2e/examples/36 Synthesis 4/Ex_13_Nodes_2/Node.pde
new file mode 100644
index 000000000..9ca775e79
--- /dev/null
+++ b/content/handbook_2e/examples/36 Synthesis 4/Ex_13_Nodes_2/Node.pde
@@ -0,0 +1,47 @@
+class Node {
+ int x; // X-coordinate
+ int y; // Y-coordinate
+ int radius = 50; // Radius
+ int id; // The index within the array
+ Node[] otherNodes; // Reference to the array of Nodes
+
+ Node(int tempId, Node[] tempOthers) {
+ id = tempId;
+ otherNodes = tempOthers;
+ }
+
+ // Define the location
+ void setPosition() {
+ x = mouseX;
+ y = mouseY;
+ }
+
+ // Draw to the display window
+ void display() {
+ ellipseMode(RADIUS);
+ noStroke();
+ fill(255, 40);
+ ellipse(x, y, radius, radius);
+ }
+
+ // Draw the lines between overlapping Nodes
+ void displayNetwork(int nodeCount) {
+ stroke(255);
+ for (int i = id+1; i < nodeCount; i++) {
+ if (overlap(otherNodes[i])) {
+ line(x, y, otherNodes[i].x, otherNodes[i].y);
+ }
+ }
+ }
+
+ // Calculate if this Node is overlapping with another
+ boolean overlap(Node n) {
+ float distanceFromCenters = dist(x, y, n.x, n.y);
+ float diameter = radius + n.radius;
+ if (distanceFromCenters < diameter) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
diff --git a/content/static/books.html b/content/static/books.html
index 6d71a7438..fa7778968 100755
--- a/content/static/books.html
+++ b/content/static/books.html
@@ -3,42 +3,41 @@
-
- Processing: A Programming Handbook for Visual Designers (Second Edition)
+ Processing: A Programming Handbook for Visual Designers, Second Edition
Casey Reas and Ben Fry.
Published December 2014, The MIT Press. 720 pages. Hardcover.
- » Order from MIT Press
+ » Order from MIT Press
» Order from Amazon
The second edition of the Handbook has been thoroughly updated, influenced by the seven years of Processing being taught in classrooms, computer labs, and studios since the first edition. Every chapter has been revised, and added chapters introduce new ways to work with data and geometry. New “synthesis” chapters offer discussion and worked examples of such topics as sketching with code, modularity, and algorithms. Interviews have been added that cover a wider range of projects and history. “Extension” chapters are now offered online so they can be updated to keep pace with technological developments in such fields as computer vision and electronics.
- If you are an educator, you can request a desk/exam copy from the MIT Press website.
+ If you are an educator, you can request a desk/exam copy from the MIT Press website.
-
+
-
+
-
-
+
+
- Getting Started with Processing
+ Make: Getting Started with Processing, Second Edition
Casey Reas and Ben Fry.
- Published June 2010, O'Reilly Media. 208 pages. Paperback.
- » Order Print/EBook from O'Reilly
- » Order Print from Amazon.com
+ Published September 2015, Maker Media. 238 pages. Paperback.
+ » Order Print/EBook from O'Reilly
+ » Order from Amazon.com
- This casual, inexpensive book is a concise introduction to Processing and interactive computer graphics. Written by the founders of Processing, it takes you through the learning process one step at a time to help you grasp core programming concepts. You'll learn how to sketch with code -- creating a program with a few lines of code, observing the result, and then adding to it. It was written to help reader:
+ This casual book is a concise introduction to Processing and interactive computer graphics. Written by the founders of Processing, it takes you through the learning process one step at a time to help you grasp core programming concepts. You'll learn how to sketch with code -- creating a program with a few lines of code, observing the result, and then adding to it. It was written to help readers:
Quickly learn programming basics, from variables to objects
Understand the fundamentals of computer graphics
@@ -48,63 +47,56 @@
-
-
+
-
-
-
-
+
+
+
-
+
-
-
- Visualizing Data
- Ben Fry.
- Published December 2007, O'Reilly. 384 pages. Paperback.
- » Order from Amazon.com
+
+ Learning Processing, Second Edition: A Beginner's Guide to Programming Images, Animation, and Interaction
+ Daniel Shiffman.
+ Published August 2015, Morgan Kaufmann. 564 pages. Paperback.
+ » Order from Amazon.com
+
+ The second edition of Learning Processing has been updated for compatibility with Processing 3 and includes several new chapters of content including video, sound, data visualization, and networking. For more, visit the Learning Processing website .
- The O'Reilly website says, "How you can take advantage of data that you might otherwise never use? With the help of a powerful new programming environment [Processing], this book helps you represent data accurately on the Web and elsewhere, complete with user interaction, animation, and more. You'll learn basic visualization principles, how to choose the right kind of display for your purposes, and how to provide interactive features to design entire interfaces around large, complex data sets."
+ Dan Shiffman says, "This book tells a story. It's a story of liberation, of taking the first steps towards understanding the foundations of computing, writing your own code, and creating your own media without the bonds of existing software tools. This story is not reserved for computer scientists and engineers. This story is for you."
- Martin Wattenberg from the IBM Watson Research Center says, "This wonderfully detailed guide, by one of the masters of modern data graphics, tells you everything you need to know to code your own visualizations from scratch. Perhaps most valuable are the many examples where Fry demonstrates how to refine a bare-bones concept into a beautiful, effective finished piece. Read this book, and you'll never again be dependent on someone else's view of your data."
-
+
+ The publisher says, "This book teaches the basic building blocks of programming needed to create cutting-edge graphics applications including interactive art, live video processing, and data visualization. A unique lab-style manual, this book gives graphic and web designers, artists, illustrators, and anyone interested in learning to code a jumpstart on working with the Processing programming environment by providing instruction on the basic principles of the language, followed by careful explanations of advanced techniques."
+
+
+ If you are an educator, you can request a desk/exam copy from the Elsevier website.
+
@@ -127,32 +119,80 @@
diff --git a/content/static/download.html b/content/static/download.html
new file mode 100644
index 000000000..122db5e30
--- /dev/null
+++ b/content/static/download.html
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+
+
+
+
+
4.0b1
+
(9 August 2021)
+
+
+
+
+
+
+
+
+
+
+
+
+
Pre-Releases
+
+
The changes document covers incremental updates between 4.x releases, and is especially important to read for pre-releases.
+
+
+
+
+ Processing is Open Source Software. The PDE (Processing Development Environment) is released under the GNU GPL (General Public License). The export libraries (also known as 'core') are released under the GNU LGPL (Lesser General Public License). There's more information about Processing and Open Source in the
FAQ and more information about the
GNU GPL and
GNU LGPL at
opensource.org. Please support Processing !
+
+
+
diff --git a/content/static/foundation-site/donate.html b/content/static/foundation-site/donate.html
deleted file mode 100644
index f7ec3331c..000000000
--- a/content/static/foundation-site/donate.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
Processing is open source, free software. All donations fund the Processing Foundation , a nonprofit organization devoted to advancing the role of programming within the visual arts through developing Processing.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/content/static/foundation-site/fellowships.html b/content/static/foundation-site/fellowships.html
deleted file mode 100644
index 8359f116c..000000000
--- a/content/static/foundation-site/fellowships.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-The Processing Foundation maintains a fellowship program that supports the development and expansion of Processing and its affiliated projects. Work done by fellows is supported through funding and mentorship from The Processing Foundation. The projects done so far have all been undertaken in parallel with each of the fellows’ practices as artists.
-
-
-
-
-
-
-
-Wilm Thoben (2013-14)
-
-
-Thoben developed a new core Sound library from fall 2013 through winter 2014. This library is now released with Processing 3.0.
-
-
-Wilm Thoben is a sound artist and researcher. He is currently working on his dissertation about the 1960s art and technology group E.A.T. His work deals with perception and definition of space or the abstraction of everyday life. See more of Thoben's work at wilmthoben.com .
-
-
-
-
-
-
-Lauren McCarthy (2013)
-
-
-McCarthy started the work that has now become p5.js in spring, summer, and fall 2013. p5.js is a JavaScript interpretation of Processing.
-
-
-Lauren McCarthy is an artist and programmer based in Brooklyn, NY. She is adjunct faculty at RISD and NYU ITP, a researcher in residence at ITP, and recently a resident at Eyebeam. She holds an MFA from UCLA and a BS Computer Science and BS Art and Design from MIT. Her work explores the structures and systems of social interactions, identity, and self-representation, and the potential for technology to mediate, manipulate, and evolve these interactions. She is fascinated by the slightly uncomfortable moments when patterns are shifted, expectations are broken, and participants become aware of the system. See more of McCarthy's work at lauren-mccarthy.com .
-
-
-
-
-
-
-
-Greg Borenstein (2013)
-
-
-Borenstein expanded and released the OpenCV library in spring and summer 2013.
-
-
-Greg Borenstein is an artist, technologist, and teacher. He creates illusions for humans and machines. His work explores computer vision, machine learning, game design, visual effects, and drawing as media for storytelling and design. Greg is a graduate of the NYU Interactive Telecommunications Program and has worked for firms such as Makerbot and Berg London. He is the author of a book for O'Reilly about the Microsoft Kinect, titled: Making Things See: 3D vision with Kinect, Processing, Arduino, and MakerBot. He's currently a researcher in the Playful Systems Group at the MIT Media Lab. See more of Borenstein's work at gregborenstein.com .
-
-
-
-
-
-
diff --git a/content/static/foundation-site/imgs/JH_bio.png b/content/static/foundation-site/imgs/JH_bio.png
deleted file mode 100644
index 1bc2b1b1a..000000000
Binary files a/content/static/foundation-site/imgs/JH_bio.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/ben_worksample_sm.png b/content/static/foundation-site/imgs/ben_worksample_sm.png
deleted file mode 100644
index 23d723fe3..000000000
Binary files a/content/static/foundation-site/imgs/ben_worksample_sm.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/dan_worksample_sm.png b/content/static/foundation-site/imgs/dan_worksample_sm.png
deleted file mode 100644
index a29e3dba9..000000000
Binary files a/content/static/foundation-site/imgs/dan_worksample_sm.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/greg_worksample1.png b/content/static/foundation-site/imgs/greg_worksample1.png
deleted file mode 100644
index 61ab8c712..000000000
Binary files a/content/static/foundation-site/imgs/greg_worksample1.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/greg_worksample2.png b/content/static/foundation-site/imgs/greg_worksample2.png
deleted file mode 100644
index d1411648b..000000000
Binary files a/content/static/foundation-site/imgs/greg_worksample2.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/greg_worksample3.png b/content/static/foundation-site/imgs/greg_worksample3.png
deleted file mode 100644
index fb5a1e0ae..000000000
Binary files a/content/static/foundation-site/imgs/greg_worksample3.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/john_worksample_sm.png b/content/static/foundation-site/imgs/john_worksample_sm.png
deleted file mode 100644
index 21c3ad277..000000000
Binary files a/content/static/foundation-site/imgs/john_worksample_sm.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/lauren_worksample1.png b/content/static/foundation-site/imgs/lauren_worksample1.png
deleted file mode 100644
index c6aed5299..000000000
Binary files a/content/static/foundation-site/imgs/lauren_worksample1.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/lauren_worksample2.png b/content/static/foundation-site/imgs/lauren_worksample2.png
deleted file mode 100644
index 71a59024e..000000000
Binary files a/content/static/foundation-site/imgs/lauren_worksample2.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/lauren_worksample3.png b/content/static/foundation-site/imgs/lauren_worksample3.png
deleted file mode 100644
index dd32868d8..000000000
Binary files a/content/static/foundation-site/imgs/lauren_worksample3.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/processing-foundation-logo.svg b/content/static/foundation-site/imgs/processing-foundation-logo.svg
deleted file mode 100644
index 76b2e09a2..000000000
--- a/content/static/foundation-site/imgs/processing-foundation-logo.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-Processing Foundation
-
diff --git a/content/static/foundation-site/imgs/processing-logo.svg b/content/static/foundation-site/imgs/processing-logo.svg
deleted file mode 100644
index 6eaebe60a..000000000
--- a/content/static/foundation-site/imgs/processing-logo.svg
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/content/static/foundation-site/imgs/processing-site.png b/content/static/foundation-site/imgs/processing-site.png
deleted file mode 100644
index 615c4b9c0..000000000
Binary files a/content/static/foundation-site/imgs/processing-site.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/reas_worksample_sm.png b/content/static/foundation-site/imgs/reas_worksample_sm.png
deleted file mode 100644
index cbf6befe7..000000000
Binary files a/content/static/foundation-site/imgs/reas_worksample_sm.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/search-f.svg b/content/static/foundation-site/imgs/search-f.svg
deleted file mode 100644
index 8066b89ab..000000000
--- a/content/static/foundation-site/imgs/search-f.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/content/static/foundation-site/imgs/wilm_worksample1.png b/content/static/foundation-site/imgs/wilm_worksample1.png
deleted file mode 100644
index 74514bb21..000000000
Binary files a/content/static/foundation-site/imgs/wilm_worksample1.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/wilm_worksample2.png b/content/static/foundation-site/imgs/wilm_worksample2.png
deleted file mode 100644
index 33a021566..000000000
Binary files a/content/static/foundation-site/imgs/wilm_worksample2.png and /dev/null differ
diff --git a/content/static/foundation-site/imgs/wilm_worksample3.png b/content/static/foundation-site/imgs/wilm_worksample3.png
deleted file mode 100644
index f009d61fe..000000000
Binary files a/content/static/foundation-site/imgs/wilm_worksample3.png and /dev/null differ
diff --git a/content/static/foundation-site/mission.html b/content/static/foundation-site/mission.html
deleted file mode 100644
index b26fe4bd7..000000000
--- a/content/static/foundation-site/mission.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
- Since its inception in 2001, Processing has sought to bridge the traditionally divided cultures of the arts and the sciences. The mission of the Processing Foundation is to link these two cultures so they can be used within a diverse constituency, by way of developing the Processing software. For those with a tendency to think in numbers, Processing introduces a language of the visual arts through a more familiar computer science vocabulary. Likewise, the software is structured through an image-based framework, making it accessible to visual thinkers. Core computer science concepts like variables, functions, and conditionals are taught side by side with visual basics like image, shape, and color.
-
-
-
- The key to our philosophy is the merging between the two: we see software as a medium, or something that connects two things. We view it as a means for making, and see our role as providing a new medium to artists and users across a variety of fields. At a time when our society requires a literacy and sensitivity to media of all kinds, we see ourselves making this possible for a broad spectrum of constituencies.
-
-
-
-
- Processing serves a wide range of communities in different contexts, from the university classroom to the tinkerer’s garage, used by everyone from the professional to the hobbyist. Within education at a university level, we have seen Processing leveraged as a classroom tool across disciplines as varied as computer science, English, art, architecture, design, and the digital humanities. In the last few years, it has begun to become a presence in high school and middle school classrooms, being particularly effective when used to teach science, math, and more generally, computer science. For example, the Kahn Academy now uses Processing’s tutorials and language in their beginning computer science instruction. In areas of professional development, Processing has become enfolded into the practices of interface and communication designers, artists and media artists, photographers, architects, and filmmakers. It also has a substantial role in the communities of makers and amateurs, and among hackerspaces and gatherings of hobbyists.
-
-
-
-
- The growing use of Processing in the classroom over the last twelve years has pointed toward a direction to rethink the way students are taught to program. Instead of learning a specific vocational skill (such as any one certain programming language or software), the teaching of Processing follows from a philosophy that advocates for a more generalized and strategic way of thinking. Because technology changes at such a rapid pace, the goal of any education in software has to teach the fundamentals of programming. With knowledge of such a foundation, a student is able to learn any other piece of software. Processing was specifically designed to relate to other languages, so a working knowledge of it means that a student can become well-versed in others that are more domain-specific, in relatively little time. Also, it uses a visual framework, so as to be more accessible to people who don’t naturally think like mathematicians or computer scientists. This has opened the door for software to become part of an artist’s toolkit in a way never before seen.
-
-
-
- The use of Processing within the visual arts and design fields has grown continuously since the software was first released. Appearing at a critical moment when artists began introducing new media and technology into their practices, Processing has allowed for thousands of creative professionals to leverage it as a medium, changing the landscape of the arts at the beginning of the 21st century. Software is still a nascent medium for artists and designers, and part of The Processing Foundation’s mission is to nurture this trajectory to be both widely used and accepted.
-
-
-
- Within technology, Processing has made it possible to understand massive data sets in a visual and more accessible way. It has also helped foster the connection between engineering and visual design that has been pushed to the fore by Apple and others.
-
-
-
-
-
-
diff --git a/content/static/foundation-site/overview.html b/content/static/foundation-site/overview.html
deleted file mode 100644
index a7addf80c..000000000
--- a/content/static/foundation-site/overview.html
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- The Processing Foundation was founded in 2012 with the two-fold mission to promote software literacy within the visual arts, and visual literacy within technology-related fields. Our primary goal is to empower people of all interests and backgrounds to learn how to program, so as to facilitate a sophisticated way of thinking about and creating media at a time when such knowledge is crucial. We do this by developing and distributing a group of related software projects, which includes Processing (Java), p5.js (Javascript), and Processing.py (Python).
-
-
-
-We serve a growing community of artists, designers, educators, programmers, engineers, and anyone in between who has an inclination toward both the arts and technology. Core to our belief is that learning how to program is a process of learning how to think, rather than acquiring a certain skillset, so that this knowledge may be applied to any number of fields, from creating artworks to imagining new technologies. We view Processing as a means to bridge seemingly disparate disciplines, providing platforms for collaboration between communities that might not otherwise have had access to each other. We also envision Processing as a new tool for both artists and technologists to use in their work, as a medium and as a context. We see ourselves situated at the place of convergence between the arts and technology, facilitating the pursuit and literacy of both.
-
-
-
-Processing is primarily developed by a dedicated group affiliated with Fathom Information Design (Boston), the UCLA Arts Software Studio (Los Angeles), and ITP at NYU (New York City).
-
-
-
- The Processing Foundation supports a fellowship program to initiate and develop research projects for the Processing software.
-
-
-
-We are supported by our community and actively seek donations through downloads of Processing .
-
-
-
-Contact us at foundation@processing.org
-
-
-
-
-
diff --git a/content/static/foundation-site/patrons.html b/content/static/foundation-site/patrons.html
deleted file mode 100644
index da4035913..000000000
--- a/content/static/foundation-site/patrons.html
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
-
- Individuals making $5 to $100 donations are the largest source of income for the Processing Foundation. We’re grateful to all who have donated and we’re proud to be supported by the community. You can donate when you download the software here .
-
-
-
- The University of Denver and the Emergent Digital Practices program sponsored a Processing 3.0 development meeting in November 2014. We thank Chris Coleman and Laleh Mehran for arranging this session and gracefully hosting us.
-
-
-
- The Google Summer of Code program has provided and excellent source of energy and new development through supporting students to work with us. This program has now supported Processing for four years, 2010 to 2014. It has provided the base for many important enhancements to the software.
-
-
-
- In 2013, O'Reilly Media and Arduino made donations to the Processing Foundation.
-
-
-
- Prior to incorporating as a Foundation, Processing received key funding and support from several organizations and companies. These commitments enabled a series of pivotal improvements to the software:
-
-
-
-
-
- The Interactive Telecommunications Program (ITP) at New York University sponsored a Processing 2.0 development workshop in the summer of 2011.
-
-
-
- The Armstrong Institute for Interactive Media Studies at Miami University funded The Oxford Project, a series of Processing development workshops during the 2008-2009 academic year. These four-day meetings in Oxford, Ohio, enabled the November 2008 launch of Processing 1.0 and stimulated future development.
-
-
-
- Oblong Industries funded Ben Fry to develop Processing during the summer of 2008. This funding also assisted in the completion of the 1.0 release.
-
-
- The Rockefeller Foundation awarded Ben Fry with a Media Arts Fellowship in 2006. The grant marked the first time that Ben was able to work on Processing as a funded project. This support led to further developments of the OpenGL and PDF rendering engines, as well as significant enhancements to other libraries and their integration.
-
-
-
- The Interaction Design Institute Ivrea funded four individuals' work on Processing in the summer of 2003. This resulted in Dan Mosedale's preprocessor using Antlr, Sami Arola's contributions to the graphics engine, and other contributions to the Processing Development Environment and 2D graphics engine. We are grateful to Interaction Ivrea director Gillian Crampton Smith for her encouragement and support.
-
-
-
-
-
-
-
-
-
diff --git a/content/static/foundation-site/people.html b/content/static/foundation-site/people.html
deleted file mode 100644
index 7717c41e3..000000000
--- a/content/static/foundation-site/people.html
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
- Ben Fry is principal of Fathom, a design and software consultancy located in Boston. He received his doctoral degree from the Aesthetics + Computation Group at the MIT Media Laboratory, where his research focused on combining fields such as computer science, statistics, graphic design, and data visualization as a means for understanding information. After completing his thesis, he spent time developing tools for visualization of genetic data as a postdoc with Eric Lander at the Eli and Edythe L. Broad Institute of MIT and Harvard. During the 2006-2007 school year, Ben was the Nierenberg Chair of Design for the Carnegie Mellon School of Design. In 2011, he won the National Design Award for Interaction Design from the Cooper-Hewitt. With Casey Reas, Fry initiated Processing in 2001.
-
-
-
-
-
-
-
-
- Casey Reas is an artist and educator based in Los Angeles. He has exhibited, screened, and performed his work internationally in galleries and museums around the world. Reas is a professor at the University of California, Los Angeles. He holds a masters degree from the Massachusetts Institute of Technology in Media Arts and Sciences as well as a bachelors degree from the School of Design, Architecture, Art, and Planning at the University of Cincinnati. With Ben Fry, Reas initiated Processing in 2001.
-
-
-
-
-
-
-
-
- Daniel Shiffman works as an Associate Arts Professor at the Interactive Telecommunications Program at NYU's Tisch School of the Arts. Originally from Baltimore, Daniel received a BA in Mathematics and Philosophy from Yale University and a Master's Degree from the Interactive Telecommunications Program. He works on developing tutorials, examples, and libraries for Processing, the open source programming language and environment created by Casey Reas and Ben Fry. He is the author of Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction and The Nature of Code (self-published via Kickstarter), an open source book about simulating natural phenomenon in Processing.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Johanna Hedva is an artist and writer whose practice manifests in a wide range of projects, from performances of Ancient Greek plays rewritten to respond to feminist and queer political discourse, to poetry, novels, criticism, and theory. She's got an MA in Aesthetics and Politics, and an MFA in Art, from California Institute of the Arts, and has been an artist-in-residence at Headlands Center for the Arts, and writer-in-residence at the Armory Center for the Arts. Her work with the Processing Foundation is motivated by her political and social commitments to gender and racial diversity in technology and the arts; open-source philosophy and practice; and promoting the attenuation of the boundaries between creative and thought-making disciplines of all kinds.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- John Maeda is currently a Design Partner at Kleiner Perkins Caufield & Byers. He was the President of the Rhode Island School of Design from 2008 to 2013, is a recipient of the National Design Award, and is represented in the permanent collection of the Museum of Modern Art. Beginning in 1996, lasting for 13 years, he was a Professor at MIT, where he served as an Associate Director of Research at the MIT Media Lab and was responsible for managing research relationships with 70+ industrial organizations. He received a Ph.D. in Design Science from the University of Tsukuba Institute of Art and Design in Japan. In May 2003, he received an Honorary Doctorate of Fine Arts from the Maryland Institute of Contemporary Art. He received an MBA from Arizona State University in May 2006.
-
-
-
-
diff --git a/content/static/foundation-site/projects.html b/content/static/foundation-site/projects.html
deleted file mode 100644
index 926060e62..000000000
--- a/content/static/foundation-site/projects.html
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- Processing is a programming language, development environment, and online community. Founded in 2001, Processing was initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context. Processing has since evolved into a development tool for professionals, an educational tool used in classrooms around the country, and a new context and medium for artists. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.
-
-
-
- It was designed to be a user’s first programming language, inspired by earlier languages like BASIC and Logo, as well as our experiences as students and teaching visual arts foundation curricula. It is now used in classrooms worldwide, often in art schools and visual arts programs in universities, but also in high schools, computer science programs, and humanities curricula.
-
-
-
- In addition to educational purposes, the Processing software is used by thousands of visual designers, artists, and architects to create their works. Projects created with Processing have been featured at the Museum of Modern Art in New York, the Victoria and Albert Museum in London, the Centre Georges Pompidou in Paris, and many other prominent venues. Processing is used to create projected stage designs for dance and music performances; to generate images for music videos and film; to export images for posters, magazines, and books; and to create interactive installations in galleries, in museums, and on the street.
-
-
-
-
-
-
-
- p5.js is a JavaScript library that starts with the original goal of Processing--to make coding accessible for artists, designers, educators, and beginners--and reinterprets this for today's web. Using the original metaphor of a software sketchbook, p5.js has a full set of drawing functionality for the entire browser page. For this, p5.js has addon libraries that streamline interaction with other HTML5 objects, including text, input, video, webcam, and sound.
-
-
-
- Having just been released, p5.js is in active development, with an official editing environment and other features coming soon.
-
-
-
-
-
-
-
- Our most recent initiative: To write Processing code. In Python.
-
-
-
- We are thrilled to make available this public release of the Python Mode for Processing, and its associated documentation. If you'd like to help us improve the implementation of Python Mode and its documentation, please find us on Github.
-
-
-
-
-
-
diff --git a/content/static/foundation-site/reports.html b/content/static/foundation-site/reports.html
deleted file mode 100644
index bd1dff641..000000000
--- a/content/static/foundation-site/reports.html
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
-
-
-
-
-
-
- 2013 Report
-
-
- We had a busy and productive 2013 with a wide range of activities:
-
- Released Processing 2.0 and 2.1
-
- New OpenGL renderers for speed
- Integrated GLSL shaders and API
- New video library for faster capture and playback
- Enhanced library manager for easy install
- Enhanced modes infrastructure to make it easier to add new languages to the PDE
- New features for working with XML and JSON
- New classes for working with data
- New features for working with SVN and OBJ
-
- Launched "Hello Processing " video tutorial
-
- Processing Fellows
-
- Lauren McCarthy, exploratory research led to p5.js
- Greg Borenstein, released OpenCV library
- Wilm Thoben, work started on new core Sound library
-
- Community Development
-
- Worked with community library authors to port and develop 109 libraries for 2.0
- New templates developed for creating libraries and tools
- 2.0 Processing Forum launched and 1.0 Forum archived
- Website redesigned with simplified navigation and new tutorials
-
-
- Thank you! This year, we're especially grateful to the following people and groups:
-
- Processing users who have donated through the Download page
- O'Reilly Media for the December 2013 matching grant
- Arduino for the generous donation in February 2013
- The Google Summer of Code program for supporting students to work with us
-
-
-
-
-
-
-
-
- 2014 Report
-
-
- The Processing Foundation participated in Google Summer of Code for its fourth consecutive year in 2014, completing a total of eleven projects (summarized below) with a group of dedicated, innovative, and inspiring students.
-
- “Android Mode for Processing 3.0” by Imil Ziyaztdinov, mentored by Andres Colubri
-
- Export signed package (with transparent handing of keystores)
- Device selector
- Automatic SDK download/installation
- Target SDK selector
- Fixed critical bugs, most notably the missing javac error during package building
-
-
- “Contributions Manager: Reloaded” by Joel Moniz, mentored by Florian Jenett
-
- Addition, removal, and update of Tools and Modes without restart
- New "examples-package"-type contribution
-
- “Loom” by Chris Johnson-Roberson, mentored by R. Luke DuBois
-
- Allows for creation and manipulation of patterns from timed events.
-
- New video library using GStreamer 1.x by Roland Elek, co-mentored by Levente Farkas and Andres Colubri
-
- Creates a set of Java bindings for the GStreamer 1.x series to use within Processing
-
- “ofSketch” by Brannon Dorsey, mentored by Christopher Baker
-
-
- Browser-based IDE for openFrameworks
- API specific autocomplete
- Compilation feedback
- Error reporting
- Project export
- Remote coding capabilities
- Raspberry Pi support
-
- “p5.sound” by Jason Sigal, mentored by Evelyn Eastmond
-
- Audio input
- Playback
- Manipulation
- Effects
- Recording
- Analysis
- Synthesis
- Built with syntax from Wilm Thoben's Sound for Processing library
-
- “p5 IDE” by Sam Lavigne, mentored by Lauren McCarthy
-
-
- Easy to use desktop IDE for creating pg5.js projects
-
-
- “PDE X for Processing 3.0” by Manindra Moharana, mentored by Daniel Shiffman
-
-
- Easy to use desktop IDE for creating p5.js projects
-
-
- “POculus” by Pratik Sharma, mentored by Elie Zananiri
-
-
- Oculus Rift renderer for Processing
- Runs any P3D sketch in an Oculus Rift
-
-
-
- “Sound for Processing 3.0” by Wilm Thoben, mentored by Casey Reas
-
- New lightweight sound library for Processing
- Using enhanced version of the methcla sound engine
- Low latency support
- Synthesis objects, analyzers, and effects
-
-
- “TweakMode” for Processing 3.0 by Gal Sasson, mentored by Daniel Shiffman
-
- Allows changing sketch parameters in real-time.
-
-
-
-
-
-2013 Report
-
-
- In 2013, our third year participating in Google Summer of Code, the Processing Foundation completed four projects in collaboration and mentorship with a group of talented students.
-
- “GUI Library for Processing” by Martin Leopold
-
- Prototype for new graphical user interface for Processing
-
-
- “PDE X” by Manindra Moharana
-
- Augments the Processing development
- Code completion
- Refactoring
- Real-time error checking
- Debugging
-
- “Serial Library for Processing” by Gottfried Haider
-
- Replaces existing RXTX-based serial library with one built on top of Java Simple Serial Connector
- Improved corss platform support
-
- “Tweak Mode” by Gal Sasson
-
- Allows "tweaking" of hard-coded numbers in real-time through a GUI built into Processing's PDE
-
-
-
-
-
-
-
-
diff --git a/content/static/foundation.html b/content/static/foundation.html
deleted file mode 100644
index caa4c380c..000000000
--- a/content/static/foundation.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
-
-
-
-
- Overview
-
-
- The goal of the Processing Foundation is to promote software literacy, particularly within the visual arts, and to promote visual literacy within technology. Our primary charge is to develop and distribute the Processing software, both the core Application Programming Interface (API) and the programming environment, the Processing Development Environment (PDE). The board of directors for the Processing Foundation consists of Ben Fry, Casey Reas, and Dan Shiffman. The first member of the board of advisors is John Maeda.
-
-
-
- To succeed, the Foundation needs to raise money to support future versions of the Processing software and related initiatives. The Processing team, a small group of volunteers, has released over 200 versions of the software since 2001, leading to the 2.0 release in the spring of 2013.With almost no funding between the 1.0 and 2.0 releases, the software was written slowly while the developers managed full-time work and many other responsibilities. The 2.0 software release happened in an unsustainable way, at tremendous personal expense to the lead developers. The Foundation must raise funding for the initiative to continue.
-
-
-
- With the 2.0 software release, we're now asking for donations from individuals who use the software, and we're actively seeking larger gifts from individuals, companies, and other non-profit organizations. To learn more about why you might want to contribute, please read the 2013 status report below. The Processing Foundation was publicly announced in June 2013 with the release of the Processing 2.0 software. Our official non-profit status was was granted by the IRS on 6 March 2014, with our tax exception status retroactive to our date of formation, 14 June 2012.
-
-
-
-
-
- 2013 Report
-
-
- We had a busy and productive 2013 with a wide range of activities:
-
- Released Processing 2.0 and 2.1
-
- New OpenGL renderers for speed
- Integrated GLSL shaders and API
- New video library for faster capture and playback
- Enhanced library manager for easy install
- Enhanced modes infrastructure to make it easier to add new languages to the PDE
- New features for working with XML and JSON
- New classes for working with data
- New features for working with SVN and OBJ
-
- Launched "Hello Processing " video tutorial
-
- Processing Fellows
-
- Lauren McCarthy, exploratory research led to p5.js
- Greg Borenstein, released OpenCV library
- Wilm Thoben, work started on new core Sound library
-
- Community Development
-
- Worked with community library authors to port and develop 109 libraries for 2.0
- New templates developed for creating libraries and tools
- 2.0 Processing Forum launched and 1.0 Forum archived
- Website redesigned with simplified navigation and new tutorials
-
- Google Summer of Code 2013. For the third year, we mentored a group of university students to explore their ideas for extended Processing. Please read our summary post.
-
- Manindra Moharana's PDEX brings code completion, debugging, and more to the PDE
- Gal Sasson's Tweak Mode makes it easy to modify parameters while a program runs
- Gottfried Haider's Serial library is a needed update to the core library
- Martin Leopold's GUI library is a new approach to created interface elements
-
- Thank you! This year, we're especially grateful to the following people and groups:
-
- Processing users who have donated through the Download page
- O'Reilly Media for the December 2013 matching grant
- Arduino for the generous donation in February 2013
- The Google Summer of Code program for supporting students to work with us
-
-
-
-
-
- Despite the new fundraising goals, Processing remains almost entirely a volunteer organization pushed forward by a small group of people . In starting our fundraising push, the initial goal was to hire one full-time developer to maintain and build the Processing code base, while the current Processing team continues to volunteer time to the project. We've received a constant stream of donations through the Download page interface, but at the end of nine months the amount is about 10% of what we need to hire a developer. We're currently utilizing the donations to support Processing Fellows, short-term appointments to explore future directions for Processing and to produce essential libraries. For instance, we supported Lauren McCarthy to explore new ideas for integrating Processing with JavaScript and we supported Greg Borenstein to development the new OpenCV library.
-
-
-
-
- Patrons
-
-
- Individuals making $5 to $100 donations are the largest source of income for the Processing Foundation. We're grateful to all who have donated and we're proud to be supported by the community.
-
-
-
- In 2013, O'Reilly Media and Arduino made donations to the Processing Foundation.
-
-
-
- The Google Summer of Code program has provided and excellent source of energy and new development through supporting students to work with us. This program has now supported Processing for three years, 2010 to 2013. It has provided the base for many important enhancements to the software.
-
-
-
- Prior to incorporating as a Foundation, Processing received key funding and support from several organizations and companies. These commitments enabled a series of pivotal improvements to the software.
-
-
-
- The Interactive Telecommunications Program (ITP) at New York University sponsored a Processing 2.0 development workshop in the summer of 2011.
-
-
-
- The Armstrong Institute for Interactive Media Studies at Miami University funded The Oxford Project, a series of Processing development workshops during the 2008-2009 academic year. These four-day meetings in Oxford, Ohio, enabled the November 2008 launch of Processing 1.0 and stimulated future development.
-
-
-
- Oblong Industries funded Ben Fry to develop Processing during the summer of 2008. This funding also assisted in the completion of the 1.0 release. The Rockefeller Foundation awarded Ben Fry with a Media Arts Fellowship in 2006. The grant marked the first time that Ben was able to work on Processing as a funded project. This support led to further developments of the OpenGL and PDF rendering engines, as well as significant enhancements to other libraries and their integration.
-
-
-
- The Interaction Design Institute Ivrea funded four individuals' work on Processing in the summer of 2003. This resulted in Dan Mosedale's preprocessor using Antlr, Sami Arola's contributions to the graphics engine, and other contributions to the Processing Development Environment and 2D graphics engine. We are grateful to Interaction Ivrea director Gillian Crampton Smith for her encouragement and support.
-
-
-
-
-
-
diff --git a/content/static/handbook.html b/content/static/handbook.html
index facd7fdbc..27ef76ed6 100644
--- a/content/static/handbook.html
+++ b/content/static/handbook.html
@@ -6,13 +6,13 @@