]> git.openstreetmap.org Git - rails.git/blob - vendor/assets/iD/iD.js
fix version in iD.js
[rails.git] / vendor / assets / iD / iD.js
1 (function(exports) {
2
3   var bootstrap = (typeof exports.bootstrap === "object") ?
4     exports.bootstrap :
5     (exports.bootstrap = {});
6
7   bootstrap.tooltip = function() {
8
9     var tooltip = function(selection) {
10         selection.each(setup);
11       },
12       animation = d3.functor(false),
13       html = d3.functor(false),
14       title = function() {
15         var title = this.getAttribute("data-original-title");
16         if (title) {
17           return title;
18         } else {
19           title = this.getAttribute("title");
20           this.removeAttribute("title");
21           this.setAttribute("data-original-title", title);
22         }
23         return title;
24       },
25       over = "mouseenter.tooltip",
26       out = "mouseleave.tooltip",
27       placements = "top left bottom right".split(" "),
28       placement = d3.functor("top");
29
30     tooltip.title = function(_) {
31       if (arguments.length) {
32         title = d3.functor(_);
33         return tooltip;
34       } else {
35         return title;
36       }
37     };
38
39     tooltip.html = function(_) {
40       if (arguments.length) {
41         html = d3.functor(_);
42         return tooltip;
43       } else {
44         return html;
45       }
46     };
47
48     tooltip.placement = function(_) {
49       if (arguments.length) {
50         placement = d3.functor(_);
51         return tooltip;
52       } else {
53         return placement;
54       }
55     };
56
57     tooltip.show = function(selection) {
58       selection.each(show);
59     };
60
61     tooltip.hide = function(selection) {
62       selection.each(hide);
63     };
64
65     tooltip.toggle = function(selection) {
66       selection.each(toggle);
67     };
68
69     tooltip.destroy = function(selection) {
70       selection
71         .on(over, null)
72         .on(out, null)
73         .attr("title", function() {
74           return this.getAttribute("data-original-title") || this.getAttribute("title");
75         })
76         .attr("data-original-title", null)
77         .select(".tooltip")
78         .remove();
79     };
80
81     function setup() {
82       var root = d3.select(this),
83           animate = animation.apply(this, arguments),
84           tip = root.append("div")
85             .attr("class", "tooltip");
86
87       if (animate) {
88         tip.classed("fade", true);
89       }
90
91       // TODO "inside" checks?
92
93       tip.append("div")
94         .attr("class", "tooltip-arrow");
95       tip.append("div")
96         .attr("class", "tooltip-inner");
97
98       var place = placement.apply(this, arguments);
99       tip.classed(place, true);
100
101       root.on(over, show);
102       root.on(out, hide);
103     }
104
105     function show() {
106       var root = d3.select(this),
107           content = title.apply(this, arguments),
108           tip = root.select(".tooltip")
109             .classed("in", true),
110           markup = html.apply(this, arguments),
111           innercontent = tip.select(".tooltip-inner")[markup ? "html" : "text"](content),
112           place = placement.apply(this, arguments),
113           outer = getPosition(root.node()),
114           inner = getPosition(tip.node()),
115           pos;
116
117       switch (place) {
118         case "top":
119           pos = {x: outer.x + (outer.w - inner.w) / 2, y: outer.y - inner.h};
120           break;
121         case "right":
122           pos = {x: outer.x + outer.w, y: outer.y + (outer.h - inner.h) / 2};
123           break;
124         case "left":
125           pos = {x: outer.x - inner.w, y: outer.y + (outer.h - inner.h) / 2};
126           break;
127         case "bottom":
128           pos = {x: Math.max(0, outer.x + (outer.w - inner.w) / 2), y: outer.y + outer.h};
129           break;
130       }
131
132       tip.style(pos ?
133         {left: ~~pos.x + "px", top: ~~pos.y + "px"} :
134         {left: null, top: null});
135
136       this.tooltipVisible = true;
137     }
138
139     function hide() {
140       d3.select(this).select(".tooltip")
141         .classed("in", false);
142
143       this.tooltipVisible = false;
144     }
145
146     function toggle() {
147       if (this.tooltipVisible) {
148         hide.apply(this, arguments);
149       } else {
150         show.apply(this, arguments);
151       }
152     }
153
154     return tooltip;
155   };
156
157   function getPosition(node) {
158     var mode = d3.select(node).style('position');
159     if (mode === 'absolute' || mode === 'static') {
160       return {
161         x: node.offsetLeft,
162         y: node.offsetTop,
163         w: node.offsetWidth,
164         h: node.offsetHeight
165       };
166     } else {
167       return {
168         x: 0,
169         y: 0,
170         w: node.offsetWidth,
171         h: node.offsetHeight
172       };
173     }
174   }
175
176 })(this);
177 !function(){
178   var d3 = {version: "3.4.6"}; // semver
179 d3.ascending = d3_ascending;
180
181 function d3_ascending(a, b) {
182   return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
183 }
184 d3.descending = function(a, b) {
185   return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
186 };
187 d3.min = function(array, f) {
188   var i = -1,
189       n = array.length,
190       a,
191       b;
192   if (arguments.length === 1) {
193     while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined;
194     while (++i < n) if ((b = array[i]) != null && a > b) a = b;
195   } else {
196     while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
197     while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;
198   }
199   return a;
200 };
201 d3.max = function(array, f) {
202   var i = -1,
203       n = array.length,
204       a,
205       b;
206   if (arguments.length === 1) {
207     while (++i < n && !((a = array[i]) != null && a <= a)) a = undefined;
208     while (++i < n) if ((b = array[i]) != null && b > a) a = b;
209   } else {
210     while (++i < n && !((a = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
211     while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;
212   }
213   return a;
214 };
215 d3.extent = function(array, f) {
216   var i = -1,
217       n = array.length,
218       a,
219       b,
220       c;
221   if (arguments.length === 1) {
222     while (++i < n && !((a = c = array[i]) != null && a <= a)) a = c = undefined;
223     while (++i < n) if ((b = array[i]) != null) {
224       if (a > b) a = b;
225       if (c < b) c = b;
226     }
227   } else {
228     while (++i < n && !((a = c = f.call(array, array[i], i)) != null && a <= a)) a = undefined;
229     while (++i < n) if ((b = f.call(array, array[i], i)) != null) {
230       if (a > b) a = b;
231       if (c < b) c = b;
232     }
233   }
234   return [a, c];
235 };
236 d3.sum = function(array, f) {
237   var s = 0,
238       n = array.length,
239       a,
240       i = -1;
241
242   if (arguments.length === 1) {
243     while (++i < n) if (!isNaN(a = +array[i])) s += a;
244   } else {
245     while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
246   }
247
248   return s;
249 };
250 function d3_number(x) {
251   return x != null && !isNaN(x);
252 }
253
254 d3.mean = function(array, f) {
255   var s = 0,
256       n = array.length,
257       a,
258       i = -1,
259       j = n;
260   if (arguments.length === 1) {
261     while (++i < n) if (d3_number(a = array[i])) s += a; else --j;
262   } else {
263     while (++i < n) if (d3_number(a = f.call(array, array[i], i))) s += a; else --j;
264   }
265   return j ? s / j : undefined;
266 };
267 // R-7 per <http://en.wikipedia.org/wiki/Quantile>
268 d3.quantile = function(values, p) {
269   var H = (values.length - 1) * p + 1,
270       h = Math.floor(H),
271       v = +values[h - 1],
272       e = H - h;
273   return e ? v + e * (values[h] - v) : v;
274 };
275
276 d3.median = function(array, f) {
277   if (arguments.length > 1) array = array.map(f);
278   array = array.filter(d3_number);
279   return array.length ? d3.quantile(array.sort(d3_ascending), .5) : undefined;
280 };
281
282 function d3_bisector(compare) {
283   return {
284     left: function(a, x, lo, hi) {
285       if (arguments.length < 3) lo = 0;
286       if (arguments.length < 4) hi = a.length;
287       while (lo < hi) {
288         var mid = lo + hi >>> 1;
289         if (compare(a[mid], x) < 0) lo = mid + 1;
290         else hi = mid;
291       }
292       return lo;
293     },
294     right: function(a, x, lo, hi) {
295       if (arguments.length < 3) lo = 0;
296       if (arguments.length < 4) hi = a.length;
297       while (lo < hi) {
298         var mid = lo + hi >>> 1;
299         if (compare(a[mid], x) > 0) hi = mid;
300         else lo = mid + 1;
301       }
302       return lo;
303     }
304   };
305 }
306
307 var d3_bisect = d3_bisector(d3_ascending);
308 d3.bisectLeft = d3_bisect.left;
309 d3.bisect = d3.bisectRight = d3_bisect.right;
310
311 d3.bisector = function(f) {
312   return d3_bisector(f.length === 1
313       ? function(d, x) { return d3_ascending(f(d), x); }
314       : f);
315 };
316 d3.shuffle = function(array) {
317   var m = array.length, t, i;
318   while (m) {
319     i = Math.random() * m-- | 0;
320     t = array[m], array[m] = array[i], array[i] = t;
321   }
322   return array;
323 };
324 d3.permute = function(array, indexes) {
325   var i = indexes.length, permutes = new Array(i);
326   while (i--) permutes[i] = array[indexes[i]];
327   return permutes;
328 };
329 d3.pairs = function(array) {
330   var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);
331   while (i < n) pairs[i] = [p0 = p1, p1 = array[++i]];
332   return pairs;
333 };
334
335 d3.zip = function() {
336   if (!(n = arguments.length)) return [];
337   for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m;) {
338     for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n;) {
339       zip[j] = arguments[j][i];
340     }
341   }
342   return zips;
343 };
344
345 function d3_zipLength(d) {
346   return d.length;
347 }
348
349 d3.transpose = function(matrix) {
350   return d3.zip.apply(d3, matrix);
351 };
352 d3.keys = function(map) {
353   var keys = [];
354   for (var key in map) keys.push(key);
355   return keys;
356 };
357 d3.values = function(map) {
358   var values = [];
359   for (var key in map) values.push(map[key]);
360   return values;
361 };
362 d3.entries = function(map) {
363   var entries = [];
364   for (var key in map) entries.push({key: key, value: map[key]});
365   return entries;
366 };
367 d3.merge = function(arrays) {
368   var n = arrays.length,
369       m,
370       i = -1,
371       j = 0,
372       merged,
373       array;
374
375   while (++i < n) j += arrays[i].length;
376   merged = new Array(j);
377
378   while (--n >= 0) {
379     array = arrays[n];
380     m = array.length;
381     while (--m >= 0) {
382       merged[--j] = array[m];
383     }
384   }
385
386   return merged;
387 };
388 var abs = Math.abs;
389
390 d3.range = function(start, stop, step) {
391   if (arguments.length < 3) {
392     step = 1;
393     if (arguments.length < 2) {
394       stop = start;
395       start = 0;
396     }
397   }
398   if ((stop - start) / step === Infinity) throw new Error("infinite range");
399   var range = [],
400        k = d3_range_integerScale(abs(step)),
401        i = -1,
402        j;
403   start *= k, stop *= k, step *= k;
404   if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k);
405   else while ((j = start + step * ++i) < stop) range.push(j / k);
406   return range;
407 };
408
409 function d3_range_integerScale(x) {
410   var k = 1;
411   while (x * k % 1) k *= 10;
412   return k;
413 }
414 function d3_class(ctor, properties) {
415   try {
416     for (var key in properties) {
417       Object.defineProperty(ctor.prototype, key, {
418         value: properties[key],
419         enumerable: false
420       });
421     }
422   } catch (e) {
423     ctor.prototype = properties;
424   }
425 }
426
427 d3.map = function(object) {
428   var map = new d3_Map;
429   if (object instanceof d3_Map) object.forEach(function(key, value) { map.set(key, value); });
430   else for (var key in object) map.set(key, object[key]);
431   return map;
432 };
433
434 function d3_Map() {}
435
436 d3_class(d3_Map, {
437   has: d3_map_has,
438   get: function(key) {
439     return this[d3_map_prefix + key];
440   },
441   set: function(key, value) {
442     return this[d3_map_prefix + key] = value;
443   },
444   remove: d3_map_remove,
445   keys: d3_map_keys,
446   values: function() {
447     var values = [];
448     this.forEach(function(key, value) { values.push(value); });
449     return values;
450   },
451   entries: function() {
452     var entries = [];
453     this.forEach(function(key, value) { entries.push({key: key, value: value}); });
454     return entries;
455   },
456   size: d3_map_size,
457   empty: d3_map_empty,
458   forEach: function(f) {
459     for (var key in this) if (key.charCodeAt(0) === d3_map_prefixCode) f.call(this, key.substring(1), this[key]);
460   }
461 });
462
463 var d3_map_prefix = "\0", // prevent collision with built-ins
464     d3_map_prefixCode = d3_map_prefix.charCodeAt(0);
465
466 function d3_map_has(key) {
467   return d3_map_prefix + key in this;
468 }
469
470 function d3_map_remove(key) {
471   key = d3_map_prefix + key;
472   return key in this && delete this[key];
473 }
474
475 function d3_map_keys() {
476   var keys = [];
477   this.forEach(function(key) { keys.push(key); });
478   return keys;
479 }
480
481 function d3_map_size() {
482   var size = 0;
483   for (var key in this) if (key.charCodeAt(0) === d3_map_prefixCode) ++size;
484   return size;
485 }
486
487 function d3_map_empty() {
488   for (var key in this) if (key.charCodeAt(0) === d3_map_prefixCode) return false;
489   return true;
490 }
491
492 d3.nest = function() {
493   var nest = {},
494       keys = [],
495       sortKeys = [],
496       sortValues,
497       rollup;
498
499   function map(mapType, array, depth) {
500     if (depth >= keys.length) return rollup
501         ? rollup.call(nest, array) : (sortValues
502         ? array.sort(sortValues)
503         : array);
504
505     var i = -1,
506         n = array.length,
507         key = keys[depth++],
508         keyValue,
509         object,
510         setter,
511         valuesByKey = new d3_Map,
512         values;
513
514     while (++i < n) {
515       if (values = valuesByKey.get(keyValue = key(object = array[i]))) {
516         values.push(object);
517       } else {
518         valuesByKey.set(keyValue, [object]);
519       }
520     }
521
522     if (mapType) {
523       object = mapType();
524       setter = function(keyValue, values) {
525         object.set(keyValue, map(mapType, values, depth));
526       };
527     } else {
528       object = {};
529       setter = function(keyValue, values) {
530         object[keyValue] = map(mapType, values, depth);
531       };
532     }
533
534     valuesByKey.forEach(setter);
535     return object;
536   }
537
538   function entries(map, depth) {
539     if (depth >= keys.length) return map;
540
541     var array = [],
542         sortKey = sortKeys[depth++];
543
544     map.forEach(function(key, keyMap) {
545       array.push({key: key, values: entries(keyMap, depth)});
546     });
547
548     return sortKey
549         ? array.sort(function(a, b) { return sortKey(a.key, b.key); })
550         : array;
551   }
552
553   nest.map = function(array, mapType) {
554     return map(mapType, array, 0);
555   };
556
557   nest.entries = function(array) {
558     return entries(map(d3.map, array, 0), 0);
559   };
560
561   nest.key = function(d) {
562     keys.push(d);
563     return nest;
564   };
565
566   // Specifies the order for the most-recently specified key.
567   // Note: only applies to entries. Map keys are unordered!
568   nest.sortKeys = function(order) {
569     sortKeys[keys.length - 1] = order;
570     return nest;
571   };
572
573   // Specifies the order for leaf values.
574   // Applies to both maps and entries array.
575   nest.sortValues = function(order) {
576     sortValues = order;
577     return nest;
578   };
579
580   nest.rollup = function(f) {
581     rollup = f;
582     return nest;
583   };
584
585   return nest;
586 };
587
588 d3.set = function(array) {
589   var set = new d3_Set;
590   if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);
591   return set;
592 };
593
594 function d3_Set() {}
595
596 d3_class(d3_Set, {
597   has: d3_map_has,
598   add: function(value) {
599     this[d3_map_prefix + value] = true;
600     return value;
601   },
602   remove: function(value) {
603     value = d3_map_prefix + value;
604     return value in this && delete this[value];
605   },
606   values: d3_map_keys,
607   size: d3_map_size,
608   empty: d3_map_empty,
609   forEach: function(f) {
610     for (var value in this) if (value.charCodeAt(0) === d3_map_prefixCode) f.call(this, value.substring(1));
611   }
612 });
613 d3.behavior = {};
614 var d3_arraySlice = [].slice,
615     d3_array = function(list) { return d3_arraySlice.call(list); }; // conversion for NodeLists
616
617 var d3_document = document,
618     d3_documentElement = d3_document.documentElement,
619     d3_window = window;
620
621 // Redefine d3_array if the browser doesn’t support slice-based conversion.
622 try {
623   d3_array(d3_documentElement.childNodes)[0].nodeType;
624 } catch(e) {
625   d3_array = function(list) {
626     var i = list.length, array = new Array(i);
627     while (i--) array[i] = list[i];
628     return array;
629   };
630 }
631 // Copies a variable number of methods from source to target.
632 d3.rebind = function(target, source) {
633   var i = 1, n = arguments.length, method;
634   while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);
635   return target;
636 };
637
638 // Method is assumed to be a standard D3 getter-setter:
639 // If passed with no arguments, gets the value.
640 // If passed with arguments, sets the value and returns the target.
641 function d3_rebind(target, source, method) {
642   return function() {
643     var value = method.apply(source, arguments);
644     return value === source ? target : value;
645   };
646 }
647
648 function d3_vendorSymbol(object, name) {
649   if (name in object) return name;
650   name = name.charAt(0).toUpperCase() + name.substring(1);
651   for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {
652     var prefixName = d3_vendorPrefixes[i] + name;
653     if (prefixName in object) return prefixName;
654   }
655 }
656
657 var d3_vendorPrefixes = ["webkit", "ms", "moz", "Moz", "o", "O"];
658 function d3_noop() {}
659
660 d3.dispatch = function() {
661   var dispatch = new d3_dispatch,
662       i = -1,
663       n = arguments.length;
664   while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
665   return dispatch;
666 };
667
668 function d3_dispatch() {}
669
670 d3_dispatch.prototype.on = function(type, listener) {
671   var i = type.indexOf("."),
672       name = "";
673
674   // Extract optional namespace, e.g., "click.foo"
675   if (i >= 0) {
676     name = type.substring(i + 1);
677     type = type.substring(0, i);
678   }
679
680   if (type) return arguments.length < 2
681       ? this[type].on(name)
682       : this[type].on(name, listener);
683
684   if (arguments.length === 2) {
685     if (listener == null) for (type in this) {
686       if (this.hasOwnProperty(type)) this[type].on(name, null);
687     }
688     return this;
689   }
690 };
691
692 function d3_dispatch_event(dispatch) {
693   var listeners = [],
694       listenerByName = new d3_Map;
695
696   function event() {
697     var z = listeners, // defensive reference
698         i = -1,
699         n = z.length,
700         l;
701     while (++i < n) if (l = z[i].on) l.apply(this, arguments);
702     return dispatch;
703   }
704
705   event.on = function(name, listener) {
706     var l = listenerByName.get(name),
707         i;
708
709     // return the current listener, if any
710     if (arguments.length < 2) return l && l.on;
711
712     // remove the old listener, if any (with copy-on-write)
713     if (l) {
714       l.on = null;
715       listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));
716       listenerByName.remove(name);
717     }
718
719     // add the new listener, if any
720     if (listener) listeners.push(listenerByName.set(name, {on: listener}));
721
722     return dispatch;
723   };
724
725   return event;
726 }
727
728 d3.event = null;
729
730 function d3_eventPreventDefault() {
731   d3.event.preventDefault();
732 }
733
734 function d3_eventCancel() {
735   d3.event.preventDefault();
736   d3.event.stopPropagation();
737 }
738
739 function d3_eventSource() {
740   var e = d3.event, s;
741   while (s = e.sourceEvent) e = s;
742   return e;
743 }
744
745 // Like d3.dispatch, but for custom events abstracting native UI events. These
746 // events have a target component (such as a brush), a target element (such as
747 // the svg:g element containing the brush) and the standard arguments `d` (the
748 // target element's data) and `i` (the selection index of the target element).
749 function d3_eventDispatch(target) {
750   var dispatch = new d3_dispatch,
751       i = 0,
752       n = arguments.length;
753
754   while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
755
756   // Creates a dispatch context for the specified `thiz` (typically, the target
757   // DOM element that received the source event) and `argumentz` (typically, the
758   // data `d` and index `i` of the target element). The returned function can be
759   // used to dispatch an event to any registered listeners; the function takes a
760   // single argument as input, being the event to dispatch. The event must have
761   // a "type" attribute which corresponds to a type registered in the
762   // constructor. This context will automatically populate the "sourceEvent" and
763   // "target" attributes of the event, as well as setting the `d3.event` global
764   // for the duration of the notification.
765   dispatch.of = function(thiz, argumentz) {
766     return function(e1) {
767       try {
768         var e0 =
769         e1.sourceEvent = d3.event;
770         e1.target = target;
771         d3.event = e1;
772         dispatch[e1.type].apply(thiz, argumentz);
773       } finally {
774         d3.event = e0;
775       }
776     };
777   };
778
779   return dispatch;
780 }
781 d3.requote = function(s) {
782   return s.replace(d3_requote_re, "\\$&");
783 };
784
785 var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
786 var d3_subclass = {}.__proto__?
787
788 // Until ECMAScript supports array subclassing, prototype injection works well.
789 function(object, prototype) {
790   object.__proto__ = prototype;
791 }:
792
793 // And if your browser doesn't support __proto__, we'll use direct extension.
794 function(object, prototype) {
795   for (var property in prototype) object[property] = prototype[property];
796 };
797
798 function d3_selection(groups) {
799   d3_subclass(groups, d3_selectionPrototype);
800   return groups;
801 }
802
803 var d3_select = function(s, n) { return n.querySelector(s); },
804     d3_selectAll = function(s, n) { return n.querySelectorAll(s); },
805     d3_selectMatcher = d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")],
806     d3_selectMatches = function(n, s) { return d3_selectMatcher.call(n, s); };
807
808 // Prefer Sizzle, if available.
809 if (typeof Sizzle === "function") {
810   d3_select = function(s, n) { return Sizzle(s, n)[0] || null; };
811   d3_selectAll = Sizzle;
812   d3_selectMatches = Sizzle.matchesSelector;
813 }
814
815 d3.selection = function() {
816   return d3_selectionRoot;
817 };
818
819 var d3_selectionPrototype = d3.selection.prototype = [];
820
821
822 d3_selectionPrototype.select = function(selector) {
823   var subgroups = [],
824       subgroup,
825       subnode,
826       group,
827       node;
828
829   selector = d3_selection_selector(selector);
830
831   for (var j = -1, m = this.length; ++j < m;) {
832     subgroups.push(subgroup = []);
833     subgroup.parentNode = (group = this[j]).parentNode;
834     for (var i = -1, n = group.length; ++i < n;) {
835       if (node = group[i]) {
836         subgroup.push(subnode = selector.call(node, node.__data__, i, j));
837         if (subnode && "__data__" in node) subnode.__data__ = node.__data__;
838       } else {
839         subgroup.push(null);
840       }
841     }
842   }
843
844   return d3_selection(subgroups);
845 };
846
847 function d3_selection_selector(selector) {
848   return typeof selector === "function" ? selector : function() {
849     return d3_select(selector, this);
850   };
851 }
852
853 d3_selectionPrototype.selectAll = function(selector) {
854   var subgroups = [],
855       subgroup,
856       node;
857
858   selector = d3_selection_selectorAll(selector);
859
860   for (var j = -1, m = this.length; ++j < m;) {
861     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
862       if (node = group[i]) {
863         subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));
864         subgroup.parentNode = node;
865       }
866     }
867   }
868
869   return d3_selection(subgroups);
870 };
871
872 function d3_selection_selectorAll(selector) {
873   return typeof selector === "function" ? selector : function() {
874     return d3_selectAll(selector, this);
875   };
876 }
877 var d3_nsPrefix = {
878   svg: "http://www.w3.org/2000/svg",
879   xhtml: "http://www.w3.org/1999/xhtml",
880   xlink: "http://www.w3.org/1999/xlink",
881   xml: "http://www.w3.org/XML/1998/namespace",
882   xmlns: "http://www.w3.org/2000/xmlns/"
883 };
884
885 d3.ns = {
886   prefix: d3_nsPrefix,
887   qualify: function(name) {
888     var i = name.indexOf(":"),
889         prefix = name;
890     if (i >= 0) {
891       prefix = name.substring(0, i);
892       name = name.substring(i + 1);
893     }
894     return d3_nsPrefix.hasOwnProperty(prefix)
895         ? {space: d3_nsPrefix[prefix], local: name}
896         : name;
897   }
898 };
899
900 d3_selectionPrototype.attr = function(name, value) {
901   if (arguments.length < 2) {
902
903     // For attr(string), return the attribute value for the first node.
904     if (typeof name === "string") {
905       var node = this.node();
906       name = d3.ns.qualify(name);
907       return name.local
908           ? node.getAttributeNS(name.space, name.local)
909           : node.getAttribute(name);
910     }
911
912     // For attr(object), the object specifies the names and values of the
913     // attributes to set or remove. The values may be functions that are
914     // evaluated for each element.
915     for (value in name) this.each(d3_selection_attr(value, name[value]));
916     return this;
917   }
918
919   return this.each(d3_selection_attr(name, value));
920 };
921
922 function d3_selection_attr(name, value) {
923   name = d3.ns.qualify(name);
924
925   // For attr(string, null), remove the attribute with the specified name.
926   function attrNull() {
927     this.removeAttribute(name);
928   }
929   function attrNullNS() {
930     this.removeAttributeNS(name.space, name.local);
931   }
932
933   // For attr(string, string), set the attribute with the specified name.
934   function attrConstant() {
935     this.setAttribute(name, value);
936   }
937   function attrConstantNS() {
938     this.setAttributeNS(name.space, name.local, value);
939   }
940
941   // For attr(string, function), evaluate the function for each element, and set
942   // or remove the attribute as appropriate.
943   function attrFunction() {
944     var x = value.apply(this, arguments);
945     if (x == null) this.removeAttribute(name);
946     else this.setAttribute(name, x);
947   }
948   function attrFunctionNS() {
949     var x = value.apply(this, arguments);
950     if (x == null) this.removeAttributeNS(name.space, name.local);
951     else this.setAttributeNS(name.space, name.local, x);
952   }
953
954   return value == null
955       ? (name.local ? attrNullNS : attrNull) : (typeof value === "function"
956       ? (name.local ? attrFunctionNS : attrFunction)
957       : (name.local ? attrConstantNS : attrConstant));
958 }
959 function d3_collapse(s) {
960   return s.trim().replace(/\s+/g, " ");
961 }
962
963 d3_selectionPrototype.classed = function(name, value) {
964   if (arguments.length < 2) {
965
966     // For classed(string), return true only if the first node has the specified
967     // class or classes. Note that even if the browser supports DOMTokenList, it
968     // probably doesn't support it on SVG elements (which can be animated).
969     if (typeof name === "string") {
970       var node = this.node(),
971           n = (name = d3_selection_classes(name)).length,
972           i = -1;
973       if (value = node.classList) {
974         while (++i < n) if (!value.contains(name[i])) return false;
975       } else {
976         value = node.getAttribute("class");
977         while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;
978       }
979       return true;
980     }
981
982     // For classed(object), the object specifies the names of classes to add or
983     // remove. The values may be functions that are evaluated for each element.
984     for (value in name) this.each(d3_selection_classed(value, name[value]));
985     return this;
986   }
987
988   // Otherwise, both a name and a value are specified, and are handled as below.
989   return this.each(d3_selection_classed(name, value));
990 };
991
992 function d3_selection_classedRe(name) {
993   return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g");
994 }
995
996 function d3_selection_classes(name) {
997   return name.trim().split(/^|\s+/);
998 }
999
1000 // Multiple class names are allowed (e.g., "foo bar").
1001 function d3_selection_classed(name, value) {
1002   name = d3_selection_classes(name).map(d3_selection_classedName);
1003   var n = name.length;
1004
1005   function classedConstant() {
1006     var i = -1;
1007     while (++i < n) name[i](this, value);
1008   }
1009
1010   // When the value is a function, the function is still evaluated only once per
1011   // element even if there are multiple class names.
1012   function classedFunction() {
1013     var i = -1, x = value.apply(this, arguments);
1014     while (++i < n) name[i](this, x);
1015   }
1016
1017   return typeof value === "function"
1018       ? classedFunction
1019       : classedConstant;
1020 }
1021
1022 function d3_selection_classedName(name) {
1023   var re = d3_selection_classedRe(name);
1024   return function(node, value) {
1025     if (c = node.classList) return value ? c.add(name) : c.remove(name);
1026     var c = node.getAttribute("class") || "";
1027     if (value) {
1028       re.lastIndex = 0;
1029       if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name));
1030     } else {
1031       node.setAttribute("class", d3_collapse(c.replace(re, " ")));
1032     }
1033   };
1034 }
1035
1036 d3_selectionPrototype.style = function(name, value, priority) {
1037   var n = arguments.length;
1038   if (n < 3) {
1039
1040     // For style(object) or style(object, string), the object specifies the
1041     // names and values of the attributes to set or remove. The values may be
1042     // functions that are evaluated for each element. The optional string
1043     // specifies the priority.
1044     if (typeof name !== "string") {
1045       if (n < 2) value = "";
1046       for (priority in name) this.each(d3_selection_style(priority, name[priority], value));
1047       return this;
1048     }
1049
1050     // For style(string), return the computed style value for the first node.
1051     if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name);
1052
1053     // For style(string, string) or style(string, function), use the default
1054     // priority. The priority is ignored for style(string, null).
1055     priority = "";
1056   }
1057
1058   // Otherwise, a name, value and priority are specified, and handled as below.
1059   return this.each(d3_selection_style(name, value, priority));
1060 };
1061
1062 function d3_selection_style(name, value, priority) {
1063
1064   // For style(name, null) or style(name, null, priority), remove the style
1065   // property with the specified name. The priority is ignored.
1066   function styleNull() {
1067     this.style.removeProperty(name);
1068   }
1069
1070   // For style(name, string) or style(name, string, priority), set the style
1071   // property with the specified name, using the specified priority.
1072   function styleConstant() {
1073     this.style.setProperty(name, value, priority);
1074   }
1075
1076   // For style(name, function) or style(name, function, priority), evaluate the
1077   // function for each element, and set or remove the style property as
1078   // appropriate. When setting, use the specified priority.
1079   function styleFunction() {
1080     var x = value.apply(this, arguments);
1081     if (x == null) this.style.removeProperty(name);
1082     else this.style.setProperty(name, x, priority);
1083   }
1084
1085   return value == null
1086       ? styleNull : (typeof value === "function"
1087       ? styleFunction : styleConstant);
1088 }
1089
1090 d3_selectionPrototype.property = function(name, value) {
1091   if (arguments.length < 2) {
1092
1093     // For property(string), return the property value for the first node.
1094     if (typeof name === "string") return this.node()[name];
1095
1096     // For property(object), the object specifies the names and values of the
1097     // properties to set or remove. The values may be functions that are
1098     // evaluated for each element.
1099     for (value in name) this.each(d3_selection_property(value, name[value]));
1100     return this;
1101   }
1102
1103   // Otherwise, both a name and a value are specified, and are handled as below.
1104   return this.each(d3_selection_property(name, value));
1105 };
1106
1107 function d3_selection_property(name, value) {
1108
1109   // For property(name, null), remove the property with the specified name.
1110   function propertyNull() {
1111     delete this[name];
1112   }
1113
1114   // For property(name, string), set the property with the specified name.
1115   function propertyConstant() {
1116     this[name] = value;
1117   }
1118
1119   // For property(name, function), evaluate the function for each element, and
1120   // set or remove the property as appropriate.
1121   function propertyFunction() {
1122     var x = value.apply(this, arguments);
1123     if (x == null) delete this[name];
1124     else this[name] = x;
1125   }
1126
1127   return value == null
1128       ? propertyNull : (typeof value === "function"
1129       ? propertyFunction : propertyConstant);
1130 }
1131
1132 d3_selectionPrototype.text = function(value) {
1133   return arguments.length
1134       ? this.each(typeof value === "function"
1135       ? function() { var v = value.apply(this, arguments); this.textContent = v == null ? "" : v; } : value == null
1136       ? function() { if (this.textContent !== "") this.textContent = ""; }
1137       : function() { if (this.textContent !== value) this.textContent = value; })
1138       : this.node().textContent;
1139 };
1140
1141 d3_selectionPrototype.html = function(value) {
1142   return arguments.length
1143       ? this.each(typeof value === "function"
1144       ? function() { var v = value.apply(this, arguments); this.innerHTML = v == null ? "" : v; } : value == null
1145       ? function() { this.innerHTML = ""; }
1146       : function() { this.innerHTML = value; })
1147       : this.node().innerHTML;
1148 };
1149
1150 d3_selectionPrototype.append = function(name) {
1151   name = d3_selection_creator(name);
1152   return this.select(function() {
1153     return this.appendChild(name.apply(this, arguments));
1154   });
1155 };
1156
1157 function d3_selection_creator(name) {
1158   return typeof name === "function" ? name
1159       : (name = d3.ns.qualify(name)).local ? function() { return this.ownerDocument.createElementNS(name.space, name.local); }
1160       : function() { return this.ownerDocument.createElementNS(this.namespaceURI, name); };
1161 }
1162
1163 d3_selectionPrototype.insert = function(name, before) {
1164   name = d3_selection_creator(name);
1165   before = d3_selection_selector(before);
1166   return this.select(function() {
1167     return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);
1168   });
1169 };
1170
1171 // TODO remove(selector)?
1172 // TODO remove(node)?
1173 // TODO remove(function)?
1174 d3_selectionPrototype.remove = function() {
1175   return this.each(function() {
1176     var parent = this.parentNode;
1177     if (parent) parent.removeChild(this);
1178   });
1179 };
1180
1181 d3_selectionPrototype.data = function(value, key) {
1182   var i = -1,
1183       n = this.length,
1184       group,
1185       node;
1186
1187   // If no value is specified, return the first value.
1188   if (!arguments.length) {
1189     value = new Array(n = (group = this[0]).length);
1190     while (++i < n) {
1191       if (node = group[i]) {
1192         value[i] = node.__data__;
1193       }
1194     }
1195     return value;
1196   }
1197
1198   function bind(group, groupData) {
1199     var i,
1200         n = group.length,
1201         m = groupData.length,
1202         n0 = Math.min(n, m),
1203         updateNodes = new Array(m),
1204         enterNodes = new Array(m),
1205         exitNodes = new Array(n),
1206         node,
1207         nodeData;
1208
1209     if (key) {
1210       var nodeByKeyValue = new d3_Map,
1211           dataByKeyValue = new d3_Map,
1212           keyValues = [],
1213           keyValue;
1214
1215       for (i = -1; ++i < n;) {
1216         keyValue = key.call(node = group[i], node.__data__, i);
1217         if (nodeByKeyValue.has(keyValue)) {
1218           exitNodes[i] = node; // duplicate selection key
1219         } else {
1220           nodeByKeyValue.set(keyValue, node);
1221         }
1222         keyValues.push(keyValue);
1223       }
1224
1225       for (i = -1; ++i < m;) {
1226         keyValue = key.call(groupData, nodeData = groupData[i], i);
1227         if (node = nodeByKeyValue.get(keyValue)) {
1228           updateNodes[i] = node;
1229           node.__data__ = nodeData;
1230         } else if (!dataByKeyValue.has(keyValue)) { // no duplicate data key
1231           enterNodes[i] = d3_selection_dataNode(nodeData);
1232         }
1233         dataByKeyValue.set(keyValue, nodeData);
1234         nodeByKeyValue.remove(keyValue);
1235       }
1236
1237       for (i = -1; ++i < n;) {
1238         if (nodeByKeyValue.has(keyValues[i])) {
1239           exitNodes[i] = group[i];
1240         }
1241       }
1242     } else {
1243       for (i = -1; ++i < n0;) {
1244         node = group[i];
1245         nodeData = groupData[i];
1246         if (node) {
1247           node.__data__ = nodeData;
1248           updateNodes[i] = node;
1249         } else {
1250           enterNodes[i] = d3_selection_dataNode(nodeData);
1251         }
1252       }
1253       for (; i < m; ++i) {
1254         enterNodes[i] = d3_selection_dataNode(groupData[i]);
1255       }
1256       for (; i < n; ++i) {
1257         exitNodes[i] = group[i];
1258       }
1259     }
1260
1261     enterNodes.update
1262         = updateNodes;
1263
1264     enterNodes.parentNode
1265         = updateNodes.parentNode
1266         = exitNodes.parentNode
1267         = group.parentNode;
1268
1269     enter.push(enterNodes);
1270     update.push(updateNodes);
1271     exit.push(exitNodes);
1272   }
1273
1274   var enter = d3_selection_enter([]),
1275       update = d3_selection([]),
1276       exit = d3_selection([]);
1277
1278   if (typeof value === "function") {
1279     while (++i < n) {
1280       bind(group = this[i], value.call(group, group.parentNode.__data__, i));
1281     }
1282   } else {
1283     while (++i < n) {
1284       bind(group = this[i], value);
1285     }
1286   }
1287
1288   update.enter = function() { return enter; };
1289   update.exit = function() { return exit; };
1290   return update;
1291 };
1292
1293 function d3_selection_dataNode(data) {
1294   return {__data__: data};
1295 }
1296
1297 d3_selectionPrototype.datum = function(value) {
1298   return arguments.length
1299       ? this.property("__data__", value)
1300       : this.property("__data__");
1301 };
1302
1303 d3_selectionPrototype.filter = function(filter) {
1304   var subgroups = [],
1305       subgroup,
1306       group,
1307       node;
1308
1309   if (typeof filter !== "function") filter = d3_selection_filter(filter);
1310
1311   for (var j = 0, m = this.length; j < m; j++) {
1312     subgroups.push(subgroup = []);
1313     subgroup.parentNode = (group = this[j]).parentNode;
1314     for (var i = 0, n = group.length; i < n; i++) {
1315       if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {
1316         subgroup.push(node);
1317       }
1318     }
1319   }
1320
1321   return d3_selection(subgroups);
1322 };
1323
1324 function d3_selection_filter(selector) {
1325   return function() {
1326     return d3_selectMatches(this, selector);
1327   };
1328 }
1329
1330 d3_selectionPrototype.order = function() {
1331   for (var j = -1, m = this.length; ++j < m;) {
1332     for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
1333       if (node = group[i]) {
1334         if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);
1335         next = node;
1336       }
1337     }
1338   }
1339   return this;
1340 };
1341
1342 d3_selectionPrototype.sort = function(comparator) {
1343   comparator = d3_selection_sortComparator.apply(this, arguments);
1344   for (var j = -1, m = this.length; ++j < m;) this[j].sort(comparator);
1345   return this.order();
1346 };
1347
1348 function d3_selection_sortComparator(comparator) {
1349   if (!arguments.length) comparator = d3_ascending;
1350   return function(a, b) {
1351     return a && b ? comparator(a.__data__, b.__data__) : !a - !b;
1352   };
1353 }
1354
1355 d3_selectionPrototype.each = function(callback) {
1356   return d3_selection_each(this, function(node, i, j) {
1357     callback.call(node, node.__data__, i, j);
1358   });
1359 };
1360
1361 function d3_selection_each(groups, callback) {
1362   for (var j = 0, m = groups.length; j < m; j++) {
1363     for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {
1364       if (node = group[i]) callback(node, i, j);
1365     }
1366   }
1367   return groups;
1368 }
1369
1370 d3_selectionPrototype.call = function(callback) {
1371   var args = d3_array(arguments);
1372   callback.apply(args[0] = this, args);
1373   return this;
1374 };
1375
1376 d3_selectionPrototype.empty = function() {
1377   return !this.node();
1378 };
1379
1380 d3_selectionPrototype.node = function() {
1381   for (var j = 0, m = this.length; j < m; j++) {
1382     for (var group = this[j], i = 0, n = group.length; i < n; i++) {
1383       var node = group[i];
1384       if (node) return node;
1385     }
1386   }
1387   return null;
1388 };
1389
1390 d3_selectionPrototype.size = function() {
1391   var n = 0;
1392   this.each(function() { ++n; });
1393   return n;
1394 };
1395
1396 function d3_selection_enter(selection) {
1397   d3_subclass(selection, d3_selection_enterPrototype);
1398   return selection;
1399 }
1400
1401 var d3_selection_enterPrototype = [];
1402
1403 d3.selection.enter = d3_selection_enter;
1404 d3.selection.enter.prototype = d3_selection_enterPrototype;
1405
1406 d3_selection_enterPrototype.append = d3_selectionPrototype.append;
1407 d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;
1408 d3_selection_enterPrototype.node = d3_selectionPrototype.node;
1409 d3_selection_enterPrototype.call = d3_selectionPrototype.call;
1410 d3_selection_enterPrototype.size = d3_selectionPrototype.size;
1411
1412
1413 d3_selection_enterPrototype.select = function(selector) {
1414   var subgroups = [],
1415       subgroup,
1416       subnode,
1417       upgroup,
1418       group,
1419       node;
1420
1421   for (var j = -1, m = this.length; ++j < m;) {
1422     upgroup = (group = this[j]).update;
1423     subgroups.push(subgroup = []);
1424     subgroup.parentNode = group.parentNode;
1425     for (var i = -1, n = group.length; ++i < n;) {
1426       if (node = group[i]) {
1427         subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));
1428         subnode.__data__ = node.__data__;
1429       } else {
1430         subgroup.push(null);
1431       }
1432     }
1433   }
1434
1435   return d3_selection(subgroups);
1436 };
1437
1438 d3_selection_enterPrototype.insert = function(name, before) {
1439   if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);
1440   return d3_selectionPrototype.insert.call(this, name, before);
1441 };
1442
1443 function d3_selection_enterInsertBefore(enter) {
1444   var i0, j0;
1445   return function(d, i, j) {
1446     var group = enter[j].update,
1447         n = group.length,
1448         node;
1449     if (j != j0) j0 = j, i0 = 0;
1450     if (i >= i0) i0 = i + 1;
1451     while (!(node = group[i0]) && ++i0 < n);
1452     return node;
1453   };
1454 }
1455
1456 // import "../transition/transition";
1457
1458 d3_selectionPrototype.transition = function() {
1459   var id = d3_transitionInheritId || ++d3_transitionId,
1460       subgroups = [],
1461       subgroup,
1462       node,
1463       transition = d3_transitionInherit || {time: Date.now(), ease: d3_ease_cubicInOut, delay: 0, duration: 250};
1464
1465   for (var j = -1, m = this.length; ++j < m;) {
1466     subgroups.push(subgroup = []);
1467     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
1468       if (node = group[i]) d3_transitionNode(node, i, id, transition);
1469       subgroup.push(node);
1470     }
1471   }
1472
1473   return d3_transition(subgroups, id);
1474 };
1475 // import "../transition/transition";
1476
1477 d3_selectionPrototype.interrupt = function() {
1478   return this.each(d3_selection_interrupt);
1479 };
1480
1481 function d3_selection_interrupt() {
1482   var lock = this.__transition__;
1483   if (lock) ++lock.active;
1484 }
1485
1486 // TODO fast singleton implementation?
1487 d3.select = function(node) {
1488   var group = [typeof node === "string" ? d3_select(node, d3_document) : node];
1489   group.parentNode = d3_documentElement;
1490   return d3_selection([group]);
1491 };
1492
1493 d3.selectAll = function(nodes) {
1494   var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes);
1495   group.parentNode = d3_documentElement;
1496   return d3_selection([group]);
1497 };
1498
1499 var d3_selectionRoot = d3.select(d3_documentElement);
1500
1501 d3_selectionPrototype.on = function(type, listener, capture) {
1502   var n = arguments.length;
1503   if (n < 3) {
1504
1505     // For on(object) or on(object, boolean), the object specifies the event
1506     // types and listeners to add or remove. The optional boolean specifies
1507     // whether the listener captures events.
1508     if (typeof type !== "string") {
1509       if (n < 2) listener = false;
1510       for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));
1511       return this;
1512     }
1513
1514     // For on(string), return the listener for the first node.
1515     if (n < 2) return (n = this.node()["__on" + type]) && n._;
1516
1517     // For on(string, function), use the default capture.
1518     capture = false;
1519   }
1520
1521   // Otherwise, a type, listener and capture are specified, and handled as below.
1522   return this.each(d3_selection_on(type, listener, capture));
1523 };
1524
1525 function d3_selection_on(type, listener, capture) {
1526   var name = "__on" + type,
1527       i = type.indexOf("."),
1528       wrap = d3_selection_onListener;
1529
1530   if (i > 0) type = type.substring(0, i);
1531   var filter = d3_selection_onFilters.get(type);
1532   if (filter) type = filter, wrap = d3_selection_onFilter;
1533
1534   function onRemove() {
1535     var l = this[name];
1536     if (l) {
1537       this.removeEventListener(type, l, l.$);
1538       delete this[name];
1539     }
1540   }
1541
1542   function onAdd() {
1543     var l = wrap(listener, d3_array(arguments));
1544     if (typeof Raven !== 'undefined') l = Raven.wrap(l);
1545     onRemove.call(this);
1546     this.addEventListener(type, this[name] = l, l.$ = capture);
1547     l._ = listener;
1548   }
1549
1550   function removeAll() {
1551     var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"),
1552         match;
1553     for (var name in this) {
1554       if (match = name.match(re)) {
1555         var l = this[name];
1556         this.removeEventListener(match[1], l, l.$);
1557         delete this[name];
1558       }
1559     }
1560   }
1561
1562   return i
1563       ? listener ? onAdd : onRemove
1564       : listener ? d3_noop : removeAll;
1565 }
1566
1567 var d3_selection_onFilters = d3.map({
1568   mouseenter: "mouseover",
1569   mouseleave: "mouseout"
1570 });
1571
1572 d3_selection_onFilters.forEach(function(k) {
1573   if ("on" + k in d3_document) d3_selection_onFilters.remove(k);
1574 });
1575
1576 function d3_selection_onListener(listener, argumentz) {
1577   return function(e) {
1578     var o = d3.event; // Events can be reentrant (e.g., focus).
1579     d3.event = e;
1580     argumentz[0] = this.__data__;
1581     try {
1582       listener.apply(this, argumentz);
1583     } finally {
1584       d3.event = o;
1585     }
1586   };
1587 }
1588
1589 function d3_selection_onFilter(listener, argumentz) {
1590   var l = d3_selection_onListener(listener, argumentz);
1591   return function(e) {
1592     var target = this, related = e.relatedTarget;
1593     if (!related || (related !== target && !(related.compareDocumentPosition(target) & 8))) {
1594       l.call(target, e);
1595     }
1596   };
1597 }
1598
1599 var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"),
1600     d3_event_dragId = 0;
1601
1602 function d3_event_dragSuppress() {
1603   var name = ".dragsuppress-" + ++d3_event_dragId,
1604       click = "click" + name,
1605       w = d3.select(d3_window)
1606           .on("touchmove" + name, d3_eventPreventDefault)
1607           .on("dragstart" + name, d3_eventPreventDefault)
1608           .on("selectstart" + name, d3_eventPreventDefault);
1609   if (d3_event_dragSelect) {
1610     var style = d3_documentElement.style,
1611         select = style[d3_event_dragSelect];
1612     style[d3_event_dragSelect] = "none";
1613   }
1614   return function(suppressClick) {
1615     w.on(name, null);
1616     if (d3_event_dragSelect) style[d3_event_dragSelect] = select;
1617     if (suppressClick) { // suppress the next click, but only if it’s immediate
1618       function off() { w.on(click, null); }
1619       w.on(click, function() { d3_eventCancel(); off(); }, true);
1620       setTimeout(off, 0);
1621     }
1622   };
1623 }
1624
1625 d3.mouse = function(container) {
1626   return d3_mousePoint(container, d3_eventSource());
1627 };
1628
1629 function d3_mousePoint(container, e) {
1630   if (e.changedTouches) e = e.changedTouches[0];
1631   var svg = container.ownerSVGElement || container;
1632   if (svg.createSVGPoint) {
1633     var point = svg.createSVGPoint();
1634     point.x = e.clientX, point.y = e.clientY;
1635     point = point.matrixTransform(container.getScreenCTM().inverse());
1636     return [point.x, point.y];
1637   }
1638   var rect = container.getBoundingClientRect();
1639   return [e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop];
1640 };
1641
1642 d3.touches = function(container, touches) {
1643   if (arguments.length < 2) touches = d3_eventSource().touches;
1644   return touches ? d3_array(touches).map(function(touch) {
1645     var point = d3_mousePoint(container, touch);
1646     point.identifier = touch.identifier;
1647     return point;
1648   }) : [];
1649 };
1650 var π = Math.PI,
1651     τ = 2 * π,
1652     halfπ = π / 2,
1653     ε = 1e-6,
1654     ε2 = ε * ε,
1655     d3_radians = π / 180,
1656     d3_degrees = 180 / π;
1657
1658 function d3_sgn(x) {
1659   return x > 0 ? 1 : x < 0 ? -1 : 0;
1660 }
1661
1662 // Returns the 2D cross product of AB and AC vectors, i.e., the z-component of
1663 // the 3D cross product in a quadrant I Cartesian coordinate system (+x is
1664 // right, +y is up). Returns a positive value if ABC is counter-clockwise,
1665 // negative if clockwise, and zero if the points are collinear.
1666 function d3_cross2d(a, b, c) {
1667   return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
1668 }
1669
1670 function d3_acos(x) {
1671   return x > 1 ? 0 : x < -1 ? π : Math.acos(x);
1672 }
1673
1674 function d3_asin(x) {
1675   return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);
1676 }
1677
1678 function d3_sinh(x) {
1679   return ((x = Math.exp(x)) - 1 / x) / 2;
1680 }
1681
1682 function d3_cosh(x) {
1683   return ((x = Math.exp(x)) + 1 / x) / 2;
1684 }
1685
1686 function d3_tanh(x) {
1687   return ((x = Math.exp(2 * x)) - 1) / (x + 1);
1688 }
1689
1690 function d3_haversin(x) {
1691   return (x = Math.sin(x / 2)) * x;
1692 }
1693
1694 var ρ = Math.SQRT2,
1695     ρ2 = 2,
1696     ρ4 = 4;
1697
1698 // p0 = [ux0, uy0, w0]
1699 // p1 = [ux1, uy1, w1]
1700 d3.interpolateZoom = function(p0, p1) {
1701   var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],
1702       ux1 = p1[0], uy1 = p1[1], w1 = p1[2];
1703
1704   var dx = ux1 - ux0,
1705       dy = uy1 - uy0,
1706       d2 = dx * dx + dy * dy,
1707       d1 = Math.sqrt(d2),
1708       b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1),
1709       b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1),
1710       r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),
1711       r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1),
1712       dr = r1 - r0,
1713       S = (dr || Math.log(w1 / w0)) / ρ;
1714
1715   function interpolate(t) {
1716     var s = t * S;
1717     if (dr) {
1718       // General case.
1719       var coshr0 = d3_cosh(r0),
1720           u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));
1721       return [
1722         ux0 + u * dx,
1723         uy0 + u * dy,
1724         w0 * coshr0 / d3_cosh(ρ * s + r0)
1725       ];
1726     }
1727     // Special case for u0 ~= u1.
1728     return [
1729       ux0 + t * dx,
1730       uy0 + t * dy,
1731       w0 * Math.exp(ρ * s)
1732     ];
1733   }
1734
1735   interpolate.duration = S * 1000;
1736
1737   return interpolate;
1738 };
1739
1740 d3.behavior.zoom = function() {
1741   var view = {x: 0, y: 0, k: 1},
1742       translate0, // translate when we started zooming (to avoid drift)
1743       center, // desired position of translate0 after zooming
1744       size = [960, 500], // viewport size; required for zoom interpolation
1745       scaleExtent = d3_behavior_zoomInfinity,
1746       mousedown = "mousedown.zoom",
1747       mousemove = "mousemove.zoom",
1748       mouseup = "mouseup.zoom",
1749       mousewheelTimer,
1750       touchstart = "touchstart.zoom",
1751       touchtime, // time of last touchstart (to detect double-tap)
1752       event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"),
1753       x0,
1754       x1,
1755       y0,
1756       y1;
1757
1758   function zoom(g) {
1759     g   .on(mousedown, mousedowned)
1760         .on(d3_behavior_zoomWheel + ".zoom", mousewheeled)
1761         .on(mousemove, mousewheelreset)
1762         .on("dblclick.zoom", dblclicked)
1763         .on(touchstart, touchstarted);
1764   }
1765
1766   zoom.event = function(g) {
1767     g.each(function() {
1768       var dispatch = event.of(this, arguments),
1769           view1 = view;
1770       if (d3_transitionInheritId) {
1771         d3.select(this).transition()
1772             .each("start.zoom", function() {
1773               view = this.__chart__ || {x: 0, y: 0, k: 1}; // pre-transition state
1774               zoomstarted(dispatch);
1775             })
1776             .tween("zoom:zoom", function() {
1777               var dx = size[0],
1778                   dy = size[1],
1779                   cx = dx / 2,
1780                   cy = dy / 2,
1781                   i = d3.interpolateZoom(
1782                     [(cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k],
1783                     [(cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k]
1784                   );
1785               return function(t) {
1786                 var l = i(t), k = dx / l[2];
1787                 this.__chart__ = view = {x: cx - l[0] * k, y: cy - l[1] * k, k: k};
1788                 zoomed(dispatch);
1789               };
1790             })
1791             .each("end.zoom", function() {
1792               zoomended(dispatch);
1793             });
1794       } else {
1795         this.__chart__ = view;
1796         zoomstarted(dispatch);
1797         zoomed(dispatch);
1798         zoomended(dispatch);
1799       }
1800     });
1801   }
1802
1803   zoom.translate = function(_) {
1804     if (!arguments.length) return [view.x, view.y];
1805     view = {x: +_[0], y: +_[1], k: view.k}; // copy-on-write
1806     rescale();
1807     return zoom;
1808   };
1809
1810   zoom.scale = function(_) {
1811     if (!arguments.length) return view.k;
1812     view = {x: view.x, y: view.y, k: +_}; // copy-on-write
1813     rescale();
1814     return zoom;
1815   };
1816
1817   zoom.scaleExtent = function(_) {
1818     if (!arguments.length) return scaleExtent;
1819     scaleExtent = _ == null ? d3_behavior_zoomInfinity : [+_[0], +_[1]];
1820     return zoom;
1821   };
1822
1823   zoom.center = function(_) {
1824     if (!arguments.length) return center;
1825     center = _ && [+_[0], +_[1]];
1826     return zoom;
1827   };
1828
1829   zoom.size = function(_) {
1830     if (!arguments.length) return size;
1831     size = _ && [+_[0], +_[1]];
1832     return zoom;
1833   };
1834
1835   zoom.x = function(z) {
1836     if (!arguments.length) return x1;
1837     x1 = z;
1838     x0 = z.copy();
1839     view = {x: 0, y: 0, k: 1}; // copy-on-write
1840     return zoom;
1841   };
1842
1843   zoom.y = function(z) {
1844     if (!arguments.length) return y1;
1845     y1 = z;
1846     y0 = z.copy();
1847     view = {x: 0, y: 0, k: 1}; // copy-on-write
1848     return zoom;
1849   };
1850
1851   function location(p) {
1852     return [(p[0] - view.x) / view.k, (p[1] - view.y) / view.k];
1853   }
1854
1855   function point(l) {
1856     return [l[0] * view.k + view.x, l[1] * view.k + view.y];
1857   }
1858
1859   function scaleTo(s) {
1860     view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
1861   }
1862
1863   function translateTo(p, l) {
1864     l = point(l);
1865     view.x += p[0] - l[0];
1866     view.y += p[1] - l[1];
1867   }
1868
1869   function rescale() {
1870     if (x1) x1.domain(x0.range().map(function(x) { return (x - view.x) / view.k; }).map(x0.invert));
1871     if (y1) y1.domain(y0.range().map(function(y) { return (y - view.y) / view.k; }).map(y0.invert));
1872   }
1873
1874   function zoomstarted(dispatch) {
1875     dispatch({type: "zoomstart"});
1876   }
1877
1878   function zoomed(dispatch) {
1879     rescale();
1880     dispatch({type: "zoom", scale: view.k, translate: [view.x, view.y]});
1881   }
1882
1883   function zoomended(dispatch) {
1884     dispatch({type: "zoomend"});
1885   }
1886
1887   function mousedowned() {
1888     var that = this,
1889         target = d3.event.target,
1890         dispatch = event.of(that, arguments),
1891         dragged = 0,
1892         subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended),
1893         location0 = location(d3.mouse(that)),
1894         dragRestore = d3_event_dragSuppress();
1895
1896     d3_selection_interrupt.call(that);
1897     zoomstarted(dispatch);
1898
1899     function moved() {
1900       dragged = 1;
1901       translateTo(d3.mouse(that), location0);
1902       zoomed(dispatch);
1903     }
1904
1905     function ended() {
1906       subject.on(mousemove, d3_window === that ? mousewheelreset : null).on(mouseup, null);
1907       dragRestore(dragged && d3.event.target === target);
1908       zoomended(dispatch);
1909     }
1910   }
1911
1912   // These closures persist for as long as at least one touch is active.
1913   function touchstarted() {
1914     var that = this,
1915         dispatch = event.of(that, arguments),
1916         locations0 = {}, // touchstart locations
1917         distance0 = 0, // distance² between initial touches
1918         scale0, // scale when we started touching
1919         zoomName = ".zoom-" + d3.event.changedTouches[0].identifier,
1920         touchmove = "touchmove" + zoomName,
1921         touchend = "touchend" + zoomName,
1922         target = d3.select(d3.event.target).on(touchmove, moved).on(touchend, ended),
1923         subject = d3.select(that).on(mousedown, null).on(touchstart, started), // prevent duplicate events
1924         dragRestore = d3_event_dragSuppress();
1925
1926     d3_selection_interrupt.call(that);
1927     started();
1928     zoomstarted(dispatch);
1929
1930     // Updates locations of any touches in locations0.
1931     function relocate() {
1932       var touches = d3.touches(that);
1933       scale0 = view.k;
1934       touches.forEach(function(t) {
1935         if (t.identifier in locations0) locations0[t.identifier] = location(t);
1936       });
1937       return touches;
1938     }
1939
1940     // Temporarily override touchstart while gesture is active.
1941     function started() {
1942       // Only track touches started on the target element.
1943       var changed = d3.event.changedTouches;
1944       for (var i = 0, n = changed.length; i < n; ++i) {
1945         locations0[changed[i].identifier] = null;
1946       }
1947
1948       var touches = relocate(),
1949           now = Date.now();
1950
1951       if (touches.length === 1) {
1952         if (now - touchtime < 500) { // dbltap
1953           var p = touches[0], l = locations0[p.identifier];
1954           scaleTo(view.k * 2);
1955           translateTo(p, l);
1956           d3_eventPreventDefault();
1957           zoomed(dispatch);
1958         }
1959         touchtime = now;
1960       } else if (touches.length > 1) {
1961         var p = touches[0], q = touches[1],
1962             dx = p[0] - q[0], dy = p[1] - q[1];
1963         distance0 = dx * dx + dy * dy;
1964       }
1965     }
1966
1967     function moved() {
1968       var touches = d3.touches(that),
1969           p0, l0,
1970           p1, l1;
1971       for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {
1972         p1 = touches[i];
1973         if (l1 = locations0[p1.identifier]) {
1974           if (l0) break;
1975           p0 = p1, l0 = l1;
1976         }
1977       }
1978
1979       if (l1) {
1980         var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1,
1981             scale1 = distance0 && Math.sqrt(distance1 / distance0);
1982         p0 = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
1983         l0 = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
1984         scaleTo(scale1 * scale0);
1985       }
1986
1987       touchtime = null;
1988       translateTo(p0, l0);
1989       zoomed(dispatch);
1990     }
1991
1992     function ended() {
1993       // If there are any globally-active touches remaining, remove the ended
1994       // touches from locations0.
1995       if (d3.event.touches.length) {
1996         var changed = d3.event.changedTouches;
1997         for (var i = 0, n = changed.length; i < n; ++i) {
1998           delete locations0[changed[i].identifier];
1999         }
2000         // If locations0 is not empty, then relocate and continue listening for
2001         // touchmove and touchend.
2002         for (var identifier in locations0) {
2003           return void relocate(); // locations may have detached due to rotation
2004         }
2005       }
2006       // Otherwise, remove touchmove and touchend listeners.
2007       target.on(zoomName, null);
2008       subject.on(mousedown, mousedowned).on(touchstart, touchstarted);
2009       dragRestore();
2010       zoomended(dispatch);
2011     }
2012   }
2013
2014   function mousewheeled() {
2015     var dispatch = event.of(this, arguments);
2016     if (mousewheelTimer) clearTimeout(mousewheelTimer);
2017     else d3_selection_interrupt.call(this), zoomstarted(dispatch);
2018     mousewheelTimer = setTimeout(function() { mousewheelTimer = null; zoomended(dispatch); }, 50);
2019     d3_eventPreventDefault();
2020     var point = center || d3.mouse(this);
2021     if (!translate0) translate0 = location(point);
2022     scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);
2023     translateTo(point, translate0);
2024     zoomed(dispatch);
2025   }
2026
2027   function mousewheelreset() {
2028     translate0 = null;
2029   }
2030
2031   function dblclicked() {
2032     var dispatch = event.of(this, arguments),
2033         p = d3.mouse(this),
2034         l = location(p),
2035         k = Math.log(view.k) / Math.LN2;
2036     zoomstarted(dispatch);
2037     scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1));
2038     translateTo(p, l);
2039     zoomed(dispatch);
2040     zoomended(dispatch);
2041   }
2042
2043   return d3.rebind(zoom, event, "on");
2044 };
2045
2046 var d3_behavior_zoomInfinity = [0, Infinity]; // default scale extent
2047
2048 // https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/wheel
2049 var d3_behavior_zoomDelta, d3_behavior_zoomWheel
2050     = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); }, "wheel")
2051     : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { return d3.event.wheelDelta; }, "mousewheel")
2052     : (d3_behavior_zoomDelta = function() { return -d3.event.detail; }, "MozMousePixelScroll");
2053 function d3_functor(v) {
2054   return typeof v === "function" ? v : function() { return v; };
2055 }
2056
2057 d3.functor = d3_functor;
2058
2059 d3.touch = function(container, touches, identifier) {
2060   if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;
2061   if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {
2062     if ((touch = touches[i]).identifier === identifier) {
2063       return d3_mousePoint(container, touch);
2064     }
2065   }
2066 };
2067
2068 var d3_timer_queueHead,
2069     d3_timer_queueTail,
2070     d3_timer_interval, // is an interval (or frame) active?
2071     d3_timer_timeout, // is a timeout active?
2072     d3_timer_active, // active timer object
2073     d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { setTimeout(callback, 17); };
2074
2075 // The timer will continue to fire until callback returns true.
2076 d3.timer = function(callback, delay, then) {
2077   var n = arguments.length;
2078   if (n < 2) delay = 0;
2079   if (n < 3) then = Date.now();
2080
2081   // Add the callback to the tail of the queue.
2082   var time = then + delay, timer = {c: callback, t: time, f: false, n: null};
2083   if (d3_timer_queueTail) d3_timer_queueTail.n = timer;
2084   else d3_timer_queueHead = timer;
2085   d3_timer_queueTail = timer;
2086
2087   // Start animatin'!
2088   if (!d3_timer_interval) {
2089     d3_timer_timeout = clearTimeout(d3_timer_timeout);
2090     d3_timer_interval = 1;
2091     d3_timer_frame(d3_timer_step);
2092   }
2093 };
2094
2095 function d3_timer_step() {
2096   var now = d3_timer_mark(),
2097       delay = d3_timer_sweep() - now;
2098   if (delay > 24) {
2099     if (isFinite(delay)) {
2100       clearTimeout(d3_timer_timeout);
2101       d3_timer_timeout = setTimeout(d3_timer_step, delay);
2102     }
2103     d3_timer_interval = 0;
2104   } else {
2105     d3_timer_interval = 1;
2106     d3_timer_frame(d3_timer_step);
2107   }
2108 }
2109
2110 d3.timer.flush = function() {
2111   d3_timer_mark();
2112   d3_timer_sweep();
2113 };
2114
2115 function d3_timer_mark() {
2116   var now = Date.now();
2117   d3_timer_active = d3_timer_queueHead;
2118   while (d3_timer_active) {
2119     if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t);
2120     d3_timer_active = d3_timer_active.n;
2121   }
2122   return now;
2123 }
2124
2125 // Flush after callbacks to avoid concurrent queue modification.
2126 // Returns the time of the earliest active timer, post-sweep.
2127 function d3_timer_sweep() {
2128   var t0,
2129       t1 = d3_timer_queueHead,
2130       time = Infinity;
2131   while (t1) {
2132     if (t1.f) {
2133       t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;
2134     } else {
2135       if (t1.t < time) time = t1.t;
2136       t1 = (t0 = t1).n;
2137     }
2138   }
2139   d3_timer_queueTail = t0;
2140   return time;
2141 }
2142 d3.geo = {};
2143 function d3_identity(d) {
2144   return d;
2145 }
2146 function d3_true() {
2147   return true;
2148 }
2149
2150 function d3_geo_spherical(cartesian) {
2151   return [
2152     Math.atan2(cartesian[1], cartesian[0]),
2153     d3_asin(cartesian[2])
2154   ];
2155 }
2156
2157 function d3_geo_sphericalEqual(a, b) {
2158   return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;
2159 }
2160
2161 // General spherical polygon clipping algorithm: takes a polygon, cuts it into
2162 // visible line segments and rejoins the segments by interpolating along the
2163 // clip edge.
2164 function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {
2165   var subject = [],
2166       clip = [];
2167
2168   segments.forEach(function(segment) {
2169     if ((n = segment.length - 1) <= 0) return;
2170     var n, p0 = segment[0], p1 = segment[n];
2171
2172     // If the first and last points of a segment are coincident, then treat as
2173     // a closed ring.
2174     // TODO if all rings are closed, then the winding order of the exterior
2175     // ring should be checked.
2176     if (d3_geo_sphericalEqual(p0, p1)) {
2177       listener.lineStart();
2178       for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);
2179       listener.lineEnd();
2180       return;
2181     }
2182
2183     var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true),
2184         b = new d3_geo_clipPolygonIntersection(p0, null, a, false);
2185     a.o = b;
2186     subject.push(a);
2187     clip.push(b);
2188     a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);
2189     b = new d3_geo_clipPolygonIntersection(p1, null, a, true);
2190     a.o = b;
2191     subject.push(a);
2192     clip.push(b);
2193   });
2194   clip.sort(compare);
2195   d3_geo_clipPolygonLinkCircular(subject);
2196   d3_geo_clipPolygonLinkCircular(clip);
2197   if (!subject.length) return;
2198
2199   for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {
2200     clip[i].e = entry = !entry;
2201   }
2202
2203   var start = subject[0],
2204       points,
2205       point;
2206   while (1) {
2207     // Find first unvisited intersection.
2208     var current = start,
2209         isSubject = true;
2210     while (current.v) if ((current = current.n) === start) return;
2211     points = current.z;
2212     listener.lineStart();
2213     do {
2214       current.v = current.o.v = true;
2215       if (current.e) {
2216         if (isSubject) {
2217           for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);
2218         } else {
2219           interpolate(current.x, current.n.x, 1, listener);
2220         }
2221         current = current.n;
2222       } else {
2223         if (isSubject) {
2224           points = current.p.z;
2225           for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);
2226         } else {
2227           interpolate(current.x, current.p.x, -1, listener);
2228         }
2229         current = current.p;
2230       }
2231       current = current.o;
2232       points = current.z;
2233       isSubject = !isSubject;
2234     } while (!current.v);
2235     listener.lineEnd();
2236   }
2237 }
2238
2239 function d3_geo_clipPolygonLinkCircular(array) {
2240   if (!(n = array.length)) return;
2241   var n,
2242       i = 0,
2243       a = array[0],
2244       b;
2245   while (++i < n) {
2246     a.n = b = array[i];
2247     b.p = a;
2248     a = b;
2249   }
2250   a.n = b = array[0];
2251   b.p = a;
2252 }
2253
2254 function d3_geo_clipPolygonIntersection(point, points, other, entry) {
2255   this.x = point;
2256   this.z = points;
2257   this.o = other; // another intersection
2258   this.e = entry; // is an entry?
2259   this.v = false; // visited
2260   this.n = this.p = null; // next & previous
2261 }
2262
2263 function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {
2264   return function(rotate, listener) {
2265     var line = clipLine(listener),
2266         rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);
2267
2268     var clip = {
2269       point: point,
2270       lineStart: lineStart,
2271       lineEnd: lineEnd,
2272       polygonStart: function() {
2273         clip.point = pointRing;
2274         clip.lineStart = ringStart;
2275         clip.lineEnd = ringEnd;
2276         segments = [];
2277         polygon = [];
2278       },
2279       polygonEnd: function() {
2280         clip.point = point;
2281         clip.lineStart = lineStart;
2282         clip.lineEnd = lineEnd;
2283
2284         segments = d3.merge(segments);
2285         var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);
2286         if (segments.length) {
2287           if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
2288           d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);
2289         } else if (clipStartInside) {
2290           if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
2291           listener.lineStart();
2292           interpolate(null, null, 1, listener);
2293           listener.lineEnd();
2294         }
2295         if (polygonStarted) listener.polygonEnd(), polygonStarted = false;
2296         segments = polygon = null;
2297       },
2298       sphere: function() {
2299         listener.polygonStart();
2300         listener.lineStart();
2301         interpolate(null, null, 1, listener);
2302         listener.lineEnd();
2303         listener.polygonEnd();
2304       }
2305     };
2306
2307     function point(λ, φ) {
2308       var point = rotate(λ, φ);
2309       if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);
2310     }
2311     function pointLine(λ, φ) {
2312       var point = rotate(λ, φ);
2313       line.point(point[0], point[1]);
2314     }
2315     function lineStart() { clip.point = pointLine; line.lineStart(); }
2316     function lineEnd() { clip.point = point; line.lineEnd(); }
2317
2318     var segments;
2319
2320     var buffer = d3_geo_clipBufferListener(),
2321         ringListener = clipLine(buffer),
2322         polygonStarted = false,
2323         polygon,
2324         ring;
2325
2326     function pointRing(λ, φ) {
2327       ring.push([λ, φ]);
2328       var point = rotate(λ, φ);
2329       ringListener.point(point[0], point[1]);
2330     }
2331
2332     function ringStart() {
2333       ringListener.lineStart();
2334       ring = [];
2335     }
2336
2337     function ringEnd() {
2338       pointRing(ring[0][0], ring[0][1]);
2339       ringListener.lineEnd();
2340
2341       var clean = ringListener.clean(),
2342           ringSegments = buffer.buffer(),
2343           segment,
2344           n = ringSegments.length;
2345
2346       ring.pop();
2347       polygon.push(ring);
2348       ring = null;
2349
2350       if (!n) return;
2351
2352       // No intersections.
2353       if (clean & 1) {
2354         segment = ringSegments[0];
2355         var n = segment.length - 1,
2356             i = -1,
2357             point;
2358         if (n > 0) {
2359           if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
2360           listener.lineStart();
2361           while (++i < n) listener.point((point = segment[i])[0], point[1]);
2362           listener.lineEnd();
2363         }
2364         return;
2365       }
2366
2367       // Rejoin connected segments.
2368       // TODO reuse bufferListener.rejoin()?
2369       if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
2370
2371       segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));
2372     }
2373
2374     return clip;
2375   };
2376 }
2377
2378 function d3_geo_clipSegmentLength1(segment) {
2379   return segment.length > 1;
2380 }
2381
2382 function d3_geo_clipBufferListener() {
2383   var lines = [],
2384       line;
2385   return {
2386     lineStart: function() { lines.push(line = []); },
2387     point: function(λ, φ) { line.push([λ, φ]); },
2388     lineEnd: d3_noop,
2389     buffer: function() {
2390       var buffer = lines;
2391       lines = [];
2392       line = null;
2393       return buffer;
2394     },
2395     rejoin: function() {
2396       if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
2397     }
2398   };
2399 }
2400
2401 // Intersection points are sorted along the clip edge. For both antimeridian
2402 // cutting and circle clipping, the same comparison is used.
2403 function d3_geo_clipSort(a, b) {
2404   return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1])
2405        - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);
2406 }
2407 // Adds floating point numbers with twice the normal precision.
2408 // Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and
2409 // Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)
2410 // 305–363 (1997).
2411 // Code adapted from GeographicLib by Charles F. F. Karney,
2412 // http://geographiclib.sourceforge.net/
2413 // See lib/geographiclib/LICENSE for details.
2414
2415 function d3_adder() {}
2416
2417 d3_adder.prototype = {
2418   s: 0, // rounded value
2419   t: 0, // exact error
2420   add: function(y) {
2421     d3_adderSum(y, this.t, d3_adderTemp);
2422     d3_adderSum(d3_adderTemp.s, this.s, this);
2423     if (this.s) this.t += d3_adderTemp.t;
2424     else this.s = d3_adderTemp.t;
2425   },
2426   reset: function() {
2427     this.s = this.t = 0;
2428   },
2429   valueOf: function() {
2430     return this.s;
2431   }
2432 };
2433
2434 var d3_adderTemp = new d3_adder;
2435
2436 function d3_adderSum(a, b, o) {
2437   var x = o.s = a + b, // a + b
2438       bv = x - a, av = x - bv; // b_virtual & a_virtual
2439   o.t = (a - av) + (b - bv); // a_roundoff + b_roundoff
2440 }
2441
2442 d3.geo.stream = function(object, listener) {
2443   if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {
2444     d3_geo_streamObjectType[object.type](object, listener);
2445   } else {
2446     d3_geo_streamGeometry(object, listener);
2447   }
2448 };
2449
2450 function d3_geo_streamGeometry(geometry, listener) {
2451   if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
2452     d3_geo_streamGeometryType[geometry.type](geometry, listener);
2453   }
2454 }
2455
2456 var d3_geo_streamObjectType = {
2457   Feature: function(feature, listener) {
2458     d3_geo_streamGeometry(feature.geometry, listener);
2459   },
2460   FeatureCollection: function(object, listener) {
2461     var features = object.features, i = -1, n = features.length;
2462     while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);
2463   }
2464 };
2465
2466 var d3_geo_streamGeometryType = {
2467   Sphere: function(object, listener) {
2468     listener.sphere();
2469   },
2470   Point: function(object, listener) {
2471     object = object.coordinates;
2472     listener.point(object[0], object[1], object[2]);
2473   },
2474   MultiPoint: function(object, listener) {
2475     var coordinates = object.coordinates, i = -1, n = coordinates.length;
2476     while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);
2477   },
2478   LineString: function(object, listener) {
2479     d3_geo_streamLine(object.coordinates, listener, 0);
2480   },
2481   MultiLineString: function(object, listener) {
2482     var coordinates = object.coordinates, i = -1, n = coordinates.length;
2483     while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);
2484   },
2485   Polygon: function(object, listener) {
2486     d3_geo_streamPolygon(object.coordinates, listener);
2487   },
2488   MultiPolygon: function(object, listener) {
2489     var coordinates = object.coordinates, i = -1, n = coordinates.length;
2490     while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);
2491   },
2492   GeometryCollection: function(object, listener) {
2493     var geometries = object.geometries, i = -1, n = geometries.length;
2494     while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
2495   }
2496 };
2497
2498 function d3_geo_streamLine(coordinates, listener, closed) {
2499   var i = -1, n = coordinates.length - closed, coordinate;
2500   listener.lineStart();
2501   while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);
2502   listener.lineEnd();
2503 }
2504
2505 function d3_geo_streamPolygon(coordinates, listener) {
2506   var i = -1, n = coordinates.length;
2507   listener.polygonStart();
2508   while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);
2509   listener.polygonEnd();
2510 }
2511
2512 d3.geo.area = function(object) {
2513   d3_geo_areaSum = 0;
2514   d3.geo.stream(object, d3_geo_area);
2515   return d3_geo_areaSum;
2516 };
2517
2518 var d3_geo_areaSum,
2519     d3_geo_areaRingSum = new d3_adder;
2520
2521 var d3_geo_area = {
2522   sphere: function() { d3_geo_areaSum += 4 * π; },
2523   point: d3_noop,
2524   lineStart: d3_noop,
2525   lineEnd: d3_noop,
2526
2527   // Only count area for polygon rings.
2528   polygonStart: function() {
2529     d3_geo_areaRingSum.reset();
2530     d3_geo_area.lineStart = d3_geo_areaRingStart;
2531   },
2532   polygonEnd: function() {
2533     var area = 2 * d3_geo_areaRingSum;
2534     d3_geo_areaSum += area < 0 ? 4 * π + area : area;
2535     d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;
2536   }
2537 };
2538
2539 function d3_geo_areaRingStart() {
2540   var λ00, φ00, λ0, cosφ0, sinφ0; // start point and previous point
2541
2542   // For the first point, …
2543   d3_geo_area.point = function(λ, φ) {
2544     d3_geo_area.point = nextPoint;
2545     λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), sinφ0 = Math.sin(φ);
2546   };
2547
2548   // For subsequent points, …
2549   function nextPoint(λ, φ) {
2550     λ *= d3_radians;
2551     φ = φ * d3_radians / 2 + π / 4; // half the angular distance from south pole
2552
2553     // Spherical excess E for a spherical triangle with vertices: south pole,
2554     // previous point, current point.  Uses a formula derived from Cagnoli’s
2555     // theorem.  See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).
2556     var dλ = λ - λ0,
2557         sdλ = dλ >= 0 ? 1 : -1,
2558         adλ = sdλ * dλ,
2559         cosφ = Math.cos(φ),
2560         sinφ = Math.sin(φ),
2561         k = sinφ0 * sinφ,
2562         u = cosφ0 * cosφ + k * Math.cos(adλ),
2563         v = k * sdλ * Math.sin(adλ);
2564     d3_geo_areaRingSum.add(Math.atan2(v, u));
2565
2566     // Advance the previous points.
2567     λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
2568   }
2569
2570   // For the last point, return to the start.
2571   d3_geo_area.lineEnd = function() {
2572     nextPoint(λ00, φ00);
2573   };
2574 }
2575 // TODO
2576 // cross and scale return new vectors,
2577 // whereas add and normalize operate in-place
2578
2579 function d3_geo_cartesian(spherical) {
2580   var λ = spherical[0],
2581       φ = spherical[1],
2582       cosφ = Math.cos(φ);
2583   return [
2584     cosφ * Math.cos(λ),
2585     cosφ * Math.sin(λ),
2586     Math.sin(φ)
2587   ];
2588 }
2589
2590 function d3_geo_cartesianDot(a, b) {
2591   return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
2592 }
2593
2594 function d3_geo_cartesianCross(a, b) {
2595   return [
2596     a[1] * b[2] - a[2] * b[1],
2597     a[2] * b[0] - a[0] * b[2],
2598     a[0] * b[1] - a[1] * b[0]
2599   ];
2600 }
2601
2602 function d3_geo_cartesianAdd(a, b) {
2603   a[0] += b[0];
2604   a[1] += b[1];
2605   a[2] += b[2];
2606 }
2607
2608 function d3_geo_cartesianScale(vector, k) {
2609   return [
2610     vector[0] * k,
2611     vector[1] * k,
2612     vector[2] * k
2613   ];
2614 }
2615
2616 function d3_geo_cartesianNormalize(d) {
2617   var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
2618   d[0] /= l;
2619   d[1] /= l;
2620   d[2] /= l;
2621 }
2622
2623 function d3_geo_pointInPolygon(point, polygon) {
2624   var meridian = point[0],
2625       parallel = point[1],
2626       meridianNormal = [Math.sin(meridian), -Math.cos(meridian), 0],
2627       polarAngle = 0,
2628       winding = 0;
2629   d3_geo_areaRingSum.reset();
2630
2631   for (var i = 0, n = polygon.length; i < n; ++i) {
2632     var ring = polygon[i],
2633         m = ring.length;
2634     if (!m) continue;
2635     var point0 = ring[0],
2636         λ0 = point0[0],
2637         φ0 = point0[1] / 2 + π / 4,
2638         sinφ0 = Math.sin(φ0),
2639         cosφ0 = Math.cos(φ0),
2640         j = 1;
2641
2642     while (true) {
2643       if (j === m) j = 0;
2644       point = ring[j];
2645       var λ = point[0],
2646           φ = point[1] / 2 + π / 4,
2647           sinφ = Math.sin(φ),
2648           cosφ = Math.cos(φ),
2649           dλ = λ - λ0,
2650           sdλ = dλ >= 0 ? 1 : -1,
2651           adλ = sdλ * dλ,
2652           antimeridian = adλ > π,
2653           k = sinφ0 * sinφ;
2654       d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));
2655
2656       polarAngle += antimeridian ? dλ + sdλ * τ : dλ;
2657
2658       // Are the longitudes either side of the point's meridian, and are the
2659       // latitudes smaller than the parallel?
2660       if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {
2661         var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));
2662         d3_geo_cartesianNormalize(arc);
2663         var intersection = d3_geo_cartesianCross(meridianNormal, arc);
2664         d3_geo_cartesianNormalize(intersection);
2665         var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);
2666         if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {
2667           winding += antimeridian ^ dλ >= 0 ? 1 : -1;
2668         }
2669       }
2670       if (!j++) break;
2671       λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;
2672     }
2673   }
2674
2675   // First, determine whether the South pole is inside or outside:
2676   //
2677   // It is inside if:
2678   // * the polygon winds around it in a clockwise direction.
2679   // * the polygon does not (cumulatively) wind around it, but has a negative
2680   //   (counter-clockwise) area.
2681   //
2682   // Second, count the (signed) number of times a segment crosses a meridian
2683   // from the point to the South pole.  If it is zero, then the point is the
2684   // same side as the South pole.
2685
2686   return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ (winding & 1);
2687 }
2688
2689 var d3_geo_clipAntimeridian = d3_geo_clip(
2690     d3_true,
2691     d3_geo_clipAntimeridianLine,
2692     d3_geo_clipAntimeridianInterpolate,
2693     [-π, -π / 2]);
2694
2695 // Takes a line and cuts into visible segments. Return values:
2696 //   0: there were intersections or the line was empty.
2697 //   1: no intersections.
2698 //   2: there were intersections, and the first and last segments should be
2699 //      rejoined.
2700 function d3_geo_clipAntimeridianLine(listener) {
2701   var λ0 = NaN,
2702       φ0 = NaN,
2703       sλ0 = NaN,
2704       clean; // no intersections
2705
2706   return {
2707     lineStart: function() {
2708       listener.lineStart();
2709       clean = 1;
2710     },
2711     point: function(λ1, φ1) {
2712       var sλ1 = λ1 > 0 ? π : -π,
2713           dλ = abs(λ1 - λ0);
2714       if (abs(dλ - π) < ε) { // line crosses a pole
2715         listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);
2716         listener.point(sλ0, φ0);
2717         listener.lineEnd();
2718         listener.lineStart();
2719         listener.point(sλ1, φ0);
2720         listener.point(λ1, φ0);
2721         clean = 0;
2722       } else if (sλ0 !== sλ1 && dλ >= π) { // line crosses antimeridian
2723         // handle degeneracies
2724         if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;
2725         if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;
2726         φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);
2727         listener.point(sλ0, φ0);
2728         listener.lineEnd();
2729         listener.lineStart();
2730         listener.point(sλ1, φ0);
2731         clean = 0;
2732       }
2733       listener.point(λ0 = λ1, φ0 = φ1);
2734       sλ0 = sλ1;
2735     },
2736     lineEnd: function() {
2737       listener.lineEnd();
2738       λ0 = φ0 = NaN;
2739     },
2740     // if there are intersections, we always rejoin the first and last segments.
2741     clean: function() { return 2 - clean; }
2742   };
2743 }
2744
2745 function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
2746   var cosφ0,
2747       cosφ1,
2748       sinλ0_λ1 = Math.sin(λ0 - λ1);
2749   return abs(sinλ0_λ1) > ε
2750       ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1)
2751                  - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0))
2752                  / (cosφ0 * cosφ1 * sinλ0_λ1))
2753       : (φ0 + φ1) / 2;
2754 }
2755
2756 function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {
2757   var φ;
2758   if (from == null) {
2759     φ = direction * halfπ;
2760     listener.point(-π,  φ);
2761     listener.point( 0,  φ);
2762     listener.point( π,  φ);
2763     listener.point( π,  0);
2764     listener.point( π, -φ);
2765     listener.point( 0, -φ);
2766     listener.point(-π, -φ);
2767     listener.point(-π,  0);
2768     listener.point(-π,  φ);
2769   } else if (abs(from[0] - to[0]) > ε) {
2770     var s = from[0] < to[0] ? π : -π;
2771     φ = direction * s / 2;
2772     listener.point(-s, φ);
2773     listener.point( 0, φ);
2774     listener.point( s, φ);
2775   } else {
2776     listener.point(to[0], to[1]);
2777   }
2778 }
2779
2780 function d3_geo_equirectangular(λ, φ) {
2781   return [λ, φ];
2782 }
2783
2784 (d3.geo.equirectangular = function() {
2785   return d3_geo_projection(d3_geo_equirectangular);
2786 }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;
2787
2788 d3.geo.rotation = function(rotate) {
2789   rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);
2790
2791   function forward(coordinates) {
2792     coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
2793     return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
2794   }
2795
2796   forward.invert = function(coordinates) {
2797     coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
2798     return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
2799   };
2800
2801   return forward;
2802 };
2803
2804 function d3_geo_identityRotation(λ, φ) {
2805   return [λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ];
2806 }
2807
2808 d3_geo_identityRotation.invert = d3_geo_equirectangular;
2809
2810 // Note: |δλ| must be < 2π
2811 function d3_geo_rotation(δλ, δφ, δγ) {
2812   return δλ ? (δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ))
2813     : d3_geo_rotationλ(δλ))
2814     : (δφ || δγ ? d3_geo_rotationφγ(δφ, δγ)
2815     : d3_geo_identityRotation);
2816 }
2817
2818 function d3_geo_forwardRotationλ(δλ) {
2819   return function(λ, φ) {
2820     return λ += δλ, [λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ];
2821   };
2822 }
2823
2824 function d3_geo_rotationλ(δλ) {
2825   var rotation = d3_geo_forwardRotationλ(δλ);
2826   rotation.invert = d3_geo_forwardRotationλ(-δλ);
2827   return rotation;
2828 }
2829
2830 function d3_geo_rotationφγ(δφ, δγ) {
2831   var cosδφ = Math.cos(δφ),
2832       sinδφ = Math.sin(δφ),
2833       cosδγ = Math.cos(δγ),
2834       sinδγ = Math.sin(δγ);
2835
2836   function rotation(λ, φ) {
2837     var cosφ = Math.cos(φ),
2838         x = Math.cos(λ) * cosφ,
2839         y = Math.sin(λ) * cosφ,
2840         z = Math.sin(φ),
2841         k = z * cosδφ + x * sinδφ;
2842     return [
2843       Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ),
2844       d3_asin(k * cosδγ + y * sinδγ)
2845     ];
2846   }
2847
2848   rotation.invert = function(λ, φ) {
2849     var cosφ = Math.cos(φ),
2850         x = Math.cos(λ) * cosφ,
2851         y = Math.sin(λ) * cosφ,
2852         z = Math.sin(φ),
2853         k = z * cosδγ - y * sinδγ;
2854     return [
2855       Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ),
2856       d3_asin(k * cosδφ - x * sinδφ)
2857     ];
2858   };
2859
2860   return rotation;
2861 }
2862
2863 d3.geo.circle = function() {
2864   var origin = [0, 0],
2865       angle,
2866       precision = 6,
2867       interpolate;
2868
2869   function circle() {
2870     var center = typeof origin === "function" ? origin.apply(this, arguments) : origin,
2871         rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert,
2872         ring = [];
2873
2874     interpolate(null, null, 1, {
2875       point: function(x, y) {
2876         ring.push(x = rotate(x, y));
2877         x[0] *= d3_degrees, x[1] *= d3_degrees;
2878       }
2879     });
2880
2881     return {type: "Polygon", coordinates: [ring]};
2882   }
2883
2884   circle.origin = function(x) {
2885     if (!arguments.length) return origin;
2886     origin = x;
2887     return circle;
2888   };
2889
2890   circle.angle = function(x) {
2891     if (!arguments.length) return angle;
2892     interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);
2893     return circle;
2894   };
2895
2896   circle.precision = function(_) {
2897     if (!arguments.length) return precision;
2898     interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);
2899     return circle;
2900   };
2901
2902   return circle.angle(90);
2903 };
2904
2905 // Interpolates along a circle centered at [0°, 0°], with a given radius and
2906 // precision.
2907 function d3_geo_circleInterpolate(radius, precision) {
2908   var cr = Math.cos(radius),
2909       sr = Math.sin(radius);
2910   return function(from, to, direction, listener) {
2911     var step = direction * precision;
2912     if (from != null) {
2913       from = d3_geo_circleAngle(cr, from);
2914       to = d3_geo_circleAngle(cr, to);
2915       if (direction > 0 ? from < to: from > to) from += direction * τ;
2916     } else {
2917       from = radius + direction * τ;
2918       to = radius - .5 * step;
2919     }
2920     for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {
2921       listener.point((point = d3_geo_spherical([
2922         cr,
2923         -sr * Math.cos(t),
2924         -sr * Math.sin(t)
2925       ]))[0], point[1]);
2926     }
2927   };
2928 }
2929
2930 // Signed angle of a cartesian point relative to [cr, 0, 0].
2931 function d3_geo_circleAngle(cr, point) {
2932   var a = d3_geo_cartesian(point);
2933   a[0] -= cr;
2934   d3_geo_cartesianNormalize(a);
2935   var angle = d3_acos(-a[1]);
2936   return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);
2937 }
2938
2939 // Clip features against a small circle centered at [0°, 0°].
2940 function d3_geo_clipCircle(radius) {
2941   var cr = Math.cos(radius),
2942       smallRadius = cr > 0,
2943       notHemisphere = abs(cr) > ε, // TODO optimise for this common case
2944       interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);
2945
2946   return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-π, radius - π]);
2947
2948   function visible(λ, φ) {
2949     return Math.cos(λ) * Math.cos(φ) > cr;
2950   }
2951
2952   // Takes a line and cuts into visible segments. Return values used for
2953   // polygon clipping:
2954   //   0: there were intersections or the line was empty.
2955   //   1: no intersections.
2956   //   2: there were intersections, and the first and last segments should be
2957   //      rejoined.
2958   function clipLine(listener) {
2959     var point0, // previous point
2960         c0, // code for previous point
2961         v0, // visibility of previous point
2962         v00, // visibility of first point
2963         clean; // no intersections
2964     return {
2965       lineStart: function() {
2966         v00 = v0 = false;
2967         clean = 1;
2968       },
2969       point: function(λ, φ) {
2970         var point1 = [λ, φ],
2971             point2,
2972             v = visible(λ, φ),
2973             c = smallRadius
2974               ? v ? 0 : code(λ, φ)
2975               : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;
2976         if (!point0 && (v00 = v0 = v)) listener.lineStart();
2977         // Handle degeneracies.
2978         // TODO ignore if not clipping polygons.
2979         if (v !== v0) {
2980           point2 = intersect(point0, point1);
2981           if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {
2982             point1[0] += ε;
2983             point1[1] += ε;
2984             v = visible(point1[0], point1[1]);
2985           }
2986         }
2987         if (v !== v0) {
2988           clean = 0;
2989           if (v) {
2990             // outside going in
2991             listener.lineStart();
2992             point2 = intersect(point1, point0);
2993             listener.point(point2[0], point2[1]);
2994           } else {
2995             // inside going out
2996             point2 = intersect(point0, point1);
2997             listener.point(point2[0], point2[1]);
2998             listener.lineEnd();
2999           }
3000           point0 = point2;
3001         } else if (notHemisphere && point0 && smallRadius ^ v) {
3002           var t;
3003           // If the codes for two points are different, or are both zero,
3004           // and there this segment intersects with the small circle.
3005           if (!(c & c0) && (t = intersect(point1, point0, true))) {
3006             clean = 0;
3007             if (smallRadius) {
3008               listener.lineStart();
3009               listener.point(t[0][0], t[0][1]);
3010               listener.point(t[1][0], t[1][1]);
3011               listener.lineEnd();
3012             } else {
3013               listener.point(t[1][0], t[1][1]);
3014               listener.lineEnd();
3015               listener.lineStart();
3016               listener.point(t[0][0], t[0][1]);
3017             }
3018           }
3019         }
3020         if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {
3021           listener.point(point1[0], point1[1]);
3022         }
3023         point0 = point1, v0 = v, c0 = c;
3024       },
3025       lineEnd: function() {
3026         if (v0) listener.lineEnd();
3027         point0 = null;
3028       },
3029       // Rejoin first and last segments if there were intersections and the first
3030       // and last points were visible.
3031       clean: function() { return clean | ((v00 && v0) << 1); }
3032     };
3033   }
3034
3035   // Intersects the great circle between a and b with the clip circle.
3036   function intersect(a, b, two) {
3037     var pa = d3_geo_cartesian(a),
3038         pb = d3_geo_cartesian(b);
3039
3040     // We have two planes, n1.p = d1 and n2.p = d2.
3041     // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).
3042     var n1 = [1, 0, 0], // normal
3043         n2 = d3_geo_cartesianCross(pa, pb),
3044         n2n2 = d3_geo_cartesianDot(n2, n2),
3045         n1n2 = n2[0], // d3_geo_cartesianDot(n1, n2),
3046         determinant = n2n2 - n1n2 * n1n2;
3047
3048     // Two polar points.
3049     if (!determinant) return !two && a;
3050
3051     var c1 =  cr * n2n2 / determinant,
3052         c2 = -cr * n1n2 / determinant,
3053         n1xn2 = d3_geo_cartesianCross(n1, n2),
3054         A = d3_geo_cartesianScale(n1, c1),
3055         B = d3_geo_cartesianScale(n2, c2);
3056     d3_geo_cartesianAdd(A, B);
3057
3058     // Solve |p(t)|^2 = 1.
3059     var u = n1xn2,
3060         w = d3_geo_cartesianDot(A, u),
3061         uu = d3_geo_cartesianDot(u, u),
3062         t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);
3063
3064     if (t2 < 0) return;
3065
3066     var t = Math.sqrt(t2),
3067         q = d3_geo_cartesianScale(u, (-w - t) / uu);
3068     d3_geo_cartesianAdd(q, A);
3069     q = d3_geo_spherical(q);
3070     if (!two) return q;
3071
3072     // Two intersection points.
3073     var λ0 = a[0],
3074         λ1 = b[0],
3075         φ0 = a[1],
3076         φ1 = b[1],
3077         z;
3078     if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;
3079     var δλ = λ1 - λ0,
3080         polar = abs(δλ - π) < ε,
3081         meridian = polar || δλ < ε;
3082
3083     if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;
3084
3085     // Check that the first point is between a and b.
3086     if (meridian
3087         ? polar
3088           ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1)
3089           : φ0 <= q[1] && q[1] <= φ1
3090         : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {
3091       var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);
3092       d3_geo_cartesianAdd(q1, A);
3093       return [q, d3_geo_spherical(q1)];
3094     }
3095   }
3096
3097   // Generates a 4-bit vector representing the location of a point relative to
3098   // the small circle's bounding box.
3099   function code(λ, φ) {
3100     var r = smallRadius ? radius : π - radius,
3101         code = 0;
3102     if (λ < -r) code |= 1; // left
3103     else if (λ > r) code |= 2; // right
3104     if (φ < -r) code |= 4; // below
3105     else if (φ > r) code |= 8; // above
3106     return code;
3107   }
3108 }
3109
3110 // Liang–Barsky line clipping.
3111 function d3_geom_clipLine(x0, y0, x1, y1) {
3112   return function(line) {
3113     var a = line.a,
3114         b = line.b,
3115         ax = a.x,
3116         ay = a.y,
3117         bx = b.x,
3118         by = b.y,
3119         t0 = 0,
3120         t1 = 1,
3121         dx = bx - ax,
3122         dy = by - ay,
3123         r;
3124
3125     r = x0 - ax;
3126     if (!dx && r > 0) return;
3127     r /= dx;
3128     if (dx < 0) {
3129       if (r < t0) return;
3130       if (r < t1) t1 = r;
3131     } else if (dx > 0) {
3132       if (r > t1) return;
3133       if (r > t0) t0 = r;
3134     }
3135
3136     r = x1 - ax;
3137     if (!dx && r < 0) return;
3138     r /= dx;
3139     if (dx < 0) {
3140       if (r > t1) return;
3141       if (r > t0) t0 = r;
3142     } else if (dx > 0) {
3143       if (r < t0) return;
3144       if (r < t1) t1 = r;
3145     }
3146
3147     r = y0 - ay;
3148     if (!dy && r > 0) return;
3149     r /= dy;
3150     if (dy < 0) {
3151       if (r < t0) return;
3152       if (r < t1) t1 = r;
3153     } else if (dy > 0) {
3154       if (r > t1) return;
3155       if (r > t0) t0 = r;
3156     }
3157
3158     r = y1 - ay;
3159     if (!dy && r < 0) return;
3160     r /= dy;
3161     if (dy < 0) {
3162       if (r > t1) return;
3163       if (r > t0) t0 = r;
3164     } else if (dy > 0) {
3165       if (r < t0) return;
3166       if (r < t1) t1 = r;
3167     }
3168
3169     if (t0 > 0) line.a = {x: ax + t0 * dx, y: ay + t0 * dy};
3170     if (t1 < 1) line.b = {x: ax + t1 * dx, y: ay + t1 * dy};
3171     return line;
3172   };
3173 }
3174
3175 var d3_geo_clipExtentMAX = 1e9;
3176
3177 d3.geo.clipExtent = function() {
3178   var x0, y0, x1, y1,
3179       stream,
3180       clip,
3181       clipExtent = {
3182         stream: function(output) {
3183           if (stream) stream.valid = false;
3184           stream = clip(output);
3185           stream.valid = true; // allow caching by d3.geo.path
3186           return stream;
3187         },
3188         extent: function(_) {
3189           if (!arguments.length) return [[x0, y0], [x1, y1]];
3190           clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);
3191           if (stream) stream.valid = false, stream = null;
3192           return clipExtent;
3193         }
3194       };
3195   return clipExtent.extent([[0, 0], [960, 500]]);
3196 };
3197
3198 function d3_geo_clipExtent(x0, y0, x1, y1) {
3199   return function(listener) {
3200     var listener_ = listener,
3201         bufferListener = d3_geo_clipBufferListener(),
3202         clipLine = d3_geom_clipLine(x0, y0, x1, y1),
3203         segments,
3204         polygon,
3205         ring;
3206
3207     var clip = {
3208       point: point,
3209       lineStart: lineStart,
3210       lineEnd: lineEnd,
3211       polygonStart: function() {
3212         listener = bufferListener;
3213         segments = [];
3214         polygon = [];
3215         clean = true;
3216       },
3217       polygonEnd: function() {
3218         listener = listener_;
3219         segments = d3.merge(segments);
3220         var clipStartInside = insidePolygon([x0, y1]),
3221             inside = clean && clipStartInside,
3222             visible = segments.length;
3223         if (inside || visible) {
3224           listener.polygonStart();
3225           if (inside) {
3226             listener.lineStart();
3227             interpolate(null, null, 1, listener);
3228             listener.lineEnd();
3229           }
3230           if (visible) {
3231             d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);
3232           }
3233           listener.polygonEnd();
3234         }
3235         segments = polygon = ring = null;
3236       }
3237     };
3238
3239     function insidePolygon(p) {
3240       var wn = 0, // the winding number counter
3241           n = polygon.length,
3242           y = p[1];
3243
3244       for (var i = 0; i < n; ++i) {
3245         for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {
3246           b = v[j];
3247           if (a[1] <= y) {
3248             if (b[1] >  y && d3_cross2d(a, b, p) > 0) ++wn;
3249           } else {
3250             if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;
3251           }
3252           a = b;
3253         }
3254       }
3255       return wn !== 0;
3256     }
3257
3258     function interpolate(from, to, direction, listener) {
3259       var a = 0, a1 = 0;
3260       if (from == null ||
3261           (a = corner(from, direction)) !== (a1 = corner(to, direction)) ||
3262           comparePoints(from, to) < 0 ^ direction > 0) {
3263         do {
3264           listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
3265         } while ((a = (a + direction + 4) % 4) !== a1);
3266       } else {
3267         listener.point(to[0], to[1]);
3268       }
3269     }
3270
3271     function pointVisible(x, y) {
3272       return x0 <= x && x <= x1 && y0 <= y && y <= y1;
3273     }
3274
3275     function point(x, y) {
3276       if (pointVisible(x, y)) listener.point(x, y);
3277     }
3278
3279     var x__, y__, v__, // first point
3280         x_, y_, v_, // previous point
3281         first,
3282         clean;
3283
3284     function lineStart() {
3285       clip.point = linePoint;
3286       if (polygon) polygon.push(ring = []);
3287       first = true;
3288       v_ = false;
3289       x_ = y_ = NaN;
3290     }
3291
3292     function lineEnd() {
3293       // TODO rather than special-case polygons, simply handle them separately.
3294       // Ideally, coincident intersection points should be jittered to avoid
3295       // clipping issues.
3296       if (segments) {
3297         linePoint(x__, y__);
3298         if (v__ && v_) bufferListener.rejoin();
3299         segments.push(bufferListener.buffer());
3300       }
3301       clip.point = point;
3302       if (v_) listener.lineEnd();
3303     }
3304
3305     function linePoint(x, y) {
3306       x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));
3307       y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));
3308       var v = pointVisible(x, y);
3309       if (polygon) ring.push([x, y]);
3310       if (first) {
3311         x__ = x, y__ = y, v__ = v;
3312         first = false;
3313         if (v) {
3314           listener.lineStart();
3315           listener.point(x, y);
3316         }
3317       } else {
3318         if (v && v_) listener.point(x, y);
3319         else {
3320           var l = {a: {x: x_, y: y_}, b: {x: x, y: y}};
3321           if (clipLine(l)) {
3322             if (!v_) {
3323               listener.lineStart();
3324               listener.point(l.a.x, l.a.y);
3325             }
3326             listener.point(l.b.x, l.b.y);
3327             if (!v) listener.lineEnd();
3328             clean = false;
3329           } else if (v) {
3330             listener.lineStart();
3331             listener.point(x, y);
3332             clean = false;
3333           }
3334         }
3335       }
3336       x_ = x, y_ = y, v_ = v;
3337     }
3338
3339     return clip;
3340   };
3341
3342   function corner(p, direction) {
3343     return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3
3344         : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1
3345         : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0
3346         : direction > 0 ? 3 : 2; // abs(p[1] - y1) < ε
3347   }
3348
3349   function compare(a, b) {
3350     return comparePoints(a.x, b.x);
3351   }
3352
3353   function comparePoints(a, b) {
3354     var ca = corner(a, 1),
3355         cb = corner(b, 1);
3356     return ca !== cb ? ca - cb
3357         : ca === 0 ? b[1] - a[1]
3358         : ca === 1 ? a[0] - b[0]
3359         : ca === 2 ? a[1] - b[1]
3360         : b[0] - a[0];
3361   }
3362 }
3363 function d3_geo_compose(a, b) {
3364
3365   function compose(x, y) {
3366     return x = a(x, y), b(x[0], x[1]);
3367   }
3368
3369   if (a.invert && b.invert) compose.invert = function(x, y) {
3370     return x = b.invert(x, y), x && a.invert(x[0], x[1]);
3371   };
3372
3373   return compose;
3374 }
3375
3376 function d3_geo_conic(projectAt) {
3377   var φ0 = 0,
3378       φ1 = π / 3,
3379       m = d3_geo_projectionMutator(projectAt),
3380       p = m(φ0, φ1);
3381
3382   p.parallels = function(_) {
3383     if (!arguments.length) return [φ0 / π * 180, φ1 / π * 180];
3384     return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);
3385   };
3386
3387   return p;
3388 }
3389
3390 function d3_geo_conicEqualArea(φ0, φ1) {
3391   var sinφ0 = Math.sin(φ0),
3392       n = (sinφ0 + Math.sin(φ1)) / 2,
3393       C = 1 + sinφ0 * (2 * n - sinφ0),
3394       ρ0 = Math.sqrt(C) / n;
3395
3396   function forward(λ, φ) {
3397     var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;
3398     return [
3399       ρ * Math.sin(λ *= n),
3400       ρ0 - ρ * Math.cos(λ)
3401     ];
3402   }
3403
3404   forward.invert = function(x, y) {
3405     var ρ0_y = ρ0 - y;
3406     return [
3407       Math.atan2(x, ρ0_y) / n,
3408       d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n))
3409     ];
3410   };
3411
3412   return forward;
3413 }
3414
3415 (d3.geo.conicEqualArea = function() {
3416   return d3_geo_conic(d3_geo_conicEqualArea);
3417 }).raw = d3_geo_conicEqualArea;
3418
3419 // ESRI:102003
3420 d3.geo.albers = function() {
3421   return d3.geo.conicEqualArea()
3422       .rotate([96, 0])
3423       .center([-.6, 38.7])
3424       .parallels([29.5, 45.5])
3425       .scale(1070);
3426 };
3427
3428 // A composite projection for the United States, configured by default for
3429 // 960×500. Also works quite well at 960×600 with scale 1285. The set of
3430 // standard parallels for each region comes from USGS, which is published here:
3431 // http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers
3432 d3.geo.albersUsa = function() {
3433   var lower48 = d3.geo.albers();
3434
3435   // EPSG:3338
3436   var alaska = d3.geo.conicEqualArea()
3437       .rotate([154, 0])
3438       .center([-2, 58.5])
3439       .parallels([55, 65]);
3440
3441   // ESRI:102007
3442   var hawaii = d3.geo.conicEqualArea()
3443       .rotate([157, 0])
3444       .center([-3, 19.9])
3445       .parallels([8, 18]);
3446
3447   var point,
3448       pointStream = {point: function(x, y) { point = [x, y]; }},
3449       lower48Point,
3450       alaskaPoint,
3451       hawaiiPoint;
3452
3453   function albersUsa(coordinates) {
3454     var x = coordinates[0], y = coordinates[1];
3455     point = null;
3456     (lower48Point(x, y), point)
3457         || (alaskaPoint(x, y), point)
3458         || hawaiiPoint(x, y);
3459     return point;
3460   }
3461
3462   albersUsa.invert = function(coordinates) {
3463     var k = lower48.scale(),
3464         t = lower48.translate(),
3465         x = (coordinates[0] - t[0]) / k,
3466         y = (coordinates[1] - t[1]) / k;
3467     return (y >= .120 && y < .234 && x >= -.425 && x < -.214 ? alaska
3468         : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii
3469         : lower48).invert(coordinates);
3470   };
3471
3472   // A naïve multi-projection stream.
3473   // The projections must have mutually exclusive clip regions on the sphere,
3474   // as this will avoid emitting interleaving lines and polygons.
3475   albersUsa.stream = function(stream) {
3476     var lower48Stream = lower48.stream(stream),
3477         alaskaStream = alaska.stream(stream),
3478         hawaiiStream = hawaii.stream(stream);
3479     return {
3480       point: function(x, y) {
3481         lower48Stream.point(x, y);
3482         alaskaStream.point(x, y);
3483         hawaiiStream.point(x, y);
3484       },
3485       sphere: function() {
3486         lower48Stream.sphere();
3487         alaskaStream.sphere();
3488         hawaiiStream.sphere();
3489       },
3490       lineStart: function() {
3491         lower48Stream.lineStart();
3492         alaskaStream.lineStart();
3493         hawaiiStream.lineStart();
3494       },
3495       lineEnd: function() {
3496         lower48Stream.lineEnd();
3497         alaskaStream.lineEnd();
3498         hawaiiStream.lineEnd();
3499       },
3500       polygonStart: function() {
3501         lower48Stream.polygonStart();
3502         alaskaStream.polygonStart();
3503         hawaiiStream.polygonStart();
3504       },
3505       polygonEnd: function() {
3506         lower48Stream.polygonEnd();
3507         alaskaStream.polygonEnd();
3508         hawaiiStream.polygonEnd();
3509       }
3510     };
3511   };
3512
3513   albersUsa.precision = function(_) {
3514     if (!arguments.length) return lower48.precision();
3515     lower48.precision(_);
3516     alaska.precision(_);
3517     hawaii.precision(_);
3518     return albersUsa;
3519   };
3520
3521   albersUsa.scale = function(_) {
3522     if (!arguments.length) return lower48.scale();
3523     lower48.scale(_);
3524     alaska.scale(_ * .35);
3525     hawaii.scale(_);
3526     return albersUsa.translate(lower48.translate());
3527   };
3528
3529   albersUsa.translate = function(_) {
3530     if (!arguments.length) return lower48.translate();
3531     var k = lower48.scale(), x = +_[0], y = +_[1];
3532
3533     lower48Point = lower48
3534         .translate(_)
3535         .clipExtent([[x - .455 * k, y - .238 * k], [x + .455 * k, y + .238 * k]])
3536         .stream(pointStream).point;
3537
3538     alaskaPoint = alaska
3539         .translate([x - .307 * k, y + .201 * k])
3540         .clipExtent([[x - .425 * k + ε, y + .120 * k + ε], [x - .214 * k - ε, y + .234 * k - ε]])
3541         .stream(pointStream).point;
3542
3543     hawaiiPoint = hawaii
3544         .translate([x - .205 * k, y + .212 * k])
3545         .clipExtent([[x - .214 * k + ε, y + .166 * k + ε], [x - .115 * k - ε, y + .234 * k - ε]])
3546         .stream(pointStream).point;
3547
3548     return albersUsa;
3549   };
3550
3551   return albersUsa.scale(1070);
3552 };
3553
3554 d3.geo.bounds = (function() {
3555   var λ0, φ0, λ1, φ1, // bounds
3556       λ_, // previous λ-coordinate
3557       λ__, φ__, // first point
3558       p0, // previous 3D point
3559       dλSum,
3560       ranges,
3561       range;
3562
3563   var bound = {
3564     point: point,
3565     lineStart: lineStart,
3566     lineEnd: lineEnd,
3567
3568     polygonStart: function() {
3569       bound.point = ringPoint;
3570       bound.lineStart = ringStart;
3571       bound.lineEnd = ringEnd;
3572       dλSum = 0;
3573       d3_geo_area.polygonStart();
3574     },
3575     polygonEnd: function() {
3576       d3_geo_area.polygonEnd();
3577       bound.point = point;
3578       bound.lineStart = lineStart;
3579       bound.lineEnd = lineEnd;
3580       if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90);
3581       else if (dλSum > ε) φ1 = 90;
3582       else if (dλSum < -ε) φ0 = -90;
3583       range[0] = λ0, range[1] = λ1;
3584     }
3585   };
3586
3587   function point(λ, φ) {
3588     ranges.push(range = [λ0 = λ, λ1 = λ]);
3589     if (φ < φ0) φ0 = φ;
3590     if (φ > φ1) φ1 = φ;
3591   }
3592
3593   function linePoint(λ, φ) {
3594     var p = d3_geo_cartesian([λ * d3_radians, φ * d3_radians]);
3595     if (p0) {
3596       var normal = d3_geo_cartesianCross(p0, p),
3597           equatorial = [normal[1], -normal[0], 0],
3598           inflection = d3_geo_cartesianCross(equatorial, normal);
3599       d3_geo_cartesianNormalize(inflection);
3600       inflection = d3_geo_spherical(inflection);
3601       var dλ = λ - λ_,
3602           s = dλ > 0 ? 1 : -1,
3603           λi = inflection[0] * d3_degrees * s,
3604           antimeridian = abs(dλ) > 180;
3605       if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
3606         var φi = inflection[1] * d3_degrees;
3607         if (φi > φ1) φ1 = φi;
3608       } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
3609         var φi = -inflection[1] * d3_degrees;
3610         if (φi < φ0) φ0 = φi;
3611       } else {
3612         if (φ < φ0) φ0 = φ;
3613         if (φ > φ1) φ1 = φ;
3614       }
3615       if (antimeridian) {
3616         if (λ < λ_) {
3617           if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
3618         } else {
3619           if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
3620         }
3621       } else {
3622         if (λ1 >= λ0) {
3623           if (λ < λ0) λ0 = λ;
3624           if (λ > λ1) λ1 = λ;
3625         } else {
3626           if (λ > λ_) {
3627             if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
3628           } else {
3629             if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
3630           }
3631         }
3632       }
3633     } else {
3634       point(λ, φ);
3635     }
3636     p0 = p, λ_ = λ;
3637   }
3638
3639   function lineStart() { bound.point = linePoint; }
3640   function lineEnd() {
3641     range[0] = λ0, range[1] = λ1;
3642     bound.point = point;
3643     p0 = null;
3644   }
3645
3646   function ringPoint(λ, φ) {
3647     if (p0) {
3648       var dλ = λ - λ_;
3649       dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;
3650     } else λ__ = λ, φ__ = φ;
3651     d3_geo_area.point(λ, φ);
3652     linePoint(λ, φ);
3653   }
3654
3655   function ringStart() {
3656     d3_geo_area.lineStart();
3657   }
3658
3659   function ringEnd() {
3660     ringPoint(λ__, φ__);
3661     d3_geo_area.lineEnd();
3662     if (abs(dλSum) > ε) λ0 = -(λ1 = 180);
3663     range[0] = λ0, range[1] = λ1;
3664     p0 = null;
3665   }
3666
3667   // Finds the left-right distance between two longitudes.
3668   // This is almost the same as (λ1 - λ0 + 360°) % 360°, except that we want
3669   // the distance between ±180° to be 360°.
3670   function angle(λ0, λ1) { return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; }
3671
3672   function compareRanges(a, b) { return a[0] - b[0]; }
3673
3674   function withinRange(x, range) {
3675     return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
3676   }
3677
3678   return function(feature) {
3679     φ1 = λ1 = -(λ0 = φ0 = Infinity);
3680     ranges = [];
3681
3682     d3.geo.stream(feature, bound);
3683
3684     var n = ranges.length;
3685     if (n) {
3686       // First, sort ranges by their minimum longitudes.
3687       ranges.sort(compareRanges);
3688
3689       // Then, merge any ranges that overlap.
3690       for (var i = 1, a = ranges[0], b, merged = [a]; i < n; ++i) {
3691         b = ranges[i];
3692         if (withinRange(b[0], a) || withinRange(b[1], a)) {
3693           if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];
3694           if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];
3695         } else {
3696           merged.push(a = b);
3697         }
3698       }
3699
3700       // Finally, find the largest gap between the merged ranges.
3701       // The final bounding box will be the inverse of this gap.
3702       var best = -Infinity, dλ;
3703       for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {
3704         b = merged[i];
3705         if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];
3706       }
3707     }
3708     ranges = range = null;
3709
3710     return λ0 === Infinity || φ0 === Infinity
3711         ? [[NaN, NaN], [NaN, NaN]]
3712         : [[λ0, φ0], [λ1, φ1]];
3713   };
3714 })();
3715
3716 d3.geo.centroid = function(object) {
3717   d3_geo_centroidW0 = d3_geo_centroidW1 =
3718   d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 =
3719   d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 =
3720   d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
3721   d3.geo.stream(object, d3_geo_centroid);
3722
3723   var x = d3_geo_centroidX2,
3724       y = d3_geo_centroidY2,
3725       z = d3_geo_centroidZ2,
3726       m = x * x + y * y + z * z;
3727
3728   // If the area-weighted centroid is undefined, fall back to length-weighted centroid.
3729   if (m < ε2) {
3730     x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;
3731     // If the feature has zero length, fall back to arithmetic mean of point vectors.
3732     if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;
3733     m = x * x + y * y + z * z;
3734     // If the feature still has an undefined centroid, then return.
3735     if (m < ε2) return [NaN, NaN];
3736   }
3737
3738   return [Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees];
3739 };
3740
3741 var d3_geo_centroidW0,
3742     d3_geo_centroidW1,
3743     d3_geo_centroidX0,
3744     d3_geo_centroidY0,
3745     d3_geo_centroidZ0,
3746     d3_geo_centroidX1,
3747     d3_geo_centroidY1,
3748     d3_geo_centroidZ1,
3749     d3_geo_centroidX2,
3750     d3_geo_centroidY2,
3751     d3_geo_centroidZ2;
3752
3753 var d3_geo_centroid = {
3754   sphere: d3_noop,
3755   point: d3_geo_centroidPoint,
3756   lineStart: d3_geo_centroidLineStart,
3757   lineEnd: d3_geo_centroidLineEnd,
3758   polygonStart: function() {
3759     d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
3760   },
3761   polygonEnd: function() {
3762     d3_geo_centroid.lineStart = d3_geo_centroidLineStart;
3763   }
3764 };
3765
3766 // Arithmetic mean of Cartesian vectors.
3767 function d3_geo_centroidPoint(λ, φ) {
3768   λ *= d3_radians;
3769   var cosφ = Math.cos(φ *= d3_radians);
3770   d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));
3771 }
3772
3773 function d3_geo_centroidPointXYZ(x, y, z) {
3774   ++d3_geo_centroidW0;
3775   d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;
3776   d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;
3777   d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;
3778 }
3779
3780 function d3_geo_centroidLineStart() {
3781   var x0, y0, z0; // previous point
3782
3783   d3_geo_centroid.point = function(λ, φ) {
3784     λ *= d3_radians;
3785     var cosφ = Math.cos(φ *= d3_radians);
3786     x0 = cosφ * Math.cos(λ);
3787     y0 = cosφ * Math.sin(λ);
3788     z0 = Math.sin(φ);
3789     d3_geo_centroid.point = nextPoint;
3790     d3_geo_centroidPointXYZ(x0, y0, z0);
3791   };
3792
3793   function nextPoint(λ, φ) {
3794     λ *= d3_radians;
3795     var cosφ = Math.cos(φ *= d3_radians),
3796         x = cosφ * Math.cos(λ),
3797         y = cosφ * Math.sin(λ),
3798         z = Math.sin(φ),
3799         w = Math.atan2(
3800           Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w),
3801           x0 * x + y0 * y + z0 * z);
3802     d3_geo_centroidW1 += w;
3803     d3_geo_centroidX1 += w * (x0 + (x0 = x));
3804     d3_geo_centroidY1 += w * (y0 + (y0 = y));
3805     d3_geo_centroidZ1 += w * (z0 + (z0 = z));
3806     d3_geo_centroidPointXYZ(x0, y0, z0);
3807   }
3808 }
3809
3810 function d3_geo_centroidLineEnd() {
3811   d3_geo_centroid.point = d3_geo_centroidPoint;
3812 }
3813
3814 // See J. E. Brock, The Inertia Tensor for a Spherical Triangle,
3815 // J. Applied Mechanics 42, 239 (1975).
3816 function d3_geo_centroidRingStart() {
3817   var λ00, φ00, // first point
3818       x0, y0, z0; // previous point
3819
3820   d3_geo_centroid.point = function(λ, φ) {
3821     λ00 = λ, φ00 = φ;
3822     d3_geo_centroid.point = nextPoint;
3823     λ *= d3_radians;
3824     var cosφ = Math.cos(φ *= d3_radians);
3825     x0 = cosφ * Math.cos(λ);
3826     y0 = cosφ * Math.sin(λ);
3827     z0 = Math.sin(φ);
3828     d3_geo_centroidPointXYZ(x0, y0, z0);
3829   };
3830
3831   d3_geo_centroid.lineEnd = function() {
3832     nextPoint(λ00, φ00);
3833     d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;
3834     d3_geo_centroid.point = d3_geo_centroidPoint;
3835   };
3836
3837   function nextPoint(λ, φ) {
3838     λ *= d3_radians;
3839     var cosφ = Math.cos(φ *= d3_radians),
3840         x = cosφ * Math.cos(λ),
3841         y = cosφ * Math.sin(λ),
3842         z = Math.sin(φ),
3843         cx = y0 * z - z0 * y,
3844         cy = z0 * x - x0 * z,
3845         cz = x0 * y - y0 * x,
3846         m = Math.sqrt(cx * cx + cy * cy + cz * cz),
3847         u = x0 * x + y0 * y + z0 * z,
3848         v = m && -d3_acos(u) / m, // area weight
3849         w = Math.atan2(m, u); // line weight
3850     d3_geo_centroidX2 += v * cx;
3851     d3_geo_centroidY2 += v * cy;
3852     d3_geo_centroidZ2 += v * cz;
3853     d3_geo_centroidW1 += w;
3854     d3_geo_centroidX1 += w * (x0 + (x0 = x));
3855     d3_geo_centroidY1 += w * (y0 + (y0 = y));
3856     d3_geo_centroidZ1 += w * (z0 + (z0 = z));
3857     d3_geo_centroidPointXYZ(x0, y0, z0);
3858   }
3859 }
3860
3861 // TODO Unify this code with d3.geom.polygon area?
3862
3863 var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
3864   point: d3_noop,
3865   lineStart: d3_noop,
3866   lineEnd: d3_noop,
3867
3868   // Only count area for polygon rings.
3869   polygonStart: function() {
3870     d3_geo_pathAreaPolygon = 0;
3871     d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;
3872   },
3873   polygonEnd: function() {
3874     d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
3875     d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);
3876   }
3877 };
3878
3879 function d3_geo_pathAreaRingStart() {
3880   var x00, y00, x0, y0;
3881
3882   // For the first point, …
3883   d3_geo_pathArea.point = function(x, y) {
3884     d3_geo_pathArea.point = nextPoint;
3885     x00 = x0 = x, y00 = y0 = y;
3886   };
3887
3888   // For subsequent points, …
3889   function nextPoint(x, y) {
3890     d3_geo_pathAreaPolygon += y0 * x - x0 * y;
3891     x0 = x, y0 = y;
3892   }
3893
3894   // For the last point, return to the start.
3895   d3_geo_pathArea.lineEnd = function() {
3896     nextPoint(x00, y00);
3897   };
3898 }
3899
3900 var d3_geo_pathBoundsX0,
3901     d3_geo_pathBoundsY0,
3902     d3_geo_pathBoundsX1,
3903     d3_geo_pathBoundsY1;
3904
3905 var d3_geo_pathBounds = {
3906   point: d3_geo_pathBoundsPoint,
3907   lineStart: d3_noop,
3908   lineEnd: d3_noop,
3909   polygonStart: d3_noop,
3910   polygonEnd: d3_noop
3911 };
3912
3913 function d3_geo_pathBoundsPoint(x, y) {
3914   if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;
3915   if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;
3916   if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;
3917   if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;
3918 }
3919 function d3_geo_pathBuffer() {
3920   var pointCircle = d3_geo_pathBufferCircle(4.5),
3921       buffer = [];
3922
3923   var stream = {
3924     point: point,
3925
3926     // While inside a line, override point to moveTo then lineTo.
3927     lineStart: function() { stream.point = pointLineStart; },
3928     lineEnd: lineEnd,
3929
3930     // While inside a polygon, override lineEnd to closePath.
3931     polygonStart: function() { stream.lineEnd = lineEndPolygon; },
3932     polygonEnd: function() { stream.lineEnd = lineEnd; stream.point = point; },
3933
3934     pointRadius: function(_) {
3935       pointCircle = d3_geo_pathBufferCircle(_);
3936       return stream;
3937     },
3938
3939     result: function() {
3940       if (buffer.length) {
3941         var result = buffer.join("");
3942         buffer = [];
3943         return result;
3944       }
3945     }
3946   };
3947
3948   function point(x, y) {
3949     buffer.push("M", x, ",", y, pointCircle);
3950   }
3951
3952   function pointLineStart(x, y) {
3953     buffer.push("M", x, ",", y);
3954     stream.point = pointLine;
3955   }
3956
3957   function pointLine(x, y) {
3958     buffer.push("L", x, ",", y);
3959   }
3960
3961   function lineEnd() {
3962     stream.point = point;
3963   }
3964
3965   function lineEndPolygon() {
3966     buffer.push("Z");
3967   }
3968
3969   return stream;
3970 }
3971
3972 function d3_geo_pathBufferCircle(radius) {
3973   return "m0," + radius
3974       + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius
3975       + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius
3976       + "z";
3977 }
3978
3979 // TODO Unify this code with d3.geom.polygon centroid?
3980 // TODO Enforce positive area for exterior, negative area for interior?
3981
3982 var d3_geo_pathCentroid = {
3983   point: d3_geo_pathCentroidPoint,
3984
3985   // For lines, weight by length.
3986   lineStart: d3_geo_pathCentroidLineStart,
3987   lineEnd: d3_geo_pathCentroidLineEnd,
3988
3989   // For polygons, weight by area.
3990   polygonStart: function() {
3991     d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;
3992   },
3993   polygonEnd: function() {
3994     d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
3995     d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;
3996     d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;
3997   }
3998 };
3999
4000 function d3_geo_pathCentroidPoint(x, y) {
4001   d3_geo_centroidX0 += x;
4002   d3_geo_centroidY0 += y;
4003   ++d3_geo_centroidZ0;
4004 }
4005
4006 function d3_geo_pathCentroidLineStart() {
4007   var x0, y0;
4008
4009   d3_geo_pathCentroid.point = function(x, y) {
4010     d3_geo_pathCentroid.point = nextPoint;
4011     d3_geo_pathCentroidPoint(x0 = x, y0 = y);
4012   };
4013
4014   function nextPoint(x, y) {
4015     var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
4016     d3_geo_centroidX1 += z * (x0 + x) / 2;
4017     d3_geo_centroidY1 += z * (y0 + y) / 2;
4018     d3_geo_centroidZ1 += z;
4019     d3_geo_pathCentroidPoint(x0 = x, y0 = y);
4020   }
4021 }
4022
4023 function d3_geo_pathCentroidLineEnd() {
4024   d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
4025 }
4026
4027 function d3_geo_pathCentroidRingStart() {
4028   var x00, y00, x0, y0;
4029
4030   // For the first point, …
4031   d3_geo_pathCentroid.point = function(x, y) {
4032     d3_geo_pathCentroid.point = nextPoint;
4033     d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);
4034   };
4035
4036   // For subsequent points, …
4037   function nextPoint(x, y) {
4038     var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
4039     d3_geo_centroidX1 += z * (x0 + x) / 2;
4040     d3_geo_centroidY1 += z * (y0 + y) / 2;
4041     d3_geo_centroidZ1 += z;
4042
4043     z = y0 * x - x0 * y;
4044     d3_geo_centroidX2 += z * (x0 + x);
4045     d3_geo_centroidY2 += z * (y0 + y);
4046     d3_geo_centroidZ2 += z * 3;
4047     d3_geo_pathCentroidPoint(x0 = x, y0 = y);
4048   }
4049
4050   // For the last point, return to the start.
4051   d3_geo_pathCentroid.lineEnd = function() {
4052     nextPoint(x00, y00);
4053   };
4054 }
4055
4056 function d3_geo_pathContext(context) {
4057   var pointRadius = 4.5;
4058
4059   var stream = {
4060     point: point,
4061
4062     // While inside a line, override point to moveTo then lineTo.
4063     lineStart: function() { stream.point = pointLineStart; },
4064     lineEnd: lineEnd,
4065
4066     // While inside a polygon, override lineEnd to closePath.
4067     polygonStart: function() { stream.lineEnd = lineEndPolygon; },
4068     polygonEnd: function() { stream.lineEnd = lineEnd; stream.point = point; },
4069
4070     pointRadius: function(_) {
4071       pointRadius = _;
4072       return stream;
4073     },
4074
4075     result: d3_noop
4076   };
4077
4078   function point(x, y) {
4079     context.moveTo(x, y);
4080     context.arc(x, y, pointRadius, 0, τ);
4081   }
4082
4083   function pointLineStart(x, y) {
4084     context.moveTo(x, y);
4085     stream.point = pointLine;
4086   }
4087
4088   function pointLine(x, y) {
4089     context.lineTo(x, y);
4090   }
4091
4092   function lineEnd() {
4093     stream.point = point;
4094   }
4095
4096   function lineEndPolygon() {
4097     context.closePath();
4098   }
4099
4100   return stream;
4101 }
4102
4103 function d3_geo_resample(project) {
4104   var δ2 = .5, // precision, px²
4105       cosMinDistance = Math.cos(30 * d3_radians), // cos(minimum angular distance)
4106       maxDepth = 16;
4107
4108   function resample(stream) {
4109     return (maxDepth ? resampleRecursive : resampleNone)(stream);
4110   }
4111
4112   function resampleNone(stream) {
4113     return d3_geo_transformPoint(stream, function(x, y) {
4114       x = project(x, y);
4115       stream.point(x[0], x[1]);
4116     });
4117   }
4118
4119   function resampleRecursive(stream) {
4120     var λ00, φ00, x00, y00, a00, b00, c00, // first point
4121         λ0, x0, y0, a0, b0, c0; // previous point
4122
4123     var resample = {
4124       point: point,
4125       lineStart: lineStart,
4126       lineEnd: lineEnd,
4127       polygonStart: function() { stream.polygonStart(); resample.lineStart = ringStart; },
4128       polygonEnd: function() { stream.polygonEnd(); resample.lineStart = lineStart; }
4129     };
4130
4131     function point(x, y) {
4132       x = project(x, y);
4133       stream.point(x[0], x[1]);
4134     }
4135
4136     function lineStart() {
4137       x0 = NaN;
4138       resample.point = linePoint;
4139       stream.lineStart();
4140     }
4141
4142     function linePoint(λ, φ) {
4143       var c = d3_geo_cartesian([λ, φ]), p = project(λ, φ);
4144       resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
4145       stream.point(x0, y0);
4146     }
4147
4148     function lineEnd() {
4149       resample.point = point;
4150       stream.lineEnd();
4151     }
4152
4153     function ringStart() {
4154       lineStart();
4155       resample.point = ringPoint;
4156       resample.lineEnd = ringEnd;
4157     }
4158
4159     function ringPoint(λ, φ) {
4160       linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
4161       resample.point = linePoint;
4162     }
4163
4164     function ringEnd() {
4165       resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);
4166       resample.lineEnd = lineEnd;
4167       lineEnd();
4168     }
4169
4170     return resample;
4171   }
4172
4173   function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {
4174     var dx = x1 - x0,
4175         dy = y1 - y0,
4176         d2 = dx * dx + dy * dy;
4177     if (d2 > 4 * δ2 && depth--) {
4178       var a = a0 + a1,
4179           b = b0 + b1,
4180           c = c0 + c1,
4181           m = Math.sqrt(a * a + b * b + c * c),
4182           φ2 = Math.asin(c /= m),
4183           λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a),
4184           p = project(λ2, φ2),
4185           x2 = p[0],
4186           y2 = p[1],
4187           dx2 = x2 - x0,
4188           dy2 = y2 - y0,
4189           dz = dy * dx2 - dx * dy2;
4190       if (dz * dz / d2 > δ2 // perpendicular projected distance
4191           || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 // midpoint close to an end
4192           || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance
4193         resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);
4194         stream.point(x2, y2);
4195         resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);
4196       }
4197     }
4198   }
4199
4200   resample.precision = function(_) {
4201     if (!arguments.length) return Math.sqrt(δ2);
4202     maxDepth = (δ2 = _ * _) > 0 && 16;
4203     return resample;
4204   };
4205
4206   return resample;
4207 }
4208
4209 d3.geo.path = function() {
4210   var pointRadius = 4.5,
4211       projection,
4212       context,
4213       projectStream,
4214       contextStream,
4215       cacheStream;
4216
4217   function path(object) {
4218     if (object) {
4219       if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments));
4220       if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);
4221       d3.geo.stream(object, cacheStream);
4222     }
4223     return contextStream.result();
4224   }
4225
4226   path.area = function(object) {
4227     d3_geo_pathAreaSum = 0;
4228     d3.geo.stream(object, projectStream(d3_geo_pathArea));
4229     return d3_geo_pathAreaSum;
4230   };
4231
4232   path.centroid = function(object) {
4233     d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 =
4234     d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 =
4235     d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
4236     d3.geo.stream(object, projectStream(d3_geo_pathCentroid));
4237     return d3_geo_centroidZ2 ? [d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2]
4238         : d3_geo_centroidZ1 ? [d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1]
4239         : d3_geo_centroidZ0 ? [d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0]
4240         : [NaN, NaN];
4241   };
4242
4243   path.bounds = function(object) {
4244     d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);
4245     d3.geo.stream(object, projectStream(d3_geo_pathBounds));
4246     return [[d3_geo_pathBoundsX0, d3_geo_pathBoundsY0], [d3_geo_pathBoundsX1, d3_geo_pathBoundsY1]];
4247   };
4248
4249   path.projection = function(_) {
4250     if (!arguments.length) return projection;
4251     projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;
4252     return reset();
4253   };
4254
4255   path.context = function(_) {
4256     if (!arguments.length) return context;
4257     contextStream = (context = _) == null ? new d3_geo_pathBuffer : new d3_geo_pathContext(_);
4258     if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
4259     return reset();
4260   };
4261
4262   path.pointRadius = function(_) {
4263     if (!arguments.length) return pointRadius;
4264     pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
4265     return path;
4266   };
4267
4268   function reset() {
4269     cacheStream = null;
4270     return path;
4271   }
4272
4273   return path.projection(d3.geo.albersUsa()).context(null);
4274 };
4275
4276 function d3_geo_pathProjectStream(project) {
4277   var resample = d3_geo_resample(function(x, y) { return project([x * d3_degrees, y * d3_degrees]); });
4278   return function(stream) { return d3_geo_projectionRadians(resample(stream)); };
4279 }
4280
4281 d3.geo.transform = function(methods) {
4282   return {
4283     stream: function(stream) {
4284       var transform = new d3_geo_transform(stream);
4285       for (var k in methods) transform[k] = methods[k];
4286       return transform;
4287     }
4288   };
4289 };
4290
4291 function d3_geo_transform(stream) {
4292   this.stream = stream;
4293 }
4294
4295 d3_geo_transform.prototype = {
4296   point: function(x, y) { this.stream.point(x, y); },
4297   sphere: function() { this.stream.sphere(); },
4298   lineStart: function() { this.stream.lineStart(); },
4299   lineEnd: function() { this.stream.lineEnd(); },
4300   polygonStart: function() { this.stream.polygonStart(); },
4301   polygonEnd: function() { this.stream.polygonEnd(); }
4302 };
4303
4304 function d3_geo_transformPoint(stream, point) {
4305   return {
4306     point: point,
4307     sphere: function() { stream.sphere(); },
4308     lineStart: function() { stream.lineStart(); },
4309     lineEnd: function() { stream.lineEnd(); },
4310     polygonStart: function() { stream.polygonStart(); },
4311     polygonEnd: function() { stream.polygonEnd(); },
4312   };
4313 }
4314
4315 d3.geo.projection = d3_geo_projection;
4316 d3.geo.projectionMutator = d3_geo_projectionMutator;
4317
4318 function d3_geo_projection(project) {
4319   return d3_geo_projectionMutator(function() { return project; })();
4320 }
4321
4322 function d3_geo_projectionMutator(projectAt) {
4323   var project,
4324       rotate,
4325       projectRotate,
4326       projectResample = d3_geo_resample(function(x, y) { x = project(x, y); return [x[0] * k + δx, δy - x[1] * k]; }),
4327       k = 150, // scale
4328       x = 480, y = 250, // translate
4329       λ = 0, φ = 0, // center
4330       δλ = 0, δφ = 0, δγ = 0, // rotate
4331       δx, δy, // center
4332       preclip = d3_geo_clipAntimeridian,
4333       postclip = d3_identity,
4334       clipAngle = null,
4335       clipExtent = null,
4336       stream;
4337
4338   function projection(point) {
4339     point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);
4340     return [point[0] * k + δx, δy - point[1] * k];
4341   }
4342
4343   function invert(point) {
4344     point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);
4345     return point && [point[0] * d3_degrees, point[1] * d3_degrees];
4346   }
4347
4348   projection.stream = function(output) {
4349     if (stream) stream.valid = false;
4350     stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));
4351     stream.valid = true; // allow caching by d3.geo.path
4352     return stream;
4353   };
4354
4355   projection.clipAngle = function(_) {
4356     if (!arguments.length) return clipAngle;
4357     preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);
4358     return invalidate();
4359   };
4360
4361   projection.clipExtent = function(_) {
4362     if (!arguments.length) return clipExtent;
4363     clipExtent = _;
4364     postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;
4365     return invalidate();
4366   };
4367
4368   projection.scale = function(_) {
4369     if (!arguments.length) return k;
4370     k = +_;
4371     return reset();
4372   };
4373
4374   projection.translate = function(_) {
4375     if (!arguments.length) return [x, y];
4376     x = +_[0];
4377     y = +_[1];
4378     return reset();
4379   };
4380
4381   projection.center = function(_) {
4382     if (!arguments.length) return [λ * d3_degrees, φ * d3_degrees];
4383     λ = _[0] % 360 * d3_radians;
4384     φ = _[1] % 360 * d3_radians;
4385     return reset();
4386   };
4387
4388   projection.rotate = function(_) {
4389     if (!arguments.length) return [δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees];
4390     δλ = _[0] % 360 * d3_radians;
4391     δφ = _[1] % 360 * d3_radians;
4392     δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;
4393     return reset();
4394   };
4395
4396   d3.rebind(projection, projectResample, "precision");
4397
4398   function reset() {
4399     projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);
4400     var center = project(λ, φ);
4401     δx = x - center[0] * k;
4402     δy = y + center[1] * k;
4403     return invalidate();
4404   }
4405
4406   function invalidate() {
4407     if (stream) stream.valid = false, stream = null;
4408     return projection;
4409   }
4410
4411   return function() {
4412     project = projectAt.apply(this, arguments);
4413     projection.invert = project.invert && invert;
4414     return reset();
4415   };
4416 }
4417
4418 function d3_geo_projectionRadians(stream) {
4419   return d3_geo_transformPoint(stream, function(x, y) {
4420     stream.point(x * d3_radians, y * d3_radians);
4421   });
4422 }
4423
4424 function d3_geo_mercator(λ, φ) {
4425   return [λ, Math.log(Math.tan(π / 4 + φ / 2))];
4426 }
4427
4428 d3_geo_mercator.invert = function(x, y) {
4429   return [x, 2 * Math.atan(Math.exp(y)) - halfπ];
4430 };
4431
4432 function d3_geo_mercatorProjection(project) {
4433   var m = d3_geo_projection(project),
4434       scale = m.scale,
4435       translate = m.translate,
4436       clipExtent = m.clipExtent,
4437       clipAuto;
4438
4439   m.scale = function() {
4440     var v = scale.apply(m, arguments);
4441     return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
4442   };
4443
4444   m.translate = function() {
4445     var v = translate.apply(m, arguments);
4446     return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
4447   };
4448
4449   m.clipExtent = function(_) {
4450     var v = clipExtent.apply(m, arguments);
4451     if (v === m) {
4452       if (clipAuto = _ == null) {
4453         var k = π * scale(), t = translate();
4454         clipExtent([[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]]);
4455       }
4456     } else if (clipAuto) {
4457       v = null;
4458     }
4459     return v;
4460   };
4461
4462   return m.clipExtent(null);
4463 }
4464
4465 (d3.geo.mercator = function() {
4466   return d3_geo_mercatorProjection(d3_geo_mercator);
4467 }).raw = d3_geo_mercator;
4468 d3.geom = {};
4469
4470 d3.geom.polygon = function(coordinates) {
4471   d3_subclass(coordinates, d3_geom_polygonPrototype);
4472   return coordinates;
4473 };
4474
4475 var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];
4476
4477 d3_geom_polygonPrototype.area = function() {
4478   var i = -1,
4479       n = this.length,
4480       a,
4481       b = this[n - 1],
4482       area = 0;
4483
4484   while (++i < n) {
4485     a = b;
4486     b = this[i];
4487     area += a[1] * b[0] - a[0] * b[1];
4488   }
4489
4490   return area * .5;
4491 };
4492
4493 d3_geom_polygonPrototype.centroid = function(k) {
4494   var i = -1,
4495       n = this.length,
4496       x = 0,
4497       y = 0,
4498       a,
4499       b = this[n - 1],
4500       c;
4501
4502   if (!arguments.length) k = -1 / (6 * this.area());
4503
4504   while (++i < n) {
4505     a = b;
4506     b = this[i];
4507     c = a[0] * b[1] - b[0] * a[1];
4508     x += (a[0] + b[0]) * c;
4509     y += (a[1] + b[1]) * c;
4510   }
4511
4512   return [x * k, y * k];
4513 };
4514
4515 // The Sutherland-Hodgman clipping algorithm.
4516 // Note: requires the clip polygon to be counterclockwise and convex.
4517 d3_geom_polygonPrototype.clip = function(subject) {
4518   var input,
4519       closed = d3_geom_polygonClosed(subject),
4520       i = -1,
4521       n = this.length - d3_geom_polygonClosed(this),
4522       j,
4523       m,
4524       a = this[n - 1],
4525       b,
4526       c,
4527       d;
4528
4529   while (++i < n) {
4530     input = subject.slice();
4531     subject.length = 0;
4532     b = this[i];
4533     c = input[(m = input.length - closed) - 1];
4534     j = -1;
4535     while (++j < m) {
4536       d = input[j];
4537       if (d3_geom_polygonInside(d, a, b)) {
4538         if (!d3_geom_polygonInside(c, a, b)) {
4539           subject.push(d3_geom_polygonIntersect(c, d, a, b));
4540         }
4541         subject.push(d);
4542       } else if (d3_geom_polygonInside(c, a, b)) {
4543         subject.push(d3_geom_polygonIntersect(c, d, a, b));
4544       }
4545       c = d;
4546     }
4547     if (closed) subject.push(subject[0]);
4548     a = b;
4549   }
4550
4551   return subject;
4552 };
4553
4554 function d3_geom_polygonInside(p, a, b) {
4555   return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);
4556 }
4557
4558 // Intersect two infinite lines cd and ab.
4559 function d3_geom_polygonIntersect(c, d, a, b) {
4560   var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3,
4561       y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3,
4562       ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);
4563   return [x1 + ua * x21, y1 + ua * y21];
4564 }
4565
4566 // Returns true if the polygon is closed.
4567 function d3_geom_polygonClosed(coordinates) {
4568   var a = coordinates[0],
4569       b = coordinates[coordinates.length - 1];
4570   return !(a[0] - b[0] || a[1] - b[1]);
4571 }
4572 function d3_geom_pointX(d) {
4573   return d[0];
4574 }
4575
4576 function d3_geom_pointY(d) {
4577   return d[1];
4578 }
4579
4580 /**
4581  * Computes the 2D convex hull of a set of points using Graham's scanning
4582  * algorithm. The algorithm has been implemented as described in Cormen,
4583  * Leiserson, and Rivest's Introduction to Algorithms. The running time of
4584  * this algorithm is O(n log n), where n is the number of input points.
4585  *
4586  * @param vertices [[x1, y1], [x2, y2], …]
4587  * @returns polygon [[x1, y1], [x2, y2], …]
4588  */
4589 d3.geom.hull = function(vertices) {
4590   var x = d3_geom_pointX,
4591       y = d3_geom_pointY;
4592
4593   if (arguments.length) return hull(vertices);
4594
4595   function hull(data) {
4596     if (data.length < 3) return [];
4597
4598     var fx = d3_functor(x),
4599         fy = d3_functor(y),
4600         n = data.length,
4601         vertices, // TODO use parallel arrays
4602         plen = n - 1,
4603         points = [],
4604         stack = [],
4605         d,
4606         i, j, h = 0, x1, y1, x2, y2, u, v, a, sp;
4607
4608     if (fx === d3_geom_pointX && y === d3_geom_pointY) vertices = data;
4609     else for (i = 0, vertices = []; i < n; ++i) {
4610       vertices.push([+fx.call(this, d = data[i], i), +fy.call(this, d, i)]);
4611     }
4612
4613     // find the starting ref point: leftmost point with the minimum y coord
4614     for (i = 1; i < n; ++i) {
4615       if (vertices[i][1] < vertices[h][1]
4616           || vertices[i][1] == vertices[h][1]
4617           && vertices[i][0] < vertices[h][0]) h = i;
4618     }
4619
4620     // calculate polar angles from ref point and sort
4621     for (i = 0; i < n; ++i) {
4622       if (i === h) continue;
4623       y1 = vertices[i][1] - vertices[h][1];
4624       x1 = vertices[i][0] - vertices[h][0];
4625       points.push({angle: Math.atan2(y1, x1), index: i});
4626     }
4627     points.sort(function(a, b) { return a.angle - b.angle; });
4628
4629     // toss out duplicate angles
4630     a = points[0].angle;
4631     v = points[0].index;
4632     u = 0;
4633     for (i = 1; i < plen; ++i) {
4634       j = points[i].index;
4635       if (a == points[i].angle) {
4636         // keep angle for point most distant from the reference
4637         x1 = vertices[v][0] - vertices[h][0];
4638         y1 = vertices[v][1] - vertices[h][1];
4639         x2 = vertices[j][0] - vertices[h][0];
4640         y2 = vertices[j][1] - vertices[h][1];
4641         if (x1 * x1 + y1 * y1 >= x2 * x2 + y2 * y2) {
4642           points[i].index = -1;
4643           continue;
4644         } else {
4645           points[u].index = -1;
4646         }
4647       }
4648       a = points[i].angle;
4649       u = i;
4650       v = j;
4651     }
4652
4653     // initialize the stack
4654     stack.push(h);
4655     for (i = 0, j = 0; i < 2; ++j) {
4656       if (points[j].index > -1) {
4657         stack.push(points[j].index);
4658         i++;
4659       }
4660     }
4661     sp = stack.length;
4662
4663     // do graham's scan
4664     for (; j < plen; ++j) {
4665       if (points[j].index < 0) continue; // skip tossed out points
4666       while (!d3_geom_hullCCW(stack[sp - 2], stack[sp - 1], points[j].index, vertices)) {
4667         --sp;
4668       }
4669       stack[sp++] = points[j].index;
4670     }
4671
4672     // construct the hull
4673     var poly = [];
4674     for (i = sp - 1; i >= 0; --i) poly.push(data[stack[i]]);
4675     return poly;
4676   }
4677
4678   hull.x = function(_) {
4679     return arguments.length ? (x = _, hull) : x;
4680   };
4681
4682   hull.y = function(_) {
4683     return arguments.length ? (y = _, hull) : y;
4684   };
4685
4686   return hull;
4687 };
4688
4689 // are three points in counter-clockwise order?
4690 function d3_geom_hullCCW(i1, i2, i3, v) {
4691   var t, a, b, c, d, e, f;
4692   t = v[i1]; a = t[0]; b = t[1];
4693   t = v[i2]; c = t[0]; d = t[1];
4694   t = v[i3]; e = t[0]; f = t[1];
4695   return (f - b) * (c - a) - (d - b) * (e - a) > 0;
4696 }
4697
4698 var d3_ease_default = function() { return d3_identity; };
4699
4700 var d3_ease = d3.map({
4701   linear: d3_ease_default,
4702   poly: d3_ease_poly,
4703   quad: function() { return d3_ease_quad; },
4704   cubic: function() { return d3_ease_cubic; },
4705   sin: function() { return d3_ease_sin; },
4706   exp: function() { return d3_ease_exp; },
4707   circle: function() { return d3_ease_circle; },
4708   elastic: d3_ease_elastic,
4709   back: d3_ease_back,
4710   bounce: function() { return d3_ease_bounce; }
4711 });
4712
4713 var d3_ease_mode = d3.map({
4714   "in": d3_identity,
4715   "out": d3_ease_reverse,
4716   "in-out": d3_ease_reflect,
4717   "out-in": function(f) { return d3_ease_reflect(d3_ease_reverse(f)); }
4718 });
4719
4720 d3.ease = function(name) {
4721   var i = name.indexOf("-"),
4722       t = i >= 0 ? name.substring(0, i) : name,
4723       m = i >= 0 ? name.substring(i + 1) : "in";
4724   t = d3_ease.get(t) || d3_ease_default;
4725   m = d3_ease_mode.get(m) || d3_identity;
4726   return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));
4727 };
4728
4729 function d3_ease_clamp(f) {
4730   return function(t) {
4731     return t <= 0 ? 0 : t >= 1 ? 1 : f(t);
4732   };
4733 }
4734
4735 function d3_ease_reverse(f) {
4736   return function(t) {
4737     return 1 - f(1 - t);
4738   };
4739 }
4740
4741 function d3_ease_reflect(f) {
4742   return function(t) {
4743     return .5 * (t < .5 ? f(2 * t) : (2 - f(2 - 2 * t)));
4744   };
4745 }
4746
4747 function d3_ease_quad(t) {
4748   return t * t;
4749 }
4750
4751 function d3_ease_cubic(t) {
4752   return t * t * t;
4753 }
4754
4755 // Optimized clamp(reflect(poly(3))).
4756 function d3_ease_cubicInOut(t) {
4757   if (t <= 0) return 0;
4758   if (t >= 1) return 1;
4759   var t2 = t * t, t3 = t2 * t;
4760   return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);
4761 }
4762
4763 function d3_ease_poly(e) {
4764   return function(t) {
4765     return Math.pow(t, e);
4766   };
4767 }
4768
4769 function d3_ease_sin(t) {
4770   return 1 - Math.cos(t * halfπ);
4771 }
4772
4773 function d3_ease_exp(t) {
4774   return Math.pow(2, 10 * (t - 1));
4775 }
4776
4777 function d3_ease_circle(t) {
4778   return 1 - Math.sqrt(1 - t * t);
4779 }
4780
4781 function d3_ease_elastic(a, p) {
4782   var s;
4783   if (arguments.length < 2) p = 0.45;
4784   if (arguments.length) s = p / τ * Math.asin(1 / a);
4785   else a = 1, s = p / 4;
4786   return function(t) {
4787     return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);
4788   };
4789 }
4790
4791 function d3_ease_back(s) {
4792   if (!s) s = 1.70158;
4793   return function(t) {
4794     return t * t * ((s + 1) * t - s);
4795   };
4796 }
4797
4798 function d3_ease_bounce(t) {
4799   return t < 1 / 2.75 ? 7.5625 * t * t
4800       : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75
4801       : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375
4802       : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
4803 }
4804
4805 function d3_transition(groups, id) {
4806   d3_subclass(groups, d3_transitionPrototype);
4807
4808   groups.id = id; // Note: read-only!
4809
4810   return groups;
4811 }
4812
4813 var d3_transitionPrototype = [],
4814     d3_transitionId = 0,
4815     d3_transitionInheritId,
4816     d3_transitionInherit;
4817
4818 d3_transitionPrototype.call = d3_selectionPrototype.call;
4819 d3_transitionPrototype.empty = d3_selectionPrototype.empty;
4820 d3_transitionPrototype.node = d3_selectionPrototype.node;
4821 d3_transitionPrototype.size = d3_selectionPrototype.size;
4822
4823 d3.transition = function(selection) {
4824   return arguments.length
4825       ? (d3_transitionInheritId ? selection.transition() : selection)
4826       : d3_selectionRoot.transition();
4827 };
4828
4829 d3.transition.prototype = d3_transitionPrototype;
4830
4831
4832 d3_transitionPrototype.select = function(selector) {
4833   var id = this.id,
4834       subgroups = [],
4835       subgroup,
4836       subnode,
4837       node;
4838
4839   selector = d3_selection_selector(selector);
4840
4841   for (var j = -1, m = this.length; ++j < m;) {
4842     subgroups.push(subgroup = []);
4843     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
4844       if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {
4845         if ("__data__" in node) subnode.__data__ = node.__data__;
4846         d3_transitionNode(subnode, i, id, node.__transition__[id]);
4847         subgroup.push(subnode);
4848       } else {
4849         subgroup.push(null);
4850       }
4851     }
4852   }
4853
4854   return d3_transition(subgroups, id);
4855 };
4856
4857 d3_transitionPrototype.selectAll = function(selector) {
4858   var id = this.id,
4859       subgroups = [],
4860       subgroup,
4861       subnodes,
4862       node,
4863       subnode,
4864       transition;
4865
4866   selector = d3_selection_selectorAll(selector);
4867
4868   for (var j = -1, m = this.length; ++j < m;) {
4869     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
4870       if (node = group[i]) {
4871         transition = node.__transition__[id];
4872         subnodes = selector.call(node, node.__data__, i, j);
4873         subgroups.push(subgroup = []);
4874         for (var k = -1, o = subnodes.length; ++k < o;) {
4875           if (subnode = subnodes[k]) d3_transitionNode(subnode, k, id, transition);
4876           subgroup.push(subnode);
4877         }
4878       }
4879     }
4880   }
4881
4882   return d3_transition(subgroups, id);
4883 };
4884
4885 d3_transitionPrototype.filter = function(filter) {
4886   var subgroups = [],
4887       subgroup,
4888       group,
4889       node;
4890
4891   if (typeof filter !== "function") filter = d3_selection_filter(filter);
4892
4893   for (var j = 0, m = this.length; j < m; j++) {
4894     subgroups.push(subgroup = []);
4895     for (var group = this[j], i = 0, n = group.length; i < n; i++) {
4896       if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {
4897         subgroup.push(node);
4898       }
4899     }
4900   }
4901
4902   return d3_transition(subgroups, this.id);
4903 };
4904 function d3_Color() {}
4905
4906 d3_Color.prototype.toString = function() {
4907   return this.rgb() + "";
4908 };
4909
4910 d3.hsl = function(h, s, l) {
4911   return arguments.length === 1
4912       ? (h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l)
4913       : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl))
4914       : d3_hsl(+h, +s, +l);
4915 };
4916
4917 function d3_hsl(h, s, l) {
4918   return new d3_Hsl(h, s, l);
4919 }
4920
4921 function d3_Hsl(h, s, l) {
4922   this.h = h;
4923   this.s = s;
4924   this.l = l;
4925 }
4926
4927 var d3_hslPrototype = d3_Hsl.prototype = new d3_Color;
4928
4929 d3_hslPrototype.brighter = function(k) {
4930   k = Math.pow(0.7, arguments.length ? k : 1);
4931   return d3_hsl(this.h, this.s, this.l / k);
4932 };
4933
4934 d3_hslPrototype.darker = function(k) {
4935   k = Math.pow(0.7, arguments.length ? k : 1);
4936   return d3_hsl(this.h, this.s, k * this.l);
4937 };
4938
4939 d3_hslPrototype.rgb = function() {
4940   return d3_hsl_rgb(this.h, this.s, this.l);
4941 };
4942
4943 function d3_hsl_rgb(h, s, l) {
4944   var m1,
4945       m2;
4946
4947   /* Some simple corrections for h, s and l. */
4948   h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;
4949   s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;
4950   l = l < 0 ? 0 : l > 1 ? 1 : l;
4951
4952   /* From FvD 13.37, CSS Color Module Level 3 */
4953   m2 = l <= .5 ? l * (1 + s) : l + s - l * s;
4954   m1 = 2 * l - m2;
4955
4956   function v(h) {
4957     if (h > 360) h -= 360;
4958     else if (h < 0) h += 360;
4959     if (h < 60) return m1 + (m2 - m1) * h / 60;
4960     if (h < 180) return m2;
4961     if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;
4962     return m1;
4963   }
4964
4965   function vv(h) {
4966     return Math.round(v(h) * 255);
4967   }
4968
4969   return d3_rgb(vv(h + 120), vv(h), vv(h - 120));
4970 }
4971
4972 d3.hcl = function(h, c, l) {
4973   return arguments.length === 1
4974       ? (h instanceof d3_Hcl ? d3_hcl(h.h, h.c, h.l)
4975       : (h instanceof d3_Lab ? d3_lab_hcl(h.l, h.a, h.b)
4976       : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b)))
4977       : d3_hcl(+h, +c, +l);
4978 };
4979
4980 function d3_hcl(h, c, l) {
4981   return new d3_Hcl(h, c, l);
4982 }
4983
4984 function d3_Hcl(h, c, l) {
4985   this.h = h;
4986   this.c = c;
4987   this.l = l;
4988 }
4989
4990 var d3_hclPrototype = d3_Hcl.prototype = new d3_Color;
4991
4992 d3_hclPrototype.brighter = function(k) {
4993   return d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));
4994 };
4995
4996 d3_hclPrototype.darker = function(k) {
4997   return d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));
4998 };
4999
5000 d3_hclPrototype.rgb = function() {
5001   return d3_hcl_lab(this.h, this.c, this.l).rgb();
5002 };
5003
5004 function d3_hcl_lab(h, c, l) {
5005   if (isNaN(h)) h = 0;
5006   if (isNaN(c)) c = 0;
5007   return d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);
5008 }
5009
5010 d3.lab = function(l, a, b) {
5011   return arguments.length === 1
5012       ? (l instanceof d3_Lab ? d3_lab(l.l, l.a, l.b)
5013       : (l instanceof d3_Hcl ? d3_hcl_lab(l.l, l.c, l.h)
5014       : d3_rgb_lab((l = d3.rgb(l)).r, l.g, l.b)))
5015       : d3_lab(+l, +a, +b);
5016 };
5017
5018 function d3_lab(l, a, b) {
5019   return new d3_Lab(l, a, b);
5020 }
5021
5022 function d3_Lab(l, a, b) {
5023   this.l = l;
5024   this.a = a;
5025   this.b = b;
5026 }
5027
5028 // Corresponds roughly to RGB brighter/darker
5029 var d3_lab_K = 18;
5030
5031 // D65 standard referent
5032 var d3_lab_X = 0.950470,
5033     d3_lab_Y = 1,
5034     d3_lab_Z = 1.088830;
5035
5036 var d3_labPrototype = d3_Lab.prototype = new d3_Color;
5037
5038 d3_labPrototype.brighter = function(k) {
5039   return d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
5040 };
5041
5042 d3_labPrototype.darker = function(k) {
5043   return d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
5044 };
5045
5046 d3_labPrototype.rgb = function() {
5047   return d3_lab_rgb(this.l, this.a, this.b);
5048 };
5049
5050 function d3_lab_rgb(l, a, b) {
5051   var y = (l + 16) / 116,
5052       x = y + a / 500,
5053       z = y - b / 200;
5054   x = d3_lab_xyz(x) * d3_lab_X;
5055   y = d3_lab_xyz(y) * d3_lab_Y;
5056   z = d3_lab_xyz(z) * d3_lab_Z;
5057   return d3_rgb(
5058     d3_xyz_rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z),
5059     d3_xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z),
5060     d3_xyz_rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z)
5061   );
5062 }
5063
5064 function d3_lab_hcl(l, a, b) {
5065   return l > 0
5066       ? d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l)
5067       : d3_hcl(NaN, NaN, l);
5068 }
5069
5070 function d3_lab_xyz(x) {
5071   return x > 0.206893034 ? x * x * x : (x - 4 / 29) / 7.787037;
5072 }
5073 function d3_xyz_lab(x) {
5074   return x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;
5075 }
5076
5077 function d3_xyz_rgb(r) {
5078   return Math.round(255 * (r <= 0.00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - 0.055));
5079 }
5080
5081 d3.rgb = function(r, g, b) {
5082   return arguments.length === 1
5083       ? (r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b)
5084       : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb))
5085       : d3_rgb(~~r, ~~g, ~~b);
5086 };
5087
5088 function d3_rgbNumber(value) {
5089   return d3_rgb(value >> 16, value >> 8 & 0xff, value & 0xff);
5090 }
5091
5092 function d3_rgbString(value) {
5093   return d3_rgbNumber(value) + "";
5094 }
5095
5096 function d3_rgb(r, g, b) {
5097   return new d3_Rgb(r, g, b);
5098 }
5099
5100 function d3_Rgb(r, g, b) {
5101   this.r = r;
5102   this.g = g;
5103   this.b = b;
5104 }
5105
5106 var d3_rgbPrototype = d3_Rgb.prototype = new d3_Color;
5107
5108 d3_rgbPrototype.brighter = function(k) {
5109   k = Math.pow(0.7, arguments.length ? k : 1);
5110   var r = this.r,
5111       g = this.g,
5112       b = this.b,
5113       i = 30;
5114   if (!r && !g && !b) return d3_rgb(i, i, i);
5115   if (r && r < i) r = i;
5116   if (g && g < i) g = i;
5117   if (b && b < i) b = i;
5118   return d3_rgb(Math.min(255, ~~(r / k)), Math.min(255, ~~(g / k)), Math.min(255, ~~(b / k)));
5119 };
5120
5121 d3_rgbPrototype.darker = function(k) {
5122   k = Math.pow(0.7, arguments.length ? k : 1);
5123   return d3_rgb(~~(k * this.r), ~~(k * this.g), ~~(k * this.b));
5124 };
5125
5126 d3_rgbPrototype.hsl = function() {
5127   return d3_rgb_hsl(this.r, this.g, this.b);
5128 };
5129
5130 d3_rgbPrototype.toString = function() {
5131   return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);
5132 };
5133
5134 function d3_rgb_hex(v) {
5135   return v < 0x10
5136       ? "0" + Math.max(0, v).toString(16)
5137       : Math.min(255, v).toString(16);
5138 }
5139
5140 function d3_rgb_parse(format, rgb, hsl) {
5141   var r = 0, // red channel; int in [0, 255]
5142       g = 0, // green channel; int in [0, 255]
5143       b = 0, // blue channel; int in [0, 255]
5144       m1, // CSS color specification match
5145       m2, // CSS color specification type (e.g., rgb)
5146       color;
5147
5148   /* Handle hsl, rgb. */
5149   m1 = /([a-z]+)\((.*)\)/i.exec(format);
5150   if (m1) {
5151     m2 = m1[2].split(",");
5152     switch (m1[1]) {
5153       case "hsl": {
5154         return hsl(
5155           parseFloat(m2[0]), // degrees
5156           parseFloat(m2[1]) / 100, // percentage
5157           parseFloat(m2[2]) / 100 // percentage
5158         );
5159       }
5160       case "rgb": {
5161         return rgb(
5162           d3_rgb_parseNumber(m2[0]),
5163           d3_rgb_parseNumber(m2[1]),
5164           d3_rgb_parseNumber(m2[2])
5165         );
5166       }
5167     }
5168   }
5169
5170   /* Named colors. */
5171   if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b);
5172
5173   /* Hexadecimal colors: #rgb and #rrggbb. */
5174   if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.substring(1), 16))) {
5175     if (format.length === 4) {
5176       r = (color & 0xf00) >> 4; r = (r >> 4) | r;
5177       g = (color & 0xf0); g = (g >> 4) | g;
5178       b = (color & 0xf); b = (b << 4) | b;
5179     } else if (format.length === 7) {
5180       r = (color & 0xff0000) >> 16;
5181       g = (color & 0xff00) >> 8;
5182       b = (color & 0xff);
5183     }
5184   }
5185
5186   return rgb(r, g, b);
5187 }
5188
5189 function d3_rgb_hsl(r, g, b) {
5190   var min = Math.min(r /= 255, g /= 255, b /= 255),
5191       max = Math.max(r, g, b),
5192       d = max - min,
5193       h,
5194       s,
5195       l = (max + min) / 2;
5196   if (d) {
5197     s = l < .5 ? d / (max + min) : d / (2 - max - min);
5198     if (r == max) h = (g - b) / d + (g < b ? 6 : 0);
5199     else if (g == max) h = (b - r) / d + 2;
5200     else h = (r - g) / d + 4;
5201     h *= 60;
5202   } else {
5203     h = NaN;
5204     s = l > 0 && l < 1 ? 0 : h;
5205   }
5206   return d3_hsl(h, s, l);
5207 }
5208
5209 function d3_rgb_lab(r, g, b) {
5210   r = d3_rgb_xyz(r);
5211   g = d3_rgb_xyz(g);
5212   b = d3_rgb_xyz(b);
5213   var x = d3_xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / d3_lab_X),
5214       y = d3_xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / d3_lab_Y),
5215       z = d3_xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / d3_lab_Z);
5216   return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));
5217 }
5218
5219 function d3_rgb_xyz(r) {
5220   return (r /= 255) <= 0.04045 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);
5221 }
5222
5223 function d3_rgb_parseNumber(c) { // either integer or percentage
5224   var f = parseFloat(c);
5225   return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f;
5226 }
5227
5228 var d3_rgb_names = d3.map({
5229   aliceblue: 0xf0f8ff,
5230   antiquewhite: 0xfaebd7,
5231   aqua: 0x00ffff,
5232   aquamarine: 0x7fffd4,
5233   azure: 0xf0ffff,
5234   beige: 0xf5f5dc,
5235   bisque: 0xffe4c4,
5236   black: 0x000000,
5237   blanchedalmond: 0xffebcd,
5238   blue: 0x0000ff,
5239   blueviolet: 0x8a2be2,
5240   brown: 0xa52a2a,
5241   burlywood: 0xdeb887,
5242   cadetblue: 0x5f9ea0,
5243   chartreuse: 0x7fff00,
5244   chocolate: 0xd2691e,
5245   coral: 0xff7f50,
5246   cornflowerblue: 0x6495ed,
5247   cornsilk: 0xfff8dc,
5248   crimson: 0xdc143c,
5249   cyan: 0x00ffff,
5250   darkblue: 0x00008b,
5251   darkcyan: 0x008b8b,
5252   darkgoldenrod: 0xb8860b,
5253   darkgray: 0xa9a9a9,
5254   darkgreen: 0x006400,
5255   darkgrey: 0xa9a9a9,
5256   darkkhaki: 0xbdb76b,
5257   darkmagenta: 0x8b008b,
5258   darkolivegreen: 0x556b2f,
5259   darkorange: 0xff8c00,
5260   darkorchid: 0x9932cc,
5261   darkred: 0x8b0000,
5262   darksalmon: 0xe9967a,
5263   darkseagreen: 0x8fbc8f,
5264   darkslateblue: 0x483d8b,
5265   darkslategray: 0x2f4f4f,
5266   darkslategrey: 0x2f4f4f,
5267   darkturquoise: 0x00ced1,
5268   darkviolet: 0x9400d3,
5269   deeppink: 0xff1493,
5270   deepskyblue: 0x00bfff,
5271   dimgray: 0x696969,
5272   dimgrey: 0x696969,
5273   dodgerblue: 0x1e90ff,
5274   firebrick: 0xb22222,
5275   floralwhite: 0xfffaf0,
5276   forestgreen: 0x228b22,
5277   fuchsia: 0xff00ff,
5278   gainsboro: 0xdcdcdc,
5279   ghostwhite: 0xf8f8ff,
5280   gold: 0xffd700,
5281   goldenrod: 0xdaa520,
5282   gray: 0x808080,
5283   green: 0x008000,
5284   greenyellow: 0xadff2f,
5285   grey: 0x808080,
5286   honeydew: 0xf0fff0,
5287   hotpink: 0xff69b4,
5288   indianred: 0xcd5c5c,
5289   indigo: 0x4b0082,
5290   ivory: 0xfffff0,
5291   khaki: 0xf0e68c,
5292   lavender: 0xe6e6fa,
5293   lavenderblush: 0xfff0f5,
5294   lawngreen: 0x7cfc00,
5295   lemonchiffon: 0xfffacd,
5296   lightblue: 0xadd8e6,
5297   lightcoral: 0xf08080,
5298   lightcyan: 0xe0ffff,
5299   lightgoldenrodyellow: 0xfafad2,
5300   lightgray: 0xd3d3d3,
5301   lightgreen: 0x90ee90,
5302   lightgrey: 0xd3d3d3,
5303   lightpink: 0xffb6c1,
5304   lightsalmon: 0xffa07a,
5305   lightseagreen: 0x20b2aa,
5306   lightskyblue: 0x87cefa,
5307   lightslategray: 0x778899,
5308   lightslategrey: 0x778899,
5309   lightsteelblue: 0xb0c4de,
5310   lightyellow: 0xffffe0,
5311   lime: 0x00ff00,
5312   limegreen: 0x32cd32,
5313   linen: 0xfaf0e6,
5314   magenta: 0xff00ff,
5315   maroon: 0x800000,
5316   mediumaquamarine: 0x66cdaa,
5317   mediumblue: 0x0000cd,
5318   mediumorchid: 0xba55d3,
5319   mediumpurple: 0x9370db,
5320   mediumseagreen: 0x3cb371,
5321   mediumslateblue: 0x7b68ee,
5322   mediumspringgreen: 0x00fa9a,
5323   mediumturquoise: 0x48d1cc,
5324   mediumvioletred: 0xc71585,
5325   midnightblue: 0x191970,
5326   mintcream: 0xf5fffa,
5327   mistyrose: 0xffe4e1,
5328   moccasin: 0xffe4b5,
5329   navajowhite: 0xffdead,
5330   navy: 0x000080,
5331   oldlace: 0xfdf5e6,
5332   olive: 0x808000,
5333   olivedrab: 0x6b8e23,
5334   orange: 0xffa500,
5335   orangered: 0xff4500,
5336   orchid: 0xda70d6,
5337   palegoldenrod: 0xeee8aa,
5338   palegreen: 0x98fb98,
5339   paleturquoise: 0xafeeee,
5340   palevioletred: 0xdb7093,
5341   papayawhip: 0xffefd5,
5342   peachpuff: 0xffdab9,
5343   peru: 0xcd853f,
5344   pink: 0xffc0cb,
5345   plum: 0xdda0dd,
5346   powderblue: 0xb0e0e6,
5347   purple: 0x800080,
5348   red: 0xff0000,
5349   rosybrown: 0xbc8f8f,
5350   royalblue: 0x4169e1,
5351   saddlebrown: 0x8b4513,
5352   salmon: 0xfa8072,
5353   sandybrown: 0xf4a460,
5354   seagreen: 0x2e8b57,
5355   seashell: 0xfff5ee,
5356   sienna: 0xa0522d,
5357   silver: 0xc0c0c0,
5358   skyblue: 0x87ceeb,
5359   slateblue: 0x6a5acd,
5360   slategray: 0x708090,
5361   slategrey: 0x708090,
5362   snow: 0xfffafa,
5363   springgreen: 0x00ff7f,
5364   steelblue: 0x4682b4,
5365   tan: 0xd2b48c,
5366   teal: 0x008080,
5367   thistle: 0xd8bfd8,
5368   tomato: 0xff6347,
5369   turquoise: 0x40e0d0,
5370   violet: 0xee82ee,
5371   wheat: 0xf5deb3,
5372   white: 0xffffff,
5373   whitesmoke: 0xf5f5f5,
5374   yellow: 0xffff00,
5375   yellowgreen: 0x9acd32
5376 });
5377
5378 d3_rgb_names.forEach(function(key, value) {
5379   d3_rgb_names.set(key, d3_rgbNumber(value));
5380 });
5381
5382 d3.interpolateRgb = d3_interpolateRgb;
5383
5384 function d3_interpolateRgb(a, b) {
5385   a = d3.rgb(a);
5386   b = d3.rgb(b);
5387   var ar = a.r,
5388       ag = a.g,
5389       ab = a.b,
5390       br = b.r - ar,
5391       bg = b.g - ag,
5392       bb = b.b - ab;
5393   return function(t) {
5394     return "#"
5395         + d3_rgb_hex(Math.round(ar + br * t))
5396         + d3_rgb_hex(Math.round(ag + bg * t))
5397         + d3_rgb_hex(Math.round(ab + bb * t));
5398   };
5399 }
5400
5401 d3.interpolateObject = d3_interpolateObject;
5402
5403 function d3_interpolateObject(a, b) {
5404   var i = {},
5405       c = {},
5406       k;
5407   for (k in a) {
5408     if (k in b) {
5409       i[k] = d3_interpolate(a[k], b[k]);
5410     } else {
5411       c[k] = a[k];
5412     }
5413   }
5414   for (k in b) {
5415     if (!(k in a)) {
5416       c[k] = b[k];
5417     }
5418   }
5419   return function(t) {
5420     for (k in i) c[k] = i[k](t);
5421     return c;
5422   };
5423 }
5424
5425 d3.interpolateArray = d3_interpolateArray;
5426
5427 function d3_interpolateArray(a, b) {
5428   var x = [],
5429       c = [],
5430       na = a.length,
5431       nb = b.length,
5432       n0 = Math.min(a.length, b.length),
5433       i;
5434   for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));
5435   for (; i < na; ++i) c[i] = a[i];
5436   for (; i < nb; ++i) c[i] = b[i];
5437   return function(t) {
5438     for (i = 0; i < n0; ++i) c[i] = x[i](t);
5439     return c;
5440   };
5441 }
5442 d3.interpolateNumber = d3_interpolateNumber;
5443
5444 function d3_interpolateNumber(a, b) {
5445   b -= a = +a;
5446   return function(t) { return a + b * t; };
5447 }
5448
5449 d3.interpolateString = d3_interpolateString;
5450
5451 function d3_interpolateString(a, b) {
5452   var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, // scan index for next number in b
5453       am, // current match in a
5454       bm, // current match in b
5455       bs, // string preceding current number in b, if any
5456       i = -1, // index in s
5457       s = [], // string constants and placeholders
5458       q = []; // number interpolators
5459
5460   // Coerce inputs to strings.
5461   a = a + "", b = b + "";
5462
5463   // Interpolate pairs of numbers in a & b.
5464   while ((am = d3_interpolate_numberA.exec(a))
5465       && (bm = d3_interpolate_numberB.exec(b))) {
5466     if ((bs = bm.index) > bi) { // a string precedes the next number in b
5467       bs = b.substring(bi, bs);
5468       if (s[i]) s[i] += bs; // coalesce with previous string
5469       else s[++i] = bs;
5470     }
5471     if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
5472       if (s[i]) s[i] += bm; // coalesce with previous string
5473       else s[++i] = bm;
5474     } else { // interpolate non-matching numbers
5475       s[++i] = null;
5476       q.push({i: i, x: d3_interpolateNumber(am, bm)});
5477     }
5478     bi = d3_interpolate_numberB.lastIndex;
5479   }
5480
5481   // Add remains of b.
5482   if (bi < b.length) {
5483     bs = b.substring(bi);
5484     if (s[i]) s[i] += bs; // coalesce with previous string
5485     else s[++i] = bs;
5486   }
5487
5488   // Special optimization for only a single match.
5489   // Otherwise, interpolate each of the numbers and rejoin the string.
5490   return s.length < 2
5491       ? (q[0] ? (b = q[0].x, function(t) { return b(t) + ""; })
5492       : function() { return b; })
5493       : (b = q.length, function(t) {
5494           for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
5495           return s.join("");
5496         });
5497 }
5498
5499 var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
5500     d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g");
5501
5502 d3.interpolate = d3_interpolate;
5503
5504 function d3_interpolate(a, b) {
5505   var i = d3.interpolators.length, f;
5506   while (--i >= 0 && !(f = d3.interpolators[i](a, b)));
5507   return f;
5508 }
5509
5510 d3.interpolators = [
5511   function(a, b) {
5512     var t = typeof b;
5513     return (t === "string" ? (d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString)
5514         : b instanceof d3_Color ? d3_interpolateRgb
5515         : Array.isArray(b) ? d3_interpolateArray
5516         : t === "object" && isNaN(b) ? d3_interpolateObject
5517         : d3_interpolateNumber)(a, b);
5518   }
5519 ];
5520
5521 d3.transform = function(string) {
5522   var g = d3_document.createElementNS(d3.ns.prefix.svg, "g");
5523   return (d3.transform = function(string) {
5524     if (string != null) {
5525       g.setAttribute("transform", string);
5526       var t = g.transform.baseVal.consolidate();
5527     }
5528     return new d3_transform(t ? t.matrix : d3_transformIdentity);
5529   })(string);
5530 };
5531
5532 // Compute x-scale and normalize the first row.
5533 // Compute shear and make second row orthogonal to first.
5534 // Compute y-scale and normalize the second row.
5535 // Finally, compute the rotation.
5536 function d3_transform(m) {
5537   var r0 = [m.a, m.b],
5538       r1 = [m.c, m.d],
5539       kx = d3_transformNormalize(r0),
5540       kz = d3_transformDot(r0, r1),
5541       ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;
5542   if (r0[0] * r1[1] < r1[0] * r0[1]) {
5543     r0[0] *= -1;
5544     r0[1] *= -1;
5545     kx *= -1;
5546     kz *= -1;
5547   }
5548   this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;
5549   this.translate = [m.e, m.f];
5550   this.scale = [kx, ky];
5551   this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;
5552 };
5553
5554 d3_transform.prototype.toString = function() {
5555   return "translate(" + this.translate
5556       + ")rotate(" + this.rotate
5557       + ")skewX(" + this.skew
5558       + ")scale(" + this.scale
5559       + ")";
5560 };
5561
5562 function d3_transformDot(a, b) {
5563   return a[0] * b[0] + a[1] * b[1];
5564 }
5565
5566 function d3_transformNormalize(a) {
5567   var k = Math.sqrt(d3_transformDot(a, a));
5568   if (k) {
5569     a[0] /= k;
5570     a[1] /= k;
5571   }
5572   return k;
5573 }
5574
5575 function d3_transformCombine(a, b, k) {
5576   a[0] += k * b[0];
5577   a[1] += k * b[1];
5578   return a;
5579 }
5580
5581 var d3_transformIdentity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0};
5582
5583 d3.interpolateTransform = d3_interpolateTransform;
5584
5585 function d3_interpolateTransform(a, b) {
5586   var s = [], // string constants and placeholders
5587       q = [], // number interpolators
5588       n,
5589       A = d3.transform(a),
5590       B = d3.transform(b),
5591       ta = A.translate,
5592       tb = B.translate,
5593       ra = A.rotate,
5594       rb = B.rotate,
5595       wa = A.skew,
5596       wb = B.skew,
5597       ka = A.scale,
5598       kb = B.scale;
5599
5600   if (ta[0] != tb[0] || ta[1] != tb[1]) {
5601     s.push("translate(", null, ",", null, ")");
5602     q.push({i: 1, x: d3_interpolateNumber(ta[0], tb[0])}, {i: 3, x: d3_interpolateNumber(ta[1], tb[1])});
5603   } else if (tb[0] || tb[1]) {
5604     s.push("translate(" + tb + ")");
5605   } else {
5606     s.push("");
5607   }
5608
5609   if (ra != rb) {
5610     if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; // shortest path
5611     q.push({i: s.push(s.pop() + "rotate(", null, ")") - 2, x: d3_interpolateNumber(ra, rb)});
5612   } else if (rb) {
5613     s.push(s.pop() + "rotate(" + rb + ")");
5614   }
5615
5616   if (wa != wb) {
5617     q.push({i: s.push(s.pop() + "skewX(", null, ")") - 2, x: d3_interpolateNumber(wa, wb)});
5618   } else if (wb) {
5619     s.push(s.pop() + "skewX(" + wb + ")");
5620   }
5621
5622   if (ka[0] != kb[0] || ka[1] != kb[1]) {
5623     n = s.push(s.pop() + "scale(", null, ",", null, ")");
5624     q.push({i: n - 4, x: d3_interpolateNumber(ka[0], kb[0])}, {i: n - 2, x: d3_interpolateNumber(ka[1], kb[1])});
5625   } else if (kb[0] != 1 || kb[1] != 1) {
5626     s.push(s.pop() + "scale(" + kb + ")");
5627   }
5628
5629   n = q.length;
5630   return function(t) {
5631     var i = -1, o;
5632     while (++i < n) s[(o = q[i]).i] = o.x(t);
5633     return s.join("");
5634   };
5635 }
5636
5637 d3_transitionPrototype.tween = function(name, tween) {
5638   var id = this.id;
5639   if (arguments.length < 2) return this.node().__transition__[id].tween.get(name);
5640   return d3_selection_each(this, tween == null
5641         ? function(node) { node.__transition__[id].tween.remove(name); }
5642         : function(node) { node.__transition__[id].tween.set(name, tween); });
5643 };
5644
5645 function d3_transition_tween(groups, name, value, tween) {
5646   var id = groups.id;
5647   return d3_selection_each(groups, typeof value === "function"
5648       ? function(node, i, j) { node.__transition__[id].tween.set(name, tween(value.call(node, node.__data__, i, j))); }
5649       : (value = tween(value), function(node) { node.__transition__[id].tween.set(name, value); }));
5650 }
5651
5652 d3_transitionPrototype.attr = function(nameNS, value) {
5653   if (arguments.length < 2) {
5654
5655     // For attr(object), the object specifies the names and values of the
5656     // attributes to transition. The values may be functions that are
5657     // evaluated for each element.
5658     for (value in nameNS) this.attr(value, nameNS[value]);
5659     return this;
5660   }
5661
5662   var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate,
5663       name = d3.ns.qualify(nameNS);
5664
5665   // For attr(string, null), remove the attribute with the specified name.
5666   function attrNull() {
5667     this.removeAttribute(name);
5668   }
5669   function attrNullNS() {
5670     this.removeAttributeNS(name.space, name.local);
5671   }
5672
5673   // For attr(string, string), set the attribute with the specified name.
5674   function attrTween(b) {
5675     return b == null ? attrNull : (b += "", function() {
5676       var a = this.getAttribute(name), i;
5677       return a !== b && (i = interpolate(a, b), function(t) { this.setAttribute(name, i(t)); });
5678     });
5679   }
5680   function attrTweenNS(b) {
5681     return b == null ? attrNullNS : (b += "", function() {
5682       var a = this.getAttributeNS(name.space, name.local), i;
5683       return a !== b && (i = interpolate(a, b), function(t) { this.setAttributeNS(name.space, name.local, i(t)); });
5684     });
5685   }
5686
5687   return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween);
5688 };
5689
5690 d3_transitionPrototype.attrTween = function(nameNS, tween) {
5691   var name = d3.ns.qualify(nameNS);
5692
5693   function attrTween(d, i) {
5694     var f = tween.call(this, d, i, this.getAttribute(name));
5695     return f && function(t) { this.setAttribute(name, f(t)); };
5696   }
5697   function attrTweenNS(d, i) {
5698     var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));
5699     return f && function(t) { this.setAttributeNS(name.space, name.local, f(t)); };
5700   }
5701
5702   return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween);
5703 };
5704
5705 d3_transitionPrototype.style = function(name, value, priority) {
5706   var n = arguments.length;
5707   if (n < 3) {
5708
5709     // For style(object) or style(object, string), the object specifies the
5710     // names and values of the attributes to set or remove. The values may be
5711     // functions that are evaluated for each element. The optional string
5712     // specifies the priority.
5713     if (typeof name !== "string") {
5714       if (n < 2) value = "";
5715       for (priority in name) this.style(priority, name[priority], value);
5716       return this;
5717     }
5718
5719     // For style(string, string) or style(string, function), use the default
5720     // priority. The priority is ignored for style(string, null).
5721     priority = "";
5722   }
5723
5724   // For style(name, null) or style(name, null, priority), remove the style
5725   // property with the specified name. The priority is ignored.
5726   function styleNull() {
5727     this.style.removeProperty(name);
5728   }
5729
5730   // For style(name, string) or style(name, string, priority), set the style
5731   // property with the specified name, using the specified priority.
5732   // Otherwise, a name, value and priority are specified, and handled as below.
5733   function styleString(b) {
5734     return b == null ? styleNull : (b += "", function() {
5735       var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i;
5736       return a !== b && (i = d3_interpolate(a, b), function(t) { this.style.setProperty(name, i(t), priority); });
5737     });
5738   }
5739
5740   return d3_transition_tween(this, "style." + name, value, styleString);
5741 };
5742
5743 d3_transitionPrototype.styleTween = function(name, tween, priority) {
5744   if (arguments.length < 3) priority = "";
5745
5746   function styleTween(d, i) {
5747     var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name));
5748     return f && function(t) { this.style.setProperty(name, f(t), priority); };
5749   }
5750
5751   return this.tween("style." + name, styleTween);
5752 };
5753
5754 d3_transitionPrototype.text = function(value) {
5755   return d3_transition_tween(this, "text", value, d3_transition_text);
5756 };
5757
5758 function d3_transition_text(b) {
5759   if (b == null) b = "";
5760   return function() { this.textContent = b; };
5761 }
5762
5763 d3_transitionPrototype.remove = function() {
5764   return this.each("end.transition", function() {
5765     var p;
5766     if (this.__transition__.count < 2 && (p = this.parentNode)) p.removeChild(this);
5767   });
5768 };
5769
5770 d3_transitionPrototype.ease = function(value) {
5771   var id = this.id;
5772   if (arguments.length < 1) return this.node().__transition__[id].ease;
5773   if (typeof value !== "function") value = d3.ease.apply(d3, arguments);
5774   return d3_selection_each(this, function(node) { node.__transition__[id].ease = value; });
5775 };
5776
5777 d3_transitionPrototype.delay = function(value) {
5778   var id = this.id;
5779   if (arguments.length < 1) return this.node().__transition__[id].delay;
5780   return d3_selection_each(this, typeof value === "function"
5781       ? function(node, i, j) { node.__transition__[id].delay = +value.call(node, node.__data__, i, j); }
5782       : (value = +value, function(node) { node.__transition__[id].delay = value; }));
5783 };
5784
5785 d3_transitionPrototype.duration = function(value) {
5786   var id = this.id;
5787   if (arguments.length < 1) return this.node().__transition__[id].duration;
5788   return d3_selection_each(this, typeof value === "function"
5789       ? function(node, i, j) { node.__transition__[id].duration = Math.max(1, value.call(node, node.__data__, i, j)); }
5790       : (value = Math.max(1, value), function(node) { node.__transition__[id].duration = value; }));
5791 };
5792
5793 d3_transitionPrototype.each = function(type, listener) {
5794   var id = this.id;
5795   if (arguments.length < 2) {
5796     var inherit = d3_transitionInherit,
5797         inheritId = d3_transitionInheritId;
5798     d3_transitionInheritId = id;
5799     d3_selection_each(this, function(node, i, j) {
5800       d3_transitionInherit = node.__transition__[id];
5801       type.call(node, node.__data__, i, j);
5802     });
5803     d3_transitionInherit = inherit;
5804     d3_transitionInheritId = inheritId;
5805   } else {
5806     d3_selection_each(this, function(node) {
5807       var transition = node.__transition__[id];
5808       (transition.event || (transition.event = d3.dispatch("start", "end"))).on(type, listener);
5809     });
5810   }
5811   return this;
5812 };
5813
5814 d3_transitionPrototype.transition = function() {
5815   var id0 = this.id,
5816       id1 = ++d3_transitionId,
5817       subgroups = [],
5818       subgroup,
5819       group,
5820       node,
5821       transition;
5822
5823   for (var j = 0, m = this.length; j < m; j++) {
5824     subgroups.push(subgroup = []);
5825     for (var group = this[j], i = 0, n = group.length; i < n; i++) {
5826       if (node = group[i]) {
5827         transition = Object.create(node.__transition__[id0]);
5828         transition.delay += transition.duration;
5829         d3_transitionNode(node, i, id1, transition);
5830       }
5831       subgroup.push(node);
5832     }
5833   }
5834
5835   return d3_transition(subgroups, id1);
5836 };
5837
5838 function d3_transitionNode(node, i, id, inherit) {
5839   var lock = node.__transition__ || (node.__transition__ = {active: 0, count: 0}),
5840       transition = lock[id];
5841
5842   if (!transition) {
5843     var time = inherit.time;
5844
5845     transition = lock[id] = {
5846       tween: new d3_Map,
5847       time: time,
5848       ease: inherit.ease,
5849       delay: inherit.delay,
5850       duration: inherit.duration
5851     };
5852
5853     ++lock.count;
5854
5855     d3.timer(function(elapsed) {
5856       var d = node.__data__,
5857           ease = transition.ease,
5858           delay = transition.delay,
5859           duration = transition.duration,
5860           timer = d3_timer_active,
5861           tweened = [];
5862
5863       timer.t = delay + time;
5864       if (delay <= elapsed) return start(elapsed - delay);
5865       timer.c = start;
5866
5867       function start(elapsed) {
5868         if (lock.active > id) return stop();
5869         lock.active = id;
5870         transition.event && transition.event.start.call(node, d, i);
5871
5872         transition.tween.forEach(function(key, value) {
5873           if (value = value.call(node, d, i)) {
5874             tweened.push(value);
5875           }
5876         });
5877
5878         d3.timer(function() { // defer to end of current frame
5879           timer.c = tick(elapsed || 1) ? d3_true : tick;
5880           return 1;
5881         }, 0, time);
5882       }
5883
5884       function tick(elapsed) {
5885         if (lock.active !== id) return stop();
5886
5887         var t = elapsed / duration,
5888             e = ease(t),
5889             n = tweened.length;
5890
5891         while (n > 0) {
5892           tweened[--n].call(node, e);
5893         }
5894
5895         if (t >= 1) {
5896           transition.event && transition.event.end.call(node, d, i);
5897           return stop();
5898         }
5899       }
5900
5901       function stop() {
5902         if (--lock.count) delete lock[id];
5903         else delete node.__transition__;
5904         return 1;
5905       }
5906     }, 0, time);
5907   }
5908 }
5909
5910 d3.xhr = d3_xhrType(d3_identity);
5911
5912 function d3_xhrType(response) {
5913   return function(url, mimeType, callback) {
5914     if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, mimeType = null;
5915     return d3_xhr(url, mimeType, response, callback);
5916   };
5917 }
5918
5919 function d3_xhr(url, mimeType, response, callback) {
5920   var xhr = {},
5921       dispatch = d3.dispatch("beforesend", "progress", "load", "error"),
5922       headers = {},
5923       request = new XMLHttpRequest,
5924       responseType = null;
5925
5926   // If IE does not support CORS, use XDomainRequest.
5927   if (d3_window.XDomainRequest
5928       && !("withCredentials" in request)
5929       && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest;
5930
5931   "onload" in request
5932       ? request.onload = request.onerror = respond
5933       : request.onreadystatechange = function() { request.readyState > 3 && respond(); };
5934
5935   function respond() {
5936     var status = request.status, result;
5937     if (!status && request.responseText || status >= 200 && status < 300 || status === 304) {
5938       try {
5939         result = response.call(xhr, request);
5940       } catch (e) {
5941         dispatch.error.call(xhr, e);
5942         return;
5943       }
5944       dispatch.load.call(xhr, result);
5945     } else {
5946       dispatch.error.call(xhr, request);
5947     }
5948   }
5949
5950   request.onprogress = function(event) {
5951     var o = d3.event;
5952     d3.event = event;
5953     try { dispatch.progress.call(xhr, request); }
5954     finally { d3.event = o; }
5955   };
5956
5957   xhr.header = function(name, value) {
5958     name = (name + "").toLowerCase();
5959     if (arguments.length < 2) return headers[name];
5960     if (value == null) delete headers[name];
5961     else headers[name] = value + "";
5962     return xhr;
5963   };
5964
5965   // If mimeType is non-null and no Accept header is set, a default is used.
5966   xhr.mimeType = function(value) {
5967     if (!arguments.length) return mimeType;
5968     mimeType = value == null ? null : value + "";
5969     return xhr;
5970   };
5971
5972   // Specifies what type the response value should take;
5973   // for instance, arraybuffer, blob, document, or text.
5974   xhr.responseType = function(value) {
5975     if (!arguments.length) return responseType;
5976     responseType = value;
5977     return xhr;
5978   };
5979
5980   // Specify how to convert the response content to a specific type;
5981   // changes the callback value on "load" events.
5982   xhr.response = function(value) {
5983     response = value;
5984     return xhr;
5985   };
5986
5987   // Convenience methods.
5988   ["get", "post"].forEach(function(method) {
5989     xhr[method] = function() {
5990       return xhr.send.apply(xhr, [method].concat(d3_array(arguments)));
5991     };
5992   });
5993
5994   // If callback is non-null, it will be used for error and load events.
5995   xhr.send = function(method, data, callback) {
5996     if (arguments.length === 2 && typeof data === "function") callback = data, data = null;
5997     request.open(method, url, true);
5998     if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*";
5999     if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);
6000     if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);
6001     if (responseType != null) request.responseType = responseType;
6002     if (callback != null) xhr.on("error", callback).on("load", function(request) { callback(null, request); });
6003     dispatch.beforesend.call(xhr, request);
6004     request.send(data == null ? null : data);
6005     return xhr;
6006   };
6007
6008   xhr.abort = function() {
6009     request.abort();
6010     return xhr;
6011   };
6012
6013   d3.rebind(xhr, dispatch, "on");
6014
6015   return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));
6016 };
6017
6018 function d3_xhr_fixCallback(callback) {
6019   return callback.length === 1
6020       ? function(error, request) { callback(error == null ? request : null); }
6021       : callback;
6022 }
6023
6024 d3.text = d3_xhrType(function(request) {
6025   return request.responseText;
6026 });
6027
6028 d3.json = function(url, callback) {
6029   return d3_xhr(url, "application/json", d3_json, callback);
6030 };
6031
6032 function d3_json(request) {
6033   return JSON.parse(request.responseText);
6034 }
6035
6036 d3.html = function(url, callback) {
6037   return d3_xhr(url, "text/html", d3_html, callback);
6038 };
6039
6040 function d3_html(request) {
6041   var range = d3_document.createRange();
6042   range.selectNode(d3_document.body);
6043   return range.createContextualFragment(request.responseText);
6044 }
6045
6046 d3.xml = d3_xhrType(function(request) {
6047   return request.responseXML;
6048 });
6049   if (typeof define === "function" && define.amd) {
6050     define(d3);
6051   } else if (typeof module === "object" && module.exports) {
6052     module.exports = d3;
6053   } else {
6054     this.d3 = d3;
6055   }
6056 }();
6057 d3.combobox = function() {
6058     var event = d3.dispatch('accept'),
6059         data = [],
6060         suggestions = [],
6061         minItems = 2;
6062
6063     var fetcher = function(val, cb) {
6064         cb(data.filter(function(d) {
6065             return d.value
6066                 .toString()
6067                 .toLowerCase()
6068                 .indexOf(val.toLowerCase()) !== -1;
6069         }));
6070     };
6071
6072     var combobox = function(input) {
6073         var idx = -1,
6074             container = d3.select(document.body)
6075                 .selectAll('div.combobox')
6076                 .filter(function(d) { return d === input.node(); }),
6077             shown = !container.empty();
6078
6079         input
6080             .classed('combobox-input', true)
6081             .on('focus.typeahead', focus)
6082             .on('blur.typeahead', blur)
6083             .on('keydown.typeahead', keydown)
6084             .on('keyup.typeahead', keyup)
6085             .on('input.typeahead', change)
6086             .each(function() {
6087                 var parent = this.parentNode,
6088                     sibling = this.nextSibling;
6089
6090                 var caret = d3.select(parent).selectAll('.combobox-caret')
6091                     .filter(function(d) { return d === input.node(); })
6092                     .data([input.node()]);
6093
6094                 caret.enter().insert('div', function() { return sibling; })
6095                     .attr('class', 'combobox-caret');
6096
6097                 caret
6098                     .on('mousedown', function () {
6099                         // prevent the form element from blurring. it blurs
6100                         // on mousedown
6101                         d3.event.stopPropagation();
6102                         d3.event.preventDefault();
6103                         if (!shown) {
6104                             input.node().focus();
6105                             fetch('', render);
6106                         } else {
6107                             hide();
6108                         }
6109                     });
6110             });
6111
6112         function focus() {
6113             fetch(value(), render);
6114         }
6115
6116         function blur() {
6117             window.setTimeout(hide, 150);
6118         }
6119
6120         function show() {
6121             if (!shown) {
6122                 container = d3.select(document.body)
6123                     .insert('div', ':first-child')
6124                     .datum(input.node())
6125                     .attr('class', 'combobox')
6126                     .style({
6127                         position: 'absolute',
6128                         display: 'block',
6129                         left: '0px'
6130                     })
6131                     .on('mousedown', function () {
6132                         // prevent moving focus out of the text field
6133                         d3.event.preventDefault();
6134                     });
6135
6136                 d3.select(document.body)
6137                     .on('scroll.combobox', render, true);
6138
6139                 shown = true;
6140             }
6141         }
6142
6143         function hide() {
6144             if (shown) {
6145                 idx = -1;
6146                 container.remove();
6147
6148                 d3.select(document.body)
6149                     .on('scroll.combobox', null);
6150
6151                 shown = false;
6152             }
6153         }
6154
6155         function keydown() {
6156            switch (d3.event.keyCode) {
6157                // backspace, delete
6158                case 8:
6159                case 46:
6160                    input.on('input.typeahead', function() {
6161                        idx = -1;
6162                        render();
6163                        var start = input.property('selectionStart');
6164                        input.node().setSelectionRange(start, start);
6165                        input.on('input.typeahead', change);
6166                    });
6167                    break;
6168                // tab
6169                case 9:
6170                    container.selectAll('a.selected').each(event.accept);
6171                    break;
6172                // return
6173                case 13:
6174                    d3.event.preventDefault();
6175                    break;
6176                // up arrow
6177                case 38:
6178                    nav(-1);
6179                    d3.event.preventDefault();
6180                    break;
6181                // down arrow
6182                case 40:
6183                    nav(+1);
6184                    d3.event.preventDefault();
6185                    break;
6186            }
6187            d3.event.stopPropagation();
6188         }
6189
6190         function keyup() {
6191             switch (d3.event.keyCode) {
6192                 // escape
6193                 case 27:
6194                     hide();
6195                     break;
6196                 // return
6197                 case 13:
6198                     container.selectAll('a.selected').each(event.accept);
6199                     hide();
6200                     break;
6201             }
6202         }
6203
6204         function change() {
6205             fetch(value(), function() {
6206                 autocomplete();
6207                 render();
6208             });
6209         }
6210
6211         function nav(dir) {
6212             idx = Math.max(Math.min(idx + dir, suggestions.length - 1), 0);
6213             input.property('value', suggestions[idx].value);
6214             render();
6215             ensureVisible();
6216         }
6217
6218         function value() {
6219             var value = input.property('value'),
6220                 start = input.property('selectionStart'),
6221                 end = input.property('selectionEnd');
6222
6223             if (start && end) {
6224                 value = value.substring(0, start);
6225             }
6226
6227             return value;
6228         }
6229
6230         function fetch(v, cb) {
6231             fetcher.call(input, v, function(_) {
6232                 suggestions = _;
6233                 cb();
6234             });
6235         }
6236
6237         function autocomplete() {
6238             var v = value();
6239
6240             idx = -1;
6241
6242             if (!v) return;
6243
6244             for (var i = 0; i < suggestions.length; i++) {
6245                 if (suggestions[i].value.toLowerCase().indexOf(v.toLowerCase()) === 0) {
6246                     var completion = v + suggestions[i].value.substr(v.length);
6247                     idx = i;
6248                     input.property('value', completion);
6249                     input.node().setSelectionRange(v.length, completion.length);
6250                     return;
6251                 }
6252             }
6253         }
6254
6255         function render() {
6256             if (suggestions.length >= minItems && document.activeElement === input.node()) {
6257                 show();
6258             } else {
6259                 hide();
6260                 return;
6261             }
6262
6263             var options = container
6264                 .selectAll('a.combobox-option')
6265                 .data(suggestions, function(d) { return d.value; });
6266
6267             options.enter().append('a')
6268                 .attr('class', 'combobox-option')
6269                 .text(function(d) { return d.value; });
6270
6271             options
6272                 .attr('title', function(d) { return d.title; })
6273                 .classed('selected', function(d, i) { return i == idx; })
6274                 .on('mouseover', select)
6275                 .on('click', accept)
6276                 .order();
6277
6278             options.exit()
6279                 .remove();
6280
6281             var rect = input.node().getBoundingClientRect();
6282
6283             container.style({
6284                 'left': rect.left + 'px',
6285                 'width': rect.width + 'px',
6286                 'top': rect.height + rect.top + 'px'
6287             });
6288         }
6289
6290         function select(d, i) {
6291             idx = i;
6292             render();
6293         }
6294
6295         function ensureVisible() {
6296             var node = container.selectAll('a.selected').node();
6297             if (node) node.scrollIntoView();
6298         }
6299
6300         function accept(d) {
6301             if (!shown) return;
6302             input
6303                 .property('value', d.value)
6304                 .trigger('change');
6305             event.accept(d);
6306             hide();
6307         }
6308     };
6309
6310     combobox.fetcher = function(_) {
6311         if (!arguments.length) return fetcher;
6312         fetcher = _;
6313         return combobox;
6314     };
6315
6316     combobox.data = function(_) {
6317         if (!arguments.length) return data;
6318         data = _;
6319         return combobox;
6320     };
6321
6322     combobox.minItems = function(_) {
6323         if (!arguments.length) return minItems;
6324         minItems = _;
6325         return combobox;
6326     };
6327
6328     return d3.rebind(combobox, event, 'on');
6329 };
6330 d3.geo.tile = function() {
6331   var size = [960, 500],
6332       scale = 256,
6333       scaleExtent = [0, 20],
6334       translate = [size[0] / 2, size[1] / 2],
6335       zoomDelta = 0;
6336
6337   function bound(_) {
6338       return Math.min(scaleExtent[1], Math.max(scaleExtent[0], _));
6339   }
6340
6341   function tile() {
6342     var z = Math.max(Math.log(scale) / Math.LN2 - 8, 0),
6343         z0 = bound(Math.round(z + zoomDelta)),
6344         k = Math.pow(2, z - z0 + 8),
6345         origin = [(translate[0] - scale / 2) / k, (translate[1] - scale / 2) / k],
6346         tiles = [],
6347         cols = d3.range(Math.max(0, Math.floor(-origin[0])), Math.max(0, Math.ceil(size[0] / k - origin[0]))),
6348         rows = d3.range(Math.max(0, Math.floor(-origin[1])), Math.max(0, Math.ceil(size[1] / k - origin[1])));
6349
6350     rows.forEach(function(y) {
6351       cols.forEach(function(x) {
6352         tiles.push([x, y, z0]);
6353       });
6354     });
6355
6356     tiles.translate = origin;
6357     tiles.scale = k;
6358
6359     return tiles;
6360   }
6361
6362   tile.scaleExtent = function(_) {
6363     if (!arguments.length) return scaleExtent;
6364     scaleExtent = _;
6365     return tile;
6366   };
6367
6368   tile.size = function(_) {
6369     if (!arguments.length) return size;
6370     size = _;
6371     return tile;
6372   };
6373
6374   tile.scale = function(_) {
6375     if (!arguments.length) return scale;
6376     scale = _;
6377     return tile;
6378   };
6379
6380   tile.translate = function(_) {
6381     if (!arguments.length) return translate;
6382     translate = _;
6383     return tile;
6384   };
6385
6386   tile.zoomDelta = function(_) {
6387     if (!arguments.length) return zoomDelta;
6388     zoomDelta = +_;
6389     return tile;
6390   };
6391
6392   return tile;
6393 };
6394 d3.jsonp = function (url, callback) {
6395   function rand() {
6396     var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
6397       c = '', i = -1;
6398     while (++i < 15) c += chars.charAt(Math.floor(Math.random() * 52));
6399     return c;
6400   }
6401
6402   function create(url) {
6403     var e = url.match(/callback=d3.jsonp.(\w+)/),
6404       c = e ? e[1] : rand();
6405     d3.jsonp[c] = function(data) {
6406       callback(data);
6407       delete d3.jsonp[c];
6408       script.remove();
6409     };
6410     return 'd3.jsonp.' + c;
6411   }
6412
6413   var cb = create(url),
6414     script = d3.select('head')
6415     .append('script')
6416     .attr('type', 'text/javascript')
6417     .attr('src', url.replace(/(\{|%7B)callback(\}|%7D)/, cb));
6418 };
6419 /*
6420  * This code is licensed under the MIT license.
6421  *
6422  * Copyright © 2013, iD authors.
6423  *
6424  * Portions copyright © 2011, Keith Cirkel
6425  * See https://github.com/keithamus/jwerty
6426  *
6427  */
6428 d3.keybinding = function(namespace) {
6429     var bindings = [];
6430
6431     function matches(binding, event) {
6432         for (var p in binding.event) {
6433             if (event[p] != binding.event[p])
6434                 return false;
6435         }
6436
6437         return (!binding.capture) === (event.eventPhase !== Event.CAPTURING_PHASE);
6438     }
6439
6440     function capture() {
6441         for (var i = 0; i < bindings.length; i++) {
6442             var binding = bindings[i];
6443             if (matches(binding, d3.event)) {
6444                 binding.callback();
6445             }
6446         }
6447     }
6448
6449     function bubble() {
6450         var tagName = d3.select(d3.event.target).node().tagName;
6451         if (tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA') {
6452             return;
6453         }
6454         capture();
6455     }
6456
6457     function keybinding(selection) {
6458         selection = selection || d3.select(document);
6459         selection.on('keydown.capture' + namespace, capture, true);
6460         selection.on('keydown.bubble' + namespace, bubble, false);
6461         return keybinding;
6462     }
6463
6464     keybinding.off = function(selection) {
6465         selection = selection || d3.select(document);
6466         selection.on('keydown.capture' + namespace, null);
6467         selection.on('keydown.bubble' + namespace, null);
6468         return keybinding;
6469     };
6470
6471     keybinding.on = function(code, callback, capture) {
6472         var binding = {
6473             event: {
6474                 keyCode: 0,
6475                 shiftKey: false,
6476                 ctrlKey: false,
6477                 altKey: false,
6478                 metaKey: false
6479             },
6480             capture: capture,
6481             callback: callback
6482         };
6483
6484         code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g);
6485
6486         for (var i = 0; i < code.length; i++) {
6487             // Normalise matching errors
6488             if (code[i] === '++') code[i] = '+';
6489
6490             if (code[i] in d3.keybinding.modifierCodes) {
6491                 binding.event[d3.keybinding.modifierProperties[d3.keybinding.modifierCodes[code[i]]]] = true;
6492             } else if (code[i] in d3.keybinding.keyCodes) {
6493                 binding.event.keyCode = d3.keybinding.keyCodes[code[i]];
6494             }
6495         }
6496
6497         bindings.push(binding);
6498
6499         return keybinding;
6500     };
6501
6502     return keybinding;
6503 };
6504
6505 (function () {
6506     d3.keybinding.modifierCodes = {
6507         // Shift key, ⇧
6508         '⇧': 16, shift: 16,
6509         // CTRL key, on Mac: ⌃
6510         '⌃': 17, ctrl: 17,
6511         // ALT key, on Mac: ⌥ (Alt)
6512         '⌥': 18, alt: 18, option: 18,
6513         // META, on Mac: ⌘ (CMD), on Windows (Win), on Linux (Super)
6514         '⌘': 91, meta: 91, cmd: 91, 'super': 91, win: 91
6515     };
6516
6517     d3.keybinding.modifierProperties = {
6518         16: 'shiftKey',
6519         17: 'ctrlKey',
6520         18: 'altKey',
6521         91: 'metaKey'
6522     };
6523
6524     d3.keybinding.keyCodes = {
6525         // Backspace key, on Mac: ⌫ (Backspace)
6526         '⌫': 8, backspace: 8,
6527         // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥
6528         '⇥': 9, '⇆': 9, tab: 9,
6529         // Return key, ↩
6530         '↩': 13, 'return': 13, enter: 13, '⌅': 13,
6531         // Pause/Break key
6532         'pause': 19, 'pause-break': 19,
6533         // Caps Lock key, ⇪
6534         '⇪': 20, caps: 20, 'caps-lock': 20,
6535         // Escape key, on Mac: ⎋, on Windows: Esc
6536         '⎋': 27, escape: 27, esc: 27,
6537         // Space key
6538         space: 32,
6539         // Page-Up key, or pgup, on Mac: ↖
6540         '↖': 33, pgup: 33, 'page-up': 33,
6541         // Page-Down key, or pgdown, on Mac: ↘
6542         '↘': 34, pgdown: 34, 'page-down': 34,
6543         // END key, on Mac: ⇟
6544         '⇟': 35, end: 35,
6545         // HOME key, on Mac: ⇞
6546         '⇞': 36, home: 36,
6547         // Insert key, or ins
6548         ins: 45, insert: 45,
6549         // Delete key, on Mac: ⌦ (Delete)
6550         '⌦': 46, del: 46, 'delete': 46,
6551         // Left Arrow Key, or ←
6552         '←': 37, left: 37, 'arrow-left': 37,
6553         // Up Arrow Key, or ↑
6554         '↑': 38, up: 38, 'arrow-up': 38,
6555         // Right Arrow Key, or →
6556         '→': 39, right: 39, 'arrow-right': 39,
6557         // Up Arrow Key, or ↓
6558         '↓': 40, down: 40, 'arrow-down': 40,
6559         // odities, printing characters that come out wrong:
6560         // Firefox Equals
6561         'ffequals': 61,
6562         // Num-Multiply, or *
6563         '*': 106, star: 106, asterisk: 106, multiply: 106,
6564         // Num-Plus or +
6565         '+': 107, 'plus': 107,
6566         // Num-Subtract, or -
6567         '-': 109, subtract: 109,
6568         // Firefox Minus
6569         'ffplus': 171,
6570         // Firefox Minus
6571         'ffminus': 173,
6572         // Semicolon
6573         ';': 186, semicolon: 186,
6574         // = or equals
6575         '=': 187, 'equals': 187,
6576         // Comma, or ,
6577         ',': 188, comma: 188,
6578         'dash': 189, //???
6579         // Period, or ., or full-stop
6580         '.': 190, period: 190, 'full-stop': 190,
6581         // Slash, or /, or forward-slash
6582         '/': 191, slash: 191, 'forward-slash': 191,
6583         // Tick, or `, or back-quote
6584         '`': 192, tick: 192, 'back-quote': 192,
6585         // Open bracket, or [
6586         '[': 219, 'open-bracket': 219,
6587         // Back slash, or \
6588         '\\': 220, 'back-slash': 220,
6589         // Close backet, or ]
6590         ']': 221, 'close-bracket': 221,
6591         // Apostrophe, or Quote, or '
6592         '\'': 222, quote: 222, apostrophe: 222
6593     };
6594
6595     // NUMPAD 0-9
6596     var i = 95, n = 0;
6597     while (++i < 106) {
6598         d3.keybinding.keyCodes['num-' + n] = i;
6599         ++n;
6600     }
6601
6602     // 0-9
6603     i = 47; n = 0;
6604     while (++i < 58) {
6605         d3.keybinding.keyCodes[n] = i;
6606         ++n;
6607     }
6608
6609     // F1-F25
6610     i = 111; n = 1;
6611     while (++i < 136) {
6612         d3.keybinding.keyCodes['f' + n] = i;
6613         ++n;
6614     }
6615
6616     // a-z
6617     i = 64;
6618     while (++i < 91) {
6619         d3.keybinding.keyCodes[String.fromCharCode(i).toLowerCase()] = i;
6620     }
6621 })();
6622 d3.selection.prototype.one = function (type, listener, capture) {
6623     var target = this, typeOnce = type + ".once";
6624     function one() {
6625         target.on(typeOnce, null);
6626         listener.apply(this, arguments);
6627     }
6628     target.on(typeOnce, one, capture);
6629     return this;
6630 };
6631 d3.selection.prototype.dimensions = function (dimensions) {
6632     if (!arguments.length) {
6633         var node = this.node();
6634         return [node.offsetWidth,
6635                 node.offsetHeight];
6636     }
6637     return this.attr({width: dimensions[0], height: dimensions[1]});
6638 };
6639 d3.selection.prototype.trigger = function (type) {
6640     this.each(function() {
6641         var evt = document.createEvent('HTMLEvents');
6642         evt.initEvent(type, true, true);
6643         this.dispatchEvent(evt);
6644     });
6645 };
6646 d3.typeahead = function() {
6647     var event = d3.dispatch('accept'),
6648         autohighlight = false,
6649         data;
6650
6651     var typeahead = function(selection) {
6652         var container,
6653             hidden,
6654             idx = autohighlight ? 0 : -1;
6655
6656         function setup() {
6657             var rect = selection.node().getBoundingClientRect();
6658             container = d3.select(document.body)
6659                 .append('div').attr('class', 'typeahead')
6660                 .style({
6661                     position: 'absolute',
6662                     left: rect.left + 'px',
6663                     top: rect.bottom + 'px'
6664                 });
6665             selection
6666                 .on('keyup.typeahead', key);
6667             hidden = false;
6668         }
6669
6670         function hide() {
6671             container.remove();
6672             idx = autohighlight ? 0 : -1;
6673             hidden = true;
6674         }
6675
6676         function slowHide() {
6677             if (autohighlight) {
6678                 if (container.select('a.selected').node()) {
6679                     select(container.select('a.selected').datum());
6680                     event.accept();
6681                 }
6682             }
6683             window.setTimeout(hide, 150);
6684         }
6685
6686         selection
6687             .on('focus.typeahead', setup)
6688             .on('blur.typeahead', slowHide);
6689
6690         function key() {
6691            var len = container.selectAll('a').data().length;
6692            if (d3.event.keyCode === 40) {
6693                idx = Math.min(idx + 1, len - 1);
6694                return highlight();
6695            } else if (d3.event.keyCode === 38) {
6696                idx = Math.max(idx - 1, 0);
6697                return highlight();
6698            } else if (d3.event.keyCode === 13) {
6699                if (container.select('a.selected').node()) {
6700                    select(container.select('a.selected').datum());
6701                }
6702                event.accept();
6703                hide();
6704            } else {
6705                update();
6706            }
6707         }
6708
6709         function highlight() {
6710             container
6711                 .selectAll('a')
6712                 .classed('selected', function(d, i) { return i == idx; });
6713         }
6714
6715         function update() {
6716             if (hidden) setup();
6717
6718             data(selection, function(data) {
6719                 container.style('display', function() {
6720                     return data.length ? 'block' : 'none';
6721                 });
6722
6723                 var options = container
6724                     .selectAll('a')
6725                     .data(data, function(d) { return d.value; });
6726
6727                 options.enter()
6728                     .append('a')
6729                     .text(function(d) { return d.value; })
6730                     .attr('title', function(d) { return d.title; })
6731                     .on('click', select);
6732
6733                 options.exit().remove();
6734
6735                 options
6736                     .classed('selected', function(d, i) { return i == idx; });
6737             });
6738         }
6739
6740         function select(d) {
6741             selection
6742                 .property('value', d.value)
6743                 .trigger('change');
6744         }
6745
6746     };
6747
6748     typeahead.data = function(_) {
6749         if (!arguments.length) return data;
6750         data = _;
6751         return typeahead;
6752     };
6753
6754     typeahead.autohighlight = function(_) {
6755         if (!arguments.length) return autohighlight;
6756         autohighlight = _;
6757         return typeahead;
6758     };
6759
6760     return d3.rebind(typeahead, event, 'on');
6761 };
6762 // Tooltips and svg mask used to highlight certain features
6763 d3.curtain = function() {
6764
6765     var event = d3.dispatch(),
6766         surface,
6767         tooltip,
6768         darkness;
6769
6770     function curtain(selection) {
6771
6772         surface = selection.append('svg')
6773             .attr('id', 'curtain')
6774             .style({
6775                 'z-index': 1000,
6776                 'pointer-events': 'none',
6777                 'position': 'absolute',
6778                 'top': 0,
6779                 'left': 0
6780             });
6781
6782         darkness = surface.append('path')
6783             .attr({
6784                 x: 0,
6785                 y: 0,
6786                 'class': 'curtain-darkness'
6787             });
6788
6789         d3.select(window).on('resize.curtain', resize);
6790
6791         tooltip = selection.append('div')
6792             .attr('class', 'tooltip')
6793             .style('z-index', 1002);
6794
6795         tooltip.append('div').attr('class', 'tooltip-arrow');
6796         tooltip.append('div').attr('class', 'tooltip-inner');
6797
6798         resize();
6799
6800         function resize() {
6801             surface.attr({
6802                 width: window.innerWidth,
6803                 height: window.innerHeight
6804             });
6805             curtain.cut(darkness.datum());
6806         }
6807     }
6808
6809     curtain.reveal = function(box, text, tooltipclass, duration) {
6810         if (typeof box === 'string') box = d3.select(box).node();
6811         if (box.getBoundingClientRect) box = box.getBoundingClientRect();
6812
6813         curtain.cut(box, duration);
6814
6815         if (text) {
6816             // pseudo markdown bold text hack
6817             var parts = text.split('**');
6818             var html = parts[0] ? '<span>' + parts[0] + '</span>' : '';
6819             if (parts[1]) html += '<span class="bold">' + parts[1] + '</span>';
6820
6821             var dimensions = tooltip.classed('in', true)
6822                 .select('.tooltip-inner')
6823                     .html(html)
6824                     .dimensions();
6825
6826             var pos;
6827
6828             var w = window.innerWidth,
6829                 h = window.innerHeight;
6830
6831             if (box.top + box.height < Math.min(100, box.width + box.left)) {
6832                 side = 'bottom';
6833                 pos = [box.left + box.width / 2 - dimensions[0]/ 2, box.top + box.height];
6834
6835             } else if (box.left + box.width + 300 < window.innerWidth) {
6836                 side = 'right';
6837                 pos = [box.left + box.width, box.top + box.height / 2 - dimensions[1] / 2];
6838
6839             } else if (box.left > 300) {
6840                 side = 'left';
6841                 pos = [box.left - 200, box.top + box.height / 2 - dimensions[1] / 2];
6842             } else {
6843                 side = 'bottom';
6844                 pos = [box.left, box.top + box.height];
6845             }
6846
6847             pos = [
6848                 Math.min(Math.max(10, pos[0]), w - dimensions[0] - 10),
6849                 Math.min(Math.max(10, pos[1]), h - dimensions[1] - 10)
6850             ];
6851
6852
6853             if (duration !== 0 || !tooltip.classed(side)) tooltip.call(iD.ui.Toggle(true));
6854
6855             tooltip
6856                 .style('top', pos[1] + 'px')
6857                 .style('left', pos[0] + 'px')
6858                 .attr('class', 'curtain-tooltip tooltip in ' + side + ' ' + tooltipclass)
6859                 .select('.tooltip-inner')
6860                     .html(html);
6861
6862         } else {
6863             tooltip.call(iD.ui.Toggle(false));
6864         }
6865     };
6866
6867     curtain.cut = function(datum, duration) {
6868         darkness.datum(datum);
6869
6870         (duration === 0 ? darkness : darkness.transition().duration(duration || 600))
6871             .attr('d', function(d) {
6872                 var string = "M 0,0 L 0," + window.innerHeight + " L " +
6873                     window.innerWidth + "," + window.innerHeight + "L" +
6874                     window.innerWidth + ",0 Z";
6875
6876                 if (!d) return string;
6877                 return string + 'M' +
6878                     d.left + ',' + d.top + 'L' +
6879                     d.left + ',' + (d.top + d.height) + 'L' +
6880                     (d.left + d.width) + ',' + (d.top + d.height) + 'L' +
6881                     (d.left + d.width) + ',' + (d.top) + 'Z';
6882
6883             });
6884     };
6885
6886     curtain.remove = function() {
6887         surface.remove();
6888         tooltip.remove();
6889     };
6890
6891     return d3.rebind(curtain, event, 'on');
6892 };
6893 // Like selection.property('value', ...), but avoids no-op value sets,
6894 // which can result in layout/repaint thrashing in some situations.
6895 d3.selection.prototype.value = function(value) {
6896     function d3_selection_value(value) {
6897       function valueNull() {
6898         delete this.value;
6899       }
6900
6901       function valueConstant() {
6902         if (this.value !== value) this.value = value;
6903       }
6904
6905       function valueFunction() {
6906         var x = value.apply(this, arguments);
6907         if (x == null) delete this.value;
6908         else if (this.value !== x) this.value = x;
6909       }
6910
6911       return value == null
6912           ? valueNull : (typeof value === "function"
6913           ? valueFunction : valueConstant);
6914     }
6915
6916     if (!arguments.length) return this.property('value');
6917     return this.each(d3_selection_value(value));
6918 };
6919 var JXON = new (function () {
6920   var
6921     sValueProp = "keyValue", sAttributesProp = "keyAttributes", sAttrPref = "@", /* you can customize these values */
6922     aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i;
6923
6924   function parseText (sValue) {
6925     if (rIsNull.test(sValue)) { return null; }
6926     if (rIsBool.test(sValue)) { return sValue.toLowerCase() === "true"; }
6927     if (isFinite(sValue)) { return parseFloat(sValue); }
6928     if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
6929     return sValue;
6930   }
6931
6932   function EmptyTree () { }
6933   EmptyTree.prototype.toString = function () { return "null"; };
6934   EmptyTree.prototype.valueOf = function () { return null; };
6935
6936   function objectify (vValue) {
6937     return vValue === null ? new EmptyTree() : vValue instanceof Object ? vValue : new vValue.constructor(vValue);
6938   }
6939
6940   function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) {
6941     var
6942       nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(),
6943       bAttributes = oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb & 2);
6944
6945     var
6946       sProp, vContent, nLength = 0, sCollectedTxt = "",
6947       vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true;
6948
6949     if (bChildren) {
6950       for (var oNode, nItem = 0; nItem < oParentNode.childNodes.length; nItem++) {
6951         oNode = oParentNode.childNodes.item(nItem);
6952         if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is "CDATASection" (4) */
6953         else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is "Text" (3) */
6954         else if (oNode.nodeType === 1 && !oNode.prefix) { aCache.push(oNode); } /* nodeType is "Element" (1) */
6955       }
6956     }
6957
6958     var nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt);
6959
6960     if (!bHighVerb && (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; }
6961
6962     for (var nElId = nLevelStart; nElId < nLevelEnd; nElId++) {
6963       sProp = aCache[nElId].nodeName.toLowerCase();
6964       vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr);
6965       if (vResult.hasOwnProperty(sProp)) {
6966         if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
6967         vResult[sProp].push(vContent);
6968       } else {
6969         vResult[sProp] = vContent;
6970         nLength++;
6971       }
6972     }
6973
6974     if (bAttributes) {
6975       var
6976         nAttrLen = oParentNode.attributes.length,
6977         sAPrefix = bNesteAttr ? "" : sAttrPref, oAttrParent = bNesteAttr ? {} : vResult;
6978
6979       for (var oAttrib, nAttrib = 0; nAttrib < nAttrLen; nLength++, nAttrib++) {
6980         oAttrib = oParentNode.attributes.item(nAttrib);
6981         oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
6982       }
6983
6984       if (bNesteAttr) {
6985         if (bFreeze) { Object.freeze(oAttrParent); }
6986         vResult[sAttributesProp] = oAttrParent;
6987         nLength -= nAttrLen - 1;
6988       }
6989     }
6990
6991     if (nVerb === 3 || (nVerb === 2 || nVerb === 1 && nLength > 0) && sCollectedTxt) {
6992       vResult[sValueProp] = vBuiltVal;
6993     } else if (!bHighVerb && nLength === 0 && sCollectedTxt) {
6994       vResult = vBuiltVal;
6995     }
6996
6997     if (bFreeze && (bHighVerb || nLength > 0)) { Object.freeze(vResult); }
6998
6999     aCache.length = nLevelStart;
7000
7001     return vResult;
7002   }
7003
7004   function loadObjTree (oXMLDoc, oParentEl, oParentObj) {
7005     var vValue, oChild;
7006
7007     if (oParentObj instanceof String || oParentObj instanceof Number || oParentObj instanceof Boolean) {
7008       oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 */
7009     } else if (oParentObj.constructor === Date) {
7010       oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString()));    
7011     }
7012
7013     for (var sName in oParentObj) {
7014       vValue = oParentObj[sName];
7015       if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */
7016       if (sName === sValueProp) {
7017         if (vValue !== null && vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); }
7018       } else if (sName === sAttributesProp) { /* verbosity level is 3 */
7019         for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); }
7020       } else if (sName.charAt(0) === sAttrPref) {
7021         oParentEl.setAttribute(sName.slice(1), vValue);
7022       } else if (vValue.constructor === Array) {
7023         for (var nItem = 0; nItem < vValue.length; nItem++) {
7024           oChild = oXMLDoc.createElement(sName);
7025           loadObjTree(oXMLDoc, oChild, vValue[nItem]);
7026           oParentEl.appendChild(oChild);
7027         }
7028       } else {
7029         oChild = oXMLDoc.createElement(sName);
7030         if (vValue instanceof Object) {
7031           loadObjTree(oXMLDoc, oChild, vValue);
7032         } else if (vValue !== null && vValue !== true) {
7033           oChild.appendChild(oXMLDoc.createTextNode(vValue.toString()));
7034         }
7035         oParentEl.appendChild(oChild);
7036      }
7037    }
7038   }
7039
7040   this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) {
7041     var _nVerb = arguments.length > 1 && typeof nVerbosity === "number" ? nVerbosity & 3 : /* put here the default verbosity level: */ 1;
7042     return createObjTree(oXMLParent, _nVerb, bFreeze || false, arguments.length > 3 ? bNesteAttributes : _nVerb === 3);    
7043   };
7044
7045   this.unbuild = function (oObjTree) {    
7046     var oNewDoc = document.implementation.createDocument("", "", null);
7047     loadObjTree(oNewDoc, oNewDoc, oObjTree);
7048     return oNewDoc;
7049   };
7050
7051   this.stringify = function (oObjTree) {
7052     return (new XMLSerializer()).serializeToString(JXON.unbuild(oObjTree));
7053   };
7054 })();
7055 // var myObject = JXON.build(doc);
7056 // we got our javascript object! try: alert(JSON.stringify(myObject));
7057
7058 // var newDoc = JXON.unbuild(myObject);
7059 // we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
7060 /**
7061  * @license
7062  * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>
7063  * Build: `lodash --debug --output js/lib/lodash.js include="any,assign,bind,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"`
7064  * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
7065  * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
7066  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
7067  * Available under MIT license <http://lodash.com/license>
7068  */
7069 ;(function() {
7070
7071   /** Used as a safe reference for `undefined` in pre ES5 environments */
7072   var undefined;
7073
7074   /** Used to pool arrays and objects used internally */
7075   var arrayPool = [],
7076       objectPool = [];
7077
7078   /** Used internally to indicate various things */
7079   var indicatorObject = {};
7080
7081   /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
7082   var keyPrefix = +new Date + '';
7083
7084   /** Used as the size when optimizations are enabled for large arrays */
7085   var largeArraySize = 75;
7086
7087   /** Used as the max size of the `arrayPool` and `objectPool` */
7088   var maxPoolSize = 40;
7089
7090   /** Used to match regexp flags from their coerced string values */
7091   var reFlags = /\w*$/;
7092
7093   /** Used to detected named functions */
7094   var reFuncName = /^\s*function[ \n\r\t]+\w/;
7095
7096   /** Used to detect functions containing a `this` reference */
7097   var reThis = /\bthis\b/;
7098
7099   /** Used to fix the JScript [[DontEnum]] bug */
7100   var shadowedProps = [
7101     'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
7102     'toLocaleString', 'toString', 'valueOf'
7103   ];
7104
7105   /** `Object#toString` result shortcuts */
7106   var argsClass = '[object Arguments]',
7107       arrayClass = '[object Array]',
7108       boolClass = '[object Boolean]',
7109       dateClass = '[object Date]',
7110       errorClass = '[object Error]',
7111       funcClass = '[object Function]',
7112       numberClass = '[object Number]',
7113       objectClass = '[object Object]',
7114       regexpClass = '[object RegExp]',
7115       stringClass = '[object String]';
7116
7117   /** Used to identify object classifications that `_.clone` supports */
7118   var cloneableClasses = {};
7119   cloneableClasses[funcClass] = false;
7120   cloneableClasses[argsClass] = cloneableClasses[arrayClass] =
7121   cloneableClasses[boolClass] = cloneableClasses[dateClass] =
7122   cloneableClasses[numberClass] = cloneableClasses[objectClass] =
7123   cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;
7124
7125   /** Used as an internal `_.debounce` options object */
7126   var debounceOptions = {
7127     'leading': false,
7128     'maxWait': 0,
7129     'trailing': false
7130   };
7131
7132   /** Used as the property descriptor for `__bindData__` */
7133   var descriptor = {
7134     'configurable': false,
7135     'enumerable': false,
7136     'value': null,
7137     'writable': false
7138   };
7139
7140   /** Used as the data object for `iteratorTemplate` */
7141   var iteratorData = {
7142     'args': '',
7143     'array': null,
7144     'bottom': '',
7145     'firstArg': '',
7146     'init': '',
7147     'keys': null,
7148     'loop': '',
7149     'shadowedProps': null,
7150     'support': null,
7151     'top': '',
7152     'useHas': false
7153   };
7154
7155   /** Used to determine if values are of the language type Object */
7156   var objectTypes = {
7157     'boolean': false,
7158     'function': true,
7159     'object': true,
7160     'number': false,
7161     'string': false,
7162     'undefined': false
7163   };
7164
7165   /** Used as a reference to the global object */
7166   var root = (objectTypes[typeof window] && window) || this;
7167
7168   /** Detect free variable `exports` */
7169   var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
7170
7171   /** Detect free variable `module` */
7172   var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
7173
7174   /** Detect the popular CommonJS extension `module.exports` */
7175   var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
7176
7177   /** Detect free variable `global` from Node.js or Browserified code and use it as `root` */
7178   var freeGlobal = objectTypes[typeof global] && global;
7179   if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
7180     root = freeGlobal;
7181   }
7182
7183   /*--------------------------------------------------------------------------*/
7184
7185   /**
7186    * The base implementation of `_.indexOf` without support for binary searches
7187    * or `fromIndex` constraints.
7188    *
7189    * @private
7190    * @param {Array} array The array to search.
7191    * @param {*} value The value to search for.
7192    * @param {number} [fromIndex=0] The index to search from.
7193    * @returns {number} Returns the index of the matched value or `-1`.
7194    */
7195   function baseIndexOf(array, value, fromIndex) {
7196     var index = (fromIndex || 0) - 1,
7197         length = array ? array.length : 0;
7198
7199     while (++index < length) {
7200       if (array[index] === value) {
7201         return index;
7202       }
7203     }
7204     return -1;
7205   }
7206
7207   /**
7208    * An implementation of `_.contains` for cache objects that mimics the return
7209    * signature of `_.indexOf` by returning `0` if the value is found, else `-1`.
7210    *
7211    * @private
7212    * @param {Object} cache The cache object to inspect.
7213    * @param {*} value The value to search for.
7214    * @returns {number} Returns `0` if `value` is found, else `-1`.
7215    */
7216   function cacheIndexOf(cache, value) {
7217     var type = typeof value;
7218     cache = cache.cache;
7219
7220     if (type == 'boolean' || value == null) {
7221       return cache[value] ? 0 : -1;
7222     }
7223     if (type != 'number' && type != 'string') {
7224       type = 'object';
7225     }
7226     var key = type == 'number' ? value : keyPrefix + value;
7227     cache = (cache = cache[type]) && cache[key];
7228
7229     return type == 'object'
7230       ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
7231       : (cache ? 0 : -1);
7232   }
7233
7234   /**
7235    * Adds a given value to the corresponding cache object.
7236    *
7237    * @private
7238    * @param {*} value The value to add to the cache.
7239    */
7240   function cachePush(value) {
7241     var cache = this.cache,
7242         type = typeof value;
7243
7244     if (type == 'boolean' || value == null) {
7245       cache[value] = true;
7246     } else {
7247       if (type != 'number' && type != 'string') {
7248         type = 'object';
7249       }
7250       var key = type == 'number' ? value : keyPrefix + value,
7251           typeCache = cache[type] || (cache[type] = {});
7252
7253       if (type == 'object') {
7254         (typeCache[key] || (typeCache[key] = [])).push(value);
7255       } else {
7256         typeCache[key] = true;
7257       }
7258     }
7259   }
7260
7261   /**
7262    * Creates a cache object to optimize linear searches of large arrays.
7263    *
7264    * @private
7265    * @param {Array} [array=[]] The array to search.
7266    * @returns {null|Object} Returns the cache object or `null` if caching should not be used.
7267    */
7268   function createCache(array) {
7269     var index = -1,
7270         length = array.length,
7271         first = array[0],
7272         mid = array[(length / 2) | 0],
7273         last = array[length - 1];
7274
7275     if (first && typeof first == 'object' &&
7276         mid && typeof mid == 'object' && last && typeof last == 'object') {
7277       return false;
7278     }
7279     var cache = getObject();
7280     cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
7281
7282     var result = getObject();
7283     result.array = array;
7284     result.cache = cache;
7285     result.push = cachePush;
7286
7287     while (++index < length) {
7288       result.push(array[index]);
7289     }
7290     return result;
7291   }
7292
7293   /**
7294    * Gets an array from the array pool or creates a new one if the pool is empty.
7295    *
7296    * @private
7297    * @returns {Array} The array from the pool.
7298    */
7299   function getArray() {
7300     return arrayPool.pop() || [];
7301   }
7302
7303   /**
7304    * Gets an object from the object pool or creates a new one if the pool is empty.
7305    *
7306    * @private
7307    * @returns {Object} The object from the pool.
7308    */
7309   function getObject() {
7310     return objectPool.pop() || {
7311       'array': null,
7312       'cache': null,
7313       'false': false,
7314       'null': false,
7315       'number': null,
7316       'object': null,
7317       'push': null,
7318       'string': null,
7319       'true': false,
7320       'undefined': false
7321     };
7322   }
7323
7324   /**
7325    * Checks if `value` is a DOM node in IE < 9.
7326    *
7327    * @private
7328    * @param {*} value The value to check.
7329    * @returns {boolean} Returns `true` if the `value` is a DOM node, else `false`.
7330    */
7331   function isNode(value) {
7332     // IE < 9 presents DOM nodes as `Object` objects except they have `toString`
7333     // methods that are `typeof` "string" and still can coerce nodes to strings
7334     return typeof value.toString != 'function' && typeof (value + '') == 'string';
7335   }
7336
7337   /**
7338    * Releases the given array back to the array pool.
7339    *
7340    * @private
7341    * @param {Array} [array] The array to release.
7342    */
7343   function releaseArray(array) {
7344     array.length = 0;
7345     if (arrayPool.length < maxPoolSize) {
7346       arrayPool.push(array);
7347     }
7348   }
7349
7350   /**
7351    * Releases the given object back to the object pool.
7352    *
7353    * @private
7354    * @param {Object} [object] The object to release.
7355    */
7356   function releaseObject(object) {
7357     var cache = object.cache;
7358     if (cache) {
7359       releaseObject(cache);
7360     }
7361     object.array = object.cache =object.object = object.number = object.string =null;
7362     if (objectPool.length < maxPoolSize) {
7363       objectPool.push(object);
7364     }
7365   }
7366
7367   /**
7368    * Slices the `collection` from the `start` index up to, but not including,
7369    * the `end` index.
7370    *
7371    * Note: This function is used instead of `Array#slice` to support node lists
7372    * in IE < 9 and to ensure dense arrays are returned.
7373    *
7374    * @private
7375    * @param {Array|Object|string} collection The collection to slice.
7376    * @param {number} start The start index.
7377    * @param {number} end The end index.
7378    * @returns {Array} Returns the new array.
7379    */
7380   function slice(array, start, end) {
7381     start || (start = 0);
7382     if (typeof end == 'undefined') {
7383       end = array ? array.length : 0;
7384     }
7385     var index = -1,
7386         length = end - start || 0,
7387         result = Array(length < 0 ? 0 : length);
7388
7389     while (++index < length) {
7390       result[index] = array[start + index];
7391     }
7392     return result;
7393   }
7394
7395   /*--------------------------------------------------------------------------*/
7396
7397   /**
7398    * Used for `Array` method references.
7399    *
7400    * Normally `Array.prototype` would suffice, however, using an array literal
7401    * avoids issues in Narwhal.
7402    */
7403   var arrayRef = [];
7404
7405   /** Used for native method references */
7406   var errorProto = Error.prototype,
7407       objectProto = Object.prototype,
7408       stringProto = String.prototype;
7409
7410   /** Used to resolve the internal [[Class]] of values */
7411   var toString = objectProto.toString;
7412
7413   /** Used to detect if a method is native */
7414   var reNative = RegExp('^' +
7415     String(toString)
7416       .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
7417       .replace(/toString| for [^\]]+/g, '.*?') + '$'
7418   );
7419
7420   /** Native method shortcuts */
7421   var fnToString = Function.prototype.toString,
7422       getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf,
7423       hasOwnProperty = objectProto.hasOwnProperty,
7424       now = reNative.test(now = Date.now) && now || function() { return +new Date; },
7425       push = arrayRef.push,
7426       propertyIsEnumerable = objectProto.propertyIsEnumerable;
7427
7428   /** Used to set meta data on functions */
7429   var defineProperty = (function() {
7430     // IE 8 only accepts DOM elements
7431     try {
7432       var o = {},
7433           func = reNative.test(func = Object.defineProperty) && func,
7434           result = func(o, o, o) && func;
7435     } catch(e) { }
7436     return result;
7437   }());
7438
7439   /* Native method shortcuts for methods with the same name as other `lodash` methods */
7440   var nativeCreate = reNative.test(nativeCreate = Object.create) && nativeCreate,
7441       nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray,
7442       nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys,
7443       nativeMax = Math.max,
7444       nativeMin = Math.min;
7445
7446   /** Used to lookup a built-in constructor by [[Class]] */
7447   var ctorByClass = {};
7448   ctorByClass[arrayClass] = Array;
7449   ctorByClass[boolClass] = Boolean;
7450   ctorByClass[dateClass] = Date;
7451   ctorByClass[funcClass] = Function;
7452   ctorByClass[objectClass] = Object;
7453   ctorByClass[numberClass] = Number;
7454   ctorByClass[regexpClass] = RegExp;
7455   ctorByClass[stringClass] = String;
7456
7457   /** Used to avoid iterating non-enumerable properties in IE < 9 */
7458   var nonEnumProps = {};
7459   nonEnumProps[arrayClass] = nonEnumProps[dateClass] = nonEnumProps[numberClass] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true };
7460   nonEnumProps[boolClass] = nonEnumProps[stringClass] = { 'constructor': true, 'toString': true, 'valueOf': true };
7461   nonEnumProps[errorClass] = nonEnumProps[funcClass] = nonEnumProps[regexpClass] = { 'constructor': true, 'toString': true };
7462   nonEnumProps[objectClass] = { 'constructor': true };
7463
7464   (function() {
7465     var length = shadowedProps.length;
7466     while (length--) {
7467       var key = shadowedProps[length];
7468       for (var className in nonEnumProps) {
7469         if (hasOwnProperty.call(nonEnumProps, className) && !hasOwnProperty.call(nonEnumProps[className], key)) {
7470           nonEnumProps[className][key] = false;
7471         }
7472       }
7473     }
7474   }());
7475
7476   /*--------------------------------------------------------------------------*/
7477
7478   /**
7479    * Creates a `lodash` object which wraps the given value to enable intuitive
7480    * method chaining.
7481    *
7482    * In addition to Lo-Dash methods, wrappers also have the following `Array` methods:
7483    * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`,
7484    * and `unshift`
7485    *
7486    * Chaining is supported in custom builds as long as the `value` method is
7487    * implicitly or explicitly included in the build.
7488    *
7489    * The chainable wrapper functions are:
7490    * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`,
7491    * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`,
7492    * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`,
7493    * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
7494    * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`,
7495    * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`,
7496    * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`,
7497    * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`,
7498    * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`,
7499    * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`,
7500    * and `zip`
7501    *
7502    * The non-chainable wrapper functions are:
7503    * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`,
7504    * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`,
7505    * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`,
7506    * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`,
7507    * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`,
7508    * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`,
7509    * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`,
7510    * `template`, `unescape`, `uniqueId`, and `value`
7511    *
7512    * The wrapper functions `first` and `last` return wrapped values when `n` is
7513    * provided, otherwise they return unwrapped values.
7514    *
7515    * Explicit chaining can be enabled by using the `_.chain` method.
7516    *
7517    * @name _
7518    * @constructor
7519    * @category Chaining
7520    * @param {*} value The value to wrap in a `lodash` instance.
7521    * @returns {Object} Returns a `lodash` instance.
7522    * @example
7523    *
7524    * var wrapped = _([1, 2, 3]);
7525    *
7526    * // returns an unwrapped value
7527    * wrapped.reduce(function(sum, num) {
7528    *   return sum + num;
7529    * });
7530    * // => 6
7531    *
7532    * // returns a wrapped value
7533    * var squares = wrapped.map(function(num) {
7534    *   return num * num;
7535    * });
7536    *
7537    * _.isArray(squares);
7538    * // => false
7539    *
7540    * _.isArray(squares.value());
7541    * // => true
7542    */
7543   function lodash(value) {
7544     // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor
7545     return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__'))
7546      ? value
7547      : new lodashWrapper(value);
7548   }
7549
7550   /**
7551    * A fast path for creating `lodash` wrapper objects.
7552    *
7553    * @private
7554    * @param {*} value The value to wrap in a `lodash` instance.
7555    * @param {boolean} chainAll A flag to enable chaining for all methods
7556    * @returns {Object} Returns a `lodash` instance.
7557    */
7558   function lodashWrapper(value, chainAll) {
7559     this.__chain__ = !!chainAll;
7560     this.__wrapped__ = value;
7561   }
7562   // ensure `new lodashWrapper` is an instance of `lodash`
7563   lodashWrapper.prototype = lodash.prototype;
7564
7565   /**
7566    * An object used to flag environments features.
7567    *
7568    * @static
7569    * @memberOf _
7570    * @type Object
7571    */
7572   var support = lodash.support = {};
7573
7574   (function() {
7575     var ctor = function() { this.x = 1; },
7576         object = { '0': 1, 'length': 1 },
7577         props = [];
7578
7579     ctor.prototype = { 'valueOf': 1, 'y': 1 };
7580     for (var key in new ctor) { props.push(key); }
7581     for (key in arguments) { }
7582
7583     /**
7584      * Detect if an `arguments` object's [[Class]] is resolvable (all but Firefox < 4, IE < 9).
7585      *
7586      * @memberOf _.support
7587      * @type boolean
7588      */
7589     support.argsClass = toString.call(arguments) == argsClass;
7590
7591     /**
7592      * Detect if `arguments` objects are `Object` objects (all but Narwhal and Opera < 10.5).
7593      *
7594      * @memberOf _.support
7595      * @type boolean
7596      */
7597     support.argsObject = arguments.constructor == Object && !(arguments instanceof Array);
7598
7599     /**
7600      * Detect if `name` or `message` properties of `Error.prototype` are
7601      * enumerable by default. (IE < 9, Safari < 5.1)
7602      *
7603      * @memberOf _.support
7604      * @type boolean
7605      */
7606     support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') || propertyIsEnumerable.call(errorProto, 'name');
7607
7608     /**
7609      * Detect if `prototype` properties are enumerable by default.
7610      *
7611      * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1
7612      * (if the prototype or a property on the prototype has been set)
7613      * incorrectly sets a function's `prototype` property [[Enumerable]]
7614      * value to `true`.
7615      *
7616      * @memberOf _.support
7617      * @type boolean
7618      */
7619     support.enumPrototypes = propertyIsEnumerable.call(ctor, 'prototype');
7620
7621     /**
7622      * Detect if functions can be decompiled by `Function#toString`
7623      * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).
7624      *
7625      * @memberOf _.support
7626      * @type boolean
7627      */
7628     support.funcDecomp = !reNative.test(root.WinRTError) && reThis.test(function() { return this; });
7629
7630     /**
7631      * Detect if `Function#name` is supported (all but IE).
7632      *
7633      * @memberOf _.support
7634      * @type boolean
7635      */
7636     support.funcNames = typeof Function.name == 'string';
7637
7638     /**
7639      * Detect if `arguments` object indexes are non-enumerable
7640      * (Firefox < 4, IE < 9, PhantomJS, Safari < 5.1).
7641      *
7642      * @memberOf _.support
7643      * @type boolean
7644      */
7645     support.nonEnumArgs = key != 0;
7646
7647     /**
7648      * Detect if properties shadowing those on `Object.prototype` are non-enumerable.
7649      *
7650      * In IE < 9 an objects own properties, shadowing non-enumerable ones, are
7651      * made non-enumerable as well (a.k.a the JScript [[DontEnum]] bug).
7652      *
7653      * @memberOf _.support
7654      * @type boolean
7655      */
7656     support.nonEnumShadows = !/valueOf/.test(props);
7657
7658     /**
7659      * Detect if own properties are iterated after inherited properties (all but IE < 9).
7660      *
7661      * @memberOf _.support
7662      * @type boolean
7663      */
7664     support.ownLast = props[0] != 'x';
7665
7666     /**
7667      * Detect if `Array#shift` and `Array#splice` augment array-like objects correctly.
7668      *
7669      * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()`
7670      * and `splice()` functions that fail to remove the last element, `value[0]`,
7671      * of array-like objects even though the `length` property is set to `0`.
7672      * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
7673      * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
7674      *
7675      * @memberOf _.support
7676      * @type boolean
7677      */
7678     support.spliceObjects = (arrayRef.splice.call(object, 0, 1), !object[0]);
7679
7680     /**
7681      * Detect lack of support for accessing string characters by index.
7682      *
7683      * IE < 8 can't access characters by index and IE 8 can only access
7684      * characters by index on string literals.
7685      *
7686      * @memberOf _.support
7687      * @type boolean
7688      */
7689     support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx';
7690
7691     /**
7692      * Detect if a DOM node's [[Class]] is resolvable (all but IE < 9)
7693      * and that the JS engine errors when attempting to coerce an object to
7694      * a string without a `toString` function.
7695      *
7696      * @memberOf _.support
7697      * @type boolean
7698      */
7699     try {
7700       support.nodeClass = !(toString.call(document) == objectClass && !({ 'toString': 0 } + ''));
7701     } catch(e) {
7702       support.nodeClass = true;
7703     }
7704   }(1));
7705
7706   /*--------------------------------------------------------------------------*/
7707
7708   /**
7709    * The template used to create iterator functions.
7710    *
7711    * @private
7712    * @param {Object} data The data object used to populate the text.
7713    * @returns {string} Returns the interpolated text.
7714    */
7715   var iteratorTemplate = function(obj) {
7716
7717     var __p = 'var index, iterable = ' +
7718     (obj.firstArg) +
7719     ', result = ' +
7720     (obj.init) +
7721     ';\nif (!iterable) return result;\n' +
7722     (obj.top) +
7723     ';';
7724      if (obj.array) {
7725     __p += '\nvar length = iterable.length; index = -1;\nif (' +
7726     (obj.array) +
7727     ') {  ';
7728      if (support.unindexedChars) {
7729     __p += '\n  if (isString(iterable)) {\n    iterable = iterable.split(\'\')\n  }  ';
7730      }
7731     __p += '\n  while (++index < length) {\n    ' +
7732     (obj.loop) +
7733     ';\n  }\n}\nelse {  ';
7734      } else if (support.nonEnumArgs) {
7735     __p += '\n  var length = iterable.length; index = -1;\n  if (length && isArguments(iterable)) {\n    while (++index < length) {\n      index += \'\';\n      ' +
7736     (obj.loop) +
7737     ';\n    }\n  } else {  ';
7738      }
7739
7740      if (support.enumPrototypes) {
7741     __p += '\n  var skipProto = typeof iterable == \'function\';\n  ';
7742      }
7743
7744      if (support.enumErrorProps) {
7745     __p += '\n  var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n  ';
7746      }
7747
7748         var conditions = [];    if (support.enumPrototypes) { conditions.push('!(skipProto && index == "prototype")'); }    if (support.enumErrorProps)  { conditions.push('!(skipErrorProps && (index == "message" || index == "name"))'); }
7749
7750      if (obj.useHas && obj.keys) {
7751     __p += '\n  var ownIndex = -1,\n      ownProps = objectTypes[typeof iterable] && keys(iterable),\n      length = ownProps ? ownProps.length : 0;\n\n  while (++ownIndex < length) {\n    index = ownProps[ownIndex];\n';
7752         if (conditions.length) {
7753     __p += '    if (' +
7754     (conditions.join(' && ')) +
7755     ') {\n  ';
7756      }
7757     __p +=
7758     (obj.loop) +
7759     ';    ';
7760      if (conditions.length) {
7761     __p += '\n    }';
7762      }
7763     __p += '\n  }  ';
7764      } else {
7765     __p += '\n  for (index in iterable) {\n';
7766         if (obj.useHas) { conditions.push("hasOwnProperty.call(iterable, index)"); }    if (conditions.length) {
7767     __p += '    if (' +
7768     (conditions.join(' && ')) +
7769     ') {\n  ';
7770      }
7771     __p +=
7772     (obj.loop) +
7773     ';    ';
7774      if (conditions.length) {
7775     __p += '\n    }';
7776      }
7777     __p += '\n  }    ';
7778      if (support.nonEnumShadows) {
7779     __p += '\n\n  if (iterable !== objectProto) {\n    var ctor = iterable.constructor,\n        isProto = iterable === (ctor && ctor.prototype),\n        className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n        nonEnum = nonEnumProps[className];\n      ';
7780      for (k = 0; k < 7; k++) {
7781     __p += '\n    index = \'' +
7782     (obj.shadowedProps[k]) +
7783     '\';\n    if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))';
7784             if (!obj.useHas) {
7785     __p += ' || (!nonEnum[index] && iterable[index] !== objectProto[index])';
7786      }
7787     __p += ') {\n      ' +
7788     (obj.loop) +
7789     ';\n    }      ';
7790      }
7791     __p += '\n  }    ';
7792      }
7793
7794      }
7795
7796      if (obj.array || support.nonEnumArgs) {
7797     __p += '\n}';
7798      }
7799     __p +=
7800     (obj.bottom) +
7801     ';\nreturn result';
7802
7803     return __p
7804   };
7805
7806   /*--------------------------------------------------------------------------*/
7807
7808   /**
7809    * The base implementation of `_.bind` that creates the bound function and
7810    * sets its meta data.
7811    *
7812    * @private
7813    * @param {Array} bindData The bind data array.
7814    * @returns {Function} Returns the new bound function.
7815    */
7816   function baseBind(bindData) {
7817     var func = bindData[0],
7818         partialArgs = bindData[2],
7819         thisArg = bindData[4];
7820
7821     function bound() {
7822       // `Function#bind` spec
7823       // http://es5.github.io/#x15.3.4.5
7824       if (partialArgs) {
7825         var args = partialArgs.slice();
7826         push.apply(args, arguments);
7827       }
7828       // mimic the constructor's `return` behavior
7829       // http://es5.github.io/#x13.2.2
7830       if (this instanceof bound) {
7831         // ensure `new bound` is an instance of `func`
7832         var thisBinding = baseCreate(func.prototype),
7833             result = func.apply(thisBinding, args || arguments);
7834         return isObject(result) ? result : thisBinding;
7835       }
7836       return func.apply(thisArg, args || arguments);
7837     }
7838     setBindData(bound, bindData);
7839     return bound;
7840   }
7841
7842   /**
7843    * The base implementation of `_.clone` without argument juggling or support
7844    * for `thisArg` binding.
7845    *
7846    * @private
7847    * @param {*} value The value to clone.
7848    * @param {boolean} [isDeep=false] Specify a deep clone.
7849    * @param {Function} [callback] The function to customize cloning values.
7850    * @param {Array} [stackA=[]] Tracks traversed source objects.
7851    * @param {Array} [stackB=[]] Associates clones with source counterparts.
7852    * @returns {*} Returns the cloned value.
7853    */
7854   function baseClone(value, isDeep, callback, stackA, stackB) {
7855     if (callback) {
7856       var result = callback(value);
7857       if (typeof result != 'undefined') {
7858         return result;
7859       }
7860     }
7861     // inspect [[Class]]
7862     var isObj = isObject(value);
7863     if (isObj) {
7864       var className = toString.call(value);
7865       if (!cloneableClasses[className] || (!support.nodeClass && isNode(value))) {
7866         return value;
7867       }
7868       var ctor = ctorByClass[className];
7869       switch (className) {
7870         case boolClass:
7871         case dateClass:
7872           return new ctor(+value);
7873
7874         case numberClass:
7875         case stringClass:
7876           return new ctor(value);
7877
7878         case regexpClass:
7879           result = ctor(value.source, reFlags.exec(value));
7880           result.lastIndex = value.lastIndex;
7881           return result;
7882       }
7883     } else {
7884       return value;
7885     }
7886     var isArr = isArray(value);
7887     if (isDeep) {
7888       // check for circular references and return corresponding clone
7889       var initedStack = !stackA;
7890       stackA || (stackA = getArray());
7891       stackB || (stackB = getArray());
7892
7893       var length = stackA.length;
7894       while (length--) {
7895         if (stackA[length] == value) {
7896           return stackB[length];
7897         }
7898       }
7899       result = isArr ? ctor(value.length) : {};
7900     }
7901     else {
7902       result = isArr ? slice(value) : assign({}, value);
7903     }
7904     // add array properties assigned by `RegExp#exec`
7905     if (isArr) {
7906       if (hasOwnProperty.call(value, 'index')) {
7907         result.index = value.index;
7908       }
7909       if (hasOwnProperty.call(value, 'input')) {
7910         result.input = value.input;
7911       }
7912     }
7913     // exit for shallow clone
7914     if (!isDeep) {
7915       return result;
7916     }
7917     // add the source value to the stack of traversed objects
7918     // and associate it with its clone
7919     stackA.push(value);
7920     stackB.push(result);
7921
7922     // recursively populate clone (susceptible to call stack limits)
7923     (isArr ? baseEach : forOwn)(value, function(objValue, key) {
7924       result[key] = baseClone(objValue, isDeep, callback, stackA, stackB);
7925     });
7926
7927     if (initedStack) {
7928       releaseArray(stackA);
7929       releaseArray(stackB);
7930     }
7931     return result;
7932   }
7933
7934   /**
7935    * The base implementation of `_.create` without support for assigning
7936    * properties to the created object.
7937    *
7938    * @private
7939    * @param {Object} prototype The object to inherit from.
7940    * @returns {Object} Returns the new object.
7941    */
7942   function baseCreate(prototype, properties) {
7943     return isObject(prototype) ? nativeCreate(prototype) : {};
7944   }
7945   // fallback for browsers without `Object.create`
7946   if (!nativeCreate) {
7947     baseCreate = (function() {
7948       function Object() {}
7949       return function(prototype) {
7950         if (isObject(prototype)) {
7951           Object.prototype = prototype;
7952           var result = new Object;
7953           Object.prototype = null;
7954         }
7955         return result || root.Object();
7956       };
7957     }());
7958   }
7959
7960   /**
7961    * The base implementation of `_.createCallback` without support for creating
7962    * "_.pluck" or "_.where" style callbacks.
7963    *
7964    * @private
7965    * @param {*} [func=identity] The value to convert to a callback.
7966    * @param {*} [thisArg] The `this` binding of the created callback.
7967    * @param {number} [argCount] The number of arguments the callback accepts.
7968    * @returns {Function} Returns a callback function.
7969    */
7970   function baseCreateCallback(func, thisArg, argCount) {
7971     if (typeof func != 'function') {
7972       return identity;
7973     }
7974     // exit early for no `thisArg` or already bound by `Function#bind`
7975     if (typeof thisArg == 'undefined' || !('prototype' in func)) {
7976       return func;
7977     }
7978     var bindData = func.__bindData__;
7979     if (typeof bindData == 'undefined') {
7980       if (support.funcNames) {
7981         bindData = !func.name;
7982       }
7983       bindData = bindData || !support.funcDecomp;
7984       if (!bindData) {
7985         var source = fnToString.call(func);
7986         if (!support.funcNames) {
7987           bindData = !reFuncName.test(source);
7988         }
7989         if (!bindData) {
7990           // checks if `func` references the `this` keyword and stores the result
7991           bindData = reThis.test(source);
7992           setBindData(func, bindData);
7993         }
7994       }
7995     }
7996     // exit early if there are no `this` references or `func` is bound
7997     if (bindData === false || (bindData !== true && bindData[1] & 1)) {
7998       return func;
7999     }
8000     switch (argCount) {
8001       case 1: return function(value) {
8002         return func.call(thisArg, value);
8003       };
8004       case 2: return function(a, b) {
8005         return func.call(thisArg, a, b);
8006       };
8007       case 3: return function(value, index, collection) {
8008         return func.call(thisArg, value, index, collection);
8009       };
8010       case 4: return function(accumulator, value, index, collection) {
8011         return func.call(thisArg, accumulator, value, index, collection);
8012       };
8013     }
8014     return bind(func, thisArg);
8015   }
8016
8017   /**
8018    * The base implementation of `createWrapper` that creates the wrapper and
8019    * sets its meta data.
8020    *
8021    * @private
8022    * @param {Array} bindData The bind data array.
8023    * @returns {Function} Returns the new function.
8024    */
8025   function baseCreateWrapper(bindData) {
8026     var func = bindData[0],
8027         bitmask = bindData[1],
8028         partialArgs = bindData[2],
8029         partialRightArgs = bindData[3],
8030         thisArg = bindData[4],
8031         arity = bindData[5];
8032
8033     var isBind = bitmask & 1,
8034         isBindKey = bitmask & 2,
8035         isCurry = bitmask & 4,
8036         isCurryBound = bitmask & 8,
8037         key = func;
8038
8039     function bound() {
8040       var thisBinding = isBind ? thisArg : this;
8041       if (partialArgs) {
8042         var args = partialArgs.slice();
8043         push.apply(args, arguments);
8044       }
8045       if (partialRightArgs || isCurry) {
8046         args || (args = slice(arguments));
8047         if (partialRightArgs) {
8048           push.apply(args, partialRightArgs);
8049         }
8050         if (isCurry && args.length < arity) {
8051           bitmask |= 16 & ~32;
8052           return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]);
8053         }
8054       }
8055       args || (args = arguments);
8056       if (isBindKey) {
8057         func = thisBinding[key];
8058       }
8059       if (this instanceof bound) {
8060         thisBinding = baseCreate(func.prototype);
8061         var result = func.apply(thisBinding, args);
8062         return isObject(result) ? result : thisBinding;
8063       }
8064       return func.apply(thisBinding, args);
8065     }
8066     setBindData(bound, bindData);
8067     return bound;
8068   }
8069
8070   /**
8071    * The base implementation of `_.difference` that accepts a single array
8072    * of values to exclude.
8073    *
8074    * @private
8075    * @param {Array} array The array to process.
8076    * @param {Array} [values] The array of values to exclude.
8077    * @returns {Array} Returns a new array of filtered values.
8078    */
8079   function baseDifference(array, values) {
8080     var index = -1,
8081         indexOf = getIndexOf(),
8082         length = array ? array.length : 0,
8083         isLarge = length >= largeArraySize && indexOf === baseIndexOf,
8084         result = [];
8085
8086     if (isLarge) {
8087       var cache = createCache(values);
8088       if (cache) {
8089         indexOf = cacheIndexOf;
8090         values = cache;
8091       } else {
8092         isLarge = false;
8093       }
8094     }
8095     while (++index < length) {
8096       var value = array[index];
8097       if (indexOf(values, value) < 0) {
8098         result.push(value);
8099       }
8100     }
8101     if (isLarge) {
8102       releaseObject(values);
8103     }
8104     return result;
8105   }
8106
8107   /**
8108    * The base implementation of `_.flatten` without support for callback
8109    * shorthands or `thisArg` binding.
8110    *
8111    * @private
8112    * @param {Array} array The array to flatten.
8113    * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
8114    * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects.
8115    * @param {number} [fromIndex=0] The index to start from.
8116    * @returns {Array} Returns a new flattened array.
8117    */
8118   function baseFlatten(array, isShallow, isStrict, fromIndex) {
8119     var index = (fromIndex || 0) - 1,
8120         length = array ? array.length : 0,
8121         result = [];
8122
8123     while (++index < length) {
8124       var value = array[index];
8125
8126       if (value && typeof value == 'object' && typeof value.length == 'number'
8127           && (isArray(value) || isArguments(value))) {
8128         // recursively flatten arrays (susceptible to call stack limits)
8129         if (!isShallow) {
8130           value = baseFlatten(value, isShallow, isStrict);
8131         }
8132         var valIndex = -1,
8133             valLength = value.length,
8134             resIndex = result.length;
8135
8136         result.length += valLength;
8137         while (++valIndex < valLength) {
8138           result[resIndex++] = value[valIndex];
8139         }
8140       } else if (!isStrict) {
8141         result.push(value);
8142       }
8143     }
8144     return result;
8145   }
8146
8147   /**
8148    * The base implementation of `_.isEqual`, without support for `thisArg` binding,
8149    * that allows partial "_.where" style comparisons.
8150    *
8151    * @private
8152    * @param {*} a The value to compare.
8153    * @param {*} b The other value to compare.
8154    * @param {Function} [callback] The function to customize comparing values.
8155    * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons.
8156    * @param {Array} [stackA=[]] Tracks traversed `a` objects.
8157    * @param {Array} [stackB=[]] Tracks traversed `b` objects.
8158    * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
8159    */
8160   function baseIsEqual(a, b, callback, isWhere, stackA, stackB) {
8161     // used to indicate that when comparing objects, `a` has at least the properties of `b`
8162     if (callback) {
8163       var result = callback(a, b);
8164       if (typeof result != 'undefined') {
8165         return !!result;
8166       }
8167     }
8168     // exit early for identical values
8169     if (a === b) {
8170       // treat `+0` vs. `-0` as not equal
8171       return a !== 0 || (1 / a == 1 / b);
8172     }
8173     var type = typeof a,
8174         otherType = typeof b;
8175
8176     // exit early for unlike primitive values
8177     if (a === a &&
8178         !(a && objectTypes[type]) &&
8179         !(b && objectTypes[otherType])) {
8180       return false;
8181     }
8182     // exit early for `null` and `undefined` avoiding ES3's Function#call behavior
8183     // http://es5.github.io/#x15.3.4.4
8184     if (a == null || b == null) {
8185       return a === b;
8186     }
8187     // compare [[Class]] names
8188     var className = toString.call(a),
8189         otherClass = toString.call(b);
8190
8191     if (className == argsClass) {
8192       className = objectClass;
8193     }
8194     if (otherClass == argsClass) {
8195       otherClass = objectClass;
8196     }
8197     if (className != otherClass) {
8198       return false;
8199     }
8200     switch (className) {
8201       case boolClass:
8202       case dateClass:
8203         // coerce dates and booleans to numbers, dates to milliseconds and booleans
8204         // to `1` or `0` treating invalid dates coerced to `NaN` as not equal
8205         return +a == +b;
8206
8207       case numberClass:
8208         // treat `NaN` vs. `NaN` as equal
8209         return (a != +a)
8210           ? b != +b
8211           // but treat `+0` vs. `-0` as not equal
8212           : (a == 0 ? (1 / a == 1 / b) : a == +b);
8213
8214       case regexpClass:
8215       case stringClass:
8216         // coerce regexes to strings (http://es5.github.io/#x15.10.6.4)
8217         // treat string primitives and their corresponding object instances as equal
8218         return a == String(b);
8219     }
8220     var isArr = className == arrayClass;
8221     if (!isArr) {
8222       // unwrap any `lodash` wrapped values
8223       var aWrapped = hasOwnProperty.call(a, '__wrapped__'),
8224           bWrapped = hasOwnProperty.call(b, '__wrapped__');
8225
8226       if (aWrapped || bWrapped) {
8227         return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB);
8228       }
8229       // exit for functions and DOM nodes
8230       if (className != objectClass || (!support.nodeClass && (isNode(a) || isNode(b)))) {
8231         return false;
8232       }
8233       // in older versions of Opera, `arguments` objects have `Array` constructors
8234       var ctorA = !support.argsObject && isArguments(a) ? Object : a.constructor,
8235           ctorB = !support.argsObject && isArguments(b) ? Object : b.constructor;
8236
8237       // non `Object` object instances with different constructors are not equal
8238       if (ctorA != ctorB &&
8239             !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) &&
8240             ('constructor' in a && 'constructor' in b)
8241           ) {
8242         return false;
8243       }
8244     }
8245     // assume cyclic structures are equal
8246     // the algorithm for detecting cyclic structures is adapted from ES 5.1
8247     // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3)
8248     var initedStack = !stackA;
8249     stackA || (stackA = getArray());
8250     stackB || (stackB = getArray());
8251
8252     var length = stackA.length;
8253     while (length--) {
8254       if (stackA[length] == a) {
8255         return stackB[length] == b;
8256       }
8257     }
8258     var size = 0;
8259     result = true;
8260
8261     // add `a` and `b` to the stack of traversed objects
8262     stackA.push(a);
8263     stackB.push(b);
8264
8265     // recursively compare objects and arrays (susceptible to call stack limits)
8266     if (isArr) {
8267       length = a.length;
8268       size = b.length;
8269
8270       // compare lengths to determine if a deep comparison is necessary
8271       result = size == a.length;
8272       if (!result && !isWhere) {
8273         return result;
8274       }
8275       // deep compare the contents, ignoring non-numeric properties
8276       while (size--) {
8277         var index = length,
8278             value = b[size];
8279
8280         if (isWhere) {
8281           while (index--) {
8282             if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) {
8283               break;
8284             }
8285           }
8286         } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) {
8287           break;
8288         }
8289       }
8290       return result;
8291     }
8292     // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
8293     // which, in this case, is more costly
8294     forIn(b, function(value, key, b) {
8295       if (hasOwnProperty.call(b, key)) {
8296         // count the number of properties.
8297         size++;
8298         // deep compare each property value.
8299         return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB));
8300       }
8301     });
8302
8303     if (result && !isWhere) {
8304       // ensure both objects have the same number of properties
8305       forIn(a, function(value, key, a) {
8306         if (hasOwnProperty.call(a, key)) {
8307           // `size` will be `-1` if `a` has more properties than `b`
8308           return (result = --size > -1);
8309         }
8310       });
8311     }
8312     if (initedStack) {
8313       releaseArray(stackA);
8314       releaseArray(stackB);
8315     }
8316     return result;
8317   }
8318
8319   /**
8320    * The base implementation of `_.merge` without argument juggling or support
8321    * for `thisArg` binding.
8322    *
8323    * @private
8324    * @param {Object} object The destination object.
8325    * @param {Object} source The source object.
8326    * @param {Function} [callback] The function to customize merging properties.
8327    * @param {Array} [stackA=[]] Tracks traversed source objects.
8328    * @param {Array} [stackB=[]] Associates values with source counterparts.
8329    */
8330   function baseMerge(object, source, callback, stackA, stackB) {
8331     (isArray(source) ? forEach : forOwn)(source, function(source, key) {
8332       var found,
8333           isArr,
8334           result = source,
8335           value = object[key];
8336
8337       if (source && ((isArr = isArray(source)) || isPlainObject(source))) {
8338         // avoid merging previously merged cyclic sources
8339         var stackLength = stackA.length;
8340         while (stackLength--) {
8341           if ((found = stackA[stackLength] == source)) {
8342             value = stackB[stackLength];
8343             break;
8344           }
8345         }
8346         if (!found) {
8347           var isShallow;
8348           if (callback) {
8349             result = callback(value, source);
8350             if ((isShallow = typeof result != 'undefined')) {
8351               value = result;
8352             }
8353           }
8354           if (!isShallow) {
8355             value = isArr
8356               ? (isArray(value) ? value : [])
8357               : (isPlainObject(value) ? value : {});
8358           }
8359           // add `source` and associated `value` to the stack of traversed objects
8360           stackA.push(source);
8361           stackB.push(value);
8362
8363           // recursively merge objects and arrays (susceptible to call stack limits)
8364           if (!isShallow) {
8365             baseMerge(value, source, callback, stackA, stackB);
8366           }
8367         }
8368       }
8369       else {
8370         if (callback) {
8371           result = callback(value, source);
8372           if (typeof result == 'undefined') {
8373             result = source;
8374           }
8375         }
8376         if (typeof result != 'undefined') {
8377           value = result;
8378         }
8379       }
8380       object[key] = value;
8381     });
8382   }
8383
8384   /**
8385    * The base implementation of `_.uniq` without support for callback shorthands
8386    * or `thisArg` binding.
8387    *
8388    * @private
8389    * @param {Array} array The array to process.
8390    * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
8391    * @param {Function} [callback] The function called per iteration.
8392    * @returns {Array} Returns a duplicate-value-free array.
8393    */
8394   function baseUniq(array, isSorted, callback) {
8395     var index = -1,
8396         indexOf = getIndexOf(),
8397         length = array ? array.length : 0,
8398         result = [];
8399
8400     var isLarge = !isSorted && length >= largeArraySize && indexOf === baseIndexOf,
8401         seen = (callback || isLarge) ? getArray() : result;
8402
8403     if (isLarge) {
8404       var cache = createCache(seen);
8405       if (cache) {
8406         indexOf = cacheIndexOf;
8407         seen = cache;
8408       } else {
8409         isLarge = false;
8410         seen = callback ? seen : (releaseArray(seen), result);
8411       }
8412     }
8413     while (++index < length) {
8414       var value = array[index],
8415           computed = callback ? callback(value, index, array) : value;
8416
8417       if (isSorted
8418             ? !index || seen[seen.length - 1] !== computed
8419             : indexOf(seen, computed) < 0
8420           ) {
8421         if (callback || isLarge) {
8422           seen.push(computed);
8423         }
8424         result.push(value);
8425       }
8426     }
8427     if (isLarge) {
8428       releaseArray(seen.array);
8429       releaseObject(seen);
8430     } else if (callback) {
8431       releaseArray(seen);
8432     }
8433     return result;
8434   }
8435
8436   /**
8437    * Creates a function that aggregates a collection, creating an object composed
8438    * of keys generated from the results of running each element of the collection
8439    * through a callback. The given `setter` function sets the keys and values
8440    * of the composed object.
8441    *
8442    * @private
8443    * @param {Function} setter The setter function.
8444    * @returns {Function} Returns the new aggregator function.
8445    */
8446   function createAggregator(setter) {
8447     return function(collection, callback, thisArg) {
8448       var result = {};
8449       callback = lodash.createCallback(callback, thisArg, 3);
8450
8451       if (isArray(collection)) {
8452         var index = -1,
8453             length = collection.length;
8454
8455         while (++index < length) {
8456           var value = collection[index];
8457           setter(result, value, callback(value, index, collection), collection);
8458         }
8459       } else {
8460         baseEach(collection, function(value, key, collection) {
8461           setter(result, value, callback(value, key, collection), collection);
8462         });
8463       }
8464       return result;
8465     };
8466   }
8467
8468   /**
8469    * Creates a function that, when called, either curries or invokes `func`
8470    * with an optional `this` binding and partially applied arguments.
8471    *
8472    * @private
8473    * @param {Function|string} func The function or method name to reference.
8474    * @param {number} bitmask The bitmask of method flags to compose.
8475    *  The bitmask may be composed of the following flags:
8476    *  1 - `_.bind`
8477    *  2 - `_.bindKey`
8478    *  4 - `_.curry`
8479    *  8 - `_.curry` (bound)
8480    *  16 - `_.partial`
8481    *  32 - `_.partialRight`
8482    * @param {Array} [partialArgs] An array of arguments to prepend to those
8483    *  provided to the new function.
8484    * @param {Array} [partialRightArgs] An array of arguments to append to those
8485    *  provided to the new function.
8486    * @param {*} [thisArg] The `this` binding of `func`.
8487    * @param {number} [arity] The arity of `func`.
8488    * @returns {Function} Returns the new function.
8489    */
8490   function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) {
8491     var isBind = bitmask & 1,
8492         isBindKey = bitmask & 2,
8493         isCurry = bitmask & 4,
8494         isCurryBound = bitmask & 8,
8495         isPartial = bitmask & 16,
8496         isPartialRight = bitmask & 32;
8497
8498     if (!isBindKey && !isFunction(func)) {
8499       throw new TypeError;
8500     }
8501     if (isPartial && !partialArgs.length) {
8502       bitmask &= ~16;
8503       isPartial = partialArgs = false;
8504     }
8505     if (isPartialRight && !partialRightArgs.length) {
8506       bitmask &= ~32;
8507       isPartialRight = partialRightArgs = false;
8508     }
8509     var bindData = func && func.__bindData__;
8510     if (bindData && bindData !== true) {
8511       bindData = bindData.slice();
8512
8513       // set `thisBinding` is not previously bound
8514       if (isBind && !(bindData[1] & 1)) {
8515         bindData[4] = thisArg;
8516       }
8517       // set if previously bound but not currently (subsequent curried functions)
8518       if (!isBind && bindData[1] & 1) {
8519         bitmask |= 8;
8520       }
8521       // set curried arity if not yet set
8522       if (isCurry && !(bindData[1] & 4)) {
8523         bindData[5] = arity;
8524       }
8525       // append partial left arguments
8526       if (isPartial) {
8527         push.apply(bindData[2] || (bindData[2] = []), partialArgs);
8528       }
8529       // append partial right arguments
8530       if (isPartialRight) {
8531         push.apply(bindData[3] || (bindData[3] = []), partialRightArgs);
8532       }
8533       // merge flags
8534       bindData[1] |= bitmask;
8535       return createWrapper.apply(null, bindData);
8536     }
8537     // fast path for `_.bind`
8538     var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper;
8539     return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]);
8540   }
8541
8542   /**
8543    * Creates compiled iteration functions.
8544    *
8545    * @private
8546    * @param {...Object} [options] The compile options object(s).
8547    * @param {string} [options.array] Code to determine if the iterable is an array or array-like.
8548    * @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop.
8549    * @param {Function} [options.keys] A reference to `_.keys` for use in own property iteration.
8550    * @param {string} [options.args] A comma separated string of iteration function arguments.
8551    * @param {string} [options.top] Code to execute before the iteration branches.
8552    * @param {string} [options.loop] Code to execute in the object loop.
8553    * @param {string} [options.bottom] Code to execute after the iteration branches.
8554    * @returns {Function} Returns the compiled function.
8555    */
8556   function createIterator() {
8557     // data properties
8558     iteratorData.shadowedProps = shadowedProps;
8559
8560     // iterator options
8561     iteratorData.array = iteratorData.bottom = iteratorData.loop = iteratorData.top = '';
8562     iteratorData.init = 'iterable';
8563     iteratorData.useHas = true;
8564
8565     // merge options into a template data object
8566     for (var object, index = 0; object = arguments[index]; index++) {
8567       for (var key in object) {
8568         iteratorData[key] = object[key];
8569       }
8570     }
8571     var args = iteratorData.args;
8572     iteratorData.firstArg = /^[^,]+/.exec(args)[0];
8573
8574     // create the function factory
8575     var factory = Function(
8576         'baseCreateCallback, errorClass, errorProto, hasOwnProperty, ' +
8577         'indicatorObject, isArguments, isArray, isString, keys, objectProto, ' +
8578         'objectTypes, nonEnumProps, stringClass, stringProto, toString',
8579       'return function(' + args + ') {\n' + iteratorTemplate(iteratorData) + '\n}'
8580     );
8581
8582     // return the compiled function
8583     return factory(
8584       baseCreateCallback, errorClass, errorProto, hasOwnProperty,
8585       indicatorObject, isArguments, isArray, isString, iteratorData.keys, objectProto,
8586       objectTypes, nonEnumProps, stringClass, stringProto, toString
8587     );
8588   }
8589
8590   /**
8591    * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
8592    * customized, this method returns the custom method, otherwise it returns
8593    * the `baseIndexOf` function.
8594    *
8595    * @private
8596    * @returns {Function} Returns the "indexOf" function.
8597    */
8598   function getIndexOf() {
8599     var result = (result = lodash.indexOf) === indexOf ? baseIndexOf : result;
8600     return result;
8601   }
8602
8603   /**
8604    * Sets `this` binding data on a given function.
8605    *
8606    * @private
8607    * @param {Function} func The function to set data on.
8608    * @param {Array} value The data array to set.
8609    */
8610   var setBindData = !defineProperty ? noop : function(func, value) {
8611     descriptor.value = value;
8612     defineProperty(func, '__bindData__', descriptor);
8613   };
8614
8615   /**
8616    * A fallback implementation of `isPlainObject` which checks if a given value
8617    * is an object created by the `Object` constructor, assuming objects created
8618    * by the `Object` constructor have no inherited enumerable properties and that
8619    * there are no `Object.prototype` extensions.
8620    *
8621    * @private
8622    * @param {*} value The value to check.
8623    * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
8624    */
8625   function shimIsPlainObject(value) {
8626     var ctor,
8627         result;
8628
8629     // avoid non Object objects, `arguments` objects, and DOM elements
8630     if (!(value && toString.call(value) == objectClass) ||
8631         (ctor = value.constructor, isFunction(ctor) && !(ctor instanceof ctor)) ||
8632         (!support.argsClass && isArguments(value)) ||
8633         (!support.nodeClass && isNode(value))) {
8634       return false;
8635     }
8636     // IE < 9 iterates inherited properties before own properties. If the first
8637     // iterated property is an object's own property then there are no inherited
8638     // enumerable properties.
8639     if (support.ownLast) {
8640       forIn(value, function(value, key, object) {
8641         result = hasOwnProperty.call(object, key);
8642         return false;
8643       });
8644       return result !== false;
8645     }
8646     // In most environments an object's own properties are iterated before
8647     // its inherited properties. If the last iterated property is an object's
8648     // own property then there are no inherited enumerable properties.
8649     forIn(value, function(value, key) {
8650       result = key;
8651     });
8652     return typeof result == 'undefined' || hasOwnProperty.call(value, result);
8653   }
8654
8655   /*--------------------------------------------------------------------------*/
8656
8657   /**
8658    * Checks if `value` is an `arguments` object.
8659    *
8660    * @static
8661    * @memberOf _
8662    * @category Objects
8663    * @param {*} value The value to check.
8664    * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`.
8665    * @example
8666    *
8667    * (function() { return _.isArguments(arguments); })(1, 2, 3);
8668    * // => true
8669    *
8670    * _.isArguments([1, 2, 3]);
8671    * // => false
8672    */
8673   function isArguments(value) {
8674     return value && typeof value == 'object' && typeof value.length == 'number' &&
8675       toString.call(value) == argsClass || false;
8676   }
8677   // fallback for browsers that can't detect `arguments` objects by [[Class]]
8678   if (!support.argsClass) {
8679     isArguments = function(value) {
8680       return value && typeof value == 'object' && typeof value.length == 'number' &&
8681         hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee') || false;
8682     };
8683   }
8684
8685   /**
8686    * Checks if `value` is an array.
8687    *
8688    * @static
8689    * @memberOf _
8690    * @type Function
8691    * @category Objects
8692    * @param {*} value The value to check.
8693    * @returns {boolean} Returns `true` if the `value` is an array, else `false`.
8694    * @example
8695    *
8696    * (function() { return _.isArray(arguments); })();
8697    * // => false
8698    *
8699    * _.isArray([1, 2, 3]);
8700    * // => true
8701    */
8702   var isArray = nativeIsArray || function(value) {
8703     return value && typeof value == 'object' && typeof value.length == 'number' &&
8704       toString.call(value) == arrayClass || false;
8705   };
8706
8707   /**
8708    * A fallback implementation of `Object.keys` which produces an array of the
8709    * given object's own enumerable property names.
8710    *
8711    * @private
8712    * @type Function
8713    * @param {Object} object The object to inspect.
8714    * @returns {Array} Returns an array of property names.
8715    */
8716   var shimKeys = createIterator({
8717     'args': 'object',
8718     'init': '[]',
8719     'top': 'if (!(objectTypes[typeof object])) return result',
8720     'loop': 'result.push(index)'
8721   });
8722
8723   /**
8724    * Creates an array composed of the own enumerable property names of an object.
8725    *
8726    * @static
8727    * @memberOf _
8728    * @category Objects
8729    * @param {Object} object The object to inspect.
8730    * @returns {Array} Returns an array of property names.
8731    * @example
8732    *
8733    * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
8734    * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
8735    */
8736   var keys = !nativeKeys ? shimKeys : function(object) {
8737     if (!isObject(object)) {
8738       return [];
8739     }
8740     if ((support.enumPrototypes && typeof object == 'function') ||
8741         (support.nonEnumArgs && object.length && isArguments(object))) {
8742       return shimKeys(object);
8743     }
8744     return nativeKeys(object);
8745   };
8746
8747   /** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
8748   var eachIteratorOptions = {
8749     'args': 'collection, callback, thisArg',
8750     'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",
8751     'array': "typeof length == 'number'",
8752     'keys': keys,
8753     'loop': 'if (callback(iterable[index], index, collection) === false) return result'
8754   };
8755
8756   /** Reusable iterator options for `assign` and `defaults` */
8757   var defaultsIteratorOptions = {
8758     'args': 'object, source, guard',
8759     'top':
8760       'var args = arguments,\n' +
8761       '    argsIndex = 0,\n' +
8762       "    argsLength = typeof guard == 'number' ? 2 : args.length;\n" +
8763       'while (++argsIndex < argsLength) {\n' +
8764       '  iterable = args[argsIndex];\n' +
8765       '  if (iterable && objectTypes[typeof iterable]) {',
8766     'keys': keys,
8767     'loop': "if (typeof result[index] == 'undefined') result[index] = iterable[index]",
8768     'bottom': '  }\n}'
8769   };
8770
8771   /** Reusable iterator options for `forIn` and `forOwn` */
8772   var forOwnIteratorOptions = {
8773     'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top,
8774     'array': false
8775   };
8776
8777   /**
8778    * A function compiled to iterate `arguments` objects, arrays, objects, and
8779    * strings consistenly across environments, executing the callback for each
8780    * element in the collection. The callback is bound to `thisArg` and invoked
8781    * with three arguments; (value, index|key, collection). Callbacks may exit
8782    * iteration early by explicitly returning `false`.
8783    *
8784    * @private
8785    * @type Function
8786    * @param {Array|Object|string} collection The collection to iterate over.
8787    * @param {Function} [callback=identity] The function called per iteration.
8788    * @param {*} [thisArg] The `this` binding of `callback`.
8789    * @returns {Array|Object|string} Returns `collection`.
8790    */
8791   var baseEach = createIterator(eachIteratorOptions);
8792
8793   /*--------------------------------------------------------------------------*/
8794
8795   /**
8796    * Assigns own enumerable properties of source object(s) to the destination
8797    * object. Subsequent sources will overwrite property assignments of previous
8798    * sources. If a callback is provided it will be executed to produce the
8799    * assigned values. The callback is bound to `thisArg` and invoked with two
8800    * arguments; (objectValue, sourceValue).
8801    *
8802    * @static
8803    * @memberOf _
8804    * @type Function
8805    * @alias extend
8806    * @category Objects
8807    * @param {Object} object The destination object.
8808    * @param {...Object} [source] The source objects.
8809    * @param {Function} [callback] The function to customize assigning values.
8810    * @param {*} [thisArg] The `this` binding of `callback`.
8811    * @returns {Object} Returns the destination object.
8812    * @example
8813    *
8814    * _.assign({ 'name': 'fred' }, { 'employer': 'slate' });
8815    * // => { 'name': 'fred', 'employer': 'slate' }
8816    *
8817    * var defaults = _.partialRight(_.assign, function(a, b) {
8818    *   return typeof a == 'undefined' ? b : a;
8819    * });
8820    *
8821    * var object = { 'name': 'barney' };
8822    * defaults(object, { 'name': 'fred', 'employer': 'slate' });
8823    * // => { 'name': 'barney', 'employer': 'slate' }
8824    */
8825   var assign = createIterator(defaultsIteratorOptions, {
8826     'top':
8827       defaultsIteratorOptions.top.replace(';',
8828         ';\n' +
8829         "if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" +
8830         '  var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n' +
8831         "} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" +
8832         '  callback = args[--argsLength];\n' +
8833         '}'
8834       ),
8835     'loop': 'result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]'
8836   });
8837
8838   /**
8839    * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
8840    * be cloned, otherwise they will be assigned by reference. If a callback
8841    * is provided it will be executed to produce the cloned values. If the
8842    * callback returns `undefined` cloning will be handled by the method instead.
8843    * The callback is bound to `thisArg` and invoked with one argument; (value).
8844    *
8845    * @static
8846    * @memberOf _
8847    * @category Objects
8848    * @param {*} value The value to clone.
8849    * @param {boolean} [isDeep=false] Specify a deep clone.
8850    * @param {Function} [callback] The function to customize cloning values.
8851    * @param {*} [thisArg] The `this` binding of `callback`.
8852    * @returns {*} Returns the cloned value.
8853    * @example
8854    *
8855    * var characters = [
8856    *   { 'name': 'barney', 'age': 36 },
8857    *   { 'name': 'fred',   'age': 40 }
8858    * ];
8859    *
8860    * var shallow = _.clone(characters);
8861    * shallow[0] === characters[0];
8862    * // => true
8863    *
8864    * var deep = _.clone(characters, true);
8865    * deep[0] === characters[0];
8866    * // => false
8867    *
8868    * _.mixin({
8869    *   'clone': _.partialRight(_.clone, function(value) {
8870    *     return _.isElement(value) ? value.cloneNode(false) : undefined;
8871    *   })
8872    * });
8873    *
8874    * var clone = _.clone(document.body);
8875    * clone.childNodes.length;
8876    * // => 0
8877    */
8878   function clone(value, isDeep, callback, thisArg) {
8879     // allows working with "Collections" methods without using their `index`
8880     // and `collection` arguments for `isDeep` and `callback`
8881     if (typeof isDeep != 'boolean' && isDeep != null) {
8882       thisArg = callback;
8883       callback = isDeep;
8884       isDeep = false;
8885     }
8886     return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
8887   }
8888
8889   /**
8890    * Creates a deep clone of `value`. If a callback is provided it will be
8891    * executed to produce the cloned values. If the callback returns `undefined`
8892    * cloning will be handled by the method instead. The callback is bound to
8893    * `thisArg` and invoked with one argument; (value).
8894    *
8895    * Note: This method is loosely based on the structured clone algorithm. Functions
8896    * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and
8897    * objects created by constructors other than `Object` are cloned to plain `Object` objects.
8898    * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm.
8899    *
8900    * @static
8901    * @memberOf _
8902    * @category Objects
8903    * @param {*} value The value to deep clone.
8904    * @param {Function} [callback] The function to customize cloning values.
8905    * @param {*} [thisArg] The `this` binding of `callback`.
8906    * @returns {*} Returns the deep cloned value.
8907    * @example
8908    *
8909    * var characters = [
8910    *   { 'name': 'barney', 'age': 36 },
8911    *   { 'name': 'fred',   'age': 40 }
8912    * ];
8913    *
8914    * var deep = _.cloneDeep(characters);
8915    * deep[0] === characters[0];
8916    * // => false
8917    *
8918    * var view = {
8919    *   'label': 'docs',
8920    *   'node': element
8921    * };
8922    *
8923    * var clone = _.cloneDeep(view, function(value) {
8924    *   return _.isElement(value) ? value.cloneNode(true) : undefined;
8925    * });
8926    *
8927    * clone.node == view.node;
8928    * // => false
8929    */
8930   function cloneDeep(value, callback, thisArg) {
8931     return baseClone(value, true, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
8932   }
8933
8934   /**
8935    * Iterates over own and inherited enumerable properties of an object,
8936    * executing the callback for each property. The callback is bound to `thisArg`
8937    * and invoked with three arguments; (value, key, object). Callbacks may exit
8938    * iteration early by explicitly returning `false`.
8939    *
8940    * @static
8941    * @memberOf _
8942    * @type Function
8943    * @category Objects
8944    * @param {Object} object The object to iterate over.
8945    * @param {Function} [callback=identity] The function called per iteration.
8946    * @param {*} [thisArg] The `this` binding of `callback`.
8947    * @returns {Object} Returns `object`.
8948    * @example
8949    *
8950    * function Shape() {
8951    *   this.x = 0;
8952    *   this.y = 0;
8953    * }
8954    *
8955    * Shape.prototype.move = function(x, y) {
8956    *   this.x += x;
8957    *   this.y += y;
8958    * };
8959    *
8960    * _.forIn(new Shape, function(value, key) {
8961    *   console.log(key);
8962    * });
8963    * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments)
8964    */
8965   var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, {
8966     'useHas': false
8967   });
8968
8969   /**
8970    * Iterates over own enumerable properties of an object, executing the callback
8971    * for each property. The callback is bound to `thisArg` and invoked with three
8972    * arguments; (value, key, object). Callbacks may exit iteration early by
8973    * explicitly returning `false`.
8974    *
8975    * @static
8976    * @memberOf _
8977    * @type Function
8978    * @category Objects
8979    * @param {Object} object The object to iterate over.
8980    * @param {Function} [callback=identity] The function called per iteration.
8981    * @param {*} [thisArg] The `this` binding of `callback`.
8982    * @returns {Object} Returns `object`.
8983    * @example
8984    *
8985    * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
8986    *   console.log(key);
8987    * });
8988    * // => logs '0', '1', and 'length' (property order is not guaranteed across environments)
8989    */
8990   var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions);
8991
8992   /**
8993    * Creates a sorted array of property names of all enumerable properties,
8994    * own and inherited, of `object` that have function values.
8995    *
8996    * @static
8997    * @memberOf _
8998    * @alias methods
8999    * @category Objects
9000    * @param {Object} object The object to inspect.
9001    * @returns {Array} Returns an array of property names that have function values.
9002    * @example
9003    *
9004    * _.functions(_);
9005    * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...]
9006    */
9007   function functions(object) {
9008     var result = [];
9009     forIn(object, function(value, key) {
9010       if (isFunction(value)) {
9011         result.push(key);
9012       }
9013     });
9014     return result.sort();
9015   }
9016
9017   /**
9018    * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
9019    * length of `0` and objects with no own enumerable properties are considered
9020    * "empty".
9021    *
9022    * @static
9023    * @memberOf _
9024    * @category Objects
9025    * @param {Array|Object|string} value The value to inspect.
9026    * @returns {boolean} Returns `true` if the `value` is empty, else `false`.
9027    * @example
9028    *
9029    * _.isEmpty([1, 2, 3]);
9030    * // => false
9031    *
9032    * _.isEmpty({});
9033    * // => true
9034    *
9035    * _.isEmpty('');
9036    * // => true
9037    */
9038   function isEmpty(value) {
9039     var result = true;
9040     if (!value) {
9041       return result;
9042     }
9043     var className = toString.call(value),
9044         length = value.length;
9045
9046     if ((className == arrayClass || className == stringClass ||
9047         (support.argsClass ? className == argsClass : isArguments(value))) ||
9048         (className == objectClass && typeof length == 'number' && isFunction(value.splice))) {
9049       return !length;
9050     }
9051     forOwn(value, function() {
9052       return (result = false);
9053     });
9054     return result;
9055   }
9056
9057   /**
9058    * Performs a deep comparison between two values to determine if they are
9059    * equivalent to each other. If a callback is provided it will be executed
9060    * to compare values. If the callback returns `undefined` comparisons will
9061    * be handled by the method instead. The callback is bound to `thisArg` and
9062    * invoked with two arguments; (a, b).
9063    *
9064    * @static
9065    * @memberOf _
9066    * @category Objects
9067    * @param {*} a The value to compare.
9068    * @param {*} b The other value to compare.
9069    * @param {Function} [callback] The function to customize comparing values.
9070    * @param {*} [thisArg] The `this` binding of `callback`.
9071    * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
9072    * @example
9073    *
9074    * var object = { 'name': 'fred' };
9075    * var copy = { 'name': 'fred' };
9076    *
9077    * object == copy;
9078    * // => false
9079    *
9080    * _.isEqual(object, copy);
9081    * // => true
9082    *
9083    * var words = ['hello', 'goodbye'];
9084    * var otherWords = ['hi', 'goodbye'];
9085    *
9086    * _.isEqual(words, otherWords, function(a, b) {
9087    *   var reGreet = /^(?:hello|hi)$/i,
9088    *       aGreet = _.isString(a) && reGreet.test(a),
9089    *       bGreet = _.isString(b) && reGreet.test(b);
9090    *
9091    *   return (aGreet || bGreet) ? (aGreet == bGreet) : undefined;
9092    * });
9093    * // => true
9094    */
9095   function isEqual(a, b, callback, thisArg) {
9096     return baseIsEqual(a, b, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 2));
9097   }
9098
9099   /**
9100    * Checks if `value` is a function.
9101    *
9102    * @static
9103    * @memberOf _
9104    * @category Objects
9105    * @param {*} value The value to check.
9106    * @returns {boolean} Returns `true` if the `value` is a function, else `false`.
9107    * @example
9108    *
9109    * _.isFunction(_);
9110    * // => true
9111    */
9112   function isFunction(value) {
9113     return typeof value == 'function';
9114   }
9115   // fallback for older versions of Chrome and Safari
9116   if (isFunction(/x/)) {
9117     isFunction = function(value) {
9118       return typeof value == 'function' && toString.call(value) == funcClass;
9119     };
9120   }
9121
9122   /**
9123    * Checks if `value` is the language type of Object.
9124    * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
9125    *
9126    * @static
9127    * @memberOf _
9128    * @category Objects
9129    * @param {*} value The value to check.
9130    * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
9131    * @example
9132    *
9133    * _.isObject({});
9134    * // => true
9135    *
9136    * _.isObject([1, 2, 3]);
9137    * // => true
9138    *
9139    * _.isObject(1);
9140    * // => false
9141    */
9142   function isObject(value) {
9143     // check if the value is the ECMAScript language type of Object
9144     // http://es5.github.io/#x8
9145     // and avoid a V8 bug
9146     // http://code.google.com/p/v8/issues/detail?id=2291
9147     return !!(value && objectTypes[typeof value]);
9148   }
9149
9150   /**
9151    * Checks if `value` is an object created by the `Object` constructor.
9152    *
9153    * @static
9154    * @memberOf _
9155    * @category Objects
9156    * @param {*} value The value to check.
9157    * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
9158    * @example
9159    *
9160    * function Shape() {
9161    *   this.x = 0;
9162    *   this.y = 0;
9163    * }
9164    *
9165    * _.isPlainObject(new Shape);
9166    * // => false
9167    *
9168    * _.isPlainObject([1, 2, 3]);
9169    * // => false
9170    *
9171    * _.isPlainObject({ 'x': 0, 'y': 0 });
9172    * // => true
9173    */
9174   var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
9175     if (!(value && toString.call(value) == objectClass) || (!support.argsClass && isArguments(value))) {
9176       return false;
9177     }
9178     var valueOf = value.valueOf,
9179         objProto = typeof valueOf == 'function' && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
9180
9181     return objProto
9182       ? (value == objProto || getPrototypeOf(value) == objProto)
9183       : shimIsPlainObject(value);
9184   };
9185
9186   /**
9187    * Checks if `value` is a string.
9188    *
9189    * @static
9190    * @memberOf _
9191    * @category Objects
9192    * @param {*} value The value to check.
9193    * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
9194    * @example
9195    *
9196    * _.isString('fred');
9197    * // => true
9198    */
9199   function isString(value) {
9200     return typeof value == 'string' ||
9201       value && typeof value == 'object' && toString.call(value) == stringClass || false;
9202   }
9203
9204   /**
9205    * Recursively merges own enumerable properties of the source object(s), that
9206    * don't resolve to `undefined` into the destination object. Subsequent sources
9207    * will overwrite property assignments of previous sources. If a callback is
9208    * provided it will be executed to produce the merged values of the destination
9209    * and source properties. If the callback returns `undefined` merging will
9210    * be handled by the method instead. The callback is bound to `thisArg` and
9211    * invoked with two arguments; (objectValue, sourceValue).
9212    *
9213    * @static
9214    * @memberOf _
9215    * @category Objects
9216    * @param {Object} object The destination object.
9217    * @param {...Object} [source] The source objects.
9218    * @param {Function} [callback] The function to customize merging properties.
9219    * @param {*} [thisArg] The `this` binding of `callback`.
9220    * @returns {Object} Returns the destination object.
9221    * @example
9222    *
9223    * var names = {
9224    *   'characters': [
9225    *     { 'name': 'barney' },
9226    *     { 'name': 'fred' }
9227    *   ]
9228    * };
9229    *
9230    * var ages = {
9231    *   'characters': [
9232    *     { 'age': 36 },
9233    *     { 'age': 40 }
9234    *   ]
9235    * };
9236    *
9237    * _.merge(names, ages);
9238    * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] }
9239    *
9240    * var food = {
9241    *   'fruits': ['apple'],
9242    *   'vegetables': ['beet']
9243    * };
9244    *
9245    * var otherFood = {
9246    *   'fruits': ['banana'],
9247    *   'vegetables': ['carrot']
9248    * };
9249    *
9250    * _.merge(food, otherFood, function(a, b) {
9251    *   return _.isArray(a) ? a.concat(b) : undefined;
9252    * });
9253    * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] }
9254    */
9255   function merge(object) {
9256     var args = arguments,
9257         length = 2;
9258
9259     if (!isObject(object)) {
9260       return object;
9261     }
9262
9263     // allows working with `_.reduce` and `_.reduceRight` without using
9264     // their `index` and `collection` arguments
9265     if (typeof args[2] != 'number') {
9266       length = args.length;
9267     }
9268     if (length > 3 && typeof args[length - 2] == 'function') {
9269       var callback = baseCreateCallback(args[--length - 1], args[length--], 2);
9270     } else if (length > 2 && typeof args[length - 1] == 'function') {
9271       callback = args[--length];
9272     }
9273     var sources = slice(arguments, 1, length),
9274         index = -1,
9275         stackA = getArray(),
9276         stackB = getArray();
9277
9278     while (++index < length) {
9279       baseMerge(object, sources[index], callback, stackA, stackB);
9280     }
9281     releaseArray(stackA);
9282     releaseArray(stackB);
9283     return object;
9284   }
9285
9286   /**
9287    * Creates a shallow clone of `object` excluding the specified properties.
9288    * Property names may be specified as individual arguments or as arrays of
9289    * property names. If a callback is provided it will be executed for each
9290    * property of `object` omitting the properties the callback returns truey
9291    * for. The callback is bound to `thisArg` and invoked with three arguments;
9292    * (value, key, object).
9293    *
9294    * @static
9295    * @memberOf _
9296    * @category Objects
9297    * @param {Object} object The source object.
9298    * @param {Function|...string|string[]} [callback] The properties to omit or the
9299    *  function called per iteration.
9300    * @param {*} [thisArg] The `this` binding of `callback`.
9301    * @returns {Object} Returns an object without the omitted properties.
9302    * @example
9303    *
9304    * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
9305    * // => { 'name': 'fred' }
9306    *
9307    * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
9308    *   return typeof value == 'number';
9309    * });
9310    * // => { 'name': 'fred' }
9311    */
9312   function omit(object, callback, thisArg) {
9313     var result = {};
9314     if (typeof callback != 'function') {
9315       var props = [];
9316       forIn(object, function(value, key) {
9317         props.push(key);
9318       });
9319       props = baseDifference(props, baseFlatten(arguments, true, false, 1));
9320
9321       var index = -1,
9322           length = props.length;
9323
9324       while (++index < length) {
9325         var key = props[index];
9326         result[key] = object[key];
9327       }
9328     } else {
9329       callback = lodash.createCallback(callback, thisArg, 3);
9330       forIn(object, function(value, key, object) {
9331         if (!callback(value, key, object)) {
9332           result[key] = value;
9333         }
9334       });
9335     }
9336     return result;
9337   }
9338
9339   /**
9340    * Creates a two dimensional array of an object's key-value pairs,
9341    * i.e. `[[key1, value1], [key2, value2]]`.
9342    *
9343    * @static
9344    * @memberOf _
9345    * @category Objects
9346    * @param {Object} object The object to inspect.
9347    * @returns {Array} Returns new array of key-value pairs.
9348    * @example
9349    *
9350    * _.pairs({ 'barney': 36, 'fred': 40 });
9351    * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
9352    */
9353   function pairs(object) {
9354     var index = -1,
9355         props = keys(object),
9356         length = props.length,
9357         result = Array(length);
9358
9359     while (++index < length) {
9360       var key = props[index];
9361       result[index] = [key, object[key]];
9362     }
9363     return result;
9364   }
9365
9366   /**
9367    * Creates a shallow clone of `object` composed of the specified properties.
9368    * Property names may be specified as individual arguments or as arrays of
9369    * property names. If a callback is provided it will be executed for each
9370    * property of `object` picking the properties the callback returns truey
9371    * for. The callback is bound to `thisArg` and invoked with three arguments;
9372    * (value, key, object).
9373    *
9374    * @static
9375    * @memberOf _
9376    * @category Objects
9377    * @param {Object} object The source object.
9378    * @param {Function|...string|string[]} [callback] The function called per
9379    *  iteration or property names to pick, specified as individual property
9380    *  names or arrays of property names.
9381    * @param {*} [thisArg] The `this` binding of `callback`.
9382    * @returns {Object} Returns an object composed of the picked properties.
9383    * @example
9384    *
9385    * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
9386    * // => { 'name': 'fred' }
9387    *
9388    * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
9389    *   return key.charAt(0) != '_';
9390    * });
9391    * // => { 'name': 'fred' }
9392    */
9393   function pick(object, callback, thisArg) {
9394     var result = {};
9395     if (typeof callback != 'function') {
9396       var index = -1,
9397           props = baseFlatten(arguments, true, false, 1),
9398           length = isObject(object) ? props.length : 0;
9399
9400       while (++index < length) {
9401         var key = props[index];
9402         if (key in object) {
9403           result[key] = object[key];
9404         }
9405       }
9406     } else {
9407       callback = lodash.createCallback(callback, thisArg, 3);
9408       forIn(object, function(value, key, object) {
9409         if (callback(value, key, object)) {
9410           result[key] = value;
9411         }
9412       });
9413     }
9414     return result;
9415   }
9416
9417   /**
9418    * Creates an array composed of the own enumerable property values of `object`.
9419    *
9420    * @static
9421    * @memberOf _
9422    * @category Objects
9423    * @param {Object} object The object to inspect.
9424    * @returns {Array} Returns an array of property values.
9425    * @example
9426    *
9427    * _.values({ 'one': 1, 'two': 2, 'three': 3 });
9428    * // => [1, 2, 3] (property order is not guaranteed across environments)
9429    */
9430   function values(object) {
9431     var index = -1,
9432         props = keys(object),
9433         length = props.length,
9434         result = Array(length);
9435
9436     while (++index < length) {
9437       result[index] = object[props[index]];
9438     }
9439     return result;
9440   }
9441
9442   /*--------------------------------------------------------------------------*/
9443
9444   /**
9445    * Checks if a given value is present in a collection using strict equality
9446    * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
9447    * offset from the end of the collection.
9448    *
9449    * @static
9450    * @memberOf _
9451    * @alias include
9452    * @category Collections
9453    * @param {Array|Object|string} collection The collection to iterate over.
9454    * @param {*} target The value to check for.
9455    * @param {number} [fromIndex=0] The index to search from.
9456    * @returns {boolean} Returns `true` if the `target` element is found, else `false`.
9457    * @example
9458    *
9459    * _.contains([1, 2, 3], 1);
9460    * // => true
9461    *
9462    * _.contains([1, 2, 3], 1, 2);
9463    * // => false
9464    *
9465    * _.contains({ 'name': 'fred', 'age': 40 }, 'fred');
9466    * // => true
9467    *
9468    * _.contains('pebbles', 'eb');
9469    * // => true
9470    */
9471   function contains(collection, target, fromIndex) {
9472     var index = -1,
9473         indexOf = getIndexOf(),
9474         length = collection ? collection.length : 0,
9475         result = false;
9476
9477     fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
9478     if (isArray(collection)) {
9479       result = indexOf(collection, target, fromIndex) > -1;
9480     } else if (typeof length == 'number') {
9481       result = (isString(collection) ? collection.indexOf(target, fromIndex) : indexOf(collection, target, fromIndex)) > -1;
9482     } else {
9483       baseEach(collection, function(value) {
9484         if (++index >= fromIndex) {
9485           return !(result = value === target);
9486         }
9487       });
9488     }
9489     return result;
9490   }
9491
9492   /**
9493    * Checks if the given callback returns truey value for **all** elements of
9494    * a collection. The callback is bound to `thisArg` and invoked with three
9495    * arguments; (value, index|key, collection).
9496    *
9497    * If a property name is provided for `callback` the created "_.pluck" style
9498    * callback will return the property value of the given element.
9499    *
9500    * If an object is provided for `callback` the created "_.where" style callback
9501    * will return `true` for elements that have the properties of the given object,
9502    * else `false`.
9503    *
9504    * @static
9505    * @memberOf _
9506    * @alias all
9507    * @category Collections
9508    * @param {Array|Object|string} collection The collection to iterate over.
9509    * @param {Function|Object|string} [callback=identity] The function called
9510    *  per iteration. If a property name or object is provided it will be used
9511    *  to create a "_.pluck" or "_.where" style callback, respectively.
9512    * @param {*} [thisArg] The `this` binding of `callback`.
9513    * @returns {boolean} Returns `true` if all elements passed the callback check,
9514    *  else `false`.
9515    * @example
9516    *
9517    * _.every([true, 1, null, 'yes']);
9518    * // => false
9519    *
9520    * var characters = [
9521    *   { 'name': 'barney', 'age': 36 },
9522    *   { 'name': 'fred',   'age': 40 }
9523    * ];
9524    *
9525    * // using "_.pluck" callback shorthand
9526    * _.every(characters, 'age');
9527    * // => true
9528    *
9529    * // using "_.where" callback shorthand
9530    * _.every(characters, { 'age': 36 });
9531    * // => false
9532    */
9533   function every(collection, callback, thisArg) {
9534     var result = true;
9535     callback = lodash.createCallback(callback, thisArg, 3);
9536
9537     if (isArray(collection)) {
9538       var index = -1,
9539           length = collection.length;
9540
9541       while (++index < length) {
9542         if (!(result = !!callback(collection[index], index, collection))) {
9543           break;
9544         }
9545       }
9546     } else {
9547       baseEach(collection, function(value, index, collection) {
9548         return (result = !!callback(value, index, collection));
9549       });
9550     }
9551     return result;
9552   }
9553
9554   /**
9555    * Iterates over elements of a collection, returning an array of all elements
9556    * the callback returns truey for. The callback is bound to `thisArg` and
9557    * invoked with three arguments; (value, index|key, collection).
9558    *
9559    * If a property name is provided for `callback` the created "_.pluck" style
9560    * callback will return the property value of the given element.
9561    *
9562    * If an object is provided for `callback` the created "_.where" style callback
9563    * will return `true` for elements that have the properties of the given object,
9564    * else `false`.
9565    *
9566    * @static
9567    * @memberOf _
9568    * @alias select
9569    * @category Collections
9570    * @param {Array|Object|string} collection The collection to iterate over.
9571    * @param {Function|Object|string} [callback=identity] The function called
9572    *  per iteration. If a property name or object is provided it will be used
9573    *  to create a "_.pluck" or "_.where" style callback, respectively.
9574    * @param {*} [thisArg] The `this` binding of `callback`.
9575    * @returns {Array} Returns a new array of elements that passed the callback check.
9576    * @example
9577    *
9578    * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
9579    * // => [2, 4, 6]
9580    *
9581    * var characters = [
9582    *   { 'name': 'barney', 'age': 36, 'blocked': false },
9583    *   { 'name': 'fred',   'age': 40, 'blocked': true }
9584    * ];
9585    *
9586    * // using "_.pluck" callback shorthand
9587    * _.filter(characters, 'blocked');
9588    * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
9589    *
9590    * // using "_.where" callback shorthand
9591    * _.filter(characters, { 'age': 36 });
9592    * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
9593    */
9594   function filter(collection, callback, thisArg) {
9595     var result = [];
9596     callback = lodash.createCallback(callback, thisArg, 3);
9597
9598     if (isArray(collection)) {
9599       var index = -1,
9600           length = collection.length;
9601
9602       while (++index < length) {
9603         var value = collection[index];
9604         if (callback(value, index, collection)) {
9605           result.push(value);
9606         }
9607       }
9608     } else {
9609       baseEach(collection, function(value, index, collection) {
9610         if (callback(value, index, collection)) {
9611           result.push(value);
9612         }
9613       });
9614     }
9615     return result;
9616   }
9617
9618   /**
9619    * Iterates over elements of a collection, returning the first element that
9620    * the callback returns truey for. The callback is bound to `thisArg` and
9621    * invoked with three arguments; (value, index|key, collection).
9622    *
9623    * If a property name is provided for `callback` the created "_.pluck" style
9624    * callback will return the property value of the given element.
9625    *
9626    * If an object is provided for `callback` the created "_.where" style callback
9627    * will return `true` for elements that have the properties of the given object,
9628    * else `false`.
9629    *
9630    * @static
9631    * @memberOf _
9632    * @alias detect, findWhere
9633    * @category Collections
9634    * @param {Array|Object|string} collection The collection to iterate over.
9635    * @param {Function|Object|string} [callback=identity] The function called
9636    *  per iteration. If a property name or object is provided it will be used
9637    *  to create a "_.pluck" or "_.where" style callback, respectively.
9638    * @param {*} [thisArg] The `this` binding of `callback`.
9639    * @returns {*} Returns the found element, else `undefined`.
9640    * @example
9641    *
9642    * var characters = [
9643    *   { 'name': 'barney',  'age': 36, 'blocked': false },
9644    *   { 'name': 'fred',    'age': 40, 'blocked': true },
9645    *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
9646    * ];
9647    *
9648    * _.find(characters, function(chr) {
9649    *   return chr.age < 40;
9650    * });
9651    * // => { 'name': 'barney', 'age': 36, 'blocked': false }
9652    *
9653    * // using "_.where" callback shorthand
9654    * _.find(characters, { 'age': 1 });
9655    * // =>  { 'name': 'pebbles', 'age': 1, 'blocked': false }
9656    *
9657    * // using "_.pluck" callback shorthand
9658    * _.find(characters, 'blocked');
9659    * // => { 'name': 'fred', 'age': 40, 'blocked': true }
9660    */
9661   function find(collection, callback, thisArg) {
9662     callback = lodash.createCallback(callback, thisArg, 3);
9663
9664     if (isArray(collection)) {
9665       var index = -1,
9666           length = collection.length;
9667
9668       while (++index < length) {
9669         var value = collection[index];
9670         if (callback(value, index, collection)) {
9671           return value;
9672         }
9673       }
9674     } else {
9675       var result;
9676       baseEach(collection, function(value, index, collection) {
9677         if (callback(value, index, collection)) {
9678           result = value;
9679           return false;
9680         }
9681       });
9682       return result;
9683     }
9684   }
9685
9686   /**
9687    * Iterates over elements of a collection, executing the callback for each
9688    * element. The callback is bound to `thisArg` and invoked with three arguments;
9689    * (value, index|key, collection). Callbacks may exit iteration early by
9690    * explicitly returning `false`.
9691    *
9692    * Note: As with other "Collections" methods, objects with a `length` property
9693    * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
9694    * may be used for object iteration.
9695    *
9696    * @static
9697    * @memberOf _
9698    * @alias each
9699    * @category Collections
9700    * @param {Array|Object|string} collection The collection to iterate over.
9701    * @param {Function} [callback=identity] The function called per iteration.
9702    * @param {*} [thisArg] The `this` binding of `callback`.
9703    * @returns {Array|Object|string} Returns `collection`.
9704    * @example
9705    *
9706    * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
9707    * // => logs each number and returns '1,2,3'
9708    *
9709    * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
9710    * // => logs each number and returns the object (property order is not guaranteed across environments)
9711    */
9712   function forEach(collection, callback, thisArg) {
9713     if (callback && typeof thisArg == 'undefined' && isArray(collection)) {
9714       var index = -1,
9715           length = collection.length;
9716
9717       while (++index < length) {
9718         if (callback(collection[index], index, collection) === false) {
9719           break;
9720         }
9721       }
9722     } else {
9723       baseEach(collection, callback, thisArg);
9724     }
9725     return collection;
9726   }
9727
9728   /**
9729    * Creates an object composed of keys generated from the results of running
9730    * each element of a collection through the callback. The corresponding value
9731    * of each key is an array of the elements responsible for generating the key.
9732    * The callback is bound to `thisArg` and invoked with three arguments;
9733    * (value, index|key, collection).
9734    *
9735    * If a property name is provided for `callback` the created "_.pluck" style
9736    * callback will return the property value of the given element.
9737    *
9738    * If an object is provided for `callback` the created "_.where" style callback
9739    * will return `true` for elements that have the properties of the given object,
9740    * else `false`
9741    *
9742    * @static
9743    * @memberOf _
9744    * @category Collections
9745    * @param {Array|Object|string} collection The collection to iterate over.
9746    * @param {Function|Object|string} [callback=identity] The function called
9747    *  per iteration. If a property name or object is provided it will be used
9748    *  to create a "_.pluck" or "_.where" style callback, respectively.
9749    * @param {*} [thisArg] The `this` binding of `callback`.
9750    * @returns {Object} Returns the composed aggregate object.
9751    * @example
9752    *
9753    * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); });
9754    * // => { '4': [4.2], '6': [6.1, 6.4] }
9755    *
9756    * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
9757    * // => { '4': [4.2], '6': [6.1, 6.4] }
9758    *
9759    * // using "_.pluck" callback shorthand
9760    * _.groupBy(['one', 'two', 'three'], 'length');
9761    * // => { '3': ['one', 'two'], '5': ['three'] }
9762    */
9763   var groupBy = createAggregator(function(result, value, key) {
9764     (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value);
9765   });
9766
9767   /**
9768    * Creates an array of values by running each element in the collection
9769    * through the callback. The callback is bound to `thisArg` and invoked with
9770    * three arguments; (value, index|key, collection).
9771    *
9772    * If a property name is provided for `callback` the created "_.pluck" style
9773    * callback will return the property value of the given element.
9774    *
9775    * If an object is provided for `callback` the created "_.where" style callback
9776    * will return `true` for elements that have the properties of the given object,
9777    * else `false`.
9778    *
9779    * @static
9780    * @memberOf _
9781    * @alias collect
9782    * @category Collections
9783    * @param {Array|Object|string} collection The collection to iterate over.
9784    * @param {Function|Object|string} [callback=identity] The function called
9785    *  per iteration. If a property name or object is provided it will be used
9786    *  to create a "_.pluck" or "_.where" style callback, respectively.
9787    * @param {*} [thisArg] The `this` binding of `callback`.
9788    * @returns {Array} Returns a new array of the results of each `callback` execution.
9789    * @example
9790    *
9791    * _.map([1, 2, 3], function(num) { return num * 3; });
9792    * // => [3, 6, 9]
9793    *
9794    * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
9795    * // => [3, 6, 9] (property order is not guaranteed across environments)
9796    *
9797    * var characters = [
9798    *   { 'name': 'barney', 'age': 36 },
9799    *   { 'name': 'fred',   'age': 40 }
9800    * ];
9801    *
9802    * // using "_.pluck" callback shorthand
9803    * _.map(characters, 'name');
9804    * // => ['barney', 'fred']
9805    */
9806   function map(collection, callback, thisArg) {
9807     var index = -1,
9808         length = collection ? collection.length : 0,
9809         result = Array(typeof length == 'number' ? length : 0);
9810
9811     callback = lodash.createCallback(callback, thisArg, 3);
9812     if (isArray(collection)) {
9813       while (++index < length) {
9814         result[index] = callback(collection[index], index, collection);
9815       }
9816     } else {
9817       baseEach(collection, function(value, key, collection) {
9818         result[++index] = callback(value, key, collection);
9819       });
9820     }
9821     return result;
9822   }
9823
9824   /**
9825    * Retrieves the value of a specified property from all elements in the collection.
9826    *
9827    * @static
9828    * @memberOf _
9829    * @type Function
9830    * @category Collections
9831    * @param {Array|Object|string} collection The collection to iterate over.
9832    * @param {string} property The property to pluck.
9833    * @returns {Array} Returns a new array of property values.
9834    * @example
9835    *
9836    * var characters = [
9837    *   { 'name': 'barney', 'age': 36 },
9838    *   { 'name': 'fred',   'age': 40 }
9839    * ];
9840    *
9841    * _.pluck(characters, 'name');
9842    * // => ['barney', 'fred']
9843    */
9844   var pluck = map;
9845
9846   /**
9847    * Reduces a collection to a value which is the accumulated result of running
9848    * each element in the collection through the callback, where each successive
9849    * callback execution consumes the return value of the previous execution. If
9850    * `accumulator` is not provided the first element of the collection will be
9851    * used as the initial `accumulator` value. The callback is bound to `thisArg`
9852    * and invoked with four arguments; (accumulator, value, index|key, collection).
9853    *
9854    * @static
9855    * @memberOf _
9856    * @alias foldl, inject
9857    * @category Collections
9858    * @param {Array|Object|string} collection The collection to iterate over.
9859    * @param {Function} [callback=identity] The function called per iteration.
9860    * @param {*} [accumulator] Initial value of the accumulator.
9861    * @param {*} [thisArg] The `this` binding of `callback`.
9862    * @returns {*} Returns the accumulated value.
9863    * @example
9864    *
9865    * var sum = _.reduce([1, 2, 3], function(sum, num) {
9866    *   return sum + num;
9867    * });
9868    * // => 6
9869    *
9870    * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
9871    *   result[key] = num * 3;
9872    *   return result;
9873    * }, {});
9874    * // => { 'a': 3, 'b': 6, 'c': 9 }
9875    */
9876   function reduce(collection, callback, accumulator, thisArg) {
9877     var noaccum = arguments.length < 3;
9878     callback = lodash.createCallback(callback, thisArg, 4);
9879
9880     if (isArray(collection)) {
9881       var index = -1,
9882           length = collection.length;
9883
9884       if (noaccum) {
9885         accumulator = collection[++index];
9886       }
9887       while (++index < length) {
9888         accumulator = callback(accumulator, collection[index], index, collection);
9889       }
9890     } else {
9891       baseEach(collection, function(value, index, collection) {
9892         accumulator = noaccum
9893           ? (noaccum = false, value)
9894           : callback(accumulator, value, index, collection)
9895       });
9896     }
9897     return accumulator;
9898   }
9899
9900   /**
9901    * The opposite of `_.filter` this method returns the elements of a
9902    * collection that the callback does **not** return truey for.
9903    *
9904    * If a property name is provided for `callback` the created "_.pluck" style
9905    * callback will return the property value of the given element.
9906    *
9907    * If an object is provided for `callback` the created "_.where" style callback
9908    * will return `true` for elements that have the properties of the given object,
9909    * else `false`.
9910    *
9911    * @static
9912    * @memberOf _
9913    * @category Collections
9914    * @param {Array|Object|string} collection The collection to iterate over.
9915    * @param {Function|Object|string} [callback=identity] The function called
9916    *  per iteration. If a property name or object is provided it will be used
9917    *  to create a "_.pluck" or "_.where" style callback, respectively.
9918    * @param {*} [thisArg] The `this` binding of `callback`.
9919    * @returns {Array} Returns a new array of elements that failed the callback check.
9920    * @example
9921    *
9922    * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
9923    * // => [1, 3, 5]
9924    *
9925    * var characters = [
9926    *   { 'name': 'barney', 'age': 36, 'blocked': false },
9927    *   { 'name': 'fred',   'age': 40, 'blocked': true }
9928    * ];
9929    *
9930    * // using "_.pluck" callback shorthand
9931    * _.reject(characters, 'blocked');
9932    * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
9933    *
9934    * // using "_.where" callback shorthand
9935    * _.reject(characters, { 'age': 36 });
9936    * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
9937    */
9938   function reject(collection, callback, thisArg) {
9939     callback = lodash.createCallback(callback, thisArg, 3);
9940     return filter(collection, function(value, index, collection) {
9941       return !callback(value, index, collection);
9942     });
9943   }
9944
9945   /**
9946    * Checks if the callback returns a truey value for **any** element of a
9947    * collection. The function returns as soon as it finds a passing value and
9948    * does not iterate over the entire collection. The callback is bound to
9949    * `thisArg` and invoked with three arguments; (value, index|key, collection).
9950    *
9951    * If a property name is provided for `callback` the created "_.pluck" style
9952    * callback will return the property value of the given element.
9953    *
9954    * If an object is provided for `callback` the created "_.where" style callback
9955    * will return `true` for elements that have the properties of the given object,
9956    * else `false`.
9957    *
9958    * @static
9959    * @memberOf _
9960    * @alias any
9961    * @category Collections
9962    * @param {Array|Object|string} collection The collection to iterate over.
9963    * @param {Function|Object|string} [callback=identity] The function called
9964    *  per iteration. If a property name or object is provided it will be used
9965    *  to create a "_.pluck" or "_.where" style callback, respectively.
9966    * @param {*} [thisArg] The `this` binding of `callback`.
9967    * @returns {boolean} Returns `true` if any element passed the callback check,
9968    *  else `false`.
9969    * @example
9970    *
9971    * _.some([null, 0, 'yes', false], Boolean);
9972    * // => true
9973    *
9974    * var characters = [
9975    *   { 'name': 'barney', 'age': 36, 'blocked': false },
9976    *   { 'name': 'fred',   'age': 40, 'blocked': true }
9977    * ];
9978    *
9979    * // using "_.pluck" callback shorthand
9980    * _.some(characters, 'blocked');
9981    * // => true
9982    *
9983    * // using "_.where" callback shorthand
9984    * _.some(characters, { 'age': 1 });
9985    * // => false
9986    */
9987   function some(collection, callback, thisArg) {
9988     var result;
9989     callback = lodash.createCallback(callback, thisArg, 3);
9990
9991     if (isArray(collection)) {
9992       var index = -1,
9993           length = collection.length;
9994
9995       while (++index < length) {
9996         if ((result = callback(collection[index], index, collection))) {
9997           break;
9998         }
9999       }
10000     } else {
10001       baseEach(collection, function(value, index, collection) {
10002         return !(result = callback(value, index, collection));
10003       });
10004     }
10005     return !!result;
10006   }
10007
10008   /*--------------------------------------------------------------------------*/
10009
10010   /**
10011    * Creates an array with all falsey values removed. The values `false`, `null`,
10012    * `0`, `""`, `undefined`, and `NaN` are all falsey.
10013    *
10014    * @static
10015    * @memberOf _
10016    * @category Arrays
10017    * @param {Array} array The array to compact.
10018    * @returns {Array} Returns a new array of filtered values.
10019    * @example
10020    *
10021    * _.compact([0, 1, false, 2, '', 3]);
10022    * // => [1, 2, 3]
10023    */
10024   function compact(array) {
10025     var index = -1,
10026         length = array ? array.length : 0,
10027         result = [];
10028
10029     while (++index < length) {
10030       var value = array[index];
10031       if (value) {
10032         result.push(value);
10033       }
10034     }
10035     return result;
10036   }
10037
10038   /**
10039    * Creates an array excluding all values of the provided arrays using strict
10040    * equality for comparisons, i.e. `===`.
10041    *
10042    * @static
10043    * @memberOf _
10044    * @category Arrays
10045    * @param {Array} array The array to process.
10046    * @param {...Array} [values] The arrays of values to exclude.
10047    * @returns {Array} Returns a new array of filtered values.
10048    * @example
10049    *
10050    * _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
10051    * // => [1, 3, 4]
10052    */
10053   function difference(array) {
10054     return baseDifference(array, baseFlatten(arguments, true, true, 1));
10055   }
10056
10057   /**
10058    * Gets the first element or first `n` elements of an array. If a callback
10059    * is provided elements at the beginning of the array are returned as long
10060    * as the callback returns truey. The callback is bound to `thisArg` and
10061    * invoked with three arguments; (value, index, array).
10062    *
10063    * If a property name is provided for `callback` the created "_.pluck" style
10064    * callback will return the property value of the given element.
10065    *
10066    * If an object is provided for `callback` the created "_.where" style callback
10067    * will return `true` for elements that have the properties of the given object,
10068    * else `false`.
10069    *
10070    * @static
10071    * @memberOf _
10072    * @alias head, take
10073    * @category Arrays
10074    * @param {Array} array The array to query.
10075    * @param {Function|Object|number|string} [callback] The function called
10076    *  per element or the number of elements to return. If a property name or
10077    *  object is provided it will be used to create a "_.pluck" or "_.where"
10078    *  style callback, respectively.
10079    * @param {*} [thisArg] The `this` binding of `callback`.
10080    * @returns {*} Returns the first element(s) of `array`.
10081    * @example
10082    *
10083    * _.first([1, 2, 3]);
10084    * // => 1
10085    *
10086    * _.first([1, 2, 3], 2);
10087    * // => [1, 2]
10088    *
10089    * _.first([1, 2, 3], function(num) {
10090    *   return num < 3;
10091    * });
10092    * // => [1, 2]
10093    *
10094    * var characters = [
10095    *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
10096    *   { 'name': 'fred',    'blocked': false, 'employer': 'slate' },
10097    *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
10098    * ];
10099    *
10100    * // using "_.pluck" callback shorthand
10101    * _.first(characters, 'blocked');
10102    * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }]
10103    *
10104    * // using "_.where" callback shorthand
10105    * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name');
10106    * // => ['barney', 'fred']
10107    */
10108   function first(array, callback, thisArg) {
10109     var n = 0,
10110         length = array ? array.length : 0;
10111
10112     if (typeof callback != 'number' && callback != null) {
10113       var index = -1;
10114       callback = lodash.createCallback(callback, thisArg, 3);
10115       while (++index < length && callback(array[index], index, array)) {
10116         n++;
10117       }
10118     } else {
10119       n = callback;
10120       if (n == null || thisArg) {
10121         return array ? array[0] : undefined;
10122       }
10123     }
10124     return slice(array, 0, nativeMin(nativeMax(0, n), length));
10125   }
10126
10127   /**
10128    * Flattens a nested array (the nesting can be to any depth). If `isShallow`
10129    * is truey, the array will only be flattened a single level. If a callback
10130    * is provided each element of the array is passed through the callback before
10131    * flattening. The callback is bound to `thisArg` and invoked with three
10132    * arguments; (value, index, array).
10133    *
10134    * If a property name is provided for `callback` the created "_.pluck" style
10135    * callback will return the property value of the given element.
10136    *
10137    * If an object is provided for `callback` the created "_.where" style callback
10138    * will return `true` for elements that have the properties of the given object,
10139    * else `false`.
10140    *
10141    * @static
10142    * @memberOf _
10143    * @category Arrays
10144    * @param {Array} array The array to flatten.
10145    * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
10146    * @param {Function|Object|string} [callback=identity] The function called
10147    *  per iteration. If a property name or object is provided it will be used
10148    *  to create a "_.pluck" or "_.where" style callback, respectively.
10149    * @param {*} [thisArg] The `this` binding of `callback`.
10150    * @returns {Array} Returns a new flattened array.
10151    * @example
10152    *
10153    * _.flatten([1, [2], [3, [[4]]]]);
10154    * // => [1, 2, 3, 4];
10155    *
10156    * _.flatten([1, [2], [3, [[4]]]], true);
10157    * // => [1, 2, 3, [[4]]];
10158    *
10159    * var characters = [
10160    *   { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] },
10161    *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
10162    * ];
10163    *
10164    * // using "_.pluck" callback shorthand
10165    * _.flatten(characters, 'pets');
10166    * // => ['hoppy', 'baby puss', 'dino']
10167    */
10168   function flatten(array, isShallow, callback, thisArg) {
10169     // juggle arguments
10170     if (typeof isShallow != 'boolean' && isShallow != null) {
10171       thisArg = callback;
10172       callback = (typeof isShallow != 'function' && thisArg && thisArg[isShallow] === array) ? null : isShallow;
10173       isShallow = false;
10174     }
10175     if (callback != null) {
10176       array = map(array, callback, thisArg);
10177     }
10178     return baseFlatten(array, isShallow);
10179   }
10180
10181   /**
10182    * Gets the index at which the first occurrence of `value` is found using
10183    * strict equality for comparisons, i.e. `===`. If the array is already sorted
10184    * providing `true` for `fromIndex` will run a faster binary search.
10185    *
10186    * @static
10187    * @memberOf _
10188    * @category Arrays
10189    * @param {Array} array The array to search.
10190    * @param {*} value The value to search for.
10191    * @param {boolean|number} [fromIndex=0] The index to search from or `true`
10192    *  to perform a binary search on a sorted array.
10193    * @returns {number} Returns the index of the matched value or `-1`.
10194    * @example
10195    *
10196    * _.indexOf([1, 2, 3, 1, 2, 3], 2);
10197    * // => 1
10198    *
10199    * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
10200    * // => 4
10201    *
10202    * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
10203    * // => 2
10204    */
10205   function indexOf(array, value, fromIndex) {
10206     if (typeof fromIndex == 'number') {
10207       var length = array ? array.length : 0;
10208       fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
10209     } else if (fromIndex) {
10210       var index = sortedIndex(array, value);
10211       return array[index] === value ? index : -1;
10212     }
10213     return baseIndexOf(array, value, fromIndex);
10214   }
10215
10216   /**
10217    * Creates an array of unique values present in all provided arrays using
10218    * strict equality for comparisons, i.e. `===`.
10219    *
10220    * @static
10221    * @memberOf _
10222    * @category Arrays
10223    * @param {...Array} [array] The arrays to inspect.
10224    * @returns {Array} Returns an array of composite values.
10225    * @example
10226    *
10227    * _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
10228    * // => [1, 2]
10229    */
10230   function intersection(array) {
10231     var args = arguments,
10232         argsLength = args.length,
10233         argsIndex = -1,
10234         caches = getArray(),
10235         index = -1,
10236         indexOf = getIndexOf(),
10237         length = array ? array.length : 0,
10238         result = [],
10239         seen = getArray();
10240
10241     while (++argsIndex < argsLength) {
10242       var value = args[argsIndex];
10243       caches[argsIndex] = indexOf === baseIndexOf &&
10244         (value ? value.length : 0) >= largeArraySize &&
10245         createCache(argsIndex ? args[argsIndex] : seen);
10246     }
10247     outer:
10248     while (++index < length) {
10249       var cache = caches[0];
10250       value = array[index];
10251
10252       if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
10253         argsIndex = argsLength;
10254         (cache || seen).push(value);
10255         while (--argsIndex) {
10256           cache = caches[argsIndex];
10257           if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
10258             continue outer;
10259           }
10260         }
10261         result.push(value);
10262       }
10263     }
10264     while (argsLength--) {
10265       cache = caches[argsLength];
10266       if (cache) {
10267         releaseObject(cache);
10268       }
10269     }
10270     releaseArray(caches);
10271     releaseArray(seen);
10272     return result;
10273   }
10274
10275   /**
10276    * Gets the last element or last `n` elements of an array. If a callback is
10277    * provided elements at the end of the array are returned as long as the
10278    * callback returns truey. The callback is bound to `thisArg` and invoked
10279    * with three arguments; (value, index, array).
10280    *
10281    * If a property name is provided for `callback` the created "_.pluck" style
10282    * callback will return the property value of the given element.
10283    *
10284    * If an object is provided for `callback` the created "_.where" style callback
10285    * will return `true` for elements that have the properties of the given object,
10286    * else `false`.
10287    *
10288    * @static
10289    * @memberOf _
10290    * @category Arrays
10291    * @param {Array} array The array to query.
10292    * @param {Function|Object|number|string} [callback] The function called
10293    *  per element or the number of elements to return. If a property name or
10294    *  object is provided it will be used to create a "_.pluck" or "_.where"
10295    *  style callback, respectively.
10296    * @param {*} [thisArg] The `this` binding of `callback`.
10297    * @returns {*} Returns the last element(s) of `array`.
10298    * @example
10299    *
10300    * _.last([1, 2, 3]);
10301    * // => 3
10302    *
10303    * _.last([1, 2, 3], 2);
10304    * // => [2, 3]
10305    *
10306    * _.last([1, 2, 3], function(num) {
10307    *   return num > 1;
10308    * });
10309    * // => [2, 3]
10310    *
10311    * var characters = [
10312    *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
10313    *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
10314    *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
10315    * ];
10316    *
10317    * // using "_.pluck" callback shorthand
10318    * _.pluck(_.last(characters, 'blocked'), 'name');
10319    * // => ['fred', 'pebbles']
10320    *
10321    * // using "_.where" callback shorthand
10322    * _.last(characters, { 'employer': 'na' });
10323    * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
10324    */
10325   function last(array, callback, thisArg) {
10326     var n = 0,
10327         length = array ? array.length : 0;
10328
10329     if (typeof callback != 'number' && callback != null) {
10330       var index = length;
10331       callback = lodash.createCallback(callback, thisArg, 3);
10332       while (index-- && callback(array[index], index, array)) {
10333         n++;
10334       }
10335     } else {
10336       n = callback;
10337       if (n == null || thisArg) {
10338         return array ? array[length - 1] : undefined;
10339       }
10340     }
10341     return slice(array, nativeMax(0, length - n));
10342   }
10343
10344   /**
10345    * Uses a binary search to determine the smallest index at which a value
10346    * should be inserted into a given sorted array in order to maintain the sort
10347    * order of the array. If a callback is provided it will be executed for
10348    * `value` and each element of `array` to compute their sort ranking. The
10349    * callback is bound to `thisArg` and invoked with one argument; (value).
10350    *
10351    * If a property name is provided for `callback` the created "_.pluck" style
10352    * callback will return the property value of the given element.
10353    *
10354    * If an object is provided for `callback` the created "_.where" style callback
10355    * will return `true` for elements that have the properties of the given object,
10356    * else `false`.
10357    *
10358    * @static
10359    * @memberOf _
10360    * @category Arrays
10361    * @param {Array} array The array to inspect.
10362    * @param {*} value The value to evaluate.
10363    * @param {Function|Object|string} [callback=identity] The function called
10364    *  per iteration. If a property name or object is provided it will be used
10365    *  to create a "_.pluck" or "_.where" style callback, respectively.
10366    * @param {*} [thisArg] The `this` binding of `callback`.
10367    * @returns {number} Returns the index at which `value` should be inserted
10368    *  into `array`.
10369    * @example
10370    *
10371    * _.sortedIndex([20, 30, 50], 40);
10372    * // => 2
10373    *
10374    * // using "_.pluck" callback shorthand
10375    * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
10376    * // => 2
10377    *
10378    * var dict = {
10379    *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
10380    * };
10381    *
10382    * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
10383    *   return dict.wordToNumber[word];
10384    * });
10385    * // => 2
10386    *
10387    * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
10388    *   return this.wordToNumber[word];
10389    * }, dict);
10390    * // => 2
10391    */
10392   function sortedIndex(array, value, callback, thisArg) {
10393     var low = 0,
10394         high = array ? array.length : low;
10395
10396     // explicitly reference `identity` for better inlining in Firefox
10397     callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity;
10398     value = callback(value);
10399
10400     while (low < high) {
10401       var mid = (low + high) >>> 1;
10402       (callback(array[mid]) < value)
10403         ? low = mid + 1
10404         : high = mid;
10405     }
10406     return low;
10407   }
10408
10409   /**
10410    * Creates an array of unique values, in order, of the provided arrays using
10411    * strict equality for comparisons, i.e. `===`.
10412    *
10413    * @static
10414    * @memberOf _
10415    * @category Arrays
10416    * @param {...Array} [array] The arrays to inspect.
10417    * @returns {Array} Returns an array of composite values.
10418    * @example
10419    *
10420    * _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
10421    * // => [1, 2, 3, 101, 10]
10422    */
10423   function union(array) {
10424     return baseUniq(baseFlatten(arguments, true, true));
10425   }
10426
10427   /**
10428    * Creates a duplicate-value-free version of an array using strict equality
10429    * for comparisons, i.e. `===`. If the array is sorted, providing
10430    * `true` for `isSorted` will use a faster algorithm. If a callback is provided
10431    * each element of `array` is passed through the callback before uniqueness
10432    * is computed. The callback is bound to `thisArg` and invoked with three
10433    * arguments; (value, index, array).
10434    *
10435    * If a property name is provided for `callback` the created "_.pluck" style
10436    * callback will return the property value of the given element.
10437    *
10438    * If an object is provided for `callback` the created "_.where" style callback
10439    * will return `true` for elements that have the properties of the given object,
10440    * else `false`.
10441    *
10442    * @static
10443    * @memberOf _
10444    * @alias unique
10445    * @category Arrays
10446    * @param {Array} array The array to process.
10447    * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
10448    * @param {Function|Object|string} [callback=identity] The function called
10449    *  per iteration. If a property name or object is provided it will be used
10450    *  to create a "_.pluck" or "_.where" style callback, respectively.
10451    * @param {*} [thisArg] The `this` binding of `callback`.
10452    * @returns {Array} Returns a duplicate-value-free array.
10453    * @example
10454    *
10455    * _.uniq([1, 2, 1, 3, 1]);
10456    * // => [1, 2, 3]
10457    *
10458    * _.uniq([1, 1, 2, 2, 3], true);
10459    * // => [1, 2, 3]
10460    *
10461    * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
10462    * // => ['A', 'b', 'C']
10463    *
10464    * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
10465    * // => [1, 2.5, 3]
10466    *
10467    * // using "_.pluck" callback shorthand
10468    * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
10469    * // => [{ 'x': 1 }, { 'x': 2 }]
10470    */
10471   function uniq(array, isSorted, callback, thisArg) {
10472     // juggle arguments
10473     if (typeof isSorted != 'boolean' && isSorted != null) {
10474       thisArg = callback;
10475       callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
10476       isSorted = false;
10477     }
10478     if (callback != null) {
10479       callback = lodash.createCallback(callback, thisArg, 3);
10480     }
10481     return baseUniq(array, isSorted, callback);
10482   }
10483
10484   /**
10485    * Creates an array excluding all provided values using strict equality for
10486    * comparisons, i.e. `===`.
10487    *
10488    * @static
10489    * @memberOf _
10490    * @category Arrays
10491    * @param {Array} array The array to filter.
10492    * @param {...*} [value] The values to exclude.
10493    * @returns {Array} Returns a new array of filtered values.
10494    * @example
10495    *
10496    * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
10497    * // => [2, 3, 4]
10498    */
10499   function without(array) {
10500     return baseDifference(array, slice(arguments, 1));
10501   }
10502
10503   /*--------------------------------------------------------------------------*/
10504
10505   /**
10506    * Creates a function that, when called, invokes `func` with the `this`
10507    * binding of `thisArg` and prepends any additional `bind` arguments to those
10508    * provided to the bound function.
10509    *
10510    * @static
10511    * @memberOf _
10512    * @category Functions
10513    * @param {Function} func The function to bind.
10514    * @param {*} [thisArg] The `this` binding of `func`.
10515    * @param {...*} [arg] Arguments to be partially applied.
10516    * @returns {Function} Returns the new bound function.
10517    * @example
10518    *
10519    * var func = function(greeting) {
10520    *   return greeting + ' ' + this.name;
10521    * };
10522    *
10523    * func = _.bind(func, { 'name': 'fred' }, 'hi');
10524    * func();
10525    * // => 'hi fred'
10526    */
10527   function bind(func, thisArg) {
10528     return arguments.length > 2
10529       ? createWrapper(func, 17, slice(arguments, 2), null, thisArg)
10530       : createWrapper(func, 1, null, null, thisArg);
10531   }
10532
10533   /**
10534    * Produces a callback bound to an optional `thisArg`. If `func` is a property
10535    * name the created callback will return the property value for a given element.
10536    * If `func` is an object the created callback will return `true` for elements
10537    * that contain the equivalent object properties, otherwise it will return `false`.
10538    *
10539    * @static
10540    * @memberOf _
10541    * @category Functions
10542    * @param {*} [func=identity] The value to convert to a callback.
10543    * @param {*} [thisArg] The `this` binding of the created callback.
10544    * @param {number} [argCount] The number of arguments the callback accepts.
10545    * @returns {Function} Returns a callback function.
10546    * @example
10547    *
10548    * var characters = [
10549    *   { 'name': 'barney', 'age': 36 },
10550    *   { 'name': 'fred',   'age': 40 }
10551    * ];
10552    *
10553    * // wrap to create custom callback shorthands
10554    * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) {
10555    *   var match = /^(.+?)__([gl]t)(.+)$/.exec(callback);
10556    *   return !match ? func(callback, thisArg) : function(object) {
10557    *     return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3];
10558    *   };
10559    * });
10560    *
10561    * _.filter(characters, 'age__gt38');
10562    * // => [{ 'name': 'fred', 'age': 40 }]
10563    */
10564   function createCallback(func, thisArg, argCount) {
10565     var type = typeof func;
10566     if (func == null || type == 'function') {
10567       return baseCreateCallback(func, thisArg, argCount);
10568     }
10569     // handle "_.pluck" style callback shorthands
10570     if (type != 'object') {
10571       return function(object) {
10572         return object[func];
10573       };
10574     }
10575     var props = keys(func),
10576         key = props[0],
10577         a = func[key];
10578
10579     // handle "_.where" style callback shorthands
10580     if (props.length == 1 && a === a && !isObject(a)) {
10581       // fast path the common case of providing an object with a single
10582       // property containing a primitive value
10583       return function(object) {
10584         var b = object[key];
10585         return a === b && (a !== 0 || (1 / a == 1 / b));
10586       };
10587     }
10588     return function(object) {
10589       var length = props.length,
10590           result = false;
10591
10592       while (length--) {
10593         if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) {
10594           break;
10595         }
10596       }
10597       return result;
10598     };
10599   }
10600
10601   /**
10602    * Creates a function that will delay the execution of `func` until after
10603    * `wait` milliseconds have elapsed since the last time it was invoked.
10604    * Provide an options object to indicate that `func` should be invoked on
10605    * the leading and/or trailing edge of the `wait` timeout. Subsequent calls
10606    * to the debounced function will return the result of the last `func` call.
10607    *
10608    * Note: If `leading` and `trailing` options are `true` `func` will be called
10609    * on the trailing edge of the timeout only if the the debounced function is
10610    * invoked more than once during the `wait` timeout.
10611    *
10612    * @static
10613    * @memberOf _
10614    * @category Functions
10615    * @param {Function} func The function to debounce.
10616    * @param {number} wait The number of milliseconds to delay.
10617    * @param {Object} [options] The options object.
10618    * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout.
10619    * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called.
10620    * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
10621    * @returns {Function} Returns the new debounced function.
10622    * @example
10623    *
10624    * // avoid costly calculations while the window size is in flux
10625    * var lazyLayout = _.debounce(calculateLayout, 150);
10626    * jQuery(window).on('resize', lazyLayout);
10627    *
10628    * // execute `sendMail` when the click event is fired, debouncing subsequent calls
10629    * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
10630    *   'leading': true,
10631    *   'trailing': false
10632    * });
10633    *
10634    * // ensure `batchLog` is executed once after 1 second of debounced calls
10635    * var source = new EventSource('/stream');
10636    * source.addEventListener('message', _.debounce(batchLog, 250, {
10637    *   'maxWait': 1000
10638    * }, false);
10639    */
10640   function debounce(func, wait, options) {
10641     var args,
10642         maxTimeoutId,
10643         result,
10644         stamp,
10645         thisArg,
10646         timeoutId,
10647         trailingCall,
10648         lastCalled = 0,
10649         maxWait = false,
10650         trailing = true;
10651
10652     if (!isFunction(func)) {
10653       throw new TypeError;
10654     }
10655     wait = nativeMax(0, wait) || 0;
10656     if (options === true) {
10657       var leading = true;
10658       trailing = false;
10659     } else if (isObject(options)) {
10660       leading = options.leading;
10661       maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0);
10662       trailing = 'trailing' in options ? options.trailing : trailing;
10663     }
10664     var delayed = function() {
10665       var remaining = wait - (now() - stamp);
10666       if (remaining <= 0) {
10667         if (maxTimeoutId) {
10668           clearTimeout(maxTimeoutId);
10669         }
10670         var isCalled = trailingCall;
10671         maxTimeoutId = timeoutId = trailingCall = undefined;
10672         if (isCalled) {
10673           lastCalled = now();
10674           result = func.apply(thisArg, args);
10675           if (!timeoutId && !maxTimeoutId) {
10676             args = thisArg = null;
10677           }
10678         }
10679       } else {
10680         timeoutId = setTimeout(delayed, remaining);
10681       }
10682     };
10683
10684     var maxDelayed = function() {
10685       if (timeoutId) {
10686         clearTimeout(timeoutId);
10687       }
10688       maxTimeoutId = timeoutId = trailingCall = undefined;
10689       if (trailing || (maxWait !== wait)) {
10690         lastCalled = now();
10691         result = func.apply(thisArg, args);
10692         if (!timeoutId && !maxTimeoutId) {
10693           args = thisArg = null;
10694         }
10695       }
10696     };
10697
10698     return function() {
10699       args = arguments;
10700       stamp = now();
10701       thisArg = this;
10702       trailingCall = trailing && (timeoutId || !leading);
10703
10704       if (maxWait === false) {
10705         var leadingCall = leading && !timeoutId;
10706       } else {
10707         if (!maxTimeoutId && !leading) {
10708           lastCalled = stamp;
10709         }
10710         var remaining = maxWait - (stamp - lastCalled),
10711             isCalled = remaining <= 0;
10712
10713         if (isCalled) {
10714           if (maxTimeoutId) {
10715             maxTimeoutId = clearTimeout(maxTimeoutId);
10716           }
10717           lastCalled = stamp;
10718           result = func.apply(thisArg, args);
10719         }
10720         else if (!maxTimeoutId) {
10721           maxTimeoutId = setTimeout(maxDelayed, remaining);
10722         }
10723       }
10724       if (isCalled && timeoutId) {
10725         timeoutId = clearTimeout(timeoutId);
10726       }
10727       else if (!timeoutId && wait !== maxWait) {
10728         timeoutId = setTimeout(delayed, wait);
10729       }
10730       if (leadingCall) {
10731         isCalled = true;
10732         result = func.apply(thisArg, args);
10733       }
10734       if (isCalled && !timeoutId && !maxTimeoutId) {
10735         args = thisArg = null;
10736       }
10737       return result;
10738     };
10739   }
10740
10741   /**
10742    * Creates a function that, when executed, will only call the `func` function
10743    * at most once per every `wait` milliseconds. Provide an options object to
10744    * indicate that `func` should be invoked on the leading and/or trailing edge
10745    * of the `wait` timeout. Subsequent calls to the throttled function will
10746    * return the result of the last `func` call.
10747    *
10748    * Note: If `leading` and `trailing` options are `true` `func` will be called
10749    * on the trailing edge of the timeout only if the the throttled function is
10750    * invoked more than once during the `wait` timeout.
10751    *
10752    * @static
10753    * @memberOf _
10754    * @category Functions
10755    * @param {Function} func The function to throttle.
10756    * @param {number} wait The number of milliseconds to throttle executions to.
10757    * @param {Object} [options] The options object.
10758    * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout.
10759    * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout.
10760    * @returns {Function} Returns the new throttled function.
10761    * @example
10762    *
10763    * // avoid excessively updating the position while scrolling
10764    * var throttled = _.throttle(updatePosition, 100);
10765    * jQuery(window).on('scroll', throttled);
10766    *
10767    * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes
10768    * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
10769    *   'trailing': false
10770    * }));
10771    */
10772   function throttle(func, wait, options) {
10773     var leading = true,
10774         trailing = true;
10775
10776     if (!isFunction(func)) {
10777       throw new TypeError;
10778     }
10779     if (options === false) {
10780       leading = false;
10781     } else if (isObject(options)) {
10782       leading = 'leading' in options ? options.leading : leading;
10783       trailing = 'trailing' in options ? options.trailing : trailing;
10784     }
10785     debounceOptions.leading = leading;
10786     debounceOptions.maxWait = wait;
10787     debounceOptions.trailing = trailing;
10788
10789     return debounce(func, wait, debounceOptions);
10790   }
10791
10792   /*--------------------------------------------------------------------------*/
10793
10794   /**
10795    * This method returns the first argument provided to it.
10796    *
10797    * @static
10798    * @memberOf _
10799    * @category Utilities
10800    * @param {*} value Any value.
10801    * @returns {*} Returns `value`.
10802    * @example
10803    *
10804    * var object = { 'name': 'fred' };
10805    * _.identity(object) === object;
10806    * // => true
10807    */
10808   function identity(value) {
10809     return value;
10810   }
10811
10812   /**
10813    * Adds function properties of a source object to the `lodash` function and
10814    * chainable wrapper.
10815    *
10816    * @static
10817    * @memberOf _
10818    * @category Utilities
10819    * @param {Object} object The object of function properties to add to `lodash`.
10820    * @param {Object} object The object of function properties to add to `lodash`.
10821    * @example
10822    *
10823    * _.mixin({
10824    *   'capitalize': function(string) {
10825    *     return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
10826    *   }
10827    * });
10828    *
10829    * _.capitalize('fred');
10830    * // => 'Fred'
10831    *
10832    * _('fred').capitalize();
10833    * // => 'Fred'
10834    */
10835   function mixin(object, source) {
10836     var ctor = object,
10837         isFunc = !source || isFunction(ctor);
10838
10839     if (!source) {
10840       ctor = lodashWrapper;
10841       source = object;
10842       object = lodash;
10843     }
10844     forEach(functions(source), function(methodName) {
10845       var func = object[methodName] = source[methodName];
10846       if (isFunc) {
10847         ctor.prototype[methodName] = function() {
10848           var value = this.__wrapped__,
10849               args = [value];
10850
10851           push.apply(args, arguments);
10852           var result = func.apply(object, args);
10853           if (value && typeof value == 'object' && value === result) {
10854             return this;
10855           }
10856           result = new ctor(result);
10857           result.__chain__ = this.__chain__;
10858           return result;
10859         };
10860       }
10861     });
10862   }
10863
10864   /**
10865    * A no-operation function.
10866    *
10867    * @static
10868    * @memberOf _
10869    * @category Utilities
10870    * @example
10871    *
10872    * var object = { 'name': 'fred' };
10873    * _.noop(object) === undefined;
10874    * // => true
10875    */
10876   function noop() {
10877     // no operation performed
10878   }
10879
10880   /*--------------------------------------------------------------------------*/
10881
10882   /**
10883    * Creates a `lodash` object that wraps the given value with explicit
10884    * method chaining enabled.
10885    *
10886    * @static
10887    * @memberOf _
10888    * @category Chaining
10889    * @param {*} value The value to wrap.
10890    * @returns {Object} Returns the wrapper object.
10891    * @example
10892    *
10893    * var characters = [
10894    *   { 'name': 'barney',  'age': 36 },
10895    *   { 'name': 'fred',    'age': 40 },
10896    *   { 'name': 'pebbles', 'age': 1 }
10897    * ];
10898    *
10899    * var youngest = _.chain(characters)
10900    *     .sortBy('age')
10901    *     .map(function(chr) { return chr.name + ' is ' + chr.age; })
10902    *     .first()
10903    *     .value();
10904    * // => 'pebbles is 1'
10905    */
10906   function chain(value) {
10907     value = new lodashWrapper(value);
10908     value.__chain__ = true;
10909     return value;
10910   }
10911
10912   /**
10913    * Enables explicit method chaining on the wrapper object.
10914    *
10915    * @name chain
10916    * @memberOf _
10917    * @category Chaining
10918    * @returns {*} Returns the wrapper object.
10919    * @example
10920    *
10921    * var characters = [
10922    *   { 'name': 'barney', 'age': 36 },
10923    *   { 'name': 'fred',   'age': 40 }
10924    * ];
10925    *
10926    * // without explicit chaining
10927    * _(characters).first();
10928    * // => { 'name': 'barney', 'age': 36 }
10929    *
10930    * // with explicit chaining
10931    * _(characters).chain()
10932    *   .first()
10933    *   .pick('age')
10934    *   .value()
10935    * // => { 'age': 36 }
10936    */
10937   function wrapperChain() {
10938     this.__chain__ = true;
10939     return this;
10940   }
10941
10942   /**
10943    * Produces the `toString` result of the wrapped value.
10944    *
10945    * @name toString
10946    * @memberOf _
10947    * @category Chaining
10948    * @returns {string} Returns the string result.
10949    * @example
10950    *
10951    * _([1, 2, 3]).toString();
10952    * // => '1,2,3'
10953    */
10954   function wrapperToString() {
10955     return String(this.__wrapped__);
10956   }
10957
10958   /**
10959    * Extracts the wrapped value.
10960    *
10961    * @name valueOf
10962    * @memberOf _
10963    * @alias value
10964    * @category Chaining
10965    * @returns {*} Returns the wrapped value.
10966    * @example
10967    *
10968    * _([1, 2, 3]).valueOf();
10969    * // => [1, 2, 3]
10970    */
10971   function wrapperValueOf() {
10972     return this.__wrapped__;
10973   }
10974
10975   /*--------------------------------------------------------------------------*/
10976
10977   lodash.assign = assign;
10978   lodash.bind = bind;
10979   lodash.chain = chain;
10980   lodash.compact = compact;
10981   lodash.createCallback = createCallback;
10982   lodash.debounce = debounce;
10983   lodash.difference = difference;
10984   lodash.filter = filter;
10985   lodash.flatten = flatten;
10986   lodash.forEach = forEach;
10987   lodash.forIn = forIn;
10988   lodash.forOwn = forOwn;
10989   lodash.functions = functions;
10990   lodash.groupBy = groupBy;
10991   lodash.intersection = intersection;
10992   lodash.keys = keys;
10993   lodash.map = map;
10994   lodash.merge = merge;
10995   lodash.omit = omit;
10996   lodash.pairs = pairs;
10997   lodash.pick = pick;
10998   lodash.pluck = pluck;
10999   lodash.reject = reject;
11000   lodash.throttle = throttle;
11001   lodash.union = union;
11002   lodash.uniq = uniq;
11003   lodash.values = values;
11004   lodash.without = without;
11005
11006   // add aliases
11007   lodash.collect = map;
11008   lodash.each = forEach;
11009   lodash.extend = assign;
11010   lodash.methods = functions;
11011   lodash.select = filter;
11012   lodash.unique = uniq;
11013
11014   // add functions to `lodash.prototype`
11015   mixin(lodash);
11016
11017   /*--------------------------------------------------------------------------*/
11018
11019   // add functions that return unwrapped values when chaining
11020   lodash.clone = clone;
11021   lodash.cloneDeep = cloneDeep;
11022   lodash.contains = contains;
11023   lodash.every = every;
11024   lodash.find = find;
11025   lodash.identity = identity;
11026   lodash.indexOf = indexOf;
11027   lodash.isArguments = isArguments;
11028   lodash.isArray = isArray;
11029   lodash.isEmpty = isEmpty;
11030   lodash.isEqual = isEqual;
11031   lodash.isFunction = isFunction;
11032   lodash.isObject = isObject;
11033   lodash.isPlainObject = isPlainObject;
11034   lodash.isString = isString;
11035   lodash.mixin = mixin;
11036   lodash.noop = noop;
11037   lodash.reduce = reduce;
11038   lodash.some = some;
11039   lodash.sortedIndex = sortedIndex;
11040
11041   // add aliases
11042   lodash.all = every;
11043   lodash.any = some;
11044   lodash.detect = find;
11045   lodash.findWhere = find;
11046   lodash.foldl = reduce;
11047   lodash.include = contains;
11048   lodash.inject = reduce;
11049
11050   forOwn(lodash, function(func, methodName) {
11051     if (!lodash.prototype[methodName]) {
11052       lodash.prototype[methodName] = function() {
11053         var args = [this.__wrapped__],
11054             chainAll = this.__chain__;
11055
11056         push.apply(args, arguments);
11057         var result = func.apply(lodash, args);
11058         return chainAll
11059           ? new lodashWrapper(result, chainAll)
11060           : result;
11061       };
11062     }
11063   });
11064
11065   /*--------------------------------------------------------------------------*/
11066
11067   // add functions capable of returning wrapped and unwrapped values when chaining
11068   lodash.first = first;
11069   lodash.last = last;
11070
11071   // add aliases
11072   lodash.take = first;
11073   lodash.head = first;
11074
11075   forOwn(lodash, function(func, methodName) {
11076     var callbackable = methodName !== 'sample';
11077     if (!lodash.prototype[methodName]) {
11078       lodash.prototype[methodName]= function(n, guard) {
11079         var chainAll = this.__chain__,
11080             result = func(this.__wrapped__, n, guard);
11081
11082         return !chainAll && (n == null || (guard && !(callbackable && typeof n == 'function')))
11083           ? result
11084           : new lodashWrapper(result, chainAll);
11085       };
11086     }
11087   });
11088
11089   /*--------------------------------------------------------------------------*/
11090
11091   /**
11092    * The semantic version number.
11093    *
11094    * @static
11095    * @memberOf _
11096    * @type string
11097    */
11098   lodash.VERSION = '2.3.0';
11099
11100   // add "Chaining" functions to the wrapper
11101   lodash.prototype.chain = wrapperChain;
11102   lodash.prototype.toString = wrapperToString;
11103   lodash.prototype.value = wrapperValueOf;
11104   lodash.prototype.valueOf = wrapperValueOf;
11105
11106   // add `Array` functions that return unwrapped values
11107   baseEach(['join', 'pop', 'shift'], function(methodName) {
11108     var func = arrayRef[methodName];
11109     lodash.prototype[methodName] = function() {
11110       var chainAll = this.__chain__,
11111           result = func.apply(this.__wrapped__, arguments);
11112
11113       return chainAll
11114         ? new lodashWrapper(result, chainAll)
11115         : result;
11116     };
11117   });
11118
11119   // add `Array` functions that return the wrapped value
11120   baseEach(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
11121     var func = arrayRef[methodName];
11122     lodash.prototype[methodName] = function() {
11123       func.apply(this.__wrapped__, arguments);
11124       return this;
11125     };
11126   });
11127
11128   // add `Array` functions that return new wrapped values
11129   baseEach(['concat', 'slice', 'splice'], function(methodName) {
11130     var func = arrayRef[methodName];
11131     lodash.prototype[methodName] = function() {
11132       return new lodashWrapper(func.apply(this.__wrapped__, arguments), this.__chain__);
11133     };
11134   });
11135
11136   // avoid array-like object bugs with `Array#shift` and `Array#splice`
11137   // in IE < 9, Firefox < 10, Narwhal, and RingoJS
11138   if (!support.spliceObjects) {
11139     baseEach(['pop', 'shift', 'splice'], function(methodName) {
11140       var func = arrayRef[methodName],
11141           isSplice = methodName == 'splice';
11142
11143       lodash.prototype[methodName] = function() {
11144         var chainAll = this.__chain__,
11145             value = this.__wrapped__,
11146             result = func.apply(value, arguments);
11147
11148         if (value.length === 0) {
11149           delete value[0];
11150         }
11151         return (chainAll || isSplice)
11152           ? new lodashWrapper(result, chainAll)
11153           : result;
11154       };
11155     });
11156   }
11157
11158   /*--------------------------------------------------------------------------*/
11159
11160   if (freeExports && freeModule) {
11161     // in Node.js or RingoJS
11162     if (moduleExports) {
11163       (freeModule.exports = lodash)._ = lodash;
11164     }
11165
11166   }
11167   else {
11168     // in a browser or Rhino
11169     root._ = lodash;
11170   }
11171 }.call(this));
11172 (function(e){if("function"==typeof bootstrap)bootstrap("osmauth",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeOsmAuth=e}else"undefined"!=typeof window?window.osmAuth=e():global.osmAuth=e()})(function(){var define,ses,bootstrap,module,exports;
11173 return (function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i})({1:[function(require,module,exports){
11174 'use strict';
11175
11176 var ohauth = require('ohauth'),
11177     xtend = require('xtend'),
11178     store = require('store');
11179
11180 // # osm-auth
11181 //
11182 // This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo)
11183 // object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing),
11184 // does not support custom headers, which this uses everywhere.
11185 module.exports = function(o) {
11186
11187     var oauth = {};
11188
11189     // authenticated users will also have a request token secret, but it's
11190     // not used in transactions with the server
11191     oauth.authenticated = function() {
11192         return !!(token('oauth_token') && token('oauth_token_secret'));
11193     };
11194
11195     oauth.logout = function() {
11196         token('oauth_token', '');
11197         token('oauth_token_secret', '');
11198         token('oauth_request_token_secret', '');
11199         return oauth;
11200     };
11201
11202     // TODO: detect lack of click event
11203     oauth.authenticate = function(callback) {
11204         if (oauth.authenticated()) return callback();
11205
11206         oauth.logout();
11207
11208         // ## Getting a request token
11209         var params = timenonce(getAuth(o)),
11210             url = o.url + '/oauth/request_token';
11211
11212         params.oauth_signature = ohauth.signature(
11213             o.oauth_secret, '',
11214             ohauth.baseString('POST', url, params));
11215
11216         if (!o.singlepage) {
11217             // Create a 600x550 popup window in the center of the screen
11218             var w = 600, h = 550,
11219                 settings = [
11220                     ['width', w], ['height', h],
11221                     ['left', screen.width / 2 - w / 2],
11222                     ['top', screen.height / 2 - h / 2]].map(function(x) {
11223                         return x.join('=');
11224                     }).join(','),
11225                 popup = window.open('about:blank', 'oauth_window', settings);
11226         }
11227
11228         // Request a request token. When this is complete, the popup
11229         // window is redirected to OSM's authorization page.
11230         ohauth.xhr('POST', url, params, null, {}, reqTokenDone);
11231         o.loading();
11232
11233         function reqTokenDone(err, xhr) {
11234             o.done();
11235             if (err) return callback(err);
11236             var resp = ohauth.stringQs(xhr.response);
11237             token('oauth_request_token_secret', resp.oauth_token_secret);
11238             var authorize_url = o.url + '/oauth/authorize?' + ohauth.qsString({
11239                 oauth_token: resp.oauth_token,
11240                 oauth_callback: location.href.replace('index.html', '')
11241                     .replace(/#.*/, '') + o.landing
11242             });
11243
11244             if (o.singlepage) {
11245                 location.href = authorize_url;
11246             } else {
11247                 popup.location = authorize_url;
11248             }
11249         }
11250
11251         // Called by a function in a landing page, in the popup window. The
11252         // window closes itself.
11253         window.authComplete = function(token) {
11254             var oauth_token = ohauth.stringQs(token.split('?')[1]);
11255             get_access_token(oauth_token.oauth_token);
11256             delete window.authComplete;
11257         };
11258
11259         // ## Getting an request token
11260         //
11261         // At this point we have an `oauth_token`, brought in from a function
11262         // call on a landing page popup.
11263         function get_access_token(oauth_token) {
11264             var url = o.url + '/oauth/access_token',
11265                 params = timenonce(getAuth(o)),
11266                 request_token_secret = token('oauth_request_token_secret');
11267             params.oauth_token = oauth_token;
11268             params.oauth_signature = ohauth.signature(
11269                 o.oauth_secret,
11270                 request_token_secret,
11271                 ohauth.baseString('POST', url, params));
11272
11273             // ## Getting an access token
11274             //
11275             // The final token required for authentication. At this point
11276             // we have a `request token secret`
11277             ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
11278             o.loading();
11279         }
11280
11281         function accessTokenDone(err, xhr) {
11282             o.done();
11283             if (err) return callback(err);
11284             var access_token = ohauth.stringQs(xhr.response);
11285             token('oauth_token', access_token.oauth_token);
11286             token('oauth_token_secret', access_token.oauth_token_secret);
11287             callback(null, oauth);
11288         }
11289     };
11290
11291     oauth.bootstrapToken = function(oauth_token, callback) {
11292         // ## Getting an request token
11293         // At this point we have an `oauth_token`, brought in from a function
11294         // call on a landing page popup.
11295         function get_access_token(oauth_token) {
11296             var url = o.url + '/oauth/access_token',
11297                 params = timenonce(getAuth(o)),
11298                 request_token_secret = token('oauth_request_token_secret');
11299             params.oauth_token = oauth_token;
11300             params.oauth_signature = ohauth.signature(
11301                 o.oauth_secret,
11302                 request_token_secret,
11303                 ohauth.baseString('POST', url, params));
11304
11305             // ## Getting an access token
11306             // The final token required for authentication. At this point
11307             // we have a `request token secret`
11308             ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
11309             o.loading();
11310         }
11311
11312         function accessTokenDone(err, xhr) {
11313             o.done();
11314             if (err) return callback(err);
11315             var access_token = ohauth.stringQs(xhr.response);
11316             token('oauth_token', access_token.oauth_token);
11317             token('oauth_token_secret', access_token.oauth_token_secret);
11318             callback(null, oauth);
11319         }
11320
11321         get_access_token(oauth_token);
11322     };
11323
11324     // # xhr
11325     //
11326     // A single XMLHttpRequest wrapper that does authenticated calls if the
11327     // user has logged in.
11328     oauth.xhr = function(options, callback) {
11329         if (!oauth.authenticated()) {
11330             if (o.auto) return oauth.authenticate(run);
11331             else return callback('not authenticated', null);
11332         } else return run();
11333
11334         function run() {
11335             var params = timenonce(getAuth(o)),
11336                 url = o.url + options.path,
11337                 oauth_token_secret = token('oauth_token_secret');
11338
11339             // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1
11340             if ((!options.options || !options.options.header ||
11341                 options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') &&
11342                 options.content) {
11343                 params = xtend(params, ohauth.stringQs(options.content));
11344             }
11345
11346             params.oauth_token = token('oauth_token');
11347             params.oauth_signature = ohauth.signature(
11348                 o.oauth_secret,
11349                 oauth_token_secret,
11350                 ohauth.baseString(options.method, url, params));
11351
11352             ohauth.xhr(options.method,
11353                 url, params, options.content, options.options, done);
11354         }
11355
11356         function done(err, xhr) {
11357             if (err) return callback(err);
11358             else if (xhr.responseXML) return callback(err, xhr.responseXML);
11359             else return callback(err, xhr.response);
11360         }
11361     };
11362
11363     // pre-authorize this object, if we can just get a token and token_secret
11364     // from the start
11365     oauth.preauth = function(c) {
11366         if (!c) return;
11367         if (c.oauth_token) token('oauth_token', c.oauth_token);
11368         if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret);
11369         return oauth;
11370     };
11371
11372     oauth.options = function(_) {
11373         if (!arguments.length) return o;
11374
11375         o = _;
11376
11377         o.url = o.url || 'http://www.openstreetmap.org';
11378         o.landing = o.landing || 'land.html';
11379
11380         o.singlepage = o.singlepage || false;
11381
11382         // Optional loading and loading-done functions for nice UI feedback.
11383         // by default, no-ops
11384         o.loading = o.loading || function() {};
11385         o.done = o.done || function() {};
11386
11387         return oauth.preauth(o);
11388     };
11389
11390     // 'stamp' an authentication object from `getAuth()`
11391     // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)
11392     // and timestamp
11393     function timenonce(o) {
11394         o.oauth_timestamp = ohauth.timestamp();
11395         o.oauth_nonce = ohauth.nonce();
11396         return o;
11397     }
11398
11399     // get/set tokens. These are prefixed with the base URL so that `osm-auth`
11400     // can be used with multiple APIs and the keys in `localStorage`
11401     // will not clash
11402     var token;
11403
11404     if (store.enabled) {
11405         token = function (x, y) {
11406             if (arguments.length === 1) return store.get(o.url + x);
11407             else if (arguments.length === 2) return store.set(o.url + x, y);
11408         };
11409     } else {
11410         var storage = {};
11411         token = function (x, y) {
11412             if (arguments.length === 1) return storage[o.url + x];
11413             else if (arguments.length === 2) return storage[o.url + x] = y;
11414         };
11415     }
11416
11417     // Get an authentication object. If you just add and remove properties
11418     // from a single object, you'll need to use `delete` to make sure that
11419     // it doesn't contain undesired properties for authentication
11420     function getAuth(o) {
11421         return {
11422             oauth_consumer_key: o.oauth_consumer_key,
11423             oauth_signature_method: "HMAC-SHA1"
11424         };
11425     }
11426
11427     // potentially pre-authorize
11428     oauth.options(o);
11429
11430     return oauth;
11431 };
11432
11433 },{"ohauth":2,"store":3,"xtend":4}],3:[function(require,module,exports){
11434 (function(global){;(function(win){
11435         var store = {},
11436                 doc = win.document,
11437                 localStorageName = 'localStorage',
11438                 storage
11439
11440         store.disabled = false
11441         store.set = function(key, value) {}
11442         store.get = function(key) {}
11443         store.remove = function(key) {}
11444         store.clear = function() {}
11445         store.transact = function(key, defaultVal, transactionFn) {
11446                 var val = store.get(key)
11447                 if (transactionFn == null) {
11448                         transactionFn = defaultVal
11449                         defaultVal = null
11450                 }
11451                 if (typeof val == 'undefined') { val = defaultVal || {} }
11452                 transactionFn(val)
11453                 store.set(key, val)
11454         }
11455         store.getAll = function() {}
11456         store.forEach = function() {}
11457
11458         store.serialize = function(value) {
11459                 return JSON.stringify(value)
11460         }
11461         store.deserialize = function(value) {
11462                 if (typeof value != 'string') { return undefined }
11463                 try { return JSON.parse(value) }
11464                 catch(e) { return value || undefined }
11465         }
11466
11467         // Functions to encapsulate questionable FireFox 3.6.13 behavior
11468         // when about.config::dom.storage.enabled === false
11469         // See https://github.com/marcuswestin/store.js/issues#issue/13
11470         function isLocalStorageNameSupported() {
11471                 try { return (localStorageName in win && win[localStorageName]) }
11472                 catch(err) { return false }
11473         }
11474
11475         if (isLocalStorageNameSupported()) {
11476                 storage = win[localStorageName]
11477                 store.set = function(key, val) {
11478                         if (val === undefined) { return store.remove(key) }
11479                         storage.setItem(key, store.serialize(val))
11480                         return val
11481                 }
11482                 store.get = function(key) { return store.deserialize(storage.getItem(key)) }
11483                 store.remove = function(key) { storage.removeItem(key) }
11484                 store.clear = function() { storage.clear() }
11485                 store.getAll = function() {
11486                         var ret = {}
11487                         store.forEach(function(key, val) {
11488                                 ret[key] = val
11489                         })
11490                         return ret
11491                 }
11492                 store.forEach = function(callback) {
11493                         for (var i=0; i<storage.length; i++) {
11494                                 var key = storage.key(i)
11495                                 callback(key, store.get(key))
11496                         }
11497                 }
11498         } else if (doc.documentElement.addBehavior) {
11499                 var storageOwner,
11500                         storageContainer
11501                 // Since #userData storage applies only to specific paths, we need to
11502                 // somehow link our data to a specific path.  We choose /favicon.ico
11503                 // as a pretty safe option, since all browsers already make a request to
11504                 // this URL anyway and being a 404 will not hurt us here.  We wrap an
11505                 // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
11506                 // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
11507                 // since the iframe access rules appear to allow direct access and
11508                 // manipulation of the document element, even for a 404 page.  This
11509                 // document can be used instead of the current document (which would
11510                 // have been limited to the current path) to perform #userData storage.
11511                 try {
11512                         storageContainer = new ActiveXObject('htmlfile')
11513                         storageContainer.open()
11514                         storageContainer.write('<s' + 'cript>document.w=window</s' + 'cript><iframe src="/favicon.ico"></iframe>')
11515                         storageContainer.close()
11516                         storageOwner = storageContainer.w.frames[0].document
11517                         storage = storageOwner.createElement('div')
11518                 } catch(e) {
11519                         // somehow ActiveXObject instantiation failed (perhaps some special
11520                         // security settings or otherwse), fall back to per-path storage
11521                         storage = doc.createElement('div')
11522                         storageOwner = doc.body
11523                 }
11524                 function withIEStorage(storeFunction) {
11525                         return function() {
11526                                 var args = Array.prototype.slice.call(arguments, 0)
11527                                 args.unshift(storage)
11528                                 // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
11529                                 // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
11530                                 storageOwner.appendChild(storage)
11531                                 storage.addBehavior('#default#userData')
11532                                 storage.load(localStorageName)
11533                                 var result = storeFunction.apply(store, args)
11534                                 storageOwner.removeChild(storage)
11535                                 return result
11536                         }
11537                 }
11538
11539                 // In IE7, keys may not contain special chars. See all of https://github.com/marcuswestin/store.js/issues/40
11540                 var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g")
11541                 function ieKeyFix(key) {
11542                         return key.replace(forbiddenCharsRegex, '___')
11543                 }
11544                 store.set = withIEStorage(function(storage, key, val) {
11545                         key = ieKeyFix(key)
11546                         if (val === undefined) { return store.remove(key) }
11547                         storage.setAttribute(key, store.serialize(val))
11548                         storage.save(localStorageName)
11549                         return val
11550                 })
11551                 store.get = withIEStorage(function(storage, key) {
11552                         key = ieKeyFix(key)
11553                         return store.deserialize(storage.getAttribute(key))
11554                 })
11555                 store.remove = withIEStorage(function(storage, key) {
11556                         key = ieKeyFix(key)
11557                         storage.removeAttribute(key)
11558                         storage.save(localStorageName)
11559                 })
11560                 store.clear = withIEStorage(function(storage) {
11561                         var attributes = storage.XMLDocument.documentElement.attributes
11562                         storage.load(localStorageName)
11563                         for (var i=0, attr; attr=attributes[i]; i++) {
11564                                 storage.removeAttribute(attr.name)
11565                         }
11566                         storage.save(localStorageName)
11567                 })
11568                 store.getAll = function(storage) {
11569                         var ret = {}
11570                         store.forEach(function(key, val) {
11571                                 ret[key] = val
11572                         })
11573                         return ret
11574                 }
11575                 store.forEach = withIEStorage(function(storage, callback) {
11576                         var attributes = storage.XMLDocument.documentElement.attributes
11577                         for (var i=0, attr; attr=attributes[i]; ++i) {
11578                                 callback(attr.name, store.deserialize(storage.getAttribute(attr.name)))
11579                         }
11580                 })
11581         }
11582
11583         try {
11584                 var testKey = '__storejs__'
11585                 store.set(testKey, testKey)
11586                 if (store.get(testKey) != testKey) { store.disabled = true }
11587                 store.remove(testKey)
11588         } catch(e) {
11589                 store.disabled = true
11590         }
11591         store.enabled = !store.disabled
11592         
11593         if (typeof module != 'undefined' && module.exports) { module.exports = store }
11594         else if (typeof define === 'function' && define.amd) { define(store) }
11595         else { win.store = store }
11596         
11597 })(this.window || global);
11598
11599 })(window)
11600 },{}],5:[function(require,module,exports){
11601 module.exports = hasKeys
11602
11603 function hasKeys(source) {
11604     return source !== null &&
11605         (typeof source === "object" ||
11606         typeof source === "function")
11607 }
11608
11609 },{}],4:[function(require,module,exports){
11610 var Keys = require("object-keys")
11611 var hasKeys = require("./has-keys")
11612
11613 module.exports = extend
11614
11615 function extend() {
11616     var target = {}
11617
11618     for (var i = 0; i < arguments.length; i++) {
11619         var source = arguments[i]
11620
11621         if (!hasKeys(source)) {
11622             continue
11623         }
11624
11625         var keys = Keys(source)
11626
11627         for (var j = 0; j < keys.length; j++) {
11628             var name = keys[j]
11629             target[name] = source[name]
11630         }
11631     }
11632
11633     return target
11634 }
11635
11636 },{"./has-keys":5,"object-keys":6}],7:[function(require,module,exports){
11637 (function(global){/**
11638  * jsHashes - A fast and independent hashing library pure JavaScript implemented (ES3 compliant) for both server and client side
11639  * 
11640  * @class Hashes
11641  * @author Tomas Aparicio <tomas@rijndael-project.com>
11642  * @license New BSD (see LICENSE file)
11643  * @version 1.0.4
11644  *
11645  * Algorithms specification:
11646  *
11647  * MD5 <http://www.ietf.org/rfc/rfc1321.txt>
11648  * RIPEMD-160 <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
11649  * SHA1   <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
11650  * SHA256 <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
11651  * SHA512 <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
11652  * HMAC <http://www.ietf.org/rfc/rfc2104.txt>
11653  *
11654  */
11655 (function(){
11656   var Hashes;
11657   
11658   // private helper methods
11659   function utf8Encode(str) {
11660     var  x, y, output = '', i = -1, l;
11661     
11662     if (str && str.length) {
11663       l = str.length;
11664       while ((i+=1) < l) {
11665         /* Decode utf-16 surrogate pairs */
11666         x = str.charCodeAt(i);
11667         y = i + 1 < l ? str.charCodeAt(i + 1) : 0;
11668         if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
11669             x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
11670             i += 1;
11671         }
11672         /* Encode output as utf-8 */
11673         if (x <= 0x7F) {
11674             output += String.fromCharCode(x);
11675         } else if (x <= 0x7FF) {
11676             output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F),
11677                         0x80 | ( x & 0x3F));
11678         } else if (x <= 0xFFFF) {
11679             output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
11680                         0x80 | ((x >>> 6 ) & 0x3F),
11681                         0x80 | ( x & 0x3F));
11682         } else if (x <= 0x1FFFFF) {
11683             output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
11684                         0x80 | ((x >>> 12) & 0x3F),
11685                         0x80 | ((x >>> 6 ) & 0x3F),
11686                         0x80 | ( x & 0x3F));
11687         }
11688       }
11689     }
11690     return output;
11691   }
11692   
11693   function utf8Decode(str) {
11694     var i, ac, c1, c2, c3, arr = [], l;
11695     i = ac = c1 = c2 = c3 = 0;
11696     
11697     if (str && str.length) {
11698       l = str.length;
11699       str += '';
11700     
11701       while (i < l) {
11702           c1 = str.charCodeAt(i);
11703           ac += 1;
11704           if (c1 < 128) {
11705               arr[ac] = String.fromCharCode(c1);
11706               i+=1;
11707           } else if (c1 > 191 && c1 < 224) {
11708               c2 = str.charCodeAt(i + 1);
11709               arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
11710               i += 2;
11711           } else {
11712               c2 = str.charCodeAt(i + 1);
11713               c3 = str.charCodeAt(i + 2);
11714               arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
11715               i += 3;
11716           }
11717       }
11718     }
11719     return arr.join('');
11720   }
11721
11722   /**
11723    * Add integers, wrapping at 2^32. This uses 16-bit operations internally
11724    * to work around bugs in some JS interpreters.
11725    */
11726   function safe_add(x, y) {
11727     var lsw = (x & 0xFFFF) + (y & 0xFFFF),
11728         msw = (x >> 16) + (y >> 16) + (lsw >> 16);
11729     return (msw << 16) | (lsw & 0xFFFF);
11730   }
11731
11732   /**
11733    * Bitwise rotate a 32-bit number to the left.
11734    */
11735   function bit_rol(num, cnt) {
11736     return (num << cnt) | (num >>> (32 - cnt));
11737   }
11738
11739   /**
11740    * Convert a raw string to a hex string
11741    */
11742   function rstr2hex(input, hexcase) {
11743     var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef',
11744         output = '', x, i = 0, l = input.length;
11745     for (; i < l; i+=1) {
11746       x = input.charCodeAt(i);
11747       output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);
11748     }
11749     return output;
11750   }
11751
11752   /**
11753    * Encode a string as utf-16
11754    */
11755   function str2rstr_utf16le(input) {
11756     var i, l = input.length, output = '';
11757     for (i = 0; i < l; i+=1) {
11758       output += String.fromCharCode( input.charCodeAt(i) & 0xFF, (input.charCodeAt(i) >>> 8) & 0xFF);
11759     }
11760     return output;
11761   }
11762
11763   function str2rstr_utf16be(input) {
11764     var i, l = input.length, output = '';
11765     for (i = 0; i < l; i+=1) {
11766       output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, input.charCodeAt(i) & 0xFF);
11767     }
11768     return output;
11769   }
11770
11771   /**
11772    * Convert an array of big-endian words to a string
11773    */
11774   function binb2rstr(input) {
11775     var i, l = input.length * 32, output = '';
11776     for (i = 0; i < l; i += 8) {
11777         output += String.fromCharCode((input[i>>5] >>> (24 - i % 32)) & 0xFF);
11778     }
11779     return output;
11780   }
11781
11782   /**
11783    * Convert an array of little-endian words to a string
11784    */
11785   function binl2rstr(input) {
11786     var i, l = input.length * 32, output = '';
11787     for (i = 0;i < l; i += 8) {
11788       output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);
11789     }
11790     return output;
11791   }
11792
11793   /**
11794    * Convert a raw string to an array of little-endian words
11795    * Characters >255 have their high-byte silently ignored.
11796    */
11797   function rstr2binl(input) {
11798     var i, l = input.length * 8, output = Array(input.length >> 2), lo = output.length;
11799     for (i = 0; i < lo; i+=1) {
11800       output[i] = 0;
11801     }
11802     for (i = 0; i < l; i += 8) {
11803       output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32);
11804     }
11805     return output;
11806   }
11807   
11808   /**
11809    * Convert a raw string to an array of big-endian words 
11810    * Characters >255 have their high-byte silently ignored.
11811    */
11812    function rstr2binb(input) {
11813       var i, l = input.length * 8, output = Array(input.length >> 2), lo = output.length;
11814       for (i = 0; i < lo; i+=1) {
11815             output[i] = 0;
11816         }
11817       for (i = 0; i < l; i += 8) {
11818             output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
11819         }
11820       return output;
11821    }
11822
11823   /**
11824    * Convert a raw string to an arbitrary string encoding
11825    */
11826   function rstr2any(input, encoding) {
11827     var divisor = encoding.length,
11828         remainders = Array(),
11829         i, q, x, ld, quotient, dividend, output, full_length;
11830   
11831     /* Convert to an array of 16-bit big-endian values, forming the dividend */
11832     dividend = Array(Math.ceil(input.length / 2));
11833     ld = dividend.length;
11834     for (i = 0; i < ld; i+=1) {
11835       dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
11836     }
11837   
11838     /**
11839      * Repeatedly perform a long division. The binary array forms the dividend,
11840      * the length of the encoding is the divisor. Once computed, the quotient
11841      * forms the dividend for the next step. We stop when the dividend is zerHashes.
11842      * All remainders are stored for later use.
11843      */
11844     while(dividend.length > 0) {
11845       quotient = Array();
11846       x = 0;
11847       for (i = 0; i < dividend.length; i+=1) {
11848         x = (x << 16) + dividend[i];
11849         q = Math.floor(x / divisor);
11850         x -= q * divisor;
11851         if (quotient.length > 0 || q > 0) {
11852           quotient[quotient.length] = q;
11853         }
11854       }
11855       remainders[remainders.length] = x;
11856       dividend = quotient;
11857     }
11858   
11859     /* Convert the remainders to the output string */
11860     output = '';
11861     for (i = remainders.length - 1; i >= 0; i--) {
11862       output += encoding.charAt(remainders[i]);
11863     }
11864   
11865     /* Append leading zero equivalents */
11866     full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));
11867     for (i = output.length; i < full_length; i+=1) {
11868       output = encoding[0] + output;
11869     }
11870     return output;
11871   }
11872
11873   /**
11874    * Convert a raw string to a base-64 string
11875    */
11876   function rstr2b64(input, b64pad) {
11877     var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
11878         output = '',
11879         len = input.length, i, j, triplet;
11880     b64pad= b64pad || '=';
11881     for (i = 0; i < len; i += 3) {
11882       triplet = (input.charCodeAt(i) << 16)
11883             | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
11884             | (i + 2 < len ? input.charCodeAt(i+2)      : 0);
11885       for (j = 0; j < 4; j+=1) {
11886         if (i * 8 + j * 6 > input.length * 8) { 
11887           output += b64pad; 
11888         } else { 
11889           output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F); 
11890         }
11891        }
11892     }
11893     return output;
11894   }
11895
11896   Hashes = {
11897   /**  
11898    * @property {String} version
11899    * @readonly
11900    */
11901   VERSION : '1.0.3',
11902   /**
11903    * @member Hashes
11904    * @class Base64
11905    * @constructor
11906    */
11907   Base64 : function () {
11908     // private properties
11909     var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
11910         pad = '=', // default pad according with the RFC standard
11911         url = false, // URL encoding support @todo
11912         utf8 = true; // by default enable UTF-8 support encoding
11913
11914     // public method for encoding
11915     this.encode = function (input) {
11916       var i, j, triplet,
11917           output = '', 
11918           len = input.length;
11919
11920       pad = pad || '=';
11921       input = (utf8) ? utf8Encode(input) : input;
11922
11923       for (i = 0; i < len; i += 3) {
11924         triplet = (input.charCodeAt(i) << 16)
11925               | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
11926               | (i + 2 < len ? input.charCodeAt(i+2) : 0);
11927         for (j = 0; j < 4; j+=1) {
11928           if (i * 8 + j * 6 > len * 8) {
11929               output += pad;
11930           } else {
11931               output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);
11932           }
11933         }
11934       }
11935       return output;    
11936     };
11937
11938     // public method for decoding
11939     this.decode = function (input) {
11940       // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
11941       var i, o1, o2, o3, h1, h2, h3, h4, bits, ac,
11942         dec = '',
11943         arr = [];
11944       if (!input) { return input; }
11945
11946       i = ac = 0;
11947       input = input.replace(new RegExp('\\'+pad,'gi'),''); // use '='
11948       //input += '';
11949
11950       do { // unpack four hexets into three octets using index points in b64
11951         h1 = tab.indexOf(input.charAt(i+=1));
11952         h2 = tab.indexOf(input.charAt(i+=1));
11953         h3 = tab.indexOf(input.charAt(i+=1));
11954         h4 = tab.indexOf(input.charAt(i+=1));
11955
11956         bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
11957
11958         o1 = bits >> 16 & 0xff;
11959         o2 = bits >> 8 & 0xff;
11960         o3 = bits & 0xff;
11961         ac += 1;
11962
11963         if (h3 === 64) {
11964           arr[ac] = String.fromCharCode(o1);
11965         } else if (h4 === 64) {
11966           arr[ac] = String.fromCharCode(o1, o2);
11967         } else {
11968           arr[ac] = String.fromCharCode(o1, o2, o3);
11969         }
11970       } while (i < input.length);
11971
11972       dec = arr.join('');
11973       dec = (utf8) ? utf8Decode(dec) : dec;
11974
11975       return dec;
11976     };
11977
11978     // set custom pad string
11979     this.setPad = function (str) {
11980         pad = str || pad;
11981         return this;
11982     };
11983     // set custom tab string characters
11984     this.setTab = function (str) {
11985         tab = str || tab;
11986         return this;
11987     };
11988     this.setUTF8 = function (bool) {
11989         if (typeof bool === 'boolean') {
11990           utf8 = bool;
11991         }
11992         return this;
11993     };
11994   },
11995
11996   /**
11997    * CRC-32 calculation
11998    * @member Hashes
11999    * @method CRC32
12000    * @static
12001    * @param {String} str Input String
12002    * @return {String}
12003    */
12004   CRC32 : function (str) {
12005     var crc = 0, x = 0, y = 0, table, i, iTop;
12006     str = utf8Encode(str);
12007         
12008     table = [ 
12009         '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ',
12010         '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ',
12011         '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ',
12012         '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ',
12013         'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ',
12014         '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ',
12015         'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ',
12016         '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ',
12017         'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ',
12018         '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ',
12019         'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ',
12020         '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ',
12021         'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ',
12022         '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ',
12023         '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ',
12024         '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ',
12025         '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ',
12026         'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ', 
12027         '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ',
12028         'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ',
12029         '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ',
12030         'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ',
12031         '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ',
12032         'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ',
12033         '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ',
12034         'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D'
12035     ].join('');
12036
12037     crc = crc ^ (-1);
12038     for (i = 0, iTop = str.length; i < iTop; i+=1 ) {
12039         y = ( crc ^ str.charCodeAt( i ) ) & 0xFF;
12040         x = '0x' + table.substr( y * 9, 8 );
12041         crc = ( crc >>> 8 ) ^ x;
12042     }
12043     // always return a positive number (that's what >>> 0 does)
12044     return (crc ^ (-1)) >>> 0;
12045   },
12046   /**
12047    * @member Hashes
12048    * @class MD5
12049    * @constructor
12050    * @param {Object} [config]
12051    * 
12052    * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
12053    * Digest Algorithm, as defined in RFC 1321.
12054    * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
12055    * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
12056    * See <http://pajhome.org.uk/crypt/md5> for more infHashes.
12057    */
12058   MD5 : function (options) {  
12059     /**
12060      * Private config properties. You may need to tweak these to be compatible with
12061      * the server-side, but the defaults work in most cases.
12062      * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
12063      */
12064     var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
12065         b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
12066         utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
12067
12068     // privileged (public) methods 
12069     this.hex = function (s) { 
12070       return rstr2hex(rstr(s, utf8), hexcase);
12071     };
12072     this.b64 = function (s) { 
12073       return rstr2b64(rstr(s), b64pad);
12074     };
12075     this.any = function(s, e) { 
12076       return rstr2any(rstr(s, utf8), e); 
12077     };
12078     this.hex_hmac = function (k, d) { 
12079       return rstr2hex(rstr_hmac(k, d), hexcase); 
12080     };
12081     this.b64_hmac = function (k, d) { 
12082       return rstr2b64(rstr_hmac(k,d), b64pad); 
12083     };
12084     this.any_hmac = function (k, d, e) { 
12085       return rstr2any(rstr_hmac(k, d), e); 
12086     };
12087     /**
12088      * Perform a simple self-test to see if the VM is working
12089      * @return {String} Hexadecimal hash sample
12090      */
12091     this.vm_test = function () {
12092       return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
12093     };
12094     /** 
12095      * Enable/disable uppercase hexadecimal returned string 
12096      * @param {Boolean} 
12097      * @return {Object} this
12098      */ 
12099     this.setUpperCase = function (a) {
12100       if (typeof a === 'boolean' ) {
12101         hexcase = a;
12102       }
12103       return this;
12104     };
12105     /** 
12106      * Defines a base64 pad string 
12107      * @param {String} Pad
12108      * @return {Object} this
12109      */ 
12110     this.setPad = function (a) {
12111       b64pad = a || b64pad;
12112       return this;
12113     };
12114     /** 
12115      * Defines a base64 pad string 
12116      * @param {Boolean} 
12117      * @return {Object} [this]
12118      */ 
12119     this.setUTF8 = function (a) {
12120       if (typeof a === 'boolean') { 
12121         utf8 = a;
12122       }
12123       return this;
12124     };
12125
12126     // private methods
12127
12128     /**
12129      * Calculate the MD5 of a raw string
12130      */
12131     function rstr(s) {
12132       s = (utf8) ? utf8Encode(s): s;
12133       return binl2rstr(binl(rstr2binl(s), s.length * 8));
12134     }
12135     
12136     /**
12137      * Calculate the HMAC-MD5, of a key and some data (raw strings)
12138      */
12139     function rstr_hmac(key, data) {
12140       var bkey, ipad, opad, hash, i;
12141
12142       key = (utf8) ? utf8Encode(key) : key;
12143       data = (utf8) ? utf8Encode(data) : data;
12144       bkey = rstr2binl(key);
12145       if (bkey.length > 16) { 
12146         bkey = binl(bkey, key.length * 8); 
12147       }
12148
12149       ipad = Array(16), opad = Array(16); 
12150       for (i = 0; i < 16; i+=1) {
12151           ipad[i] = bkey[i] ^ 0x36363636;
12152           opad[i] = bkey[i] ^ 0x5C5C5C5C;
12153       }
12154       hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
12155       return binl2rstr(binl(opad.concat(hash), 512 + 128));
12156     }
12157
12158     /**
12159      * Calculate the MD5 of an array of little-endian words, and a bit length.
12160      */
12161     function binl(x, len) {
12162       var i, olda, oldb, oldc, oldd,
12163           a =  1732584193,
12164           b = -271733879,
12165           c = -1732584194,
12166           d =  271733878;
12167         
12168       /* append padding */
12169       x[len >> 5] |= 0x80 << ((len) % 32);
12170       x[(((len + 64) >>> 9) << 4) + 14] = len;
12171
12172       for (i = 0; i < x.length; i += 16) {
12173         olda = a;
12174         oldb = b;
12175         oldc = c;
12176         oldd = d;
12177
12178         a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
12179         d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
12180         c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
12181         b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
12182         a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
12183         d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
12184         c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
12185         b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
12186         a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
12187         d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
12188         c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
12189         b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
12190         a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
12191         d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
12192         c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
12193         b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);
12194
12195         a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
12196         d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
12197         c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
12198         b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
12199         a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
12200         d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
12201         c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
12202         b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
12203         a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
12204         d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
12205         c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
12206         b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
12207         a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
12208         d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
12209         c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
12210         b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
12211
12212         a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
12213         d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
12214         c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
12215         b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
12216         a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
12217         d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
12218         c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
12219         b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
12220         a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
12221         d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
12222         c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
12223         b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
12224         a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
12225         d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
12226         c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
12227         b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
12228
12229         a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
12230         d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
12231         c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
12232         b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
12233         a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
12234         d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
12235         c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
12236         b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
12237         a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
12238         d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
12239         c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
12240         b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
12241         a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
12242         d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
12243         c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
12244         b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
12245
12246         a = safe_add(a, olda);
12247         b = safe_add(b, oldb);
12248         c = safe_add(c, oldc);
12249         d = safe_add(d, oldd);
12250       }
12251       return Array(a, b, c, d);
12252     }
12253
12254     /**
12255      * These functions implement the four basic operations the algorithm uses.
12256      */
12257     function md5_cmn(q, a, b, x, s, t) {
12258       return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
12259     }
12260     function md5_ff(a, b, c, d, x, s, t) {
12261       return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
12262     }
12263     function md5_gg(a, b, c, d, x, s, t) {
12264       return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
12265     }
12266     function md5_hh(a, b, c, d, x, s, t) {
12267       return md5_cmn(b ^ c ^ d, a, b, x, s, t);
12268     }
12269     function md5_ii(a, b, c, d, x, s, t) {
12270       return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
12271     }
12272   },
12273   /**
12274    * @member Hashes
12275    * @class Hashes.SHA1
12276    * @param {Object} [config]
12277    * @constructor
12278    * 
12279    * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1
12280    * Version 2.2 Copyright Paul Johnston 2000 - 2009.
12281    * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
12282    * See http://pajhome.org.uk/crypt/md5 for details.
12283    */
12284   SHA1 : function (options) {
12285    /**
12286      * Private config properties. You may need to tweak these to be compatible with
12287      * the server-side, but the defaults work in most cases.
12288      * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
12289      */
12290     var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
12291         b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
12292         utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
12293
12294     // public methods
12295     this.hex = function (s) { 
12296         return rstr2hex(rstr(s, utf8), hexcase); 
12297     };
12298     this.b64 = function (s) { 
12299         return rstr2b64(rstr(s, utf8), b64pad);
12300     };
12301     this.any = function (s, e) { 
12302         return rstr2any(rstr(s, utf8), e);
12303     };
12304     this.hex_hmac = function (k, d) {
12305         return rstr2hex(rstr_hmac(k, d));
12306     };
12307     this.b64_hmac = function (k, d) { 
12308         return rstr2b64(rstr_hmac(k, d), b64pad); 
12309     };
12310     this.any_hmac = function (k, d, e) { 
12311         return rstr2any(rstr_hmac(k, d), e);
12312     };
12313     /**
12314      * Perform a simple self-test to see if the VM is working
12315      * @return {String} Hexadecimal hash sample
12316      * @public
12317      */
12318     this.vm_test = function () {
12319       return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
12320     };
12321     /** 
12322      * @description Enable/disable uppercase hexadecimal returned string 
12323      * @param {boolean} 
12324      * @return {Object} this
12325      * @public
12326      */ 
12327     this.setUpperCase = function (a) {
12328         if (typeof a === 'boolean') {
12329         hexcase = a;
12330       }
12331         return this;
12332     };
12333     /** 
12334      * @description Defines a base64 pad string 
12335      * @param {string} Pad
12336      * @return {Object} this
12337      * @public
12338      */ 
12339     this.setPad = function (a) {
12340       b64pad = a || b64pad;
12341         return this;
12342     };
12343     /** 
12344      * @description Defines a base64 pad string 
12345      * @param {boolean} 
12346      * @return {Object} this
12347      * @public
12348      */ 
12349     this.setUTF8 = function (a) {
12350         if (typeof a === 'boolean') {
12351         utf8 = a;
12352       }
12353         return this;
12354     };
12355
12356     // private methods
12357
12358     /**
12359          * Calculate the SHA-512 of a raw string
12360          */
12361         function rstr(s) {
12362       s = (utf8) ? utf8Encode(s) : s;
12363       return binb2rstr(binb(rstr2binb(s), s.length * 8));
12364         }
12365
12366     /**
12367      * Calculate the HMAC-SHA1 of a key and some data (raw strings)
12368      */
12369     function rstr_hmac(key, data) {
12370         var bkey, ipad, opad, i, hash;
12371         key = (utf8) ? utf8Encode(key) : key;
12372         data = (utf8) ? utf8Encode(data) : data;
12373         bkey = rstr2binb(key);
12374
12375         if (bkey.length > 16) {
12376         bkey = binb(bkey, key.length * 8);
12377       }
12378         ipad = Array(16), opad = Array(16);
12379         for (i = 0; i < 16; i+=1) {
12380                 ipad[i] = bkey[i] ^ 0x36363636;
12381                 opad[i] = bkey[i] ^ 0x5C5C5C5C;
12382         }
12383         hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
12384         return binb2rstr(binb(opad.concat(hash), 512 + 160));
12385     }
12386
12387     /**
12388      * Calculate the SHA-1 of an array of big-endian words, and a bit length
12389      */
12390     function binb(x, len) {
12391       var i, j, t, olda, oldb, oldc, oldd, olde,
12392           w = Array(80),
12393           a =  1732584193,
12394           b = -271733879,
12395           c = -1732584194,
12396           d =  271733878,
12397           e = -1009589776;
12398
12399       /* append padding */
12400       x[len >> 5] |= 0x80 << (24 - len % 32);
12401       x[((len + 64 >> 9) << 4) + 15] = len;
12402
12403       for (i = 0; i < x.length; i += 16) {
12404         olda = a,
12405         oldb = b;
12406         oldc = c;
12407         oldd = d;
12408         olde = e;
12409       
12410         for (j = 0; j < 80; j+=1)       {
12411           if (j < 16) { 
12412             w[j] = x[i + j]; 
12413           } else { 
12414             w[j] = bit_rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); 
12415           }
12416           t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)),
12417                                            safe_add(safe_add(e, w[j]), sha1_kt(j)));
12418           e = d;
12419           d = c;
12420           c = bit_rol(b, 30);
12421           b = a;
12422           a = t;
12423         }
12424
12425         a = safe_add(a, olda);
12426         b = safe_add(b, oldb);
12427         c = safe_add(c, oldc);
12428         d = safe_add(d, oldd);
12429         e = safe_add(e, olde);
12430       }
12431       return Array(a, b, c, d, e);
12432     }
12433
12434     /**
12435      * Perform the appropriate triplet combination function for the current
12436      * iteration
12437      */
12438     function sha1_ft(t, b, c, d) {
12439       if (t < 20) { return (b & c) | ((~b) & d); }
12440       if (t < 40) { return b ^ c ^ d; }
12441       if (t < 60) { return (b & c) | (b & d) | (c & d); }
12442       return b ^ c ^ d;
12443     }
12444
12445     /**
12446      * Determine the appropriate additive constant for the current iteration
12447      */
12448     function sha1_kt(t) {
12449       return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
12450                  (t < 60) ? -1894007588 : -899497514;
12451     }
12452   },
12453   /**
12454    * @class Hashes.SHA256
12455    * @param {config}
12456    * 
12457    * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2
12458    * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.
12459    * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
12460    * See http://pajhome.org.uk/crypt/md5 for details.
12461    * Also http://anmar.eu.org/projects/jssha2/
12462    */
12463   SHA256 : function (options) {
12464     /**
12465      * Private properties configuration variables. You may need to tweak these to be compatible with
12466      * the server-side, but the defaults work in most cases.
12467      * @see this.setUpperCase() method
12468      * @see this.setPad() method
12469      */
12470     var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase  */
12471               b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', /* base-64 pad character. Default '=' for strict RFC compliance   */
12472               utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
12473               sha256_K;
12474
12475     /* privileged (public) methods */
12476     this.hex = function (s) { 
12477       return rstr2hex(rstr(s, utf8)); 
12478     };
12479     this.b64 = function (s) { 
12480       return rstr2b64(rstr(s, utf8), b64pad);
12481     };
12482     this.any = function (s, e) { 
12483       return rstr2any(rstr(s, utf8), e); 
12484     };
12485     this.hex_hmac = function (k, d) { 
12486       return rstr2hex(rstr_hmac(k, d)); 
12487     };
12488     this.b64_hmac = function (k, d) { 
12489       return rstr2b64(rstr_hmac(k, d), b64pad);
12490     };
12491     this.any_hmac = function (k, d, e) { 
12492       return rstr2any(rstr_hmac(k, d), e); 
12493     };
12494     /**
12495      * Perform a simple self-test to see if the VM is working
12496      * @return {String} Hexadecimal hash sample
12497      * @public
12498      */
12499     this.vm_test = function () {
12500       return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
12501     };
12502     /** 
12503      * Enable/disable uppercase hexadecimal returned string 
12504      * @param {boolean} 
12505      * @return {Object} this
12506      * @public
12507      */ 
12508     this.setUpperCase = function (a) {
12509       if (typeof a === 'boolean') { 
12510         hexcase = a;
12511       }
12512       return this;
12513     };
12514     /** 
12515      * @description Defines a base64 pad string 
12516      * @param {string} Pad
12517      * @return {Object} this
12518      * @public
12519      */ 
12520     this.setPad = function (a) {
12521       b64pad = a || b64pad;
12522       return this;
12523     };
12524     /** 
12525      * Defines a base64 pad string 
12526      * @param {boolean} 
12527      * @return {Object} this
12528      * @public
12529      */ 
12530     this.setUTF8 = function (a) {
12531       if (typeof a === 'boolean') {
12532         utf8 = a;
12533       }
12534       return this;
12535     };
12536     
12537     // private methods
12538
12539     /**
12540      * Calculate the SHA-512 of a raw string
12541      */
12542     function rstr(s, utf8) {
12543       s = (utf8) ? utf8Encode(s) : s;
12544       return binb2rstr(binb(rstr2binb(s), s.length * 8));
12545     }
12546
12547     /**
12548      * Calculate the HMAC-sha256 of a key and some data (raw strings)
12549      */
12550     function rstr_hmac(key, data) {
12551       key = (utf8) ? utf8Encode(key) : key;
12552       data = (utf8) ? utf8Encode(data) : data;
12553       var hash, i = 0,
12554           bkey = rstr2binb(key), 
12555           ipad = Array(16), 
12556           opad = Array(16);
12557
12558       if (bkey.length > 16) { bkey = binb(bkey, key.length * 8); }
12559       
12560       for (; i < 16; i+=1) {
12561         ipad[i] = bkey[i] ^ 0x36363636;
12562         opad[i] = bkey[i] ^ 0x5C5C5C5C;
12563       }
12564       
12565       hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
12566       return binb2rstr(binb(opad.concat(hash), 512 + 256));
12567     }
12568     
12569     /*
12570      * Main sha256 function, with its support functions
12571      */
12572     function sha256_S (X, n) {return ( X >>> n ) | (X << (32 - n));}
12573     function sha256_R (X, n) {return ( X >>> n );}
12574     function sha256_Ch(x, y, z) {return ((x & y) ^ ((~x) & z));}
12575     function sha256_Maj(x, y, z) {return ((x & y) ^ (x & z) ^ (y & z));}
12576     function sha256_Sigma0256(x) {return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22));}
12577     function sha256_Sigma1256(x) {return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25));}
12578     function sha256_Gamma0256(x) {return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3));}
12579     function sha256_Gamma1256(x) {return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10));}
12580     function sha256_Sigma0512(x) {return (sha256_S(x, 28) ^ sha256_S(x, 34) ^ sha256_S(x, 39));}
12581     function sha256_Sigma1512(x) {return (sha256_S(x, 14) ^ sha256_S(x, 18) ^ sha256_S(x, 41));}
12582     function sha256_Gamma0512(x) {return (sha256_S(x, 1)  ^ sha256_S(x, 8) ^ sha256_R(x, 7));}
12583     function sha256_Gamma1512(x) {return (sha256_S(x, 19) ^ sha256_S(x, 61) ^ sha256_R(x, 6));}
12584     
12585     sha256_K = [
12586       1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993,
12587       -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987,
12588       1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522,
12589       264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986,
12590       -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585,
12591       113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
12592       1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885,
12593       -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344,
12594       430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,
12595       1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872,
12596       -1866530822, -1538233109, -1090935817, -965641998
12597     ];
12598     
12599     function binb(m, l) {
12600       var HASH = [1779033703, -1150833019, 1013904242, -1521486534,
12601                  1359893119, -1694144372, 528734635, 1541459225];
12602       var W = new Array(64);
12603       var a, b, c, d, e, f, g, h;
12604       var i, j, T1, T2;
12605     
12606       /* append padding */
12607       m[l >> 5] |= 0x80 << (24 - l % 32);
12608       m[((l + 64 >> 9) << 4) + 15] = l;
12609     
12610       for (i = 0; i < m.length; i += 16)
12611       {
12612       a = HASH[0];
12613       b = HASH[1];
12614       c = HASH[2];
12615       d = HASH[3];
12616       e = HASH[4];
12617       f = HASH[5];
12618       g = HASH[6];
12619       h = HASH[7];
12620     
12621       for (j = 0; j < 64; j+=1)
12622       {
12623         if (j < 16) { 
12624           W[j] = m[j + i];
12625         } else { 
12626           W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]),
12627                           sha256_Gamma0256(W[j - 15])), W[j - 16]);
12628         }
12629     
12630         T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)),
12631                                   sha256_K[j]), W[j]);
12632         T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c));
12633         h = g;
12634         g = f;
12635         f = e;
12636         e = safe_add(d, T1);
12637         d = c;
12638         c = b;
12639         b = a;
12640         a = safe_add(T1, T2);
12641       }
12642     
12643       HASH[0] = safe_add(a, HASH[0]);
12644       HASH[1] = safe_add(b, HASH[1]);
12645       HASH[2] = safe_add(c, HASH[2]);
12646       HASH[3] = safe_add(d, HASH[3]);
12647       HASH[4] = safe_add(e, HASH[4]);
12648       HASH[5] = safe_add(f, HASH[5]);
12649       HASH[6] = safe_add(g, HASH[6]);
12650       HASH[7] = safe_add(h, HASH[7]);
12651       }
12652       return HASH;
12653     }
12654
12655   },
12656
12657   /**
12658    * @class Hashes.SHA512
12659    * @param {config}
12660    * 
12661    * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2
12662    * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.
12663    * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
12664    * See http://pajhome.org.uk/crypt/md5 for details. 
12665    */
12666   SHA512 : function (options) {
12667     /**
12668      * Private properties configuration variables. You may need to tweak these to be compatible with
12669      * the server-side, but the defaults work in most cases.
12670      * @see this.setUpperCase() method
12671      * @see this.setPad() method
12672      */
12673     var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false , /* hexadecimal output case format. false - lowercase; true - uppercase  */
12674         b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */
12675         utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
12676         sha512_k;
12677
12678     /* privileged (public) methods */
12679     this.hex = function (s) { 
12680       return rstr2hex(rstr(s)); 
12681     };
12682     this.b64 = function (s) { 
12683       return rstr2b64(rstr(s), b64pad);  
12684     };
12685     this.any = function (s, e) { 
12686       return rstr2any(rstr(s), e);
12687     };
12688     this.hex_hmac = function (k, d) {
12689       return rstr2hex(rstr_hmac(k, d));
12690     };
12691     this.b64_hmac = function (k, d) { 
12692       return rstr2b64(rstr_hmac(k, d), b64pad);
12693     };
12694     this.any_hmac = function (k, d, e) { 
12695       return rstr2any(rstr_hmac(k, d), e);
12696     };
12697     /**
12698      * Perform a simple self-test to see if the VM is working
12699      * @return {String} Hexadecimal hash sample
12700      * @public
12701      */
12702     this.vm_test = function () {
12703       return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
12704     };
12705     /** 
12706      * @description Enable/disable uppercase hexadecimal returned string 
12707      * @param {boolean} 
12708      * @return {Object} this
12709      * @public
12710      */ 
12711     this.setUpperCase = function (a) {
12712       if (typeof a === 'boolean') {
12713         hexcase = a;
12714       }
12715       return this;
12716     };
12717     /** 
12718      * @description Defines a base64 pad string 
12719      * @param {string} Pad
12720      * @return {Object} this
12721      * @public
12722      */ 
12723     this.setPad = function (a) {
12724       b64pad = a || b64pad;
12725       return this;
12726     };
12727     /** 
12728      * @description Defines a base64 pad string 
12729      * @param {boolean} 
12730      * @return {Object} this
12731      * @public
12732      */ 
12733     this.setUTF8 = function (a) {
12734       if (typeof a === 'boolean') {
12735         utf8 = a;
12736       }
12737       return this;
12738     };
12739
12740     /* private methods */
12741     
12742     /**
12743      * Calculate the SHA-512 of a raw string
12744      */
12745     function rstr(s) {
12746       s = (utf8) ? utf8Encode(s) : s;
12747       return binb2rstr(binb(rstr2binb(s), s.length * 8));
12748     }
12749     /*
12750      * Calculate the HMAC-SHA-512 of a key and some data (raw strings)
12751      */
12752     function rstr_hmac(key, data) {
12753       key = (utf8) ? utf8Encode(key) : key;
12754       data = (utf8) ? utf8Encode(data) : data;
12755       
12756       var hash, i = 0, 
12757           bkey = rstr2binb(key),
12758           ipad = Array(32), opad = Array(32);
12759
12760       if (bkey.length > 32) { bkey = binb(bkey, key.length * 8); }
12761       
12762       for (; i < 32; i+=1) {
12763         ipad[i] = bkey[i] ^ 0x36363636;
12764         opad[i] = bkey[i] ^ 0x5C5C5C5C;
12765       }
12766       
12767       hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);
12768       return binb2rstr(binb(opad.concat(hash), 1024 + 512));
12769     }
12770             
12771     /**
12772      * Calculate the SHA-512 of an array of big-endian dwords, and a bit length
12773      */
12774     function binb(x, len) {
12775       var j, i, l,
12776           W = new Array(80),
12777           hash = new Array(16),
12778           //Initial hash values
12779           H = [
12780             new int64(0x6a09e667, -205731576),
12781             new int64(-1150833019, -2067093701),
12782             new int64(0x3c6ef372, -23791573),
12783             new int64(-1521486534, 0x5f1d36f1),
12784             new int64(0x510e527f, -1377402159),
12785             new int64(-1694144372, 0x2b3e6c1f),
12786             new int64(0x1f83d9ab, -79577749),
12787             new int64(0x5be0cd19, 0x137e2179)
12788           ],
12789           T1 = new int64(0, 0),
12790           T2 = new int64(0, 0),
12791           a = new int64(0,0),
12792           b = new int64(0,0),
12793           c = new int64(0,0),
12794           d = new int64(0,0),
12795           e = new int64(0,0),
12796           f = new int64(0,0),
12797           g = new int64(0,0),
12798           h = new int64(0,0),
12799           //Temporary variables not specified by the document
12800           s0 = new int64(0, 0),
12801           s1 = new int64(0, 0),
12802           Ch = new int64(0, 0),
12803           Maj = new int64(0, 0),
12804           r1 = new int64(0, 0),
12805           r2 = new int64(0, 0),
12806           r3 = new int64(0, 0);
12807
12808       if (sha512_k === undefined) {
12809           //SHA512 constants
12810           sha512_k = [
12811             new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),
12812             new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),
12813             new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),
12814             new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),
12815             new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),
12816             new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),
12817             new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),
12818             new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),
12819             new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),
12820             new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),
12821             new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),
12822             new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),
12823             new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),
12824             new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),
12825             new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),
12826             new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),
12827             new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),
12828             new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),
12829             new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),
12830             new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),
12831             new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),
12832             new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),
12833             new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),
12834             new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),
12835             new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),
12836             new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),
12837             new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),
12838             new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),
12839             new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),
12840             new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),
12841             new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),
12842             new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),
12843             new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),
12844             new int64(-354779690, -840897762), new int64(-176337025, -294727304),
12845             new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),
12846             new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),
12847             new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),
12848             new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),
12849             new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),
12850             new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817)
12851           ];
12852       }
12853   
12854       for (i=0; i<80; i+=1) {
12855         W[i] = new int64(0, 0);
12856       }
12857     
12858       // append padding to the source string. The format is described in the FIPS.
12859       x[len >> 5] |= 0x80 << (24 - (len & 0x1f));
12860       x[((len + 128 >> 10)<< 5) + 31] = len;
12861       l = x.length;
12862       for (i = 0; i<l; i+=32) { //32 dwords is the block size
12863         int64copy(a, H[0]);
12864         int64copy(b, H[1]);
12865         int64copy(c, H[2]);
12866         int64copy(d, H[3]);
12867         int64copy(e, H[4]);
12868         int64copy(f, H[5]);
12869         int64copy(g, H[6]);
12870         int64copy(h, H[7]);
12871       
12872         for (j=0; j<16; j+=1) {
12873           W[j].h = x[i + 2*j];
12874           W[j].l = x[i + 2*j + 1];
12875         }
12876       
12877         for (j=16; j<80; j+=1) {
12878           //sigma1
12879           int64rrot(r1, W[j-2], 19);
12880           int64revrrot(r2, W[j-2], 29);
12881           int64shr(r3, W[j-2], 6);
12882           s1.l = r1.l ^ r2.l ^ r3.l;
12883           s1.h = r1.h ^ r2.h ^ r3.h;
12884           //sigma0
12885           int64rrot(r1, W[j-15], 1);
12886           int64rrot(r2, W[j-15], 8);
12887           int64shr(r3, W[j-15], 7);
12888           s0.l = r1.l ^ r2.l ^ r3.l;
12889           s0.h = r1.h ^ r2.h ^ r3.h;
12890       
12891           int64add4(W[j], s1, W[j-7], s0, W[j-16]);
12892         }
12893       
12894         for (j = 0; j < 80; j+=1) {
12895           //Ch
12896           Ch.l = (e.l & f.l) ^ (~e.l & g.l);
12897           Ch.h = (e.h & f.h) ^ (~e.h & g.h);
12898       
12899           //Sigma1
12900           int64rrot(r1, e, 14);
12901           int64rrot(r2, e, 18);
12902           int64revrrot(r3, e, 9);
12903           s1.l = r1.l ^ r2.l ^ r3.l;
12904           s1.h = r1.h ^ r2.h ^ r3.h;
12905       
12906           //Sigma0
12907           int64rrot(r1, a, 28);
12908           int64revrrot(r2, a, 2);
12909           int64revrrot(r3, a, 7);
12910           s0.l = r1.l ^ r2.l ^ r3.l;
12911           s0.h = r1.h ^ r2.h ^ r3.h;
12912       
12913           //Maj
12914           Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);
12915           Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);
12916       
12917           int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);
12918           int64add(T2, s0, Maj);
12919       
12920           int64copy(h, g);
12921           int64copy(g, f);
12922           int64copy(f, e);
12923           int64add(e, d, T1);
12924           int64copy(d, c);
12925           int64copy(c, b);
12926           int64copy(b, a);
12927           int64add(a, T1, T2);
12928         }
12929         int64add(H[0], H[0], a);
12930         int64add(H[1], H[1], b);
12931         int64add(H[2], H[2], c);
12932         int64add(H[3], H[3], d);
12933         int64add(H[4], H[4], e);
12934         int64add(H[5], H[5], f);
12935         int64add(H[6], H[6], g);
12936         int64add(H[7], H[7], h);
12937       }
12938     
12939       //represent the hash as an array of 32-bit dwords
12940       for (i=0; i<8; i+=1) {
12941         hash[2*i] = H[i].h;
12942         hash[2*i + 1] = H[i].l;
12943       }
12944       return hash;
12945     }
12946     
12947     //A constructor for 64-bit numbers
12948     function int64(h, l) {
12949       this.h = h;
12950       this.l = l;
12951       //this.toString = int64toString;
12952     }
12953     
12954     //Copies src into dst, assuming both are 64-bit numbers
12955     function int64copy(dst, src) {
12956       dst.h = src.h;
12957       dst.l = src.l;
12958     }
12959     
12960     //Right-rotates a 64-bit number by shift
12961     //Won't handle cases of shift>=32
12962     //The function revrrot() is for that
12963     function int64rrot(dst, x, shift) {
12964       dst.l = (x.l >>> shift) | (x.h << (32-shift));
12965       dst.h = (x.h >>> shift) | (x.l << (32-shift));
12966     }
12967     
12968     //Reverses the dwords of the source and then rotates right by shift.
12969     //This is equivalent to rotation by 32+shift
12970     function int64revrrot(dst, x, shift) {
12971       dst.l = (x.h >>> shift) | (x.l << (32-shift));
12972       dst.h = (x.l >>> shift) | (x.h << (32-shift));
12973     }
12974     
12975     //Bitwise-shifts right a 64-bit number by shift
12976     //Won't handle shift>=32, but it's never needed in SHA512
12977     function int64shr(dst, x, shift) {
12978       dst.l = (x.l >>> shift) | (x.h << (32-shift));
12979       dst.h = (x.h >>> shift);
12980     }
12981     
12982     //Adds two 64-bit numbers
12983     //Like the original implementation, does not rely on 32-bit operations
12984     function int64add(dst, x, y) {
12985        var w0 = (x.l & 0xffff) + (y.l & 0xffff);
12986        var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
12987        var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
12988        var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);
12989        dst.l = (w0 & 0xffff) | (w1 << 16);
12990        dst.h = (w2 & 0xffff) | (w3 << 16);
12991     }
12992     
12993     //Same, except with 4 addends. Works faster than adding them one by one.
12994     function int64add4(dst, a, b, c, d) {
12995        var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);
12996        var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);
12997        var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);
12998        var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);
12999        dst.l = (w0 & 0xffff) | (w1 << 16);
13000        dst.h = (w2 & 0xffff) | (w3 << 16);
13001     }
13002     
13003     //Same, except with 5 addends
13004     function int64add5(dst, a, b, c, d, e) {
13005       var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff),
13006           w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16),
13007           w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16),
13008           w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);
13009        dst.l = (w0 & 0xffff) | (w1 << 16);
13010        dst.h = (w2 & 0xffff) | (w3 << 16);
13011     }
13012   },
13013   /**
13014    * @class Hashes.RMD160
13015    * @constructor
13016    * @param {Object} [config]
13017    * 
13018    * A JavaScript implementation of the RIPEMD-160 Algorithm
13019    * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.
13020    * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
13021    * See http://pajhome.org.uk/crypt/md5 for details.
13022    * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/
13023    */
13024   RMD160 : function (options) {
13025     /**
13026      * Private properties configuration variables. You may need to tweak these to be compatible with
13027      * the server-side, but the defaults work in most cases.
13028      * @see this.setUpperCase() method
13029      * @see this.setPad() method
13030      */
13031     var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,   /* hexadecimal output case format. false - lowercase; true - uppercase  */
13032         b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */
13033         utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
13034         rmd160_r1 = [
13035            0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
13036            7,  4, 13,  1, 10,  6, 15,  3, 12,  0,  9,  5,  2, 14, 11,  8,
13037            3, 10, 14,  4,  9, 15,  8,  1,  2,  7,  0,  6, 13, 11,  5, 12,
13038            1,  9, 11, 10,  0,  8, 12,  4, 13,  3,  7, 15, 14,  5,  6,  2,
13039            4,  0,  5,  9,  7, 12,  2, 10, 14,  1,  3,  8, 11,  6, 15, 13
13040         ],
13041         rmd160_r2 = [
13042            5, 14,  7,  0,  9,  2, 11,  4, 13,  6, 15,  8,  1, 10,  3, 12,
13043            6, 11,  3,  7,  0, 13,  5, 10, 14, 15,  8, 12,  4,  9,  1,  2,
13044           15,  5,  1,  3,  7, 14,  6,  9, 11,  8, 12,  2, 10,  0,  4, 13,
13045            8,  6,  4,  1,  3, 11, 15,  0,  5, 12,  2, 13,  9,  7, 10, 14,
13046           12, 15, 10,  4,  1,  5,  8,  7,  6,  2, 13, 14,  0,  3,  9, 11
13047         ],
13048         rmd160_s1 = [
13049           11, 14, 15, 12,  5,  8,  7,  9, 11, 13, 14, 15,  6,  7,  9,  8,
13050            7,  6,  8, 13, 11,  9,  7, 15,  7, 12, 15,  9, 11,  7, 13, 12,
13051           11, 13,  6,  7, 14,  9, 13, 15, 14,  8, 13,  6,  5, 12,  7,  5,
13052           11, 12, 14, 15, 14, 15,  9,  8,  9, 14,  5,  6,  8,  6,  5, 12,
13053            9, 15,  5, 11,  6,  8, 13, 12,  5, 12, 13, 14, 11,  8,  5,  6
13054         ],
13055         rmd160_s2 = [
13056            8,  9,  9, 11, 13, 15, 15,  5,  7,  7,  8, 11, 14, 14, 12,  6,
13057            9, 13, 15,  7, 12,  8,  9, 11,  7,  7, 12,  7,  6, 15, 13, 11,
13058            9,  7, 15, 11,  8,  6,  6, 14, 12, 13,  5, 14, 13, 13,  7,  5,
13059           15,  5,  8, 11, 14, 14,  6, 14,  6,  9, 12,  9, 12,  5, 15,  8,
13060            8,  5, 12,  9, 12,  5, 14,  6,  8, 13,  6,  5, 15, 13, 11, 11
13061         ];
13062
13063     /* privileged (public) methods */
13064     this.hex = function (s) {
13065       return rstr2hex(rstr(s, utf8)); 
13066     };
13067     this.b64 = function (s) {
13068       return rstr2b64(rstr(s, utf8), b64pad);
13069     };
13070     this.any = function (s, e) { 
13071       return rstr2any(rstr(s, utf8), e);
13072     };
13073     this.hex_hmac = function (k, d) { 
13074       return rstr2hex(rstr_hmac(k, d));
13075     };
13076     this.b64_hmac = function (k, d) { 
13077       return rstr2b64(rstr_hmac(k, d), b64pad);
13078     };
13079     this.any_hmac = function (k, d, e) { 
13080       return rstr2any(rstr_hmac(k, d), e); 
13081     };
13082     /**
13083      * Perform a simple self-test to see if the VM is working
13084      * @return {String} Hexadecimal hash sample
13085      * @public
13086      */
13087     this.vm_test = function () {
13088       return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
13089     };
13090     /** 
13091      * @description Enable/disable uppercase hexadecimal returned string 
13092      * @param {boolean} 
13093      * @return {Object} this
13094      * @public
13095      */ 
13096     this.setUpperCase = function (a) {
13097       if (typeof a === 'boolean' ) { hexcase = a; }
13098       return this;
13099     };
13100     /** 
13101      * @description Defines a base64 pad string 
13102      * @param {string} Pad
13103      * @return {Object} this
13104      * @public
13105      */ 
13106     this.setPad = function (a) {
13107       if (typeof a !== 'undefined' ) { b64pad = a; }
13108       return this;
13109     };
13110     /** 
13111      * @description Defines a base64 pad string 
13112      * @param {boolean} 
13113      * @return {Object} this
13114      * @public
13115      */ 
13116     this.setUTF8 = function (a) {
13117       if (typeof a === 'boolean') { utf8 = a; }
13118       return this;
13119     };
13120
13121     /* private methods */
13122
13123     /**
13124      * Calculate the rmd160 of a raw string
13125      */
13126     function rstr(s) {
13127       s = (utf8) ? utf8Encode(s) : s;
13128       return binl2rstr(binl(rstr2binl(s), s.length * 8));
13129     }
13130
13131     /**
13132      * Calculate the HMAC-rmd160 of a key and some data (raw strings)
13133      */
13134     function rstr_hmac(key, data) {
13135       key = (utf8) ? utf8Encode(key) : key;
13136       data = (utf8) ? utf8Encode(data) : data;
13137       var i, hash,
13138           bkey = rstr2binl(key),
13139           ipad = Array(16), opad = Array(16);
13140
13141       if (bkey.length > 16) { 
13142         bkey = binl(bkey, key.length * 8); 
13143       }
13144       
13145       for (i = 0; i < 16; i+=1) {
13146         ipad[i] = bkey[i] ^ 0x36363636;
13147         opad[i] = bkey[i] ^ 0x5C5C5C5C;
13148       }
13149       hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
13150       return binl2rstr(binl(opad.concat(hash), 512 + 160));
13151     }
13152
13153     /**
13154      * Convert an array of little-endian words to a string
13155      */
13156     function binl2rstr(input) {
13157       var i, output = '', l = input.length * 32;
13158       for (i = 0; i < l; i += 8) {
13159         output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);
13160       }
13161       return output;
13162     }
13163
13164     /**
13165      * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length.
13166      */
13167     function binl(x, len) {
13168       var T, j, i, l,
13169           h0 = 0x67452301,
13170           h1 = 0xefcdab89,
13171           h2 = 0x98badcfe,
13172           h3 = 0x10325476,
13173           h4 = 0xc3d2e1f0,
13174           A1, B1, C1, D1, E1,
13175           A2, B2, C2, D2, E2;
13176
13177       /* append padding */
13178       x[len >> 5] |= 0x80 << (len % 32);
13179       x[(((len + 64) >>> 9) << 4) + 14] = len;
13180       l = x.length;
13181       
13182       for (i = 0; i < l; i+=16) {
13183         A1 = A2 = h0; B1 = B2 = h1; C1 = C2 = h2; D1 = D2 = h3; E1 = E2 = h4;
13184         for (j = 0; j <= 79; j+=1) {
13185           T = safe_add(A1, rmd160_f(j, B1, C1, D1));
13186           T = safe_add(T, x[i + rmd160_r1[j]]);
13187           T = safe_add(T, rmd160_K1(j));
13188           T = safe_add(bit_rol(T, rmd160_s1[j]), E1);
13189           A1 = E1; E1 = D1; D1 = bit_rol(C1, 10); C1 = B1; B1 = T;
13190           T = safe_add(A2, rmd160_f(79-j, B2, C2, D2));
13191           T = safe_add(T, x[i + rmd160_r2[j]]);
13192           T = safe_add(T, rmd160_K2(j));
13193           T = safe_add(bit_rol(T, rmd160_s2[j]), E2);
13194           A2 = E2; E2 = D2; D2 = bit_rol(C2, 10); C2 = B2; B2 = T;
13195         }
13196
13197         T = safe_add(h1, safe_add(C1, D2));
13198         h1 = safe_add(h2, safe_add(D1, E2));
13199         h2 = safe_add(h3, safe_add(E1, A2));
13200         h3 = safe_add(h4, safe_add(A1, B2));
13201         h4 = safe_add(h0, safe_add(B1, C2));
13202         h0 = T;
13203       }
13204       return [h0, h1, h2, h3, h4];
13205     }
13206
13207     // specific algorithm methods 
13208     function rmd160_f(j, x, y, z) {
13209       return ( 0 <= j && j <= 15) ? (x ^ y ^ z) :
13210          (16 <= j && j <= 31) ? (x & y) | (~x & z) :
13211          (32 <= j && j <= 47) ? (x | ~y) ^ z :
13212          (48 <= j && j <= 63) ? (x & z) | (y & ~z) :
13213          (64 <= j && j <= 79) ? x ^ (y | ~z) :
13214          'rmd160_f: j out of range';
13215     }
13216
13217     function rmd160_K1(j) {
13218       return ( 0 <= j && j <= 15) ? 0x00000000 :
13219          (16 <= j && j <= 31) ? 0x5a827999 :
13220          (32 <= j && j <= 47) ? 0x6ed9eba1 :
13221          (48 <= j && j <= 63) ? 0x8f1bbcdc :
13222          (64 <= j && j <= 79) ? 0xa953fd4e :
13223          'rmd160_K1: j out of range';
13224     }
13225
13226     function rmd160_K2(j){
13227       return ( 0 <= j && j <= 15) ? 0x50a28be6 :
13228          (16 <= j && j <= 31) ? 0x5c4dd124 :
13229          (32 <= j && j <= 47) ? 0x6d703ef3 :
13230          (48 <= j && j <= 63) ? 0x7a6d76e9 :
13231          (64 <= j && j <= 79) ? 0x00000000 :
13232          'rmd160_K2: j out of range';
13233     }
13234   }
13235 };
13236
13237   // exposes Hashes
13238   (function( window, undefined ) {
13239     var freeExports = false;
13240     if (typeof exports === 'object' ) {
13241       freeExports = exports;
13242       if (exports && typeof global === 'object' && global && global === global.global ) { window = global; }
13243     }
13244
13245     if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
13246       // define as an anonymous module, so, through path mapping, it can be aliased
13247       define(function () { return Hashes; });
13248     }
13249     else if ( freeExports ) {
13250       // in Node.js or RingoJS v0.8.0+
13251       if ( typeof module === 'object' && module && module.exports === freeExports ) {
13252         module.exports = Hashes;
13253       }
13254       // in Narwhal or RingoJS v0.7.0-
13255       else {
13256         freeExports.Hashes = Hashes;
13257       }
13258     }
13259     else {
13260       // in a browser or Rhino
13261       window.Hashes = Hashes;
13262     }
13263   }( this ));
13264 }()); // IIFE
13265
13266 })(window)
13267 },{}],2:[function(require,module,exports){
13268 'use strict';
13269
13270 var hashes = require('jshashes'),
13271     xtend = require('xtend'),
13272     sha1 = new hashes.SHA1();
13273
13274 var ohauth = {};
13275
13276 ohauth.qsString = function(obj) {
13277     return Object.keys(obj).sort().map(function(key) {
13278         return ohauth.percentEncode(key) + '=' +
13279             ohauth.percentEncode(obj[key]);
13280     }).join('&');
13281 };
13282
13283 ohauth.stringQs = function(str) {
13284     return str.split('&').reduce(function(obj, pair){
13285         var parts = pair.split('=');
13286         obj[decodeURIComponent(parts[0])] = (null === parts[1]) ?
13287             '' : decodeURIComponent(parts[1]);
13288         return obj;
13289     }, {});
13290 };
13291
13292 ohauth.rawxhr = function(method, url, data, headers, callback) {
13293     var xhr = new XMLHttpRequest(),
13294         twoHundred = /^20\d$/;
13295     xhr.onreadystatechange = function() {
13296         if (4 == xhr.readyState && 0 !== xhr.status) {
13297             if (twoHundred.test(xhr.status)) callback(null, xhr);
13298             else return callback(xhr, null);
13299         }
13300     };
13301     xhr.onerror = function(e) { return callback(e, null); };
13302     xhr.open(method, url, true);
13303     for (var h in headers) xhr.setRequestHeader(h, headers[h]);
13304     xhr.send(data);
13305 };
13306
13307 ohauth.xhr = function(method, url, auth, data, options, callback) {
13308     var headers = (options && options.header) || {
13309         'Content-Type': 'application/x-www-form-urlencoded'
13310     };
13311     headers.Authorization = 'OAuth ' + ohauth.authHeader(auth);
13312     ohauth.rawxhr(method, url, data, headers, callback);
13313 };
13314
13315 ohauth.nonce = function() {
13316     for (var o = ''; o.length < 6;) {
13317         o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)];
13318     }
13319     return o;
13320 };
13321
13322 ohauth.authHeader = function(obj) {
13323     return Object.keys(obj).sort().map(function(key) {
13324         return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"';
13325     }).join(', ');
13326 };
13327
13328 ohauth.timestamp = function() { return ~~((+new Date()) / 1000); };
13329
13330 ohauth.percentEncode = function(s) {
13331     return encodeURIComponent(s)
13332         .replace(/\!/g, '%21').replace(/\'/g, '%27')
13333         .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29');
13334 };
13335
13336 ohauth.baseString = function(method, url, params) {
13337     if (params.oauth_signature) delete params.oauth_signature;
13338     return [
13339         method,
13340         ohauth.percentEncode(url),
13341         ohauth.percentEncode(ohauth.qsString(params))].join('&');
13342 };
13343
13344 ohauth.signature = function(oauth_secret, token_secret, baseString) {
13345     return sha1.b64_hmac(
13346         ohauth.percentEncode(oauth_secret) + '&' +
13347         ohauth.percentEncode(token_secret),
13348         baseString);
13349 };
13350
13351 /**
13352  * Takes an options object for configuration (consumer_key,
13353  * consumer_secret, version, signature_method, token) and returns a
13354  * function that generates the Authorization header for given data.
13355  *
13356  * The returned function takes these parameters:
13357  * - method: GET/POST/...
13358  * - uri: full URI with protocol, port, path and query string
13359  * - extra_params: any extra parameters (that are passed in the POST data),
13360  *   can be an object or a from-urlencoded string.
13361  *
13362  * Returned function returns full OAuth header with "OAuth" string in it.
13363  */
13364
13365 ohauth.headerGenerator = function(options) {
13366     options = options || {};
13367     var consumer_key = options.consumer_key || '',
13368         consumer_secret = options.consumer_secret || '',
13369         signature_method = options.signature_method || 'HMAC-SHA1',
13370         version = options.version || '1.0',
13371         token = options.token || '';
13372
13373     return function(method, uri, extra_params) {
13374         method = method.toUpperCase();
13375         if (typeof extra_params === 'string' && extra_params.length > 0) {
13376             extra_params = ohauth.stringQs(extra_params);
13377         }
13378
13379         var uri_parts = uri.split('?', 2),
13380         base_uri = uri_parts[0];
13381
13382         var query_params = uri_parts.length === 2 ?
13383             ohauth.stringQs(uri_parts[1]) : {};
13384
13385         var oauth_params = {
13386             oauth_consumer_key: consumer_key,
13387             oauth_signature_method: signature_method,
13388             oauth_version: version,
13389             oauth_timestamp: ohauth.timestamp(),
13390             oauth_nonce: ohauth.nonce()
13391         };
13392
13393         if (token) oauth_params.oauth_token = token;
13394
13395         var all_params = xtend({}, oauth_params, query_params, extra_params),
13396             base_str = ohauth.baseString(method, base_uri, all_params);
13397
13398         oauth_params.oauth_signature = ohauth.signature(consumer_secret, token, base_str);
13399
13400         return 'OAuth ' + ohauth.authHeader(oauth_params);
13401     };
13402 };
13403
13404 module.exports = ohauth;
13405
13406 },{"jshashes":7,"xtend":4}],6:[function(require,module,exports){
13407 module.exports = Object.keys || require('./shim');
13408
13409
13410 },{"./shim":8}],8:[function(require,module,exports){
13411 (function () {
13412         "use strict";
13413
13414         // modified from https://github.com/kriskowal/es5-shim
13415         var has = Object.prototype.hasOwnProperty,
13416                 is = require('is'),
13417                 forEach = require('foreach'),
13418                 hasDontEnumBug = !({'toString': null}).propertyIsEnumerable('toString'),
13419                 dontEnums = [
13420                         "toString",
13421                         "toLocaleString",
13422                         "valueOf",
13423                         "hasOwnProperty",
13424                         "isPrototypeOf",
13425                         "propertyIsEnumerable",
13426                         "constructor"
13427                 ],
13428                 keysShim;
13429
13430         keysShim = function keys(object) {
13431                 if (!is.object(object) && !is.array(object)) {
13432                         throw new TypeError("Object.keys called on a non-object");
13433                 }
13434
13435                 var name, theKeys = [];
13436                 for (name in object) {
13437                         if (has.call(object, name)) {
13438                                 theKeys.push(name);
13439                         }
13440                 }
13441
13442                 if (hasDontEnumBug) {
13443                         forEach(dontEnums, function (dontEnum) {
13444                                 if (has.call(object, dontEnum)) {
13445                                         theKeys.push(dontEnum);
13446                                 }
13447                         });
13448                 }
13449                 return theKeys;
13450         };
13451
13452         module.exports = keysShim;
13453 }());
13454
13455
13456 },{"is":9,"foreach":10}],9:[function(require,module,exports){
13457
13458 /**!
13459  * is
13460  * the definitive JavaScript type testing library
13461  * 
13462  * @copyright 2013 Enrico Marino
13463  * @license MIT
13464  */
13465
13466 var objProto = Object.prototype;
13467 var owns = objProto.hasOwnProperty;
13468 var toString = objProto.toString;
13469 var isActualNaN = function (value) {
13470   return value !== value;
13471 };
13472 var NON_HOST_TYPES = {
13473   "boolean": 1,
13474   "number": 1,
13475   "string": 1,
13476   "undefined": 1
13477 };
13478
13479 /**
13480  * Expose `is`
13481  */
13482
13483 var is = module.exports = {};
13484
13485 /**
13486  * Test general.
13487  */
13488
13489 /**
13490  * is.type
13491  * Test if `value` is a type of `type`.
13492  *
13493  * @param {Mixed} value value to test
13494  * @param {String} type type
13495  * @return {Boolean} true if `value` is a type of `type`, false otherwise
13496  * @api public
13497  */
13498
13499 is.a =
13500 is.type = function (value, type) {
13501   return typeof value === type;
13502 };
13503
13504 /**
13505  * is.defined
13506  * Test if `value` is defined.
13507  *
13508  * @param {Mixed} value value to test
13509  * @return {Boolean} true if 'value' is defined, false otherwise
13510  * @api public
13511  */
13512
13513 is.defined = function (value) {
13514   return value !== undefined;
13515 };
13516
13517 /**
13518  * is.empty
13519  * Test if `value` is empty.
13520  *
13521  * @param {Mixed} value value to test
13522  * @return {Boolean} true if `value` is empty, false otherwise
13523  * @api public
13524  */
13525
13526 is.empty = function (value) {
13527   var type = toString.call(value);
13528   var key;
13529
13530   if ('[object Array]' === type || '[object Arguments]' === type) {
13531     return value.length === 0;
13532   }
13533
13534   if ('[object Object]' === type) {
13535     for (key in value) if (owns.call(value, key)) return false;
13536     return true;
13537   }
13538
13539   if ('[object String]' === type) {
13540     return '' === value;
13541   }
13542
13543   return false;
13544 };
13545
13546 /**
13547  * is.equal
13548  * Test if `value` is equal to `other`.
13549  *
13550  * @param {Mixed} value value to test
13551  * @param {Mixed} other value to compare with
13552  * @return {Boolean} true if `value` is equal to `other`, false otherwise
13553  */
13554
13555 is.equal = function (value, other) {
13556   var type = toString.call(value)
13557   var key;
13558
13559   if (type !== toString.call(other)) {
13560     return false;
13561   }
13562
13563   if ('[object Object]' === type) {
13564     for (key in value) {
13565       if (!is.equal(value[key], other[key])) {
13566         return false;
13567       }
13568     }
13569     return true;
13570   }
13571
13572   if ('[object Array]' === type) {
13573     key = value.length;
13574     if (key !== other.length) {
13575       return false;
13576     }
13577     while (--key) {
13578       if (!is.equal(value[key], other[key])) {
13579         return false;
13580       }
13581     }
13582     return true;
13583   }
13584
13585   if ('[object Function]' === type) {
13586     return value.prototype === other.prototype;
13587   }
13588
13589   if ('[object Date]' === type) {
13590     return value.getTime() === other.getTime();
13591   }
13592
13593   return value === other;
13594 };
13595
13596 /**
13597  * is.hosted
13598  * Test if `value` is hosted by `host`.
13599  *
13600  * @param {Mixed} value to test
13601  * @param {Mixed} host host to test with
13602  * @return {Boolean} true if `value` is hosted by `host`, false otherwise
13603  * @api public
13604  */
13605
13606 is.hosted = function (value, host) {
13607   var type = typeof host[value];
13608   return type === 'object' ? !!host[value] : !NON_HOST_TYPES[type];
13609 };
13610
13611 /**
13612  * is.instance
13613  * Test if `value` is an instance of `constructor`.
13614  *
13615  * @param {Mixed} value value to test
13616  * @return {Boolean} true if `value` is an instance of `constructor`
13617  * @api public
13618  */
13619
13620 is.instance = is['instanceof'] = function (value, constructor) {
13621   return value instanceof constructor;
13622 };
13623
13624 /**
13625  * is.null
13626  * Test if `value` is null.
13627  *
13628  * @param {Mixed} value value to test
13629  * @return {Boolean} true if `value` is null, false otherwise
13630  * @api public
13631  */
13632
13633 is['null'] = function (value) {
13634   return value === null;
13635 };
13636
13637 /**
13638  * is.undefined
13639  * Test if `value` is undefined.
13640  *
13641  * @param {Mixed} value value to test
13642  * @return {Boolean} true if `value` is undefined, false otherwise
13643  * @api public
13644  */
13645
13646 is.undefined = function (value) {
13647   return value === undefined;
13648 };
13649
13650 /**
13651  * Test arguments.
13652  */
13653
13654 /**
13655  * is.arguments
13656  * Test if `value` is an arguments object.
13657  *
13658  * @param {Mixed} value value to test
13659  * @return {Boolean} true if `value` is an arguments object, false otherwise
13660  * @api public
13661  */
13662
13663 is.arguments = function (value) {
13664   var isStandardArguments = '[object Arguments]' === toString.call(value);
13665   var isOldArguments = !is.array(value) && is.arraylike(value) && is.object(value) && is.fn(value.callee);
13666   return isStandardArguments || isOldArguments;
13667 };
13668
13669 /**
13670  * Test array.
13671  */
13672
13673 /**
13674  * is.array
13675  * Test if 'value' is an array.
13676  *
13677  * @param {Mixed} value value to test
13678  * @return {Boolean} true if `value` is an array, false otherwise
13679  * @api public
13680  */
13681
13682 is.array = function (value) {
13683   return '[object Array]' === toString.call(value);
13684 };
13685
13686 /**
13687  * is.arguments.empty
13688  * Test if `value` is an empty arguments object.
13689  *
13690  * @param {Mixed} value value to test
13691  * @return {Boolean} true if `value` is an empty arguments object, false otherwise
13692  * @api public
13693  */
13694 is.arguments.empty = function (value) {
13695   return is.arguments(value) && value.length === 0;
13696 };
13697
13698 /**
13699  * is.array.empty
13700  * Test if `value` is an empty array.
13701  *
13702  * @param {Mixed} value value to test
13703  * @return {Boolean} true if `value` is an empty array, false otherwise
13704  * @api public
13705  */
13706 is.array.empty = function (value) {
13707   return is.array(value) && value.length === 0;
13708 };
13709
13710 /**
13711  * is.arraylike
13712  * Test if `value` is an arraylike object.
13713  *
13714  * @param {Mixed} value value to test
13715  * @return {Boolean} true if `value` is an arguments object, false otherwise
13716  * @api public
13717  */
13718
13719 is.arraylike = function (value) {
13720   return !!value && !is.boolean(value)
13721     && owns.call(value, 'length')
13722     && isFinite(value.length)
13723     && is.number(value.length)
13724     && value.length >= 0;
13725 };
13726
13727 /**
13728  * Test boolean.
13729  */
13730
13731 /**
13732  * is.boolean
13733  * Test if `value` is a boolean.
13734  *
13735  * @param {Mixed} value value to test
13736  * @return {Boolean} true if `value` is a boolean, false otherwise
13737  * @api public
13738  */
13739
13740 is.boolean = function (value) {
13741   return '[object Boolean]' === toString.call(value);
13742 };
13743
13744 /**
13745  * is.false
13746  * Test if `value` is false.
13747  *
13748  * @param {Mixed} value value to test
13749  * @return {Boolean} true if `value` is false, false otherwise
13750  * @api public
13751  */
13752
13753 is['false'] = function (value) {
13754   return is.boolean(value) && (value === false || value.valueOf() === false);
13755 };
13756
13757 /**
13758  * is.true
13759  * Test if `value` is true.
13760  *
13761  * @param {Mixed} value value to test
13762  * @return {Boolean} true if `value` is true, false otherwise
13763  * @api public
13764  */
13765
13766 is['true'] = function (value) {
13767   return is.boolean(value) && (value === true || value.valueOf() === true);
13768 };
13769
13770 /**
13771  * Test date.
13772  */
13773
13774 /**
13775  * is.date
13776  * Test if `value` is a date.
13777  *
13778  * @param {Mixed} value value to test
13779  * @return {Boolean} true if `value` is a date, false otherwise
13780  * @api public
13781  */
13782
13783 is.date = function (value) {
13784   return '[object Date]' === toString.call(value);
13785 };
13786
13787 /**
13788  * Test element.
13789  */
13790
13791 /**
13792  * is.element
13793  * Test if `value` is an html element.
13794  *
13795  * @param {Mixed} value value to test
13796  * @return {Boolean} true if `value` is an HTML Element, false otherwise
13797  * @api public
13798  */
13799
13800 is.element = function (value) {
13801   return value !== undefined
13802     && typeof HTMLElement !== 'undefined'
13803     && value instanceof HTMLElement
13804     && value.nodeType === 1;
13805 };
13806
13807 /**
13808  * Test error.
13809  */
13810
13811 /**
13812  * is.error
13813  * Test if `value` is an error object.
13814  *
13815  * @param {Mixed} value value to test
13816  * @return {Boolean} true if `value` is an error object, false otherwise
13817  * @api public
13818  */
13819
13820 is.error = function (value) {
13821   return '[object Error]' === toString.call(value);
13822 };
13823
13824 /**
13825  * Test function.
13826  */
13827
13828 /**
13829  * is.fn / is.function (deprecated)
13830  * Test if `value` is a function.
13831  *
13832  * @param {Mixed} value value to test
13833  * @return {Boolean} true if `value` is a function, false otherwise
13834  * @api public
13835  */
13836
13837 is.fn = is['function'] = function (value) {
13838   var isAlert = typeof window !== 'undefined' && value === window.alert;
13839   return isAlert || '[object Function]' === toString.call(value);
13840 };
13841
13842 /**
13843  * Test number.
13844  */
13845
13846 /**
13847  * is.number
13848  * Test if `value` is a number.
13849  *
13850  * @param {Mixed} value value to test
13851  * @return {Boolean} true if `value` is a number, false otherwise
13852  * @api public
13853  */
13854
13855 is.number = function (value) {
13856   return '[object Number]' === toString.call(value);
13857 };
13858
13859 /**
13860  * is.infinite
13861  * Test if `value` is positive or negative infinity.
13862  *
13863  * @param {Mixed} value value to test
13864  * @return {Boolean} true if `value` is positive or negative Infinity, false otherwise
13865  * @api public
13866  */
13867 is.infinite = function (value) {
13868   return value === Infinity || value === -Infinity;
13869 };
13870
13871 /**
13872  * is.decimal
13873  * Test if `value` is a decimal number.
13874  *
13875  * @param {Mixed} value value to test
13876  * @return {Boolean} true if `value` is a decimal number, false otherwise
13877  * @api public
13878  */
13879
13880 is.decimal = function (value) {
13881   return is.number(value) && !isActualNaN(value) && value % 1 !== 0;
13882 };
13883
13884 /**
13885  * is.divisibleBy
13886  * Test if `value` is divisible by `n`.
13887  *
13888  * @param {Number} value value to test
13889  * @param {Number} n dividend
13890  * @return {Boolean} true if `value` is divisible by `n`, false otherwise
13891  * @api public
13892  */
13893
13894 is.divisibleBy = function (value, n) {
13895   var isDividendInfinite = is.infinite(value);
13896   var isDivisorInfinite = is.infinite(n);
13897   var isNonZeroNumber = is.number(value) && !isActualNaN(value) && is.number(n) && !isActualNaN(n) && n !== 0;
13898   return isDividendInfinite || isDivisorInfinite || (isNonZeroNumber && value % n === 0);
13899 };
13900
13901 /**
13902  * is.int
13903  * Test if `value` is an integer.
13904  *
13905  * @param value to test
13906  * @return {Boolean} true if `value` is an integer, false otherwise
13907  * @api public
13908  */
13909
13910 is.int = function (value) {
13911   return is.number(value) && !isActualNaN(value) && value % 1 === 0;
13912 };
13913
13914 /**
13915  * is.maximum
13916  * Test if `value` is greater than 'others' values.
13917  *
13918  * @param {Number} value value to test
13919  * @param {Array} others values to compare with
13920  * @return {Boolean} true if `value` is greater than `others` values
13921  * @api public
13922  */
13923
13924 is.maximum = function (value, others) {
13925   if (isActualNaN(value)) {
13926     throw new TypeError('NaN is not a valid value');
13927   } else if (!is.arraylike(others)) {
13928     throw new TypeError('second argument must be array-like');
13929   }
13930   var len = others.length;
13931
13932   while (--len >= 0) {
13933     if (value < others[len]) {
13934       return false;
13935     }
13936   }
13937
13938   return true;
13939 };
13940
13941 /**
13942  * is.minimum
13943  * Test if `value` is less than `others` values.
13944  *
13945  * @param {Number} value value to test
13946  * @param {Array} others values to compare with
13947  * @return {Boolean} true if `value` is less than `others` values
13948  * @api public
13949  */
13950
13951 is.minimum = function (value, others) {
13952   if (isActualNaN(value)) {
13953     throw new TypeError('NaN is not a valid value');
13954   } else if (!is.arraylike(others)) {
13955     throw new TypeError('second argument must be array-like');
13956   }
13957   var len = others.length;
13958
13959   while (--len >= 0) {
13960     if (value > others[len]) {
13961       return false;
13962     }
13963   }
13964
13965   return true;
13966 };
13967
13968 /**
13969  * is.nan
13970  * Test if `value` is not a number.
13971  *
13972  * @param {Mixed} value value to test
13973  * @return {Boolean} true if `value` is not a number, false otherwise
13974  * @api public
13975  */
13976
13977 is.nan = function (value) {
13978   return !is.number(value) || value !== value;
13979 };
13980
13981 /**
13982  * is.even
13983  * Test if `value` is an even number.
13984  *
13985  * @param {Number} value value to test
13986  * @return {Boolean} true if `value` is an even number, false otherwise
13987  * @api public
13988  */
13989
13990 is.even = function (value) {
13991   return is.infinite(value) || (is.number(value) && value === value && value % 2 === 0);
13992 };
13993
13994 /**
13995  * is.odd
13996  * Test if `value` is an odd number.
13997  *
13998  * @param {Number} value value to test
13999  * @return {Boolean} true if `value` is an odd number, false otherwise
14000  * @api public
14001  */
14002
14003 is.odd = function (value) {
14004   return is.infinite(value) || (is.number(value) && value === value && value % 2 !== 0);
14005 };
14006
14007 /**
14008  * is.ge
14009  * Test if `value` is greater than or equal to `other`.
14010  *
14011  * @param {Number} value value to test
14012  * @param {Number} other value to compare with
14013  * @return {Boolean}
14014  * @api public
14015  */
14016
14017 is.ge = function (value, other) {
14018   if (isActualNaN(value) || isActualNaN(other)) {
14019     throw new TypeError('NaN is not a valid value');
14020   }
14021   return !is.infinite(value) && !is.infinite(other) && value >= other;
14022 };
14023
14024 /**
14025  * is.gt
14026  * Test if `value` is greater than `other`.
14027  *
14028  * @param {Number} value value to test
14029  * @param {Number} other value to compare with
14030  * @return {Boolean}
14031  * @api public
14032  */
14033
14034 is.gt = function (value, other) {
14035   if (isActualNaN(value) || isActualNaN(other)) {
14036     throw new TypeError('NaN is not a valid value');
14037   }
14038   return !is.infinite(value) && !is.infinite(other) && value > other;
14039 };
14040
14041 /**
14042  * is.le
14043  * Test if `value` is less than or equal to `other`.
14044  *
14045  * @param {Number} value value to test
14046  * @param {Number} other value to compare with
14047  * @return {Boolean} if 'value' is less than or equal to 'other'
14048  * @api public
14049  */
14050
14051 is.le = function (value, other) {
14052   if (isActualNaN(value) || isActualNaN(other)) {
14053     throw new TypeError('NaN is not a valid value');
14054   }
14055   return !is.infinite(value) && !is.infinite(other) && value <= other;
14056 };
14057
14058 /**
14059  * is.lt
14060  * Test if `value` is less than `other`.
14061  *
14062  * @param {Number} value value to test
14063  * @param {Number} other value to compare with
14064  * @return {Boolean} if `value` is less than `other`
14065  * @api public
14066  */
14067
14068 is.lt = function (value, other) {
14069   if (isActualNaN(value) || isActualNaN(other)) {
14070     throw new TypeError('NaN is not a valid value');
14071   }
14072   return !is.infinite(value) && !is.infinite(other) && value < other;
14073 };
14074
14075 /**
14076  * is.within
14077  * Test if `value` is within `start` and `finish`.
14078  *
14079  * @param {Number} value value to test
14080  * @param {Number} start lower bound
14081  * @param {Number} finish upper bound
14082  * @return {Boolean} true if 'value' is is within 'start' and 'finish'
14083  * @api public
14084  */
14085 is.within = function (value, start, finish) {
14086   if (isActualNaN(value) || isActualNaN(start) || isActualNaN(finish)) {
14087     throw new TypeError('NaN is not a valid value');
14088   } else if (!is.number(value) || !is.number(start) || !is.number(finish)) {
14089     throw new TypeError('all arguments must be numbers');
14090   }
14091   var isAnyInfinite = is.infinite(value) || is.infinite(start) || is.infinite(finish);
14092   return isAnyInfinite || (value >= start && value <= finish);
14093 };
14094
14095 /**
14096  * Test object.
14097  */
14098
14099 /**
14100  * is.object
14101  * Test if `value` is an object.
14102  *
14103  * @param {Mixed} value value to test
14104  * @return {Boolean} true if `value` is an object, false otherwise
14105  * @api public
14106  */
14107
14108 is.object = function (value) {
14109   return value && '[object Object]' === toString.call(value);
14110 };
14111
14112 /**
14113  * is.hash
14114  * Test if `value` is a hash - a plain object literal.
14115  *
14116  * @param {Mixed} value value to test
14117  * @return {Boolean} true if `value` is a hash, false otherwise
14118  * @api public
14119  */
14120
14121 is.hash = function (value) {
14122   return is.object(value) && value.constructor === Object && !value.nodeType && !value.setInterval;
14123 };
14124
14125 /**
14126  * Test regexp.
14127  */
14128
14129 /**
14130  * is.regexp
14131  * Test if `value` is a regular expression.
14132  *
14133  * @param {Mixed} value value to test
14134  * @return {Boolean} true if `value` is a regexp, false otherwise
14135  * @api public
14136  */
14137
14138 is.regexp = function (value) {
14139   return '[object RegExp]' === toString.call(value);
14140 };
14141
14142 /**
14143  * Test string.
14144  */
14145
14146 /**
14147  * is.string
14148  * Test if `value` is a string.
14149  *
14150  * @param {Mixed} value value to test
14151  * @return {Boolean} true if 'value' is a string, false otherwise
14152  * @api public
14153  */
14154
14155 is.string = function (value) {
14156   return '[object String]' === toString.call(value);
14157 };
14158
14159
14160 },{}],10:[function(require,module,exports){
14161
14162 var hasOwn = Object.prototype.hasOwnProperty;
14163 var toString = Object.prototype.toString;
14164
14165 module.exports = function forEach (obj, fn, ctx) {
14166     if (toString.call(fn) !== '[object Function]') {
14167         throw new TypeError('iterator must be a function');
14168     }
14169     var l = obj.length;
14170     if (l === +l) {
14171         for (var i = 0; i < l; i++) {
14172             fn.call(ctx, obj[i], i, obj);
14173         }
14174     } else {
14175         for (var k in obj) {
14176             if (hasOwn.call(obj, k)) {
14177                 fn.call(ctx, obj[k], k, obj);
14178             }
14179         }
14180     }
14181 };
14182
14183
14184 },{}]},{},[1])(1)
14185 });
14186 ;/*
14187  (c) 2013, Vladimir Agafonkin
14188  RBush, a JavaScript library for high-performance 2D spatial indexing of points and rectangles.
14189  https://github.com/mourner/rbush
14190 */
14191
14192 (function () { 'use strict';
14193
14194 function rbush(maxEntries, format) {
14195
14196     // jshint newcap: false, validthis: true
14197     if (!(this instanceof rbush)) return new rbush(maxEntries, format);
14198
14199     // max entries in a node is 9 by default; min node fill is 40% for best performance
14200     this._maxEntries = Math.max(4, maxEntries || 9);
14201     this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
14202
14203     if (format) {
14204         this._initFormat(format);
14205     }
14206
14207     this.clear();
14208 }
14209
14210 rbush.prototype = {
14211
14212     all: function () {
14213         return this._all(this.data, []);
14214     },
14215
14216     search: function (bbox) {
14217
14218         var node = this.data,
14219             result = [],
14220             toBBox = this.toBBox;
14221
14222         if (!intersects(bbox, node.bbox)) return result;
14223
14224         var nodesToSearch = [],
14225             i, len, child, childBBox;
14226
14227         while (node) {
14228             for (i = 0, len = node.children.length; i < len; i++) {
14229
14230                 child = node.children[i];
14231                 childBBox = node.leaf ? toBBox(child) : child.bbox;
14232
14233                 if (intersects(bbox, childBBox)) {
14234                     if (node.leaf) result.push(child);
14235                     else if (contains(bbox, childBBox)) this._all(child, result);
14236                     else nodesToSearch.push(child);
14237                 }
14238             }
14239             node = nodesToSearch.pop();
14240         }
14241
14242         return result;
14243     },
14244
14245     load: function (data) {
14246         if (!(data && data.length)) return this;
14247
14248         if (data.length < this._minEntries) {
14249             for (var i = 0, len = data.length; i < len; i++) {
14250                 this.insert(data[i]);
14251             }
14252             return this;
14253         }
14254
14255         // recursively build the tree with the given data from stratch using OMT algorithm
14256         var node = this._build(data.slice(), 0, data.length - 1, 0);
14257
14258         if (!this.data.children.length) {
14259             // save as is if tree is empty
14260             this.data = node;
14261
14262         } else if (this.data.height === node.height) {
14263             // split root if trees have the same height
14264             this._splitRoot(this.data, node);
14265
14266         } else {
14267             if (this.data.height < node.height) {
14268                 // swap trees if inserted one is bigger
14269                 var tmpNode = this.data;
14270                 this.data = node;
14271                 node = tmpNode;
14272             }
14273
14274             // insert the small tree into the large tree at appropriate level
14275             this._insert(node, this.data.height - node.height - 1, true);
14276         }
14277
14278         return this;
14279     },
14280
14281     insert: function (item) {
14282         if (item) this._insert(item, this.data.height - 1);
14283         return this;
14284     },
14285
14286     clear: function () {
14287         this.data = {
14288             children: [],
14289             height: 1,
14290             bbox: empty(),
14291             leaf: true
14292         };
14293         return this;
14294     },
14295
14296     remove: function (item) {
14297         if (!item) return this;
14298
14299         var node = this.data,
14300             bbox = this.toBBox(item),
14301             path = [],
14302             indexes = [],
14303             i, parent, index, goingUp;
14304
14305         // depth-first iterative tree traversal
14306         while (node || path.length) {
14307
14308             if (!node) { // go up
14309                 node = path.pop();
14310                 parent = path[path.length - 1];
14311                 i = indexes.pop();
14312                 goingUp = true;
14313             }
14314
14315             if (node.leaf) { // check current node
14316                 index = node.children.indexOf(item);
14317
14318                 if (index !== -1) {
14319                     // item found, remove the item and condense tree upwards
14320                     node.children.splice(index, 1);
14321                     path.push(node);
14322                     this._condense(path);
14323                     return this;
14324                 }
14325             }
14326
14327             if (!goingUp && !node.leaf && contains(node.bbox, bbox)) { // go down
14328                 path.push(node);
14329                 indexes.push(i);
14330                 i = 0;
14331                 parent = node;
14332                 node = node.children[0];
14333
14334             } else if (parent) { // go right
14335                 i++;
14336                 node = parent.children[i];
14337                 goingUp = false;
14338
14339             } else node = null; // nothing found
14340         }
14341
14342         return this;
14343     },
14344
14345     toBBox: function (item) { return item; },
14346
14347     compareMinX: function (a, b) { return a[0] - b[0]; },
14348     compareMinY: function (a, b) { return a[1] - b[1]; },
14349
14350     toJSON: function () { return this.data; },
14351
14352     fromJSON: function (data) {
14353         this.data = data;
14354         return this;
14355     },
14356
14357     _all: function (node, result) {
14358         var nodesToSearch = [];
14359         while (node) {
14360             if (node.leaf) result.push.apply(result, node.children);
14361             else nodesToSearch.push.apply(nodesToSearch, node.children);
14362
14363             node = nodesToSearch.pop();
14364         }
14365         return result;
14366     },
14367
14368     _build: function (items, left, right, level, height) {
14369
14370         var N = right - left + 1,
14371             M = this._maxEntries,
14372             node;
14373
14374         if (N <= M) {
14375             node = {
14376                 children: items.slice(left, right + 1),
14377                 height: 1,
14378                 bbox: null,
14379                 leaf: true
14380             };
14381             calcBBox(node, this.toBBox);
14382             return node;
14383         }
14384
14385         if (!level) {
14386             // target height of the bulk-loaded tree
14387             height = Math.ceil(Math.log(N) / Math.log(M));
14388
14389             // target number of root entries to maximize storage utilization
14390             M = Math.ceil(N / Math.pow(M, height - 1));
14391         }
14392
14393         // TODO eliminate recursion?
14394
14395         node = {
14396             children: [],
14397             height: height,
14398             bbox: null
14399         };
14400
14401         var N2 = Math.ceil(N / M),
14402             N1 = N2 * Math.ceil(Math.sqrt(M)),
14403             i, j, right2, childNode;
14404
14405         // split the items into M mostly square tiles
14406         for (i = left; i <= right; i += N1) {
14407
14408             if (i + N1 <= right) partitionSort(items, i, right, i + N1, this.compareMinX);
14409             right2 = Math.min(i + N1 - 1, right);
14410
14411             for (j = i; j <= right2; j += N2) {
14412
14413                 if (j + N2 <= right2) partitionSort(items, j, right2, j + N2, this.compareMinY);
14414
14415                 // pack each entry recursively
14416                 childNode = this._build(items, j, Math.min(j + N2 - 1, right2), level + 1, height - 1);
14417                 node.children.push(childNode);
14418             }
14419         }
14420
14421         calcBBox(node, this.toBBox);
14422
14423         return node;
14424     },
14425
14426     _chooseSubtree: function (bbox, node, level, path) {
14427
14428         var i, len, child, targetNode, area, enlargement, minArea, minEnlargement;
14429
14430         while (true) {
14431             path.push(node);
14432
14433             if (node.leaf || path.length - 1 === level) break;
14434
14435             minArea = minEnlargement = Infinity;
14436
14437             for (i = 0, len = node.children.length; i < len; i++) {
14438                 child = node.children[i];
14439                 area = bboxArea(child.bbox);
14440                 enlargement = enlargedArea(bbox, child.bbox) - area;
14441
14442                 // choose entry with the least area enlargement
14443                 if (enlargement < minEnlargement) {
14444                     minEnlargement = enlargement;
14445                     minArea = area < minArea ? area : minArea;
14446                     targetNode = child;
14447
14448                 } else if (enlargement === minEnlargement) {
14449                     // otherwise choose one with the smallest area
14450                     if (area < minArea) {
14451                         minArea = area;
14452                         targetNode = child;
14453                     }
14454                 }
14455             }
14456
14457             node = targetNode;
14458         }
14459
14460         return node;
14461     },
14462
14463     _insert: function (item, level, isNode) {
14464
14465         var toBBox = this.toBBox,
14466             bbox = isNode ? item.bbox : toBBox(item),
14467             insertPath = [];
14468
14469         // find the best node for accommodating the item, saving all nodes along the path too
14470         var node = this._chooseSubtree(bbox, this.data, level, insertPath);
14471
14472         // put the item into the node
14473         node.children.push(item);
14474         extend(node.bbox, bbox);
14475
14476         // split on node overflow; propagate upwards if necessary
14477         while (level >= 0) {
14478             if (insertPath[level].children.length > this._maxEntries) {
14479                 this._split(insertPath, level);
14480                 level--;
14481             } else break;
14482         }
14483
14484         // adjust bboxes along the insertion path
14485         this._adjustParentBBoxes(bbox, insertPath, level);
14486     },
14487
14488     // split overflowed node into two
14489     _split: function (insertPath, level) {
14490
14491         var node = insertPath[level],
14492             M = node.children.length,
14493             m = this._minEntries;
14494
14495         this._chooseSplitAxis(node, m, M);
14496
14497         var newNode = {
14498             children: node.children.splice(this._chooseSplitIndex(node, m, M)),
14499             height: node.height
14500         };
14501
14502         if (node.leaf) newNode.leaf = true;
14503
14504         calcBBox(node, this.toBBox);
14505         calcBBox(newNode, this.toBBox);
14506
14507         if (level) insertPath[level - 1].children.push(newNode);
14508         else this._splitRoot(node, newNode);
14509     },
14510
14511     _splitRoot: function (node, newNode) {
14512         // split root node
14513         this.data = {
14514             children: [node, newNode],
14515             height: node.height + 1
14516         };
14517         calcBBox(this.data, this.toBBox);
14518     },
14519
14520     _chooseSplitIndex: function (node, m, M) {
14521
14522         var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index;
14523
14524         minOverlap = minArea = Infinity;
14525
14526         for (i = m; i <= M - m; i++) {
14527             bbox1 = distBBox(node, 0, i, this.toBBox);
14528             bbox2 = distBBox(node, i, M, this.toBBox);
14529
14530             overlap = intersectionArea(bbox1, bbox2);
14531             area = bboxArea(bbox1) + bboxArea(bbox2);
14532
14533             // choose distribution with minimum overlap
14534             if (overlap < minOverlap) {
14535                 minOverlap = overlap;
14536                 index = i;
14537
14538                 minArea = area < minArea ? area : minArea;
14539
14540             } else if (overlap === minOverlap) {
14541                 // otherwise choose distribution with minimum area
14542                 if (area < minArea) {
14543                     minArea = area;
14544                     index = i;
14545                 }
14546             }
14547         }
14548
14549         return index;
14550     },
14551
14552     // sorts node children by the best axis for split
14553     _chooseSplitAxis: function (node, m, M) {
14554
14555         var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX,
14556             compareMinY = node.leaf ? this.compareMinY : compareNodeMinY,
14557             xMargin = this._allDistMargin(node, m, M, compareMinX),
14558             yMargin = this._allDistMargin(node, m, M, compareMinY);
14559
14560         // if total distributions margin value is minimal for x, sort by minX,
14561         // otherwise it's already sorted by minY
14562         if (xMargin < yMargin) node.children.sort(compareMinX);
14563     },
14564
14565     // total margin of all possible split distributions where each node is at least m full
14566     _allDistMargin: function (node, m, M, compare) {
14567
14568         node.children.sort(compare);
14569
14570         var toBBox = this.toBBox,
14571             leftBBox = distBBox(node, 0, m, toBBox),
14572             rightBBox = distBBox(node, M - m, M, toBBox),
14573             margin = bboxMargin(leftBBox) + bboxMargin(rightBBox),
14574             i, child;
14575
14576         for (i = m; i < M - m; i++) {
14577             child = node.children[i];
14578             extend(leftBBox, node.leaf ? toBBox(child) : child.bbox);
14579             margin += bboxMargin(leftBBox);
14580         }
14581
14582         for (i = M - m - 1; i >= m; i--) {
14583             child = node.children[i];
14584             extend(rightBBox, node.leaf ? toBBox(child) : child.bbox);
14585             margin += bboxMargin(rightBBox);
14586         }
14587
14588         return margin;
14589     },
14590
14591     _adjustParentBBoxes: function (bbox, path, level) {
14592         // adjust bboxes along the given tree path
14593         for (var i = level; i >= 0; i--) {
14594             extend(path[i].bbox, bbox);
14595         }
14596     },
14597
14598     _condense: function (path) {
14599         // go through the path, removing empty nodes and updating bboxes
14600         for (var i = path.length - 1, siblings; i >= 0; i--) {
14601             if (path[i].children.length === 0) {
14602                 if (i > 0) {
14603                     siblings = path[i - 1].children;
14604                     siblings.splice(siblings.indexOf(path[i]), 1);
14605
14606                 } else this.clear();
14607
14608             } else calcBBox(path[i], this.toBBox);
14609         }
14610     },
14611
14612     _initFormat: function (format) {
14613         // data format (minX, minY, maxX, maxY accessors)
14614
14615         // uses eval-type function compilation instead of just accepting a toBBox function
14616         // because the algorithms are very sensitive to sorting functions performance,
14617         // so they should be dead simple and without inner calls
14618
14619         // jshint evil: true
14620
14621         var compareArr = ['return a', ' - b', ';'];
14622
14623         this.compareMinX = new Function('a', 'b', compareArr.join(format[0]));
14624         this.compareMinY = new Function('a', 'b', compareArr.join(format[1]));
14625
14626         this.toBBox = new Function('a', 'return [a' + format.join(', a') + '];');
14627     }
14628 };
14629
14630 // calculate node's bbox from bboxes of its children
14631 function calcBBox(node, toBBox) {
14632     node.bbox = distBBox(node, 0, node.children.length, toBBox);
14633 }
14634
14635 // min bounding rectangle of node children from k to p-1
14636 function distBBox(node, k, p, toBBox) {
14637     var bbox = empty();
14638
14639     for (var i = k, child; i < p; i++) {
14640         child = node.children[i];
14641         extend(bbox, node.leaf ? toBBox(child) : child.bbox);
14642     }
14643
14644     return bbox;
14645 }
14646
14647
14648 function empty() { return [Infinity, Infinity, -Infinity, -Infinity]; }
14649
14650 function extend(a, b) {
14651     a[0] = Math.min(a[0], b[0]);
14652     a[1] = Math.min(a[1], b[1]);
14653     a[2] = Math.max(a[2], b[2]);
14654     a[3] = Math.max(a[3], b[3]);
14655     return a;
14656 }
14657
14658 function compareNodeMinX(a, b) { return a.bbox[0] - b.bbox[0]; }
14659 function compareNodeMinY(a, b) { return a.bbox[1] - b.bbox[1]; }
14660
14661 function bboxArea(a)   { return (a[2] - a[0]) * (a[3] - a[1]); }
14662 function bboxMargin(a) { return (a[2] - a[0]) + (a[3] - a[1]); }
14663
14664 function enlargedArea(a, b) {
14665     return (Math.max(b[2], a[2]) - Math.min(b[0], a[0])) *
14666            (Math.max(b[3], a[3]) - Math.min(b[1], a[1]));
14667 }
14668
14669 function intersectionArea (a, b) {
14670     var minX = Math.max(a[0], b[0]),
14671         minY = Math.max(a[1], b[1]),
14672         maxX = Math.min(a[2], b[2]),
14673         maxY = Math.min(a[3], b[3]);
14674
14675     return Math.max(0, maxX - minX) *
14676            Math.max(0, maxY - minY);
14677 }
14678
14679 function contains(a, b) {
14680     return a[0] <= b[0] &&
14681            a[1] <= b[1] &&
14682            b[2] <= a[2] &&
14683            b[3] <= a[3];
14684 }
14685
14686 function intersects (a, b) {
14687     return b[0] <= a[2] &&
14688            b[1] <= a[3] &&
14689            b[2] >= a[0] &&
14690            b[3] >= a[1];
14691 }
14692
14693
14694 function partitionSort(arr, left, right, k, compare) {
14695     var pivot;
14696
14697     while (true) {
14698         pivot = Math.floor((left + right) / 2);
14699         pivot = partition(arr, left, right, pivot, compare);
14700
14701         if (k === pivot) break;
14702         else if (k < pivot) right = pivot - 1;
14703         else left = pivot + 1;
14704     }
14705
14706     partition(arr, left, right, k, compare);
14707 }
14708
14709 function partition(arr, left, right, pivot, compare) {
14710     var k = left,
14711         value = arr[pivot];
14712
14713     swap(arr, pivot, right);
14714
14715     for (var i = left; i < right; i++) {
14716         if (compare(arr[i], value) < 0) {
14717             swap(arr, k, i);
14718             k++;
14719         }
14720     }
14721     swap(arr, right, k);
14722
14723     return k;
14724 }
14725
14726 function swap(arr, i, j) {
14727     var tmp = arr[i];
14728     arr[i] = arr[j];
14729     arr[j] = tmp;
14730 }
14731
14732
14733 // export as AMD/CommonJS module or global variable
14734 if (typeof define === 'function' && define.amd) define(function() { return rbush; });
14735 else if (typeof module !== 'undefined') module.exports = rbush;
14736 else if (typeof self !== 'undefined') self.rbush = rbush;
14737 else window.rbush = rbush;
14738
14739 })();(function(e){if("function"==typeof bootstrap)bootstrap("sexagesimal",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeSexagesimal=e}else"undefined"!=typeof window?window.sexagesimal=e():global.sexagesimal=e()})(function(){var define,ses,bootstrap,module,exports;
14740 return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
14741 module.exports = element;
14742 module.exports.pair = pair;
14743 module.exports.format = format;
14744 module.exports.formatPair = formatPair;
14745
14746 function element(x, dims) {
14747     return search(x, dims).val;
14748 }
14749
14750 function formatPair(x) {
14751     return format(x.lat, 'lat') + ' ' + format(x.lon, 'lon');
14752 }
14753
14754 // Is 0 North or South?
14755 function format(x, dim) {
14756     var dirs = {
14757             lat: ['N', 'S'],
14758             lon: ['E', 'W']
14759         }[dim] || '',
14760         dir = dirs[x >= 0 ? 0 : 1],
14761         abs = Math.abs(x),
14762         whole = Math.floor(abs),
14763         fraction = abs - whole,
14764         fractionMinutes = fraction * 60,
14765         minutes = Math.floor(fractionMinutes),
14766         seconds = Math.floor((fractionMinutes - minutes) * 60);
14767
14768     return whole + '° ' +
14769         (minutes ? minutes + "' " : '') +
14770         (seconds ? seconds + '" ' : '') + dir;
14771 }
14772
14773 function search(x, dims, r) {
14774     if (!dims) dims = 'NSEW';
14775     if (typeof x !== 'string') return { val: null, regex: r };
14776     r = r || /[\s\,]*([\-|\—|\―]?[0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|"|”|″) *)?([NSEW])?/gi;
14777     var m = r.exec(x);
14778     if (!m) return { val: null, regex: r };
14779     else if (m[4] && dims.indexOf(m[4]) === -1) return { val: null, regex: r };
14780     else return {
14781         val: (((m[1]) ? parseFloat(m[1]) : 0) +
14782             ((m[2] ? parseFloat(m[2]) / 60 : 0)) +
14783             ((m[3] ? parseFloat(m[3]) / 3600 : 0))) *
14784             ((m[4] && m[4] === 'S' || m[4] === 'W') ? -1 : 1),
14785         regex: r,
14786         raw: m[0],
14787         dim: m[4]
14788     };
14789 }
14790
14791 function pair(x, dims) {
14792     x = x.trim();
14793     var one = search(x, dims);
14794     if (one.val === null) return null;
14795     var two = search(x, dims, one.regex);
14796     if (two.val === null) return null;
14797     // null if one/two are not contiguous.
14798     if (one.raw + two.raw !== x) return null;
14799     if (one.dim) return swapdim(one.val, two.val, one.dim);
14800     else return [one.val, two.val];
14801 }
14802
14803 function swapdim(a, b, dim) {
14804     if (dim == 'N' || dim == 'S') return [a, b];
14805     if (dim == 'W' || dim == 'E') return [b, a];
14806 }
14807
14808 },{}]},{},[1])
14809 (1)
14810 });
14811 ;toGeoJSON = (function() {
14812     'use strict';
14813
14814     var removeSpace = (/\s*/g),
14815         trimSpace = (/^\s*|\s*$/g),
14816         splitSpace = (/\s+/);
14817     // generate a short, numeric hash of a string
14818     function okhash(x) {
14819         if (!x || !x.length) return 0;
14820         for (var i = 0, h = 0; i < x.length; i++) {
14821             h = ((h << 5) - h) + x.charCodeAt(i) | 0;
14822         } return h;
14823     }
14824     // all Y children of X
14825     function get(x, y) { return x.getElementsByTagName(y); }
14826     function attr(x, y) { return x.getAttribute(y); }
14827     function attrf(x, y) { return parseFloat(attr(x, y)); }
14828     // one Y child of X, if any, otherwise null
14829     function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; }
14830     // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize
14831     function norm(el) { if (el.normalize) { el.normalize(); } return el; }
14832     // cast array x into numbers
14833     function numarray(x) {
14834         for (var j = 0, o = []; j < x.length; j++) o[j] = parseFloat(x[j]);
14835         return o;
14836     }
14837     function clean(x) {
14838         var o = {};
14839         for (var i in x) if (x[i]) o[i] = x[i];
14840         return o;
14841     }
14842     // get the content of a text node, if any
14843     function nodeVal(x) { if (x) {norm(x);} return x && x.firstChild && x.firstChild.nodeValue; }
14844     // get one coordinate from a coordinate array, if any
14845     function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); }
14846     // get all coordinates from a coordinate array as [[],[]]
14847     function coord(v) {
14848         var coords = v.replace(trimSpace, '').split(splitSpace),
14849             o = [];
14850         for (var i = 0; i < coords.length; i++) {
14851             o.push(coord1(coords[i]));
14852         }
14853         return o;
14854     }
14855     function coordPair(x) { return [attrf(x, 'lon'), attrf(x, 'lat')]; }
14856
14857     // create a new feature collection parent object
14858     function fc() {
14859         return {
14860             type: 'FeatureCollection',
14861             features: []
14862         };
14863     }
14864
14865     var styleSupport = false;
14866     if (typeof XMLSerializer !== 'undefined') {
14867         var serializer = new XMLSerializer();
14868         styleSupport = true;
14869     }
14870     function xml2str(str) { return serializer.serializeToString(str); }
14871
14872     var t = {
14873         kml: function(doc, o) {
14874             o = o || {};
14875
14876             var gj = fc(),
14877                 // styleindex keeps track of hashed styles in order to match features
14878                 styleIndex = {},
14879                 // atomic geospatial types supported by KML - MultiGeometry is
14880                 // handled separately
14881                 geotypes = ['Polygon', 'LineString', 'Point', 'Track'],
14882                 // all root placemarks in the file
14883                 placemarks = get(doc, 'Placemark'),
14884                 styles = get(doc, 'Style');
14885
14886             if (styleSupport) for (var k = 0; k < styles.length; k++) {
14887                 styleIndex['#' + attr(styles[k], 'id')] = okhash(xml2str(styles[k])).toString(16);
14888             }
14889             for (var j = 0; j < placemarks.length; j++) {
14890                 gj.features = gj.features.concat(getPlacemark(placemarks[j]));
14891             }
14892             function gxCoord(v) { return numarray(v.split(' ')); }
14893             function gxCoords(root) {
14894                 var elems = get(root, 'coord', 'gx'), coords = [];
14895                 for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));
14896                 return coords;
14897             }
14898             function getGeometry(root) {
14899                 var geomNode, geomNodes, i, j, k, geoms = [];
14900                 if (get1(root, 'MultiGeometry')) return getGeometry(get1(root, 'MultiGeometry'));
14901                 if (get1(root, 'MultiTrack')) return getGeometry(get1(root, 'MultiTrack'));
14902                 for (i = 0; i < geotypes.length; i++) {
14903                     geomNodes = get(root, geotypes[i]);
14904                     if (geomNodes) {
14905                         for (j = 0; j < geomNodes.length; j++) {
14906                             geomNode = geomNodes[j];
14907                             if (geotypes[i] == 'Point') {
14908                                 geoms.push({
14909                                     type: 'Point',
14910                                     coordinates: coord1(nodeVal(get1(geomNode, 'coordinates')))
14911                                 });
14912                             } else if (geotypes[i] == 'LineString') {
14913                                 geoms.push({
14914                                     type: 'LineString',
14915                                     coordinates: coord(nodeVal(get1(geomNode, 'coordinates')))
14916                                 });
14917                             } else if (geotypes[i] == 'Polygon') {
14918                                 var rings = get(geomNode, 'LinearRing'),
14919                                     coords = [];
14920                                 for (k = 0; k < rings.length; k++) {
14921                                     coords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));
14922                                 }
14923                                 geoms.push({
14924                                     type: 'Polygon',
14925                                     coordinates: coords
14926                                 });
14927                             } else if (geotypes[i] == 'Track') {
14928                                 geoms.push({
14929                                     type: 'LineString',
14930                                     coordinates: gxCoords(geomNode)
14931                                 });
14932                             }
14933                         }
14934                     }
14935                 }
14936                 return geoms;
14937             }
14938             function getPlacemark(root) {
14939                 var geoms = getGeometry(root), i, properties = {},
14940                     name = nodeVal(get1(root, 'name')),
14941                     styleUrl = nodeVal(get1(root, 'styleUrl')),
14942                     description = nodeVal(get1(root, 'description')),
14943                     extendedData = get1(root, 'ExtendedData');
14944
14945                 if (!geoms.length) return [];
14946                 if (name) properties.name = name;
14947                 if (styleUrl && styleIndex[styleUrl]) {
14948                     properties.styleUrl = styleUrl;
14949                     properties.styleHash = styleIndex[styleUrl];
14950                 }
14951                 if (description) properties.description = description;
14952                 if (extendedData) {
14953                     var datas = get(extendedData, 'Data'),
14954                         simpleDatas = get(extendedData, 'SimpleData');
14955
14956                     for (i = 0; i < datas.length; i++) {
14957                         properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
14958                     }
14959                     for (i = 0; i < simpleDatas.length; i++) {
14960                         properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
14961                     }
14962                 }
14963                 return [{
14964                     type: 'Feature',
14965                     geometry: (geoms.length === 1) ? geoms[0] : {
14966                         type: 'GeometryCollection',
14967                         geometries: geoms
14968                     },
14969                     properties: properties
14970                 }];
14971             }
14972             return gj;
14973         },
14974         gpx: function(doc, o) {
14975             var i,
14976                 tracks = get(doc, 'trk'),
14977                 routes = get(doc, 'rte'),
14978                 waypoints = get(doc, 'wpt'),
14979                 // a feature collection
14980                 gj = fc();
14981             for (i = 0; i < tracks.length; i++) {
14982                 gj.features.push(getLinestring(tracks[i], 'trkpt'));
14983             }
14984             for (i = 0; i < routes.length; i++) {
14985                 gj.features.push(getLinestring(routes[i], 'rtept'));
14986             }
14987             for (i = 0; i < waypoints.length; i++) {
14988                 gj.features.push(getPoint(waypoints[i]));
14989             }
14990             function getLinestring(node, pointname) {
14991                 var j, pts = get(node, pointname), line = [];
14992                 for (j = 0; j < pts.length; j++) {
14993                     line.push(coordPair(pts[j]));
14994                 }
14995                 return {
14996                     type: 'Feature',
14997                     properties: getProperties(node),
14998                     geometry: {
14999                         type: 'LineString',
15000                         coordinates: line
15001                     }
15002                 };
15003             }
15004             function getPoint(node) {
15005                 var prop = getProperties(node);
15006                 prop.ele = nodeVal(get1(node, 'ele'));
15007                 prop.sym = nodeVal(get1(node, 'sym'));
15008                 return {
15009                     type: 'Feature',
15010                     properties: prop,
15011                     geometry: {
15012                         type: 'Point',
15013                         coordinates: coordPair(node)
15014                     }
15015                 };
15016             }
15017             function getProperties(node) {
15018                 var meta = ['name', 'desc', 'author', 'copyright', 'link',
15019                             'time', 'keywords'],
15020                     prop = {},
15021                     k;
15022                 for (k = 0; k < meta.length; k++) {
15023                     prop[meta[k]] = nodeVal(get1(node, meta[k]));
15024                 }
15025                 return clean(prop);
15026             }
15027             return gj;
15028         }
15029     };
15030     return t;
15031 })();
15032
15033 if (typeof module !== 'undefined') module.exports = toGeoJSON;
15034 /**
15035  * marked - a markdown parser
15036  * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed)
15037  * https://github.com/chjj/marked
15038  */
15039
15040 ;(function() {
15041
15042 /**
15043  * Block-Level Grammar
15044  */
15045
15046 var block = {
15047   newline: /^\n+/,
15048   code: /^( {4}[^\n]+\n*)+/,
15049   fences: noop,
15050   hr: /^( *[-*_]){3,} *(?:\n+|$)/,
15051   heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
15052   nptable: noop,
15053   lheading: /^([^\n]+)\n *(=|-){3,} *\n*/,
15054   blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/,
15055   list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
15056   html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,
15057   def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
15058   table: noop,
15059   paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
15060   text: /^[^\n]+/
15061 };
15062
15063 block.bullet = /(?:[*+-]|\d+\.)/;
15064 block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
15065 block.item = replace(block.item, 'gm')
15066   (/bull/g, block.bullet)
15067   ();
15068
15069 block.list = replace(block.list)
15070   (/bull/g, block.bullet)
15071   ('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)
15072   ();
15073
15074 block._tag = '(?!(?:'
15075   + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
15076   + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
15077   + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b';
15078
15079 block.html = replace(block.html)
15080   ('comment', /<!--[\s\S]*?-->/)
15081   ('closed', /<(tag)[\s\S]+?<\/\1>/)
15082   ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
15083   (/tag/g, block._tag)
15084   ();
15085
15086 block.paragraph = replace(block.paragraph)
15087   ('hr', block.hr)
15088   ('heading', block.heading)
15089   ('lheading', block.lheading)
15090   ('blockquote', block.blockquote)
15091   ('tag', '<' + block._tag)
15092   ('def', block.def)
15093   ();
15094
15095 /**
15096  * Normal Block Grammar
15097  */
15098
15099 block.normal = merge({}, block);
15100
15101 /**
15102  * GFM Block Grammar
15103  */
15104
15105 block.gfm = merge({}, block.normal, {
15106   fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
15107   paragraph: /^/
15108 });
15109
15110 block.gfm.paragraph = replace(block.paragraph)
15111   ('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|')
15112   ();
15113
15114 /**
15115  * GFM + Tables Block Grammar
15116  */
15117
15118 block.tables = merge({}, block.gfm, {
15119   nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
15120   table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
15121 });
15122
15123 /**
15124  * Block Lexer
15125  */
15126
15127 function Lexer(options) {
15128   this.tokens = [];
15129   this.tokens.links = {};
15130   this.options = options || marked.defaults;
15131   this.rules = block.normal;
15132
15133   if (this.options.gfm) {
15134     if (this.options.tables) {
15135       this.rules = block.tables;
15136     } else {
15137       this.rules = block.gfm;
15138     }
15139   }
15140 }
15141
15142 /**
15143  * Expose Block Rules
15144  */
15145
15146 Lexer.rules = block;
15147
15148 /**
15149  * Static Lex Method
15150  */
15151
15152 Lexer.lex = function(src, options) {
15153   var lexer = new Lexer(options);
15154   return lexer.lex(src);
15155 };
15156
15157 /**
15158  * Preprocessing
15159  */
15160
15161 Lexer.prototype.lex = function(src) {
15162   src = src
15163     .replace(/\r\n|\r/g, '\n')
15164     .replace(/\t/g, '    ')
15165     .replace(/\u00a0/g, ' ')
15166     .replace(/\u2424/g, '\n');
15167
15168   return this.token(src, true);
15169 };
15170
15171 /**
15172  * Lexing
15173  */
15174
15175 Lexer.prototype.token = function(src, top) {
15176   var src = src.replace(/^ +$/gm, '')
15177     , next
15178     , loose
15179     , cap
15180     , bull
15181     , b
15182     , item
15183     , space
15184     , i
15185     , l;
15186
15187   while (src) {
15188     // newline
15189     if (cap = this.rules.newline.exec(src)) {
15190       src = src.substring(cap[0].length);
15191       if (cap[0].length > 1) {
15192         this.tokens.push({
15193           type: 'space'
15194         });
15195       }
15196     }
15197
15198     // code
15199     if (cap = this.rules.code.exec(src)) {
15200       src = src.substring(cap[0].length);
15201       cap = cap[0].replace(/^ {4}/gm, '');
15202       this.tokens.push({
15203         type: 'code',
15204         text: !this.options.pedantic
15205           ? cap.replace(/\n+$/, '')
15206           : cap
15207       });
15208       continue;
15209     }
15210
15211     // fences (gfm)
15212     if (cap = this.rules.fences.exec(src)) {
15213       src = src.substring(cap[0].length);
15214       this.tokens.push({
15215         type: 'code',
15216         lang: cap[2],
15217         text: cap[3]
15218       });
15219       continue;
15220     }
15221
15222     // heading
15223     if (cap = this.rules.heading.exec(src)) {
15224       src = src.substring(cap[0].length);
15225       this.tokens.push({
15226         type: 'heading',
15227         depth: cap[1].length,
15228         text: cap[2]
15229       });
15230       continue;
15231     }
15232
15233     // table no leading pipe (gfm)
15234     if (top && (cap = this.rules.nptable.exec(src))) {
15235       src = src.substring(cap[0].length);
15236
15237       item = {
15238         type: 'table',
15239         header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
15240         align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
15241         cells: cap[3].replace(/\n$/, '').split('\n')
15242       };
15243
15244       for (i = 0; i < item.align.length; i++) {
15245         if (/^ *-+: *$/.test(item.align[i])) {
15246           item.align[i] = 'right';
15247         } else if (/^ *:-+: *$/.test(item.align[i])) {
15248           item.align[i] = 'center';
15249         } else if (/^ *:-+ *$/.test(item.align[i])) {
15250           item.align[i] = 'left';
15251         } else {
15252           item.align[i] = null;
15253         }
15254       }
15255
15256       for (i = 0; i < item.cells.length; i++) {
15257         item.cells[i] = item.cells[i].split(/ *\| */);
15258       }
15259
15260       this.tokens.push(item);
15261
15262       continue;
15263     }
15264
15265     // lheading
15266     if (cap = this.rules.lheading.exec(src)) {
15267       src = src.substring(cap[0].length);
15268       this.tokens.push({
15269         type: 'heading',
15270         depth: cap[2] === '=' ? 1 : 2,
15271         text: cap[1]
15272       });
15273       continue;
15274     }
15275
15276     // hr
15277     if (cap = this.rules.hr.exec(src)) {
15278       src = src.substring(cap[0].length);
15279       this.tokens.push({
15280         type: 'hr'
15281       });
15282       continue;
15283     }
15284
15285     // blockquote
15286     if (cap = this.rules.blockquote.exec(src)) {
15287       src = src.substring(cap[0].length);
15288
15289       this.tokens.push({
15290         type: 'blockquote_start'
15291       });
15292
15293       cap = cap[0].replace(/^ *> ?/gm, '');
15294
15295       // Pass `top` to keep the current
15296       // "toplevel" state. This is exactly
15297       // how markdown.pl works.
15298       this.token(cap, top);
15299
15300       this.tokens.push({
15301         type: 'blockquote_end'
15302       });
15303
15304       continue;
15305     }
15306
15307     // list
15308     if (cap = this.rules.list.exec(src)) {
15309       src = src.substring(cap[0].length);
15310       bull = cap[2];
15311
15312       this.tokens.push({
15313         type: 'list_start',
15314         ordered: bull.length > 1
15315       });
15316
15317       // Get each top-level item.
15318       cap = cap[0].match(this.rules.item);
15319
15320       next = false;
15321       l = cap.length;
15322       i = 0;
15323
15324       for (; i < l; i++) {
15325         item = cap[i];
15326
15327         // Remove the list item's bullet
15328         // so it is seen as the next token.
15329         space = item.length;
15330         item = item.replace(/^ *([*+-]|\d+\.) +/, '');
15331
15332         // Outdent whatever the
15333         // list item contains. Hacky.
15334         if (~item.indexOf('\n ')) {
15335           space -= item.length;
15336           item = !this.options.pedantic
15337             ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
15338             : item.replace(/^ {1,4}/gm, '');
15339         }
15340
15341         // Determine whether the next list item belongs here.
15342         // Backpedal if it does not belong in this list.
15343         if (this.options.smartLists && i !== l - 1) {
15344           b = block.bullet.exec(cap[i+1])[0];
15345           if (bull !== b && !(bull.length > 1 && b.length > 1)) {
15346             src = cap.slice(i + 1).join('\n') + src;
15347             i = l - 1;
15348           }
15349         }
15350
15351         // Determine whether item is loose or not.
15352         // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
15353         // for discount behavior.
15354         loose = next || /\n\n(?!\s*$)/.test(item);
15355         if (i !== l - 1) {
15356           next = item[item.length-1] === '\n';
15357           if (!loose) loose = next;
15358         }
15359
15360         this.tokens.push({
15361           type: loose
15362             ? 'loose_item_start'
15363             : 'list_item_start'
15364         });
15365
15366         // Recurse.
15367         this.token(item, false);
15368
15369         this.tokens.push({
15370           type: 'list_item_end'
15371         });
15372       }
15373
15374       this.tokens.push({
15375         type: 'list_end'
15376       });
15377
15378       continue;
15379     }
15380
15381     // html
15382     if (cap = this.rules.html.exec(src)) {
15383       src = src.substring(cap[0].length);
15384       this.tokens.push({
15385         type: this.options.sanitize
15386           ? 'paragraph'
15387           : 'html',
15388         pre: cap[1] === 'pre' || cap[1] === 'script',
15389         text: cap[0]
15390       });
15391       continue;
15392     }
15393
15394     // def
15395     if (top && (cap = this.rules.def.exec(src))) {
15396       src = src.substring(cap[0].length);
15397       this.tokens.links[cap[1].toLowerCase()] = {
15398         href: cap[2],
15399         title: cap[3]
15400       };
15401       continue;
15402     }
15403
15404     // table (gfm)
15405     if (top && (cap = this.rules.table.exec(src))) {
15406       src = src.substring(cap[0].length);
15407
15408       item = {
15409         type: 'table',
15410         header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
15411         align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
15412         cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
15413       };
15414
15415       for (i = 0; i < item.align.length; i++) {
15416         if (/^ *-+: *$/.test(item.align[i])) {
15417           item.align[i] = 'right';
15418         } else if (/^ *:-+: *$/.test(item.align[i])) {
15419           item.align[i] = 'center';
15420         } else if (/^ *:-+ *$/.test(item.align[i])) {
15421           item.align[i] = 'left';
15422         } else {
15423           item.align[i] = null;
15424         }
15425       }
15426
15427       for (i = 0; i < item.cells.length; i++) {
15428         item.cells[i] = item.cells[i]
15429           .replace(/^ *\| *| *\| *$/g, '')
15430           .split(/ *\| */);
15431       }
15432
15433       this.tokens.push(item);
15434
15435       continue;
15436     }
15437
15438     // top-level paragraph
15439     if (top && (cap = this.rules.paragraph.exec(src))) {
15440       src = src.substring(cap[0].length);
15441       this.tokens.push({
15442         type: 'paragraph',
15443         text: cap[1][cap[1].length-1] === '\n'
15444           ? cap[1].slice(0, -1)
15445           : cap[1]
15446       });
15447       continue;
15448     }
15449
15450     // text
15451     if (cap = this.rules.text.exec(src)) {
15452       // Top-level should never reach here.
15453       src = src.substring(cap[0].length);
15454       this.tokens.push({
15455         type: 'text',
15456         text: cap[0]
15457       });
15458       continue;
15459     }
15460
15461     if (src) {
15462       throw new
15463         Error('Infinite loop on byte: ' + src.charCodeAt(0));
15464     }
15465   }
15466
15467   return this.tokens;
15468 };
15469
15470 /**
15471  * Inline-Level Grammar
15472  */
15473
15474 var inline = {
15475   escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
15476   autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
15477   url: noop,
15478   tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
15479   link: /^!?\[(inside)\]\(href\)/,
15480   reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
15481   nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
15482   strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
15483   em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
15484   code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
15485   br: /^ {2,}\n(?!\s*$)/,
15486   del: noop,
15487   text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
15488 };
15489
15490 inline._inside = /(?:\[[^\]]*\]|[^\]]|\](?=[^\[]*\]))*/;
15491 inline._href = /\s*<?([^\s]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
15492
15493 inline.link = replace(inline.link)
15494   ('inside', inline._inside)
15495   ('href', inline._href)
15496   ();
15497
15498 inline.reflink = replace(inline.reflink)
15499   ('inside', inline._inside)
15500   ();
15501
15502 /**
15503  * Normal Inline Grammar
15504  */
15505
15506 inline.normal = merge({}, inline);
15507
15508 /**
15509  * Pedantic Inline Grammar
15510  */
15511
15512 inline.pedantic = merge({}, inline.normal, {
15513   strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
15514   em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
15515 });
15516
15517 /**
15518  * GFM Inline Grammar
15519  */
15520
15521 inline.gfm = merge({}, inline.normal, {
15522   escape: replace(inline.escape)('])', '~|])')(),
15523   url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
15524   del: /^~~(?=\S)([\s\S]*?\S)~~/,
15525   text: replace(inline.text)
15526     (']|', '~]|')
15527     ('|', '|https?://|')
15528     ()
15529 });
15530
15531 /**
15532  * GFM + Line Breaks Inline Grammar
15533  */
15534
15535 inline.breaks = merge({}, inline.gfm, {
15536   br: replace(inline.br)('{2,}', '*')(),
15537   text: replace(inline.gfm.text)('{2,}', '*')()
15538 });
15539
15540 /**
15541  * Inline Lexer & Compiler
15542  */
15543
15544 function InlineLexer(links, options) {
15545   this.options = options || marked.defaults;
15546   this.links = links;
15547   this.rules = inline.normal;
15548
15549   if (!this.links) {
15550     throw new
15551       Error('Tokens array requires a `links` property.');
15552   }
15553
15554   if (this.options.gfm) {
15555     if (this.options.breaks) {
15556       this.rules = inline.breaks;
15557     } else {
15558       this.rules = inline.gfm;
15559     }
15560   } else if (this.options.pedantic) {
15561     this.rules = inline.pedantic;
15562   }
15563 }
15564
15565 /**
15566  * Expose Inline Rules
15567  */
15568
15569 InlineLexer.rules = inline;
15570
15571 /**
15572  * Static Lexing/Compiling Method
15573  */
15574
15575 InlineLexer.output = function(src, links, options) {
15576   var inline = new InlineLexer(links, options);
15577   return inline.output(src);
15578 };
15579
15580 /**
15581  * Lexing/Compiling
15582  */
15583
15584 InlineLexer.prototype.output = function(src) {
15585   var out = ''
15586     , link
15587     , text
15588     , href
15589     , cap;
15590
15591   while (src) {
15592     // escape
15593     if (cap = this.rules.escape.exec(src)) {
15594       src = src.substring(cap[0].length);
15595       out += cap[1];
15596       continue;
15597     }
15598
15599     // autolink
15600     if (cap = this.rules.autolink.exec(src)) {
15601       src = src.substring(cap[0].length);
15602       if (cap[2] === '@') {
15603         text = cap[1][6] === ':'
15604           ? this.mangle(cap[1].substring(7))
15605           : this.mangle(cap[1]);
15606         href = this.mangle('mailto:') + text;
15607       } else {
15608         text = escape(cap[1]);
15609         href = text;
15610       }
15611       out += '<a href="'
15612         + href
15613         + '">'
15614         + text
15615         + '</a>';
15616       continue;
15617     }
15618
15619     // url (gfm)
15620     if (cap = this.rules.url.exec(src)) {
15621       src = src.substring(cap[0].length);
15622       text = escape(cap[1]);
15623       href = text;
15624       out += '<a href="'
15625         + href
15626         + '">'
15627         + text
15628         + '</a>';
15629       continue;
15630     }
15631
15632     // tag
15633     if (cap = this.rules.tag.exec(src)) {
15634       src = src.substring(cap[0].length);
15635       out += this.options.sanitize
15636         ? escape(cap[0])
15637         : cap[0];
15638       continue;
15639     }
15640
15641     // link
15642     if (cap = this.rules.link.exec(src)) {
15643       src = src.substring(cap[0].length);
15644       out += this.outputLink(cap, {
15645         href: cap[2],
15646         title: cap[3]
15647       });
15648       continue;
15649     }
15650
15651     // reflink, nolink
15652     if ((cap = this.rules.reflink.exec(src))
15653         || (cap = this.rules.nolink.exec(src))) {
15654       src = src.substring(cap[0].length);
15655       link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
15656       link = this.links[link.toLowerCase()];
15657       if (!link || !link.href) {
15658         out += cap[0][0];
15659         src = cap[0].substring(1) + src;
15660         continue;
15661       }
15662       out += this.outputLink(cap, link);
15663       continue;
15664     }
15665
15666     // strong
15667     if (cap = this.rules.strong.exec(src)) {
15668       src = src.substring(cap[0].length);
15669       out += '<strong>'
15670         + this.output(cap[2] || cap[1])
15671         + '</strong>';
15672       continue;
15673     }
15674
15675     // em
15676     if (cap = this.rules.em.exec(src)) {
15677       src = src.substring(cap[0].length);
15678       out += '<em>'
15679         + this.output(cap[2] || cap[1])
15680         + '</em>';
15681       continue;
15682     }
15683
15684     // code
15685     if (cap = this.rules.code.exec(src)) {
15686       src = src.substring(cap[0].length);
15687       out += '<code>'
15688         + escape(cap[2], true)
15689         + '</code>';
15690       continue;
15691     }
15692
15693     // br
15694     if (cap = this.rules.br.exec(src)) {
15695       src = src.substring(cap[0].length);
15696       out += '<br>';
15697       continue;
15698     }
15699
15700     // del (gfm)
15701     if (cap = this.rules.del.exec(src)) {
15702       src = src.substring(cap[0].length);
15703       out += '<del>'
15704         + this.output(cap[1])
15705         + '</del>';
15706       continue;
15707     }
15708
15709     // text
15710     if (cap = this.rules.text.exec(src)) {
15711       src = src.substring(cap[0].length);
15712       out += escape(cap[0]);
15713       continue;
15714     }
15715
15716     if (src) {
15717       throw new
15718         Error('Infinite loop on byte: ' + src.charCodeAt(0));
15719     }
15720   }
15721
15722   return out;
15723 };
15724
15725 /**
15726  * Compile Link
15727  */
15728
15729 InlineLexer.prototype.outputLink = function(cap, link) {
15730   if (cap[0][0] !== '!') {
15731     return '<a href="'
15732       + escape(link.href)
15733       + '"'
15734       + (link.title
15735       ? ' title="'
15736       + escape(link.title)
15737       + '"'
15738       : '')
15739       + '>'
15740       + this.output(cap[1])
15741       + '</a>';
15742   } else {
15743     return '<img src="'
15744       + escape(link.href)
15745       + '" alt="'
15746       + escape(cap[1])
15747       + '"'
15748       + (link.title
15749       ? ' title="'
15750       + escape(link.title)
15751       + '"'
15752       : '')
15753       + '>';
15754   }
15755 };
15756
15757 /**
15758  * Smartypants Transformations
15759  */
15760
15761 InlineLexer.prototype.smartypants = function(text) {
15762   if (!this.options.smartypants) return text;
15763   return text
15764     .replace(/--/g, '—')
15765     .replace(/'([^']*)'/g, '‘$1’')
15766     .replace(/"([^"]*)"/g, '“$1”')
15767     .replace(/\.{3}/g, '…');
15768 };
15769
15770 /**
15771  * Mangle Links
15772  */
15773
15774 InlineLexer.prototype.mangle = function(text) {
15775   var out = ''
15776     , l = text.length
15777     , i = 0
15778     , ch;
15779
15780   for (; i < l; i++) {
15781     ch = text.charCodeAt(i);
15782     if (Math.random() > 0.5) {
15783       ch = 'x' + ch.toString(16);
15784     }
15785     out += '&#' + ch + ';';
15786   }
15787
15788   return out;
15789 };
15790
15791 /**
15792  * Parsing & Compiling
15793  */
15794
15795 function Parser(options) {
15796   this.tokens = [];
15797   this.token = null;
15798   this.options = options || marked.defaults;
15799 }
15800
15801 /**
15802  * Static Parse Method
15803  */
15804
15805 Parser.parse = function(src, options) {
15806   var parser = new Parser(options);
15807   return parser.parse(src);
15808 };
15809
15810 /**
15811  * Parse Loop
15812  */
15813
15814 Parser.prototype.parse = function(src) {
15815   this.inline = new InlineLexer(src.links, this.options);
15816   this.tokens = src.reverse();
15817
15818   var out = '';
15819   while (this.next()) {
15820     out += this.tok();
15821   }
15822
15823   return out;
15824 };
15825
15826 /**
15827  * Next Token
15828  */
15829
15830 Parser.prototype.next = function() {
15831   return this.token = this.tokens.pop();
15832 };
15833
15834 /**
15835  * Preview Next Token
15836  */
15837
15838 Parser.prototype.peek = function() {
15839   return this.tokens[this.tokens.length-1] || 0;
15840 };
15841
15842 /**
15843  * Parse Text Tokens
15844  */
15845
15846 Parser.prototype.parseText = function() {
15847   var body = this.token.text;
15848
15849   while (this.peek().type === 'text') {
15850     body += '\n' + this.next().text;
15851   }
15852
15853   return this.inline.output(body);
15854 };
15855
15856 /**
15857  * Parse Current Token
15858  */
15859
15860 Parser.prototype.tok = function() {
15861   switch (this.token.type) {
15862     case 'space': {
15863       return '';
15864     }
15865     case 'hr': {
15866       return '<hr>\n';
15867     }
15868     case 'heading': {
15869       return '<h'
15870         + this.token.depth
15871         + '>'
15872         + this.inline.output(this.token.text)
15873         + '</h'
15874         + this.token.depth
15875         + '>\n';
15876     }
15877     case 'code': {
15878       if (this.options.highlight) {
15879         var code = this.options.highlight(this.token.text, this.token.lang);
15880         if (code != null && code !== this.token.text) {
15881           this.token.escaped = true;
15882           this.token.text = code;
15883         }
15884       }
15885
15886       if (!this.token.escaped) {
15887         this.token.text = escape(this.token.text, true);
15888       }
15889
15890       return '<pre><code'
15891         + (this.token.lang
15892         ? ' class="'
15893         + this.options.langPrefix
15894         + this.token.lang
15895         + '"'
15896         : '')
15897         + '>'
15898         + this.token.text
15899         + '</code></pre>\n';
15900     }
15901     case 'table': {
15902       var body = ''
15903         , heading
15904         , i
15905         , row
15906         , cell
15907         , j;
15908
15909       // header
15910       body += '<thead>\n<tr>\n';
15911       for (i = 0; i < this.token.header.length; i++) {
15912         heading = this.inline.output(this.token.header[i]);
15913         body += this.token.align[i]
15914           ? '<th align="' + this.token.align[i] + '">' + heading + '</th>\n'
15915           : '<th>' + heading + '</th>\n';
15916       }
15917       body += '</tr>\n</thead>\n';
15918
15919       // body
15920       body += '<tbody>\n'
15921       for (i = 0; i < this.token.cells.length; i++) {
15922         row = this.token.cells[i];
15923         body += '<tr>\n';
15924         for (j = 0; j < row.length; j++) {
15925           cell = this.inline.output(row[j]);
15926           body += this.token.align[j]
15927             ? '<td align="' + this.token.align[j] + '">' + cell + '</td>\n'
15928             : '<td>' + cell + '</td>\n';
15929         }
15930         body += '</tr>\n';
15931       }
15932       body += '</tbody>\n';
15933
15934       return '<table>\n'
15935         + body
15936         + '</table>\n';
15937     }
15938     case 'blockquote_start': {
15939       var body = '';
15940
15941       while (this.next().type !== 'blockquote_end') {
15942         body += this.tok();
15943       }
15944
15945       return '<blockquote>\n'
15946         + body
15947         + '</blockquote>\n';
15948     }
15949     case 'list_start': {
15950       var type = this.token.ordered ? 'ol' : 'ul'
15951         , body = '';
15952
15953       while (this.next().type !== 'list_end') {
15954         body += this.tok();
15955       }
15956
15957       return '<'
15958         + type
15959         + '>\n'
15960         + body
15961         + '</'
15962         + type
15963         + '>\n';
15964     }
15965     case 'list_item_start': {
15966       var body = '';
15967
15968       while (this.next().type !== 'list_item_end') {
15969         body += this.token.type === 'text'
15970           ? this.parseText()
15971           : this.tok();
15972       }
15973
15974       return '<li>'
15975         + body
15976         + '</li>\n';
15977     }
15978     case 'loose_item_start': {
15979       var body = '';
15980
15981       while (this.next().type !== 'list_item_end') {
15982         body += this.tok();
15983       }
15984
15985       return '<li>'
15986         + body
15987         + '</li>\n';
15988     }
15989     case 'html': {
15990       return !this.token.pre && !this.options.pedantic
15991         ? this.inline.output(this.token.text)
15992         : this.token.text;
15993     }
15994     case 'paragraph': {
15995       return '<p>'
15996         + this.inline.output(this.token.text)
15997         + '</p>\n';
15998     }
15999     case 'text': {
16000       return '<p>'
16001         + this.parseText()
16002         + '</p>\n';
16003     }
16004   }
16005 };
16006
16007 /**
16008  * Helpers
16009  */
16010
16011 function escape(html, encode) {
16012   return html
16013     .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
16014     .replace(/</g, '&lt;')
16015     .replace(/>/g, '&gt;')
16016     .replace(/"/g, '&quot;')
16017     .replace(/'/g, '&#39;');
16018 }
16019
16020 function replace(regex, opt) {
16021   regex = regex.source;
16022   opt = opt || '';
16023   return function self(name, val) {
16024     if (!name) return new RegExp(regex, opt);
16025     val = val.source || val;
16026     val = val.replace(/(^|[^\[])\^/g, '$1');
16027     regex = regex.replace(name, val);
16028     return self;
16029   };
16030 }
16031
16032 function noop() {}
16033 noop.exec = noop;
16034
16035 function merge(obj) {
16036   var i = 1
16037     , target
16038     , key;
16039
16040   for (; i < arguments.length; i++) {
16041     target = arguments[i];
16042     for (key in target) {
16043       if (Object.prototype.hasOwnProperty.call(target, key)) {
16044         obj[key] = target[key];
16045       }
16046     }
16047   }
16048
16049   return obj;
16050 }
16051
16052 /**
16053  * Marked
16054  */
16055
16056 function marked(src, opt, callback) {
16057   if (callback || typeof opt === 'function') {
16058     if (!callback) {
16059       callback = opt;
16060       opt = null;
16061     }
16062
16063     if (opt) opt = merge({}, marked.defaults, opt);
16064
16065     var tokens = Lexer.lex(tokens, opt)
16066       , highlight = opt.highlight
16067       , pending = 0
16068       , l = tokens.length
16069       , i = 0;
16070
16071     if (!highlight || highlight.length < 3) {
16072       return callback(null, Parser.parse(tokens, opt));
16073     }
16074
16075     var done = function() {
16076       delete opt.highlight;
16077       var out = Parser.parse(tokens, opt);
16078       opt.highlight = highlight;
16079       return callback(null, out);
16080     };
16081
16082     for (; i < l; i++) {
16083       (function(token) {
16084         if (token.type !== 'code') return;
16085         pending++;
16086         return highlight(token.text, token.lang, function(err, code) {
16087           if (code == null || code === token.text) {
16088             return --pending || done();
16089           }
16090           token.text = code;
16091           token.escaped = true;
16092           --pending || done();
16093         });
16094       })(tokens[i]);
16095     }
16096
16097     return;
16098   }
16099   try {
16100     if (opt) opt = merge({}, marked.defaults, opt);
16101     return Parser.parse(Lexer.lex(src, opt), opt);
16102   } catch (e) {
16103     e.message += '\nPlease report this to https://github.com/chjj/marked.';
16104     if ((opt || marked.defaults).silent) {
16105       return '<p>An error occured:</p><pre>'
16106         + escape(e.message + '', true)
16107         + '</pre>';
16108     }
16109     throw e;
16110   }
16111 }
16112
16113 /**
16114  * Options
16115  */
16116
16117 marked.options =
16118 marked.setOptions = function(opt) {
16119   merge(marked.defaults, opt);
16120   return marked;
16121 };
16122
16123 marked.defaults = {
16124   gfm: true,
16125   tables: true,
16126   breaks: false,
16127   pedantic: false,
16128   sanitize: false,
16129   smartLists: false,
16130   silent: false,
16131   highlight: null,
16132   langPrefix: 'lang-'
16133 };
16134
16135 /**
16136  * Expose
16137  */
16138
16139 marked.Parser = Parser;
16140 marked.parser = Parser.parse;
16141
16142 marked.Lexer = Lexer;
16143 marked.lexer = Lexer.lex;
16144
16145 marked.InlineLexer = InlineLexer;
16146 marked.inlineLexer = InlineLexer.output;
16147
16148 marked.parse = marked;
16149
16150 if (typeof exports === 'object') {
16151   module.exports = marked;
16152 } else if (typeof define === 'function' && define.amd) {
16153   define(function() { return marked; });
16154 } else {
16155   this.marked = marked;
16156 }
16157
16158 }).call(function() {
16159   return this || (typeof window !== 'undefined' ? window : global);
16160 }());
16161 /* jshint ignore:start */
16162 (function () {
16163 'use strict';
16164 window.iD = function () {
16165     window.locale.en = iD.data.en;
16166     window.locale.current('en');
16167
16168     var context = {},
16169         storage;
16170
16171     // https://github.com/openstreetmap/iD/issues/772
16172     // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
16173     try { storage = localStorage; } catch (e) {}
16174     storage = storage || (function() {
16175         var s = {};
16176         return {
16177             getItem: function(k) { return s[k]; },
16178             setItem: function(k, v) { s[k] = v; },
16179             removeItem: function(k) { delete s[k]; }
16180         };
16181     })();
16182
16183     context.storage = function(k, v) {
16184         try {
16185             if (arguments.length === 1) return storage.getItem(k);
16186             else if (v === null) storage.removeItem(k);
16187             else storage.setItem(k, v);
16188         } catch(e) {
16189             // localstorage quota exceeded
16190             /* jshint devel:true */
16191             if (typeof console !== 'undefined') console.error('localStorage quota exceeded');
16192             /* jshint devel:false */
16193         }
16194     };
16195
16196     /* Accessor for setting minimum zoom for editing features. */
16197
16198     var minEditableZoom = 16;
16199     context.minEditableZoom = function(_) {
16200         if (!arguments.length) return minEditableZoom;
16201         minEditableZoom = _;
16202         connection.tileZoom(_);
16203         return context;
16204     };
16205
16206     var history = iD.History(context),
16207         dispatch = d3.dispatch('enter', 'exit'),
16208         mode,
16209         container,
16210         ui = iD.ui(context),
16211         connection = iD.Connection(),
16212         locale = iD.detect().locale,
16213         localePath;
16214
16215     if (locale && iD.data.locales.indexOf(locale) === -1) {
16216         locale = locale.split('-')[0];
16217     }
16218
16219     connection.on('load.context', function loadContext(err, result) {
16220         history.merge(result.data, result.extent);
16221     });
16222
16223     context.preauth = function(options) {
16224         connection.switch(options);
16225         return context;
16226     };
16227
16228     context.locale = function(_, path) {
16229         locale = _;
16230         localePath = path;
16231         return context;
16232     };
16233
16234     context.loadLocale = function(cb) {
16235         if (locale && locale !== 'en' && iD.data.locales.indexOf(locale) !== -1) {
16236             localePath = localePath || context.assetPath() + 'locales/' + locale + '.json';
16237             d3.json(localePath, function(err, result) {
16238                 window.locale[locale] = result;
16239                 window.locale.current(locale);
16240                 cb();
16241             });
16242         } else {
16243             cb();
16244         }
16245     };
16246
16247     /* Straight accessors. Avoid using these if you can. */
16248     context.ui = function() { return ui; };
16249     context.connection = function() { return connection; };
16250     context.history = function() { return history; };
16251
16252     /* History */
16253     context.graph = history.graph;
16254     context.changes = history.changes;
16255     context.intersects = history.intersects;
16256
16257     var inIntro = false;
16258
16259     context.inIntro = function(_) {
16260         if (!arguments.length) return inIntro;
16261         inIntro = _;
16262         return context;
16263     };
16264
16265     context.save = function() {
16266         if (inIntro) return;
16267         history.save();
16268         if (history.hasChanges()) return t('save.unsaved_changes');
16269     };
16270
16271     context.flush = function() {
16272         connection.flush();
16273         features.reset();
16274         history.reset();
16275         return context;
16276     };
16277
16278     // Debounce save, since it's a synchronous localStorage write,
16279     // and history changes can happen frequently (e.g. when dragging).
16280     var debouncedSave = _.debounce(context.save, 350);
16281     function withDebouncedSave(fn) {
16282         return function() {
16283             var result = fn.apply(history, arguments);
16284             debouncedSave();
16285             return result;
16286         };
16287     }
16288
16289     context.perform = withDebouncedSave(history.perform);
16290     context.replace = withDebouncedSave(history.replace);
16291     context.pop = withDebouncedSave(history.pop);
16292     context.undo = withDebouncedSave(history.undo);
16293     context.redo = withDebouncedSave(history.redo);
16294
16295     /* Graph */
16296     context.hasEntity = function(id) {
16297         return history.graph().hasEntity(id);
16298     };
16299
16300     context.entity = function(id) {
16301         return history.graph().entity(id);
16302     };
16303
16304     context.childNodes = function(way) {
16305         return history.graph().childNodes(way);
16306     };
16307
16308     context.geometry = function(id) {
16309         return context.entity(id).geometry(history.graph());
16310     };
16311
16312     /* Modes */
16313     context.enter = function(newMode) {
16314         if (mode) {
16315             mode.exit();
16316             dispatch.exit(mode);
16317         }
16318
16319         mode = newMode;
16320         mode.enter();
16321         dispatch.enter(mode);
16322     };
16323
16324     context.mode = function() {
16325         return mode;
16326     };
16327
16328     context.selectedIDs = function() {
16329         if (mode && mode.selectedIDs) {
16330             return mode.selectedIDs();
16331         } else {
16332             return [];
16333         }
16334     };
16335
16336     context.loadEntity = function(id, zoomTo) {
16337         if (zoomTo !== false) {
16338             connection.loadEntity(id, function(error, entity) {
16339                 if (entity) {
16340                     map.zoomTo(entity);
16341                 }
16342             });
16343         }
16344
16345         map.on('drawn.loadEntity', function() {
16346             if (!context.hasEntity(id)) return;
16347             map.on('drawn.loadEntity', null);
16348             context.on('enter.loadEntity', null);
16349             context.enter(iD.modes.Select(context, [id]));
16350         });
16351
16352         context.on('enter.loadEntity', function() {
16353             if (mode.id !== 'browse') {
16354                 map.on('drawn.loadEntity', null);
16355                 context.on('enter.loadEntity', null);
16356             }
16357         });
16358     };
16359
16360
16361     /* Behaviors */
16362     context.install = function(behavior) {
16363         context.surface().call(behavior);
16364     };
16365
16366     context.uninstall = function(behavior) {
16367         context.surface().call(behavior.off);
16368     };
16369
16370     /* Copy/Paste */
16371     var copiedIDs = [];
16372     context.copiedIDs = function(_) {
16373         if (!arguments.length) return copiedIDs;
16374         copiedIDs = _;
16375         return context;
16376     };
16377
16378     /* Projection */
16379     context.projection = iD.geo.RawMercator();
16380
16381     /* Background */
16382     var background = iD.Background(context);
16383     context.background = function() { return background; };
16384
16385     /* Features */
16386     var features = iD.Features(context);
16387     context.features = function() { return features; };
16388     context.hasHiddenConnections = function(id) {
16389         var graph = history.graph(),
16390             entity = graph.entity(id);
16391         return features.hasHiddenConnections(entity, graph);
16392     };
16393
16394     /* Map */
16395     var map = iD.Map(context);
16396     context.map = function() { return map; };
16397     context.layers = function() { return map.layers; };
16398     context.surface = function() { return map.surface; };
16399     context.editable = function() { return map.editable(); };
16400     context.mouse = map.mouse;
16401     context.extent = map.extent;
16402     context.pan = map.pan;
16403     context.zoomIn = map.zoomIn;
16404     context.zoomOut = map.zoomOut;
16405
16406     context.surfaceRect = function() {
16407         // Work around a bug in Firefox.
16408         //   http://stackoverflow.com/questions/18153989/
16409         //   https://bugzilla.mozilla.org/show_bug.cgi?id=530985
16410         return context.surface().node().parentNode.getBoundingClientRect();
16411     };
16412
16413     /* Presets */
16414     var presets = iD.presets();
16415
16416     context.presets = function(_) {
16417         if (!arguments.length) return presets;
16418         presets.load(_);
16419         iD.areaKeys = presets.areaKeys();
16420         return context;
16421     };
16422
16423     context.imagery = function(_) {
16424         background.load(_);
16425         return context;
16426     };
16427
16428     context.container = function(_) {
16429         if (!arguments.length) return container;
16430         container = _;
16431         container.classed('id-container', true);
16432         return context;
16433     };
16434
16435     /* Taginfo */
16436     var taginfo;
16437     context.taginfo = function(_) {
16438         if (!arguments.length) return taginfo;
16439         taginfo = _;
16440         return context;
16441     };
16442
16443     var embed = false;
16444     context.embed = function(_) {
16445         if (!arguments.length) return embed;
16446         embed = _;
16447         return context;
16448     };
16449
16450     var assetPath = '';
16451     context.assetPath = function(_) {
16452         if (!arguments.length) return assetPath;
16453         assetPath = _;
16454         return context;
16455     };
16456
16457     var assetMap = {};
16458     context.assetMap = function(_) {
16459         if (!arguments.length) return assetMap;
16460         assetMap = _;
16461         return context;
16462     };
16463
16464     context.imagePath = function(_) {
16465         var asset = 'img/' + _;
16466         return assetMap[asset] || assetPath + asset;
16467     };
16468
16469     return d3.rebind(context, dispatch, 'on');
16470 };
16471
16472 iD.version = '1.7.0';
16473
16474 (function() {
16475     var detected = {};
16476
16477     var ua = navigator.userAgent,
16478         msie = new RegExp('MSIE ([0-9]{1,}[\\.0-9]{0,})');
16479
16480     if (msie.exec(ua) !== null) {
16481         var rv = parseFloat(RegExp.$1);
16482         detected.support = !(rv && rv < 9);
16483     } else {
16484         detected.support = true;
16485     }
16486
16487     // Added due to incomplete svg style support. See #715
16488     detected.opera = ua.indexOf('Opera') >= 0;
16489
16490     detected.locale = navigator.language || navigator.userLanguage;
16491
16492     detected.filedrop = (window.FileReader && 'ondrop' in window);
16493
16494     function nav(x) {
16495         return navigator.userAgent.indexOf(x) !== -1;
16496     }
16497
16498     if (nav('Win')) detected.os = 'win';
16499     else if (nav('Mac')) detected.os = 'mac';
16500     else if (nav('X11')) detected.os = 'linux';
16501     else if (nav('Linux')) detected.os = 'linux';
16502     else detected.os = 'win';
16503
16504     iD.detect = function() { return detected; };
16505 })();
16506 iD.countryCode  = function() {
16507     var countryCode = {},
16508         endpoint = 'https://nominatim.openstreetmap.org/reverse?';
16509
16510     if (!iD.countryCode.cache) {
16511         iD.countryCode.cache = rbush();
16512     }
16513
16514     var cache = iD.countryCode.cache;
16515
16516     countryCode.search = function(location, callback) {
16517         var countryCodes = cache.search([location[0], location[1], location[0], location[1]]);
16518
16519         if (countryCodes.length > 0)
16520             return callback(null, countryCodes[0][4]);
16521
16522         d3.json(endpoint +
16523             iD.util.qsString({
16524                 format: 'json',
16525                 addressdetails: 1,
16526                 lat: location[1],
16527                 lon: location[0]
16528             }), function(err, result) {
16529                 if (err)
16530                     return callback(err);
16531                 else if (result && result.error)
16532                     return callback(result.error);
16533
16534                 var extent = iD.geo.Extent(location).padByMeters(1000);
16535
16536                 cache.insert([extent[0][0], extent[0][1], extent[1][0], extent[1][1], result.address.country_code]);
16537
16538                 callback(null, result.address.country_code);
16539             });
16540     };
16541
16542     return countryCode;
16543 };
16544 iD.taginfo = function() {
16545     var taginfo = {},
16546         endpoint = 'https://taginfo.openstreetmap.org/api/4/',
16547         tag_sorts = {
16548             point: 'count_nodes',
16549             vertex: 'count_nodes',
16550             area: 'count_ways',
16551             line: 'count_ways'
16552         },
16553         tag_filters = {
16554             point: 'nodes',
16555             vertex: 'nodes',
16556             area: 'ways',
16557             line: 'ways'
16558         };
16559
16560     if (!iD.taginfo.cache) {
16561         iD.taginfo.cache = {};
16562     }
16563
16564     var cache = iD.taginfo.cache;
16565
16566     function sets(parameters, n, o) {
16567         if (parameters.geometry && o[parameters.geometry]) {
16568             parameters[n] = o[parameters.geometry];
16569         }
16570         return parameters;
16571     }
16572
16573     function setFilter(parameters) {
16574         return sets(parameters, 'filter', tag_filters);
16575     }
16576
16577     function setSort(parameters) {
16578         return sets(parameters, 'sortname', tag_sorts);
16579     }
16580
16581     function clean(parameters) {
16582         return _.omit(parameters, 'geometry', 'debounce');
16583     }
16584
16585     function shorten(parameters) {
16586         if (!parameters.query) {
16587             delete parameters.query;
16588         } else {
16589             parameters.query = parameters.query.slice(0, 3);
16590         }
16591         return parameters;
16592     }
16593
16594     function popularKeys(parameters) {
16595         var pop_field = 'count_all';
16596         if (parameters.filter) pop_field = 'count_' + parameters.filter;
16597         return function(d) { return parseFloat(d[pop_field]) > 10000; };
16598     }
16599
16600     function popularValues() {
16601         return function(d) { return parseFloat(d.fraction) > 0.01 || d.in_wiki; };
16602     }
16603
16604     function valKey(d) { return { value: d.key }; }
16605
16606     function valKeyDescription(d) {
16607         return {
16608             value: d.value,
16609             title: d.description
16610         };
16611     }
16612
16613     var debounced = _.debounce(d3.json, 100, true);
16614
16615     function request(url, debounce, callback) {
16616         if (cache[url]) {
16617             callback(null, cache[url]);
16618         } else if (debounce) {
16619             debounced(url, done);
16620         } else {
16621             d3.json(url, done);
16622         }
16623
16624         function done(err, data) {
16625             if (!err) cache[url] = data;
16626             callback(err, data);
16627         }
16628     }
16629
16630     taginfo.keys = function(parameters, callback) {
16631         var debounce = parameters.debounce;
16632         parameters = clean(shorten(setSort(parameters)));
16633         request(endpoint + 'keys/all?' +
16634             iD.util.qsString(_.extend({
16635                 rp: 10,
16636                 sortname: 'count_all',
16637                 sortorder: 'desc',
16638                 page: 1
16639             }, parameters)), debounce, function(err, d) {
16640                 if (err) return callback(err);
16641                 callback(null, d.data.filter(popularKeys(parameters)).map(valKey));
16642             });
16643     };
16644
16645     taginfo.values = function(parameters, callback) {
16646         var debounce = parameters.debounce;
16647         parameters = clean(shorten(setSort(setFilter(parameters))));
16648         request(endpoint + 'key/values?' +
16649             iD.util.qsString(_.extend({
16650                 rp: 25,
16651                 sortname: 'count_all',
16652                 sortorder: 'desc',
16653                 page: 1
16654             }, parameters)), debounce, function(err, d) {
16655                 if (err) return callback(err);
16656                 callback(null, d.data.filter(popularValues()).map(valKeyDescription), parameters);
16657             });
16658     };
16659
16660     taginfo.docs = function(parameters, callback) {
16661         var debounce = parameters.debounce;
16662         parameters = clean(setSort(parameters));
16663
16664         var path = 'key/wiki_pages?';
16665         if (parameters.value) path = 'tag/wiki_pages?';
16666         else if (parameters.rtype) path = 'relation/wiki_pages?';
16667
16668         request(endpoint + path +
16669             iD.util.qsString(parameters), debounce, callback);
16670     };
16671
16672     taginfo.endpoint = function(_) {
16673         if (!arguments.length) return endpoint;
16674         endpoint = _;
16675         return taginfo;
16676     };
16677
16678     return taginfo;
16679 };
16680 iD.wikipedia  = function() {
16681     var wiki = {},
16682         endpoint = 'https://en.wikipedia.org/w/api.php?';
16683
16684     wiki.search = function(lang, query, callback) {
16685         lang = lang || 'en';
16686         d3.jsonp(endpoint.replace('en', lang) +
16687             iD.util.qsString({
16688                 action: 'query',
16689                 list: 'search',
16690                 srlimit: '10',
16691                 srinfo: 'suggestion',
16692                 format: 'json',
16693                 callback: '{callback}',
16694                 srsearch: query
16695             }), function(data) {
16696                 if (!data.query) return;
16697                 callback(query, data.query.search.map(function(d) {
16698                     return d.title;
16699                 }));
16700             });
16701     };
16702
16703     wiki.suggestions = function(lang, query, callback) {
16704         lang = lang || 'en';
16705         d3.jsonp(endpoint.replace('en', lang) +
16706             iD.util.qsString({
16707                 action: 'opensearch',
16708                 namespace: 0,
16709                 suggest: '',
16710                 format: 'json',
16711                 callback: '{callback}',
16712                 search: query
16713             }), function(d) {
16714                 callback(d[0], d[1]);
16715             });
16716     };
16717
16718     wiki.translations = function(lang, title, callback) {
16719         d3.jsonp(endpoint.replace('en', lang) +
16720             iD.util.qsString({
16721                 action: 'query',
16722                 prop: 'langlinks',
16723                 format: 'json',
16724                 callback: '{callback}',
16725                 lllimit: 500,
16726                 titles: title
16727             }), function(d) {
16728                 var list = d.query.pages[Object.keys(d.query.pages)[0]],
16729                     translations = {};
16730                 if (list && list.langlinks) {
16731                     list.langlinks.forEach(function(d) {
16732                         translations[d.lang] = d['*'];
16733                     });
16734                     callback(translations);
16735                 }
16736             });
16737     };
16738
16739     return wiki;
16740 };
16741 iD.util = {};
16742
16743 iD.util.tagText = function(entity) {
16744     return d3.entries(entity.tags).map(function(e) {
16745         return e.key + '=' + e.value;
16746     }).join(', ');
16747 };
16748
16749 iD.util.entitySelector = function(ids) {
16750     return ids.length ? '.' + ids.join(',.') : 'nothing';
16751 };
16752
16753 iD.util.entityOrMemberSelector = function(ids, graph) {
16754     var s = iD.util.entitySelector(ids);
16755
16756     ids.forEach(function(id) {
16757         var entity = graph.hasEntity(id);
16758         if (entity && entity.type === 'relation') {
16759             entity.members.forEach(function(member) {
16760                 s += ',.' + member.id;
16761             });
16762         }
16763     });
16764
16765     return s;
16766 };
16767
16768 iD.util.displayName = function(entity) {
16769     var localeName = 'name:' + iD.detect().locale.toLowerCase().split('-')[0];
16770     return entity.tags[localeName] || entity.tags.name || entity.tags.ref;
16771 };
16772
16773 iD.util.stringQs = function(str) {
16774     return str.split('&').reduce(function(obj, pair){
16775         var parts = pair.split('=');
16776         if (parts.length === 2) {
16777             obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]);
16778         }
16779         return obj;
16780     }, {});
16781 };
16782
16783 iD.util.qsString = function(obj, noencode) {
16784     function softEncode(s) {
16785       // encode everything except special characters used in certain hash parameters:
16786       // "/" in map states, ":", ",", {" and "}" in background
16787       return encodeURIComponent(s).replace(/(%2F|%3A|%2C|%7B|%7D)/g, decodeURIComponent);
16788     }
16789     return Object.keys(obj).sort().map(function(key) {
16790         return encodeURIComponent(key) + '=' + (
16791             noencode ? softEncode(obj[key]) : encodeURIComponent(obj[key]));
16792     }).join('&');
16793 };
16794
16795 iD.util.prefixDOMProperty = function(property) {
16796     var prefixes = ['webkit', 'ms', 'moz', 'o'],
16797         i = -1,
16798         n = prefixes.length,
16799         s = document.body;
16800
16801     if (property in s)
16802         return property;
16803
16804     property = property.substr(0, 1).toUpperCase() + property.substr(1);
16805
16806     while (++i < n)
16807         if (prefixes[i] + property in s)
16808             return prefixes[i] + property;
16809
16810     return false;
16811 };
16812
16813 iD.util.prefixCSSProperty = function(property) {
16814     var prefixes = ['webkit', 'ms', 'Moz', 'O'],
16815         i = -1,
16816         n = prefixes.length,
16817         s = document.body.style;
16818
16819     if (property.toLowerCase() in s)
16820         return property.toLowerCase();
16821
16822     while (++i < n)
16823         if (prefixes[i] + property in s)
16824             return '-' + prefixes[i].toLowerCase() + property.replace(/([A-Z])/g, '-$1').toLowerCase();
16825
16826     return false;
16827 };
16828
16829
16830 iD.util.setTransform = function(el, x, y, scale) {
16831     var prop = iD.util.transformProperty = iD.util.transformProperty || iD.util.prefixCSSProperty('Transform'),
16832         translate = iD.detect().opera ?
16833             'translate('   + x + 'px,' + y + 'px)' :
16834             'translate3d(' + x + 'px,' + y + 'px,0)';
16835     return el.style(prop, translate + (scale ? ' scale(' + scale + ')' : ''));
16836 };
16837
16838 iD.util.getStyle = function(selector) {
16839     for (var i = 0; i < document.styleSheets.length; i++) {
16840         var rules = document.styleSheets[i].rules || document.styleSheets[i].cssRules || [];
16841         for (var k = 0; k < rules.length; k++) {
16842             var selectorText = rules[k].selectorText && rules[k].selectorText.split(', ');
16843             if (_.contains(selectorText, selector)) {
16844                 return rules[k];
16845             }
16846         }
16847     }
16848 };
16849
16850 iD.util.editDistance = function(a, b) {
16851     if (a.length === 0) return b.length;
16852     if (b.length === 0) return a.length;
16853     var matrix = [];
16854     for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; }
16855     for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; }
16856     for (i = 1; i <= b.length; i++) {
16857         for (j = 1; j <= a.length; j++) {
16858             if (b.charAt(i-1) === a.charAt(j-1)) {
16859                 matrix[i][j] = matrix[i-1][j-1];
16860             } else {
16861                 matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution
16862                     Math.min(matrix[i][j-1] + 1, // insertion
16863                     matrix[i-1][j] + 1)); // deletion
16864             }
16865         }
16866     }
16867     return matrix[b.length][a.length];
16868 };
16869
16870 // a d3.mouse-alike which
16871 // 1. Only works on HTML elements, not SVG
16872 // 2. Does not cause style recalculation
16873 iD.util.fastMouse = function(container) {
16874     var rect = _.clone(container.getBoundingClientRect()),
16875         rectLeft = rect.left,
16876         rectTop = rect.top,
16877         clientLeft = +container.clientLeft,
16878         clientTop = +container.clientTop;
16879     return function(e) {
16880         return [
16881             e.clientX - rectLeft - clientLeft,
16882             e.clientY - rectTop - clientTop];
16883     };
16884 };
16885
16886 /* jshint -W103 */
16887 iD.util.getPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; };
16888
16889 iD.util.asyncMap = function(inputs, func, callback) {
16890     var remaining = inputs.length,
16891         results = [],
16892         errors = [];
16893
16894     inputs.forEach(function(d, i) {
16895         func(d, function done(err, data) {
16896             errors[i] = err;
16897             results[i] = data;
16898             remaining --;
16899             if (!remaining) callback(errors, results);
16900         });
16901     });
16902 };
16903
16904 // wraps an index to an interval [0..length-1]
16905 iD.util.wrap = function(index, length) {
16906     if (index < 0)
16907         index += Math.ceil(-index/length)*length;
16908     return index % length;
16909 };
16910 // A per-domain session mutex backed by a cookie and dead man's
16911 // switch. If the session crashes, the mutex will auto-release
16912 // after 5 seconds.
16913
16914 iD.util.SessionMutex = function(name) {
16915     var mutex = {},
16916         intervalID;
16917
16918     function renew() {
16919         var expires = new Date();
16920         expires.setSeconds(expires.getSeconds() + 5);
16921         document.cookie = name + '=1; expires=' + expires.toUTCString();
16922     }
16923
16924     mutex.lock = function() {
16925         if (intervalID) return true;
16926         var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1');
16927         if (cookie) return false;
16928         renew();
16929         intervalID = window.setInterval(renew, 4000);
16930         return true;
16931     };
16932
16933     mutex.unlock = function() {
16934         if (!intervalID) return;
16935         document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT';
16936         clearInterval(intervalID);
16937         intervalID = null;
16938     };
16939
16940     mutex.locked = function() {
16941         return !!intervalID;
16942     };
16943
16944     return mutex;
16945 };
16946 iD.util.SuggestNames = function(preset, suggestions) {
16947     preset = preset.id.split('/', 2);
16948     var k = preset[0],
16949         v = preset[1];
16950
16951     return function(value, callback) {
16952         var result = [];
16953         if (value && value.length > 2) {
16954             if (suggestions[k] && suggestions[k][v]) {
16955                 for (var sugg in suggestions[k][v]) {
16956                     var dist = iD.util.editDistance(value, sugg.substring(0, value.length));
16957                     if (dist < 3) {
16958                         result.push({
16959                             title: sugg,
16960                             value: sugg,
16961                             dist: dist
16962                         });
16963                     }
16964                 }
16965             }
16966             result.sort(function(a, b) {
16967                 return a.dist - b.dist;
16968             });
16969         }
16970         result = result.slice(0,3);
16971         callback(result);
16972     };
16973 };
16974 iD.geo = {};
16975
16976 iD.geo.roundCoords = function(c) {
16977     return [Math.floor(c[0]), Math.floor(c[1])];
16978 };
16979
16980 iD.geo.interp = function(p1, p2, t) {
16981     return [p1[0] + (p2[0] - p1[0]) * t,
16982             p1[1] + (p2[1] - p1[1]) * t];
16983 };
16984
16985 // 2D cross product of OA and OB vectors, i.e. z-component of their 3D cross product.
16986 // Returns a positive value, if OAB makes a counter-clockwise turn,
16987 // negative for clockwise turn, and zero if the points are collinear.
16988 iD.geo.cross = function(o, a, b) {
16989     return (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - o[0]);
16990 };
16991
16992 // http://jsperf.com/id-dist-optimization
16993 iD.geo.euclideanDistance = function(a, b) {
16994     var x = a[0] - b[0], y = a[1] - b[1];
16995     return Math.sqrt((x * x) + (y * y));
16996 };
16997
16998 // using WGS84 polar radius (6356752.314245179 m)
16999 // const = 2 * PI * r / 360
17000 iD.geo.latToMeters = function(dLat) {
17001     return dLat * 110946.257617;
17002 };
17003
17004 // using WGS84 equatorial radius (6378137.0 m)
17005 // const = 2 * PI * r / 360
17006 iD.geo.lonToMeters = function(dLon, atLat) {
17007     return Math.abs(atLat) >= 90 ? 0 :
17008         dLon * 111319.490793 * Math.abs(Math.cos(atLat * (Math.PI/180)));
17009 };
17010
17011 // using WGS84 polar radius (6356752.314245179 m)
17012 // const = 2 * PI * r / 360
17013 iD.geo.metersToLat = function(m) {
17014     return m / 110946.257617;
17015 };
17016
17017 // using WGS84 equatorial radius (6378137.0 m)
17018 // const = 2 * PI * r / 360
17019 iD.geo.metersToLon = function(m, atLat) {
17020     return Math.abs(atLat) >= 90 ? 0 :
17021         m / 111319.490793 / Math.abs(Math.cos(atLat * (Math.PI/180)));
17022 };
17023
17024 // Equirectangular approximation of spherical distances on Earth
17025 iD.geo.sphericalDistance = function(a, b) {
17026     var x = iD.geo.lonToMeters(a[0] - b[0], (a[1] + b[1]) / 2),
17027         y = iD.geo.latToMeters(a[1] - b[1]);
17028     return Math.sqrt((x * x) + (y * y));
17029 };
17030
17031 iD.geo.edgeEqual = function(a, b) {
17032     return (a[0] === b[0] && a[1] === b[1]) ||
17033         (a[0] === b[1] && a[1] === b[0]);
17034 };
17035
17036 // Return the counterclockwise angle in the range (-pi, pi)
17037 // between the positive X axis and the line intersecting a and b.
17038 iD.geo.angle = function(a, b, projection) {
17039     a = projection(a.loc);
17040     b = projection(b.loc);
17041     return Math.atan2(b[1] - a[1], b[0] - a[0]);
17042 };
17043
17044 // Choose the edge with the minimal distance from `point` to its orthogonal
17045 // projection onto that edge, if such a projection exists, or the distance to
17046 // the closest vertex on that edge. Returns an object with the `index` of the
17047 // chosen edge, the chosen `loc` on that edge, and the `distance` to to it.
17048 iD.geo.chooseEdge = function(nodes, point, projection) {
17049     var dist = iD.geo.euclideanDistance,
17050         points = nodes.map(function(n) { return projection(n.loc); }),
17051         min = Infinity,
17052         idx, loc;
17053
17054     function dot(p, q) {
17055         return p[0] * q[0] + p[1] * q[1];
17056     }
17057
17058     for (var i = 0; i < points.length - 1; i++) {
17059         var o = points[i],
17060             s = [points[i + 1][0] - o[0],
17061                  points[i + 1][1] - o[1]],
17062             v = [point[0] - o[0],
17063                  point[1] - o[1]],
17064             proj = dot(v, s) / dot(s, s),
17065             p;
17066
17067         if (proj < 0) {
17068             p = o;
17069         } else if (proj > 1) {
17070             p = points[i + 1];
17071         } else {
17072             p = [o[0] + proj * s[0], o[1] + proj * s[1]];
17073         }
17074
17075         var d = dist(p, point);
17076         if (d < min) {
17077             min = d;
17078             idx = i + 1;
17079             loc = projection.invert(p);
17080         }
17081     }
17082
17083     return {
17084         index: idx,
17085         distance: min,
17086         loc: loc
17087     };
17088 };
17089
17090 // Return the intersection point of 2 line segments.
17091 // From https://github.com/pgkelley4/line-segments-intersect
17092 // This uses the vector cross product approach described below:
17093 //  http://stackoverflow.com/a/565282/786339
17094 iD.geo.lineIntersection = function(a, b) {
17095     function subtractPoints(point1, point2) {
17096         return [point1[0] - point2[0], point1[1] - point2[1]];
17097     }
17098     function crossProduct(point1, point2) {
17099         return point1[0] * point2[1] - point1[1] * point2[0];
17100     }
17101
17102     var p = [a[0][0], a[0][1]],
17103         p2 = [a[1][0], a[1][1]],
17104         q = [b[0][0], b[0][1]],
17105         q2 = [b[1][0], b[1][1]],
17106         r = subtractPoints(p2, p),
17107         s = subtractPoints(q2, q),
17108         uNumerator = crossProduct(subtractPoints(q, p), r),
17109         denominator = crossProduct(r, s);
17110
17111     if (uNumerator && denominator) {
17112         var u = uNumerator / denominator,
17113             t = crossProduct(subtractPoints(q, p), s) / denominator;
17114
17115         if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) {
17116             return iD.geo.interp(p, p2, t);
17117         }
17118     }
17119
17120     return null;
17121 };
17122
17123 // Return whether point is contained in polygon.
17124 //
17125 // `point` should be a 2-item array of coordinates.
17126 // `polygon` should be an array of 2-item arrays of coordinates.
17127 //
17128 // From https://github.com/substack/point-in-polygon.
17129 // ray-casting algorithm based on
17130 // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
17131 //
17132 iD.geo.pointInPolygon = function(point, polygon) {
17133     var x = point[0],
17134         y = point[1],
17135         inside = false;
17136
17137     for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
17138         var xi = polygon[i][0], yi = polygon[i][1];
17139         var xj = polygon[j][0], yj = polygon[j][1];
17140
17141         var intersect = ((yi > y) !== (yj > y)) &&
17142             (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
17143         if (intersect) inside = !inside;
17144     }
17145
17146     return inside;
17147 };
17148
17149 iD.geo.polygonContainsPolygon = function(outer, inner) {
17150     return _.every(inner, function(point) {
17151         return iD.geo.pointInPolygon(point, outer);
17152     });
17153 };
17154
17155 iD.geo.polygonIntersectsPolygon = function(outer, inner) {
17156     function testSegments(outer, inner) {
17157         for (var i = 0; i < outer.length - 1; i++) {
17158             for (var j = 0; j < inner.length - 1; j++) {
17159                 var a = [ outer[i], outer[i+1] ],
17160                     b = [ inner[j], inner[j+1] ];
17161                 if (iD.geo.lineIntersection(a, b)) return true;
17162             }
17163         }
17164         return false;
17165     }
17166
17167     return _.some(inner, function(point) {
17168         return iD.geo.pointInPolygon(point, outer);
17169     }) || testSegments(outer, inner);
17170 };
17171
17172 iD.geo.pathLength = function(path) {
17173     var length = 0,
17174         dx, dy;
17175     for (var i = 0; i < path.length - 1; i++) {
17176         dx = path[i][0] - path[i + 1][0];
17177         dy = path[i][1] - path[i + 1][1];
17178         length += Math.sqrt(dx * dx + dy * dy);
17179     }
17180     return length;
17181 };
17182 iD.geo.Extent = function geoExtent(min, max) {
17183     if (!(this instanceof iD.geo.Extent)) return new iD.geo.Extent(min, max);
17184     if (min instanceof iD.geo.Extent) {
17185         return min;
17186     } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) {
17187         this[0] = min[0];
17188         this[1] = min[1];
17189     } else {
17190         this[0] = min        || [ Infinity,  Infinity];
17191         this[1] = max || min || [-Infinity, -Infinity];
17192     }
17193 };
17194
17195 iD.geo.Extent.prototype = new Array(2);
17196
17197 _.extend(iD.geo.Extent.prototype, {
17198     equals: function (obj) {
17199         return this[0][0] === obj[0][0] &&
17200             this[0][1] === obj[0][1] &&
17201             this[1][0] === obj[1][0] &&
17202             this[1][1] === obj[1][1];
17203     },
17204
17205     extend: function(obj) {
17206         if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
17207         return iD.geo.Extent([Math.min(obj[0][0], this[0][0]),
17208                               Math.min(obj[0][1], this[0][1])],
17209                              [Math.max(obj[1][0], this[1][0]),
17210                               Math.max(obj[1][1], this[1][1])]);
17211     },
17212
17213     _extend: function(extent) {
17214         this[0][0] = Math.min(extent[0][0], this[0][0]);
17215         this[0][1] = Math.min(extent[0][1], this[0][1]);
17216         this[1][0] = Math.max(extent[1][0], this[1][0]);
17217         this[1][1] = Math.max(extent[1][1], this[1][1]);
17218     },
17219
17220     area: function() {
17221         return Math.abs((this[1][0] - this[0][0]) * (this[1][1] - this[0][1]));
17222     },
17223
17224     center: function() {
17225         return [(this[0][0] + this[1][0]) / 2,
17226                 (this[0][1] + this[1][1]) / 2];
17227     },
17228
17229     polygon: function() {
17230         return [
17231             [this[0][0], this[0][1]],
17232             [this[0][0], this[1][1]],
17233             [this[1][0], this[1][1]],
17234             [this[1][0], this[0][1]],
17235             [this[0][0], this[0][1]]
17236         ];
17237     },
17238
17239     intersects: function(obj) {
17240         if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
17241         return obj[0][0] <= this[1][0] &&
17242                obj[0][1] <= this[1][1] &&
17243                obj[1][0] >= this[0][0] &&
17244                obj[1][1] >= this[0][1];
17245     },
17246
17247     intersection: function(obj) {
17248         if (!this.intersects(obj)) return new iD.geo.Extent();
17249         return new iD.geo.Extent([Math.max(obj[0][0], this[0][0]),
17250                                   Math.max(obj[0][1], this[0][1])],
17251                                  [Math.min(obj[1][0], this[1][0]),
17252                                   Math.min(obj[1][1], this[1][1])]);
17253     },
17254
17255     percentContainedIn: function(obj) {
17256         if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
17257         var a1 = this.intersection(obj).area(),
17258             a2 = this.area();
17259
17260         if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) {
17261             return 0;
17262         } else {
17263             return a1 / a2;
17264         }
17265     },
17266
17267     padByMeters: function(meters) {
17268         var dLat = iD.geo.metersToLat(meters),
17269             dLon = iD.geo.metersToLon(meters, this.center()[1]);
17270         return iD.geo.Extent(
17271                 [this[0][0] - dLon, this[0][1] - dLat],
17272                 [this[1][0] + dLon, this[1][1] + dLat]);
17273     },
17274
17275     toParam: function() {
17276         return [this[0][0], this[0][1], this[1][0], this[1][1]].join(',');
17277     }
17278
17279 });
17280 iD.geo.Turn = function(turn) {
17281     if (!(this instanceof iD.geo.Turn))
17282         return new iD.geo.Turn(turn);
17283     _.extend(this, turn);
17284 };
17285
17286 iD.geo.Intersection = function(graph, vertexId) {
17287     var vertex = graph.entity(vertexId),
17288         highways = [];
17289
17290     // Pre-split ways that would need to be split in
17291     // order to add a restriction. The real split will
17292     // happen when the restriction is added.
17293     graph.parentWays(vertex).forEach(function(way) {
17294         if (!way.tags.highway || way.isArea() || way.isDegenerate())
17295             return;
17296
17297         if (way.affix(vertexId)) {
17298             highways.push(way);
17299         } else {
17300             var idx = _.indexOf(way.nodes, vertex.id, 1),
17301                 wayA = iD.Way({id: way.id + '-a', tags: way.tags, nodes: way.nodes.slice(0, idx + 1)}),
17302                 wayB = iD.Way({id: way.id + '-b', tags: way.tags, nodes: way.nodes.slice(idx)});
17303
17304             graph = graph.replace(wayA);
17305             graph = graph.replace(wayB);
17306
17307             highways.push(wayA);
17308             highways.push(wayB);
17309         }
17310     });
17311
17312     var intersection = {
17313         highways: highways,
17314         graph: graph
17315     };
17316
17317     intersection.turns = function(fromNodeID) {
17318         if (!fromNodeID)
17319             return [];
17320
17321         var way = _.find(highways, function(way) { return way.contains(fromNodeID); });
17322         if (way.first() === vertex.id && way.tags.oneway === 'yes')
17323             return [];
17324         if (way.last() === vertex.id && way.tags.oneway === '-1')
17325             return [];
17326
17327         function withRestriction(turn) {
17328             graph.parentRelations(graph.entity(turn.from.way)).forEach(function(relation) {
17329                 if (relation.tags.type !== 'restriction')
17330                     return;
17331
17332                 var f = relation.memberByRole('from'),
17333                     t = relation.memberByRole('to'),
17334                     v = relation.memberByRole('via');
17335
17336                 if (f && f.id === turn.from.way &&
17337                     v && v.id === turn.via.node &&
17338                     t && t.id === turn.to.way) {
17339                     turn.restriction = relation.id;
17340                 } else if (/^only_/.test(relation.tags.restriction) &&
17341                     f && f.id === turn.from.way &&
17342                     v && v.id === turn.via.node &&
17343                     t && t.id !== turn.to.way) {
17344                     turn.restriction = relation.id;
17345                     turn.indirect_restriction = true;
17346                 }
17347             });
17348
17349             return iD.geo.Turn(turn);
17350         }
17351
17352         var from = {
17353                 node: way.nodes[way.first() === vertex.id ? 1 : way.nodes.length - 2],
17354                 way: way.id.split(/-(a|b)/)[0]
17355             },
17356             via = {node: vertex.id},
17357             turns = [];
17358
17359         highways.forEach(function(parent) {
17360             if (parent === way)
17361                 return;
17362
17363             var index = parent.nodes.indexOf(vertex.id);
17364
17365             // backward
17366             if (parent.first() !== vertex.id && parent.tags.oneway !== 'yes') {
17367                 turns.push(withRestriction({
17368                     from: from,
17369                     via: via,
17370                     to: {node: parent.nodes[index - 1], way: parent.id.split(/-(a|b)/)[0]}
17371                 }));
17372             }
17373
17374             // forward
17375             if (parent.last() !== vertex.id && parent.tags.oneway !== '-1') {
17376                 turns.push(withRestriction({
17377                     from: from,
17378                     via: via,
17379                     to: {node: parent.nodes[index + 1], way: parent.id.split(/-(a|b)/)[0]}
17380                 }));
17381             }
17382         });
17383
17384         // U-turn
17385         if (way.tags.oneway !== 'yes' && way.tags.oneway !== '-1') {
17386             turns.push(withRestriction({
17387                 from: from,
17388                 via: via,
17389                 to: from,
17390                 u: true
17391             }));
17392         }
17393
17394         return turns;
17395     };
17396
17397     return intersection;
17398 };
17399
17400
17401 iD.geo.inferRestriction = function(graph, from, via, to, projection) {
17402     var fromWay = graph.entity(from.way),
17403         fromNode = graph.entity(from.node),
17404         toWay = graph.entity(to.way),
17405         toNode = graph.entity(to.node),
17406         viaNode = graph.entity(via.node),
17407         fromOneWay = (fromWay.tags.oneway === 'yes' && fromWay.last() === via.node) ||
17408             (fromWay.tags.oneway === '-1' && fromWay.first() === via.node),
17409         toOneWay = (toWay.tags.oneway === 'yes' && toWay.first() === via.node) ||
17410             (toWay.tags.oneway === '-1' && toWay.last() === via.node),
17411         angle = iD.geo.angle(viaNode, fromNode, projection) -
17412                 iD.geo.angle(viaNode, toNode, projection);
17413
17414     angle = angle * 180 / Math.PI;
17415
17416     while (angle < 0)
17417         angle += 360;
17418
17419     if (fromNode === toNode)
17420         return 'no_u_turn';
17421     if ((angle < 23 || angle > 336) && fromOneWay && toOneWay)
17422         return 'no_u_turn';
17423     if (angle < 158)
17424         return 'no_right_turn';
17425     if (angle > 202)
17426         return 'no_left_turn';
17427
17428     return 'no_straight_on';
17429 };
17430 // For fixing up rendering of multipolygons with tags on the outer member.
17431 // https://github.com/openstreetmap/iD/issues/613
17432 iD.geo.isSimpleMultipolygonOuterMember = function(entity, graph) {
17433     if (entity.type !== 'way')
17434         return false;
17435
17436     var parents = graph.parentRelations(entity);
17437     if (parents.length !== 1)
17438         return false;
17439
17440     var parent = parents[0];
17441     if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
17442         return false;
17443
17444     var members = parent.members, member;
17445     for (var i = 0; i < members.length; i++) {
17446         member = members[i];
17447         if (member.id === entity.id && member.role && member.role !== 'outer')
17448             return false; // Not outer member
17449         if (member.id !== entity.id && (!member.role || member.role === 'outer'))
17450             return false; // Not a simple multipolygon
17451     }
17452
17453     return parent;
17454 };
17455
17456 iD.geo.simpleMultipolygonOuterMember = function(entity, graph) {
17457     if (entity.type !== 'way')
17458         return false;
17459
17460     var parents = graph.parentRelations(entity);
17461     if (parents.length !== 1)
17462         return false;
17463
17464     var parent = parents[0];
17465     if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
17466         return false;
17467
17468     var members = parent.members, member, outerMember;
17469     for (var i = 0; i < members.length; i++) {
17470         member = members[i];
17471         if (!member.role || member.role === 'outer') {
17472             if (outerMember)
17473                 return false; // Not a simple multipolygon
17474             outerMember = member;
17475         }
17476     }
17477
17478     return outerMember && graph.hasEntity(outerMember.id);
17479 };
17480
17481 // Join `array` into sequences of connecting ways.
17482 //
17483 // Segments which share identical start/end nodes will, as much as possible,
17484 // be connected with each other.
17485 //
17486 // The return value is a nested array. Each constituent array contains elements
17487 // of `array` which have been determined to connect. Each consitituent array
17488 // also has a `nodes` property whose value is an ordered array of member nodes,
17489 // with appropriate order reversal and start/end coordinate de-duplication.
17490 //
17491 // Members of `array` must have, at minimum, `type` and `id` properties.
17492 // Thus either an array of `iD.Way`s or a relation member array may be
17493 // used.
17494 //
17495 // If an member has a `tags` property, its tags will be reversed via
17496 // `iD.actions.Reverse` in the output.
17497 //
17498 // Incomplete members (those for which `graph.hasEntity(element.id)` returns
17499 // false) and non-way members are ignored.
17500 //
17501 iD.geo.joinWays = function(array, graph) {
17502     var joined = [], member, current, nodes, first, last, i, how, what;
17503
17504     array = array.filter(function(member) {
17505         return member.type === 'way' && graph.hasEntity(member.id);
17506     });
17507
17508     function resolve(member) {
17509         return graph.childNodes(graph.entity(member.id));
17510     }
17511
17512     function reverse(member) {
17513         return member.tags ? iD.actions.Reverse(member.id)(graph).entity(member.id) : member;
17514     }
17515
17516     while (array.length) {
17517         member = array.shift();
17518         current = [member];
17519         current.nodes = nodes = resolve(member).slice();
17520         joined.push(current);
17521
17522         while (array.length && _.first(nodes) !== _.last(nodes)) {
17523             first = _.first(nodes);
17524             last  = _.last(nodes);
17525
17526             for (i = 0; i < array.length; i++) {
17527                 member = array[i];
17528                 what = resolve(member);
17529
17530                 if (last === _.first(what)) {
17531                     how  = nodes.push;
17532                     what = what.slice(1);
17533                     break;
17534                 } else if (last === _.last(what)) {
17535                     how  = nodes.push;
17536                     what = what.slice(0, -1).reverse();
17537                     member = reverse(member);
17538                     break;
17539                 } else if (first === _.last(what)) {
17540                     how  = nodes.unshift;
17541                     what = what.slice(0, -1);
17542                     break;
17543                 } else if (first === _.first(what)) {
17544                     how  = nodes.unshift;
17545                     what = what.slice(1).reverse();
17546                     member = reverse(member);
17547                     break;
17548                 } else {
17549                     what = how = null;
17550                 }
17551             }
17552
17553             if (!what)
17554                 break; // No more joinable ways.
17555
17556             how.apply(current, [member]);
17557             how.apply(nodes, what);
17558
17559             array.splice(i, 1);
17560         }
17561     }
17562
17563     return joined;
17564 };
17565 /*
17566     Bypasses features of D3's default projection stream pipeline that are unnecessary:
17567     * Antimeridian clipping
17568     * Spherical rotation
17569     * Resampling
17570 */
17571 iD.geo.RawMercator = function () {
17572     var project = d3.geo.mercator.raw,
17573         k = 512 / Math.PI, // scale
17574         x = 0, y = 0, // translate
17575         clipExtent = [[0, 0], [0, 0]];
17576
17577     function projection(point) {
17578         point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180);
17579         return [point[0] * k + x, y - point[1] * k];
17580     }
17581
17582     projection.invert = function(point) {
17583         point = project.invert((point[0] - x) / k, (y - point[1]) / k);
17584         return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI];
17585     };
17586
17587     projection.scale = function(_) {
17588         if (!arguments.length) return k;
17589         k = +_;
17590         return projection;
17591     };
17592
17593     projection.translate = function(_) {
17594         if (!arguments.length) return [x, y];
17595         x = +_[0];
17596         y = +_[1];
17597         return projection;
17598     };
17599
17600     projection.clipExtent = function(_) {
17601         if (!arguments.length) return clipExtent;
17602         clipExtent = _;
17603         return projection;
17604     };
17605
17606     projection.stream = d3.geo.transform({
17607         point: function(x, y) {
17608             x = projection([x, y]);
17609             this.stream.point(x[0], x[1]);
17610         }
17611     }).stream;
17612
17613     return projection;
17614 };
17615 iD.actions = {};
17616 iD.actions.AddEntity = function(way) {
17617     return function(graph) {
17618         return graph.replace(way);
17619     };
17620 };
17621 iD.actions.AddMember = function(relationId, member, memberIndex) {
17622     return function(graph) {
17623         var relation = graph.entity(relationId);
17624
17625         if (isNaN(memberIndex) && member.type === 'way') {
17626             var members = relation.indexedMembers();
17627             members.push(member);
17628
17629             var joined = iD.geo.joinWays(members, graph);
17630             for (var i = 0; i < joined.length; i++) {
17631                 var segment = joined[i];
17632                 for (var j = 0; j < segment.length && segment.length >= 2; j++) {
17633                     if (segment[j] !== member)
17634                         continue;
17635
17636                     if (j === 0) {
17637                         memberIndex = segment[j + 1].index;
17638                     } else if (j === segment.length - 1) {
17639                         memberIndex = segment[j - 1].index + 1;
17640                     } else {
17641                         memberIndex = Math.min(segment[j - 1].index + 1, segment[j + 1].index + 1);
17642                     }
17643                 }
17644             }
17645         }
17646
17647         return graph.replace(relation.addMember(member, memberIndex));
17648     };
17649 };
17650 iD.actions.AddMidpoint = function(midpoint, node) {
17651     return function(graph) {
17652         graph = graph.replace(node.move(midpoint.loc));
17653
17654         var parents = _.intersection(
17655             graph.parentWays(graph.entity(midpoint.edge[0])),
17656             graph.parentWays(graph.entity(midpoint.edge[1])));
17657
17658         parents.forEach(function(way) {
17659             for (var i = 0; i < way.nodes.length - 1; i++) {
17660                 if (iD.geo.edgeEqual([way.nodes[i], way.nodes[i + 1]], midpoint.edge)) {
17661                     graph = graph.replace(graph.entity(way.id).addNode(node.id, i + 1));
17662
17663                     // Add only one midpoint on doubled-back segments,
17664                     // turning them into self-intersections.
17665                     return;
17666                 }
17667             }
17668         });
17669
17670         return graph;
17671     };
17672 };
17673 // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/AddNodeToWayAction.as
17674 iD.actions.AddVertex = function(wayId, nodeId, index) {
17675     return function(graph) {
17676         return graph.replace(graph.entity(wayId).addNode(nodeId, index));
17677     };
17678 };
17679 iD.actions.ChangeMember = function(relationId, member, memberIndex) {
17680     return function(graph) {
17681         return graph.replace(graph.entity(relationId).updateMember(member, memberIndex));
17682     };
17683 };
17684 iD.actions.ChangePreset = function(entityId, oldPreset, newPreset) {
17685     return function(graph) {
17686         var entity = graph.entity(entityId),
17687             geometry = entity.geometry(graph),
17688             tags = entity.tags;
17689
17690         if (oldPreset) tags = oldPreset.removeTags(tags, geometry);
17691         if (newPreset) tags = newPreset.applyTags(tags, geometry);
17692
17693         return graph.replace(entity.update({tags: tags}));
17694     };
17695 };
17696 iD.actions.ChangeTags = function(entityId, tags) {
17697     return function(graph) {
17698         var entity = graph.entity(entityId);
17699         return graph.replace(entity.update({tags: tags}));
17700     };
17701 };
17702 iD.actions.Circularize = function(wayId, projection, maxAngle) {
17703     maxAngle = (maxAngle || 20) * Math.PI / 180;
17704
17705     var action = function(graph) {
17706         var way = graph.entity(wayId);
17707
17708         if (!way.isConvex(graph)) {
17709             graph = action.makeConvex(graph);
17710         }
17711
17712         var nodes = _.uniq(graph.childNodes(way)),
17713             keyNodes = nodes.filter(function(n) { return graph.parentWays(n).length !== 1; }),
17714             points = nodes.map(function(n) { return projection(n.loc); }),
17715             keyPoints = keyNodes.map(function(n) { return projection(n.loc); }),
17716             centroid = (points.length === 2) ? iD.geo.interp(points[0], points[1], 0.5) : d3.geom.polygon(points).centroid(),
17717             radius = d3.median(points, function(p) { return iD.geo.euclideanDistance(centroid, p); }),
17718             sign = d3.geom.polygon(points).area() > 0 ? 1 : -1,
17719             ids;
17720
17721         // we need atleast two key nodes for the algorithm to work
17722         if (!keyNodes.length) {
17723             keyNodes = [nodes[0]];
17724             keyPoints = [points[0]];
17725         }
17726
17727         if (keyNodes.length === 1) {
17728             var index = nodes.indexOf(keyNodes[0]),
17729                 oppositeIndex = Math.floor((index + nodes.length / 2) % nodes.length);
17730
17731             keyNodes.push(nodes[oppositeIndex]);
17732             keyPoints.push(points[oppositeIndex]);
17733         }
17734
17735         // key points and nodes are those connected to the ways,
17736         // they are projected onto the circle, inbetween nodes are moved
17737         // to constant intervals between key nodes, extra inbetween nodes are
17738         // added if necessary.
17739         for (var i = 0; i < keyPoints.length; i++) {
17740             var nextKeyNodeIndex = (i + 1) % keyNodes.length,
17741                 startNode = keyNodes[i],
17742                 endNode = keyNodes[nextKeyNodeIndex],
17743                 startNodeIndex = nodes.indexOf(startNode),
17744                 endNodeIndex = nodes.indexOf(endNode),
17745                 numberNewPoints = -1,
17746                 indexRange = endNodeIndex - startNodeIndex,
17747                 distance, totalAngle, eachAngle, startAngle, endAngle,
17748                 angle, loc, node, j,
17749                 inBetweenNodes = [];
17750
17751             if (indexRange < 0) {
17752                 indexRange += nodes.length;
17753             }
17754
17755             // position this key node
17756             distance = iD.geo.euclideanDistance(centroid, keyPoints[i]);
17757             if (distance === 0) { distance = 1e-4; }
17758             keyPoints[i] = [
17759                 centroid[0] + (keyPoints[i][0] - centroid[0]) / distance * radius,
17760                 centroid[1] + (keyPoints[i][1] - centroid[1]) / distance * radius];
17761             graph = graph.replace(keyNodes[i].move(projection.invert(keyPoints[i])));
17762
17763             // figure out the between delta angle we want to match to
17764             startAngle = Math.atan2(keyPoints[i][1] - centroid[1], keyPoints[i][0] - centroid[0]);
17765             endAngle = Math.atan2(keyPoints[nextKeyNodeIndex][1] - centroid[1], keyPoints[nextKeyNodeIndex][0] - centroid[0]);
17766             totalAngle = endAngle - startAngle;
17767
17768             // detects looping around -pi/pi
17769             if (totalAngle * sign > 0) {
17770                 totalAngle = -sign * (2 * Math.PI - Math.abs(totalAngle));
17771             }
17772
17773             do {
17774                 numberNewPoints++;
17775                 eachAngle = totalAngle / (indexRange + numberNewPoints);
17776             } while (Math.abs(eachAngle) > maxAngle);
17777
17778             // move existing points
17779             for (j = 1; j < indexRange; j++) {
17780                 angle = startAngle + j * eachAngle;
17781                 loc = projection.invert([
17782                     centroid[0] + Math.cos(angle)*radius,
17783                     centroid[1] + Math.sin(angle)*radius]);
17784
17785                 node = nodes[(j + startNodeIndex) % nodes.length].move(loc);
17786                 graph = graph.replace(node);
17787             }
17788
17789             // add new inbetween nodes if necessary
17790             for (j = 0; j < numberNewPoints; j++) {
17791                 angle = startAngle + (indexRange + j) * eachAngle;
17792                 loc = projection.invert([
17793                     centroid[0] + Math.cos(angle) * radius,
17794                     centroid[1] + Math.sin(angle) * radius]);
17795
17796                 node = iD.Node({loc: loc});
17797                 graph = graph.replace(node);
17798
17799                 nodes.splice(endNodeIndex + j, 0, node);
17800                 inBetweenNodes.push(node.id);
17801             }
17802
17803             // Check for other ways that share these keyNodes..
17804             // If keyNodes are adjacent in both ways,
17805             // we can add inBetween nodes to that shared way too..
17806             if (indexRange === 1 && inBetweenNodes.length) {
17807                 var startIndex1 = way.nodes.lastIndexOf(startNode.id),
17808                     endIndex1 = way.nodes.lastIndexOf(endNode.id),
17809                     wayDirection1 = (endIndex1 - startIndex1);
17810                 if (wayDirection1 < -1) { wayDirection1 = 1;}
17811
17812                 /*jshint -W083 */
17813                 _.each(_.without(graph.parentWays(keyNodes[i]), way), function(sharedWay) {
17814                     if (sharedWay.areAdjacent(startNode.id, endNode.id)) {
17815                         var startIndex2 = sharedWay.nodes.lastIndexOf(startNode.id),
17816                             endIndex2 = sharedWay.nodes.lastIndexOf(endNode.id),
17817                             wayDirection2 = (endIndex2 - startIndex2),
17818                             insertAt = endIndex2;
17819                         if (wayDirection2 < -1) { wayDirection2 = 1;}
17820
17821                         if (wayDirection1 !== wayDirection2) {
17822                             inBetweenNodes.reverse();
17823                             insertAt = startIndex2;
17824                         }
17825                         for (j = 0; j < inBetweenNodes.length; j++) {
17826                             sharedWay = sharedWay.addNode(inBetweenNodes[j], insertAt + j);
17827                         }
17828                         graph = graph.replace(sharedWay);
17829                     }
17830                 });
17831                 /*jshint +W083 */
17832             }
17833
17834         }
17835
17836         // update the way to have all the new nodes
17837         ids = nodes.map(function(n) { return n.id; });
17838         ids.push(ids[0]);
17839
17840         way = way.update({nodes: ids});
17841         graph = graph.replace(way);
17842
17843         return graph;
17844     };
17845
17846     action.makeConvex = function(graph) {
17847         var way = graph.entity(wayId),
17848             nodes = _.uniq(graph.childNodes(way)),
17849             points = nodes.map(function(n) { return projection(n.loc); }),
17850             sign = d3.geom.polygon(points).area() > 0 ? 1 : -1,
17851             hull = d3.geom.hull(points);
17852
17853         // D3 convex hulls go counterclockwise..
17854         if (sign === -1) {
17855             nodes.reverse();
17856             points.reverse();
17857         }
17858
17859         for (var i = 0; i < hull.length - 1; i++) {
17860             var startIndex = points.indexOf(hull[i]),
17861                 endIndex = points.indexOf(hull[i+1]),
17862                 indexRange = (endIndex - startIndex);
17863
17864             if (indexRange < 0) {
17865                 indexRange += nodes.length;
17866             }
17867
17868             // move interior nodes to the surface of the convex hull..
17869             for (var j = 1; j < indexRange; j++) {
17870                 var point = iD.geo.interp(hull[i], hull[i+1], j / indexRange),
17871                     node = nodes[(j + startIndex) % nodes.length].move(projection.invert(point));
17872                 graph = graph.replace(node);
17873             }
17874         }
17875         return graph;
17876     };
17877
17878     action.disabled = function(graph) {
17879         if (!graph.entity(wayId).isClosed())
17880             return 'not_closed';
17881     };
17882
17883     return action;
17884 };
17885 // Connect the ways at the given nodes.
17886 //
17887 // The last node will survive. All other nodes will be replaced with
17888 // the surviving node in parent ways, and then removed.
17889 //
17890 // Tags and relation memberships of of non-surviving nodes are merged
17891 // to the survivor.
17892 //
17893 // This is the inverse of `iD.actions.Disconnect`.
17894 //
17895 // Reference:
17896 //   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeNodesAction.as
17897 //   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/MergeNodesAction.java
17898 //
17899 iD.actions.Connect = function(nodeIds) {
17900     return function(graph) {
17901         var survivor = graph.entity(_.last(nodeIds));
17902
17903         for (var i = 0; i < nodeIds.length - 1; i++) {
17904             var node = graph.entity(nodeIds[i]);
17905
17906             /*jshint -W083 */
17907             graph.parentWays(node).forEach(function(parent) {
17908                 if (!parent.areAdjacent(node.id, survivor.id)) {
17909                     graph = graph.replace(parent.replaceNode(node.id, survivor.id));
17910                 }
17911             });
17912
17913             graph.parentRelations(node).forEach(function(parent) {
17914                 graph = graph.replace(parent.replaceMember(node, survivor));
17915             });
17916             /*jshint +W083 */
17917
17918             survivor = survivor.mergeTags(node.tags);
17919             graph = iD.actions.DeleteNode(node.id)(graph);
17920         }
17921
17922         graph = graph.replace(survivor);
17923
17924         return graph;
17925     };
17926 };
17927 iD.actions.CopyEntity = function(entity, deep) {
17928     var newEntities = [];
17929
17930     var action = function(graph) {
17931         newEntities = entity.copy(deep, graph);
17932
17933         for (var i = 0; i < newEntities.length; i++) {
17934             graph = graph.replace(newEntities[i]);
17935         }
17936
17937         return graph;
17938     };
17939
17940     action.newEntities = function() {
17941         return newEntities;
17942     };
17943
17944     return action;
17945 };
17946 iD.actions.DeleteMember = function(relationId, memberIndex) {
17947     return function(graph) {
17948         var relation = graph.entity(relationId)
17949             .removeMember(memberIndex);
17950
17951         graph = graph.replace(relation);
17952
17953         if (relation.isDegenerate())
17954             graph = iD.actions.DeleteRelation(relation.id)(graph);
17955
17956         return graph;
17957     };
17958 };
17959 iD.actions.DeleteMultiple = function(ids) {
17960     var actions = {
17961         way: iD.actions.DeleteWay,
17962         node: iD.actions.DeleteNode,
17963         relation: iD.actions.DeleteRelation
17964     };
17965
17966     var action = function(graph) {
17967         ids.forEach(function(id) {
17968             if (graph.hasEntity(id)) { // It may have been deleted aready.
17969                 graph = actions[graph.entity(id).type](id)(graph);
17970             }
17971         });
17972
17973         return graph;
17974     };
17975
17976     action.disabled = function(graph) {
17977         for (var i = 0; i < ids.length; i++) {
17978             var id = ids[i],
17979                 disabled = actions[graph.entity(id).type](id).disabled(graph);
17980             if (disabled) return disabled;
17981         }
17982     };
17983
17984     return action;
17985 };
17986 // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteNodeAction.as
17987 iD.actions.DeleteNode = function(nodeId) {
17988     var action = function(graph) {
17989         var node = graph.entity(nodeId);
17990
17991         graph.parentWays(node)
17992             .forEach(function(parent) {
17993                 parent = parent.removeNode(nodeId);
17994                 graph = graph.replace(parent);
17995
17996                 if (parent.isDegenerate()) {
17997                     graph = iD.actions.DeleteWay(parent.id)(graph);
17998                 }
17999             });
18000
18001         graph.parentRelations(node)
18002             .forEach(function(parent) {
18003                 parent = parent.removeMembersWithID(nodeId);
18004                 graph = graph.replace(parent);
18005
18006                 if (parent.isDegenerate()) {
18007                     graph = iD.actions.DeleteRelation(parent.id)(graph);
18008                 }
18009             });
18010
18011         return graph.remove(node);
18012     };
18013
18014     action.disabled = function() {
18015         return false;
18016     };
18017
18018     return action;
18019 };
18020 // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteRelationAction.as
18021 iD.actions.DeleteRelation = function(relationId) {
18022     function deleteEntity(entity, graph) {
18023         return !graph.parentWays(entity).length &&
18024             !graph.parentRelations(entity).length &&
18025             !entity.hasInterestingTags();
18026     }
18027
18028     var action = function(graph) {
18029         var relation = graph.entity(relationId);
18030
18031         graph.parentRelations(relation)
18032             .forEach(function(parent) {
18033                 parent = parent.removeMembersWithID(relationId);
18034                 graph = graph.replace(parent);
18035
18036                 if (parent.isDegenerate()) {
18037                     graph = iD.actions.DeleteRelation(parent.id)(graph);
18038                 }
18039             });
18040
18041         _.uniq(_.pluck(relation.members, 'id')).forEach(function(memberId) {
18042             graph = graph.replace(relation.removeMembersWithID(memberId));
18043
18044             var entity = graph.entity(memberId);
18045             if (deleteEntity(entity, graph)) {
18046                 graph = iD.actions.DeleteMultiple([memberId])(graph);
18047             }
18048         });
18049
18050         return graph.remove(relation);
18051     };
18052
18053     action.disabled = function(graph) {
18054         if (!graph.entity(relationId).isComplete(graph))
18055             return 'incomplete_relation';
18056     };
18057
18058     return action;
18059 };
18060 // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteWayAction.as
18061 iD.actions.DeleteWay = function(wayId) {
18062     function deleteNode(node, graph) {
18063         return !graph.parentWays(node).length &&
18064             !graph.parentRelations(node).length &&
18065             !node.hasInterestingTags();
18066     }
18067
18068     var action = function(graph) {
18069         var way = graph.entity(wayId);
18070
18071         graph.parentRelations(way)
18072             .forEach(function(parent) {
18073                 parent = parent.removeMembersWithID(wayId);
18074                 graph = graph.replace(parent);
18075
18076                 if (parent.isDegenerate()) {
18077                     graph = iD.actions.DeleteRelation(parent.id)(graph);
18078                 }
18079             });
18080
18081         _.uniq(way.nodes).forEach(function(nodeId) {
18082             graph = graph.replace(way.removeNode(nodeId));
18083
18084             var node = graph.entity(nodeId);
18085             if (deleteNode(node, graph)) {
18086                 graph = graph.remove(node);
18087             }
18088         });
18089
18090         return graph.remove(way);
18091     };
18092
18093     action.disabled = function() {
18094         return false;
18095     };
18096
18097     return action;
18098 };
18099 iD.actions.DeprecateTags = function(entityId) {
18100     return function(graph) {
18101         var entity = graph.entity(entityId),
18102             newtags = _.clone(entity.tags),
18103             change = false,
18104             rule;
18105
18106         // This handles deprecated tags with a single condition
18107         for (var i = 0; i < iD.data.deprecated.length; i++) {
18108
18109             rule = iD.data.deprecated[i];
18110             var match = _.pairs(rule.old)[0],
18111                 replacements = rule.replace ? _.pairs(rule.replace) : null;
18112
18113             if (entity.tags[match[0]] && match[1] === '*') {
18114
18115                 var value = entity.tags[match[0]];
18116                 if (replacements && !newtags[replacements[0][0]]) {
18117                     newtags[replacements[0][0]] = value;
18118                 }
18119                 delete newtags[match[0]];
18120                 change = true;
18121
18122             } else if (entity.tags[match[0]] === match[1]) {
18123                 newtags = _.assign({}, rule.replace || {}, _.omit(newtags, match[0]));
18124                 change = true;
18125             }
18126         }
18127
18128         if (change) {
18129             return graph.replace(entity.update({tags: newtags}));
18130         } else {
18131             return graph;
18132         }
18133     };
18134 };
18135 iD.actions.DiscardTags = function(difference) {
18136     return function(graph) {
18137         function discardTags(entity) {
18138             if (!_.isEmpty(entity.tags)) {
18139                 var tags = {};
18140                 _.each(entity.tags, function(v, k) {
18141                     if (v) tags[k] = v;
18142                 });
18143
18144                 graph = graph.replace(entity.update({
18145                     tags: _.omit(tags, iD.data.discarded)
18146                 }));
18147             }
18148         }
18149
18150         difference.modified().forEach(discardTags);
18151         difference.created().forEach(discardTags);
18152
18153         return graph;
18154     };
18155 };
18156 // Disconect the ways at the given node.
18157 //
18158 // Optionally, disconnect only the given ways.
18159 //
18160 // For testing convenience, accepts an ID to assign to the (first) new node.
18161 // Normally, this will be undefined and the way will automatically
18162 // be assigned a new ID.
18163 //
18164 // This is the inverse of `iD.actions.Connect`.
18165 //
18166 // Reference:
18167 //   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/UnjoinNodeAction.as
18168 //   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/UnGlueAction.java
18169 //
18170 iD.actions.Disconnect = function(nodeId, newNodeId) {
18171     var wayIds;
18172
18173     var action = function(graph) {
18174         var node = graph.entity(nodeId),
18175             connections = action.connections(graph);
18176
18177         connections.forEach(function(connection) {
18178             var way = graph.entity(connection.wayID),
18179                 newNode = iD.Node({id: newNodeId, loc: node.loc, tags: node.tags});
18180
18181             graph = graph.replace(newNode);
18182             if (connection.index === 0 && way.isArea()) {
18183                 // replace shared node with shared node..
18184                 graph = graph.replace(way.replaceNode(way.nodes[0], newNode.id));
18185             } else {
18186                 // replace shared node with multiple new nodes..
18187                 graph = graph.replace(way.updateNode(newNode.id, connection.index));
18188             }
18189         });
18190
18191         return graph;
18192     };
18193
18194     action.connections = function(graph) {
18195         var candidates = [],
18196             keeping = false,
18197             parentWays = graph.parentWays(graph.entity(nodeId));
18198
18199         parentWays.forEach(function(way) {
18200             if (wayIds && wayIds.indexOf(way.id) === -1) {
18201                 keeping = true;
18202                 return;
18203             }
18204             if (way.isArea() && (way.nodes[0] === nodeId)) {
18205                 candidates.push({wayID: way.id, index: 0});
18206             } else {
18207                 way.nodes.forEach(function(waynode, index) {
18208                     if (waynode === nodeId) {
18209                         candidates.push({wayID: way.id, index: index});
18210                     }
18211                 });
18212             }
18213         });
18214
18215         return keeping ? candidates : candidates.slice(1);
18216     };
18217
18218     action.disabled = function(graph) {
18219         var connections = action.connections(graph);
18220         if (connections.length === 0 || (wayIds && wayIds.length !== connections.length))
18221             return 'not_connected';
18222     };
18223
18224     action.limitWays = function(_) {
18225         if (!arguments.length) return wayIds;
18226         wayIds = _;
18227         return action;
18228     };
18229
18230     return action;
18231 };
18232 // Join ways at the end node they share.
18233 //
18234 // This is the inverse of `iD.actions.Split`.
18235 //
18236 // Reference:
18237 //   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeWaysAction.as
18238 //   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/CombineWayAction.java
18239 //
18240 iD.actions.Join = function(ids) {
18241
18242     function groupEntitiesByGeometry(graph) {
18243         var entities = ids.map(function(id) { return graph.entity(id); });
18244         return _.extend({line: []}, _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
18245     }
18246
18247     var action = function(graph) {
18248         var ways = ids.map(graph.entity, graph),
18249             survivor = ways[0];
18250
18251         // Prefer to keep an existing way.
18252         for (var i = 0; i < ways.length; i++) {
18253             if (!ways[i].isNew()) {
18254                 survivor = ways[i];
18255                 break;
18256             }
18257         }
18258
18259         var joined = iD.geo.joinWays(ways, graph)[0];
18260
18261         survivor = survivor.update({nodes: _.pluck(joined.nodes, 'id')});
18262         graph = graph.replace(survivor);
18263
18264         joined.forEach(function(way) {
18265             if (way.id === survivor.id)
18266                 return;
18267
18268             graph.parentRelations(way).forEach(function(parent) {
18269                 graph = graph.replace(parent.replaceMember(way, survivor));
18270             });
18271
18272             survivor = survivor.mergeTags(way.tags);
18273
18274             graph = graph.replace(survivor);
18275             graph = iD.actions.DeleteWay(way.id)(graph);
18276         });
18277
18278         return graph;
18279     };
18280
18281     action.disabled = function(graph) {
18282         var geometries = groupEntitiesByGeometry(graph);
18283         if (ids.length < 2 || ids.length !== geometries.line.length)
18284             return 'not_eligible';
18285
18286         var joined = iD.geo.joinWays(ids.map(graph.entity, graph), graph);
18287         if (joined.length > 1)
18288             return 'not_adjacent';
18289
18290         var nodeIds = _.pluck(joined[0].nodes, 'id').slice(1, -1),
18291             relation;
18292
18293         joined[0].forEach(function(way) {
18294             var parents = graph.parentRelations(way);
18295             parents.forEach(function(parent) {
18296                 if (parent.isRestriction() && parent.members.some(function(m) { return nodeIds.indexOf(m.id) >= 0; }))
18297                     relation = parent;
18298             });
18299         });
18300
18301         if (relation)
18302             return 'restriction';
18303     };
18304
18305     return action;
18306 };
18307 iD.actions.Merge = function(ids) {
18308     function groupEntitiesByGeometry(graph) {
18309         var entities = ids.map(function(id) { return graph.entity(id); });
18310         return _.extend({point: [], area: [], line: [], relation: []},
18311             _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
18312     }
18313
18314     var action = function(graph) {
18315         var geometries = groupEntitiesByGeometry(graph),
18316             target = geometries.area[0] || geometries.line[0],
18317             points = geometries.point;
18318
18319         points.forEach(function(point) {
18320             target = target.mergeTags(point.tags);
18321
18322             graph.parentRelations(point).forEach(function(parent) {
18323                 graph = graph.replace(parent.replaceMember(point, target));
18324             });
18325
18326             graph = graph.remove(point);
18327         });
18328
18329         graph = graph.replace(target);
18330
18331         return graph;
18332     };
18333
18334     action.disabled = function(graph) {
18335         var geometries = groupEntitiesByGeometry(graph);
18336         if (geometries.point.length === 0 ||
18337             (geometries.area.length + geometries.line.length) !== 1 ||
18338             geometries.relation.length !== 0)
18339             return 'not_eligible';
18340     };
18341
18342     return action;
18343 };
18344 iD.actions.MergePolygon = function(ids, newRelationId) {
18345
18346     function groupEntities(graph) {
18347         var entities = ids.map(function (id) { return graph.entity(id); });
18348         return _.extend({
18349                 closedWay: [],
18350                 multipolygon: [],
18351                 other: []
18352             }, _.groupBy(entities, function(entity) {
18353                 if (entity.type === 'way' && entity.isClosed()) {
18354                     return 'closedWay';
18355                 } else if (entity.type === 'relation' && entity.isMultipolygon()) {
18356                     return 'multipolygon';
18357                 } else {
18358                     return 'other';
18359                 }
18360             }));
18361     }
18362
18363     var action = function(graph) {
18364         var entities = groupEntities(graph);
18365
18366         // An array representing all the polygons that are part of the multipolygon.
18367         //
18368         // Each element is itself an array of objects with an id property, and has a
18369         // locs property which is an array of the locations forming the polygon.
18370         var polygons = entities.multipolygon.reduce(function(polygons, m) {
18371             return polygons.concat(iD.geo.joinWays(m.members, graph));
18372         }, []).concat(entities.closedWay.map(function(d) {
18373             var member = [{id: d.id}];
18374             member.nodes = graph.childNodes(d);
18375             return member;
18376         }));
18377
18378         // contained is an array of arrays of boolean values,
18379         // where contained[j][k] is true iff the jth way is
18380         // contained by the kth way.
18381         var contained = polygons.map(function(w, i) {
18382             return polygons.map(function(d, n) {
18383                 if (i === n) return null;
18384                 return iD.geo.polygonContainsPolygon(
18385                     _.pluck(d.nodes, 'loc'),
18386                     _.pluck(w.nodes, 'loc'));
18387             });
18388         });
18389
18390         // Sort all polygons as either outer or inner ways
18391         var members = [],
18392             outer = true;
18393
18394         while (polygons.length) {
18395             extractUncontained(polygons);
18396             polygons = polygons.filter(isContained);
18397             contained = contained.filter(isContained).map(filterContained);
18398         }
18399
18400         function isContained(d, i) {
18401             return _.any(contained[i]);
18402         }
18403
18404         function filterContained(d) {
18405             return d.filter(isContained);
18406         }
18407
18408         function extractUncontained(polygons) {
18409             polygons.forEach(function(d, i) {
18410                 if (!isContained(d, i)) {
18411                     d.forEach(function(member) {
18412                         members.push({
18413                             type: 'way',
18414                             id: member.id,
18415                             role: outer ? 'outer' : 'inner'
18416                         });
18417                     });
18418                 }
18419             });
18420             outer = !outer;
18421         }
18422
18423         // Move all tags to one relation
18424         var relation = entities.multipolygon[0] ||
18425             iD.Relation({ id: newRelationId, tags: { type: 'multipolygon' }});
18426
18427         entities.multipolygon.slice(1).forEach(function(m) {
18428             relation = relation.mergeTags(m.tags);
18429             graph = graph.remove(m);
18430         });
18431
18432         entities.closedWay.forEach(function(way) {
18433             function isThisOuter(m) {
18434                 return m.id === way.id && m.role !== 'inner';
18435             }
18436             if (members.some(isThisOuter)) {
18437                 relation = relation.mergeTags(way.tags);
18438                 graph = graph.replace(way.update({ tags: {} }));
18439             }
18440         });
18441
18442         return graph.replace(relation.update({
18443             members: members,
18444             tags: _.omit(relation.tags, 'area')
18445         }));
18446     };
18447
18448     action.disabled = function(graph) {
18449         var entities = groupEntities(graph);
18450         if (entities.other.length > 0 ||
18451             entities.closedWay.length + entities.multipolygon.length < 2)
18452             return 'not_eligible';
18453         if (!entities.multipolygon.every(function(r) { return r.isComplete(graph); }))
18454             return 'incomplete_relation';
18455     };
18456
18457     return action;
18458 };
18459 // https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
18460 // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
18461 iD.actions.Move = function(ids, delta, projection) {
18462     function addNodes(ids, nodes, graph) {
18463         ids.forEach(function(id) {
18464             var entity = graph.entity(id);
18465             if (entity.type === 'node') {
18466                 nodes.push(id);
18467             } else if (entity.type === 'way') {
18468                 nodes.push.apply(nodes, entity.nodes);
18469             } else {
18470                 addNodes(_.pluck(entity.members, 'id'), nodes, graph);
18471             }
18472         });
18473     }
18474
18475     var action = function(graph) {
18476         var nodes = [];
18477
18478         addNodes(ids, nodes, graph);
18479
18480         _.uniq(nodes).forEach(function(id) {
18481             var node = graph.entity(id),
18482                 start = projection(node.loc),
18483                 end = projection.invert([start[0] + delta[0], start[1] + delta[1]]);
18484             graph = graph.replace(node.move(end));
18485         });
18486
18487         return graph;
18488     };
18489
18490     action.disabled = function(graph) {
18491         function incompleteRelation(id) {
18492             var entity = graph.entity(id);
18493             return entity.type === 'relation' && !entity.isComplete(graph);
18494         }
18495
18496         if (_.any(ids, incompleteRelation))
18497             return 'incomplete_relation';
18498     };
18499
18500     return action;
18501 };
18502 // https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
18503 // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
18504 iD.actions.MoveNode = function(nodeId, loc) {
18505     return function(graph) {
18506         return graph.replace(graph.entity(nodeId).move(loc));
18507     };
18508 };
18509 iD.actions.Noop = function() {
18510     return function(graph) {
18511         return graph;
18512     };
18513 };
18514 /*
18515  * Based on https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/potlatch2/tools/Quadrilateralise.as
18516  */
18517
18518 iD.actions.Orthogonalize = function(wayId, projection) {
18519     var threshold = 12, // degrees within right or straight to alter
18520         lowerThreshold = Math.cos((90 - threshold) * Math.PI / 180),
18521         upperThreshold = Math.cos(threshold * Math.PI / 180);
18522
18523     var action = function(graph) {
18524         var way = graph.entity(wayId),
18525             nodes = graph.childNodes(way),
18526             points = _.uniq(nodes).map(function(n) { return projection(n.loc); }),
18527             corner = {i: 0, dotp: 1},
18528             epsilon = 1e-4,
18529             i, j, score, motions;
18530
18531         if (nodes.length === 4) {
18532             for (i = 0; i < 1000; i++) {
18533                 motions = points.map(calcMotion);
18534                 points[corner.i] = addPoints(points[corner.i],motions[corner.i]);
18535                 score = corner.dotp;
18536                 if (score < epsilon) {
18537                     break;
18538                 }
18539             }
18540
18541             graph = graph.replace(graph.entity(nodes[corner.i].id)
18542                 .move(projection.invert(points[corner.i])));
18543         } else {
18544             var best,
18545                 originalPoints = _.clone(points);
18546             score = Infinity;
18547
18548             for (i = 0; i < 1000; i++) {
18549                 motions = points.map(calcMotion);
18550                 for (j = 0; j < motions.length; j++) {
18551                     points[j] = addPoints(points[j],motions[j]);
18552                 }
18553                 var newScore = squareness(points);
18554                 if (newScore < score) {
18555                     best = _.clone(points);
18556                     score = newScore;
18557                 }
18558                 if (score < epsilon) {
18559                     break;
18560                 }
18561             }
18562
18563             points = best;
18564
18565             for (i = 0; i < points.length; i++) {
18566                 // only move the points that actually moved
18567                 if (originalPoints[i][0] !== points[i][0] || originalPoints[i][1] !== points[i][1]) {
18568                     graph = graph.replace(graph.entity(nodes[i].id)
18569                         .move(projection.invert(points[i])));
18570                 }
18571             }
18572
18573             // remove empty nodes on straight sections
18574             for (i = 0; i < points.length; i++) {
18575                 var node = nodes[i];
18576
18577                 if (graph.parentWays(node).length > 1 ||
18578                     graph.parentRelations(node).length ||
18579                     node.hasInterestingTags()) {
18580
18581                     continue;
18582                 }
18583
18584                 var dotp = normalizedDotProduct(i, points);
18585                 if (dotp < -1 + epsilon) {
18586                     graph = iD.actions.DeleteNode(nodes[i].id)(graph);
18587                 }
18588             }
18589         }
18590
18591         return graph;
18592
18593         function calcMotion(b, i, array) {
18594             var a = array[(i - 1 + array.length) % array.length],
18595                 c = array[(i + 1) % array.length],
18596                 p = subtractPoints(a, b),
18597                 q = subtractPoints(c, b),
18598                 scale, dotp;
18599
18600             scale = 2 * Math.min(iD.geo.euclideanDistance(p, [0, 0]), iD.geo.euclideanDistance(q, [0, 0]));
18601             p = normalizePoint(p, 1.0);
18602             q = normalizePoint(q, 1.0);
18603
18604             dotp = filterDotProduct(p[0] * q[0] + p[1] * q[1]);
18605
18606             // nasty hack to deal with almost-straight segments (angle is closer to 180 than to 90/270).
18607             if (array.length > 3) {
18608                 if (dotp < -0.707106781186547) {
18609                     dotp += 1.0;
18610                 }
18611             } else if (dotp && Math.abs(dotp) < corner.dotp) {
18612                 corner.i = i;
18613                 corner.dotp = Math.abs(dotp);
18614             }
18615
18616             return normalizePoint(addPoints(p, q), 0.1 * dotp * scale);
18617         }
18618     };
18619
18620     function squareness(points) {
18621         return points.reduce(function(sum, val, i, array) {
18622             var dotp = normalizedDotProduct(i, array);
18623
18624             dotp = filterDotProduct(dotp);
18625             return sum + 2.0 * Math.min(Math.abs(dotp - 1.0), Math.min(Math.abs(dotp), Math.abs(dotp + 1)));
18626         }, 0);
18627     }
18628
18629     function normalizedDotProduct(i, points) {
18630         var a = points[(i - 1 + points.length) % points.length],
18631             b = points[i],
18632             c = points[(i + 1) % points.length],
18633             p = subtractPoints(a, b),
18634             q = subtractPoints(c, b);
18635
18636         p = normalizePoint(p, 1.0);
18637         q = normalizePoint(q, 1.0);
18638
18639         return p[0] * q[0] + p[1] * q[1];
18640     }
18641
18642     function subtractPoints(a, b) {
18643         return [a[0] - b[0], a[1] - b[1]];
18644     }
18645
18646     function addPoints(a, b) {
18647         return [a[0] + b[0], a[1] + b[1]];
18648     }
18649
18650     function normalizePoint(point, scale) {
18651         var vector = [0, 0];
18652         var length = Math.sqrt(point[0] * point[0] + point[1] * point[1]);
18653         if (length !== 0) {
18654             vector[0] = point[0] / length;
18655             vector[1] = point[1] / length;
18656         }
18657
18658         vector[0] *= scale;
18659         vector[1] *= scale;
18660
18661         return vector;
18662     }
18663
18664     function filterDotProduct(dotp) {
18665         if (lowerThreshold > Math.abs(dotp) || Math.abs(dotp) > upperThreshold) {
18666             return dotp;
18667         }
18668
18669         return 0;
18670     }
18671
18672     action.disabled = function(graph) {
18673         var way = graph.entity(wayId),
18674             nodes = graph.childNodes(way),
18675             points = _.uniq(nodes).map(function(n) { return projection(n.loc); });
18676
18677         if (squareness(points)) {
18678             return false;
18679         }
18680
18681         return 'not_squarish';
18682     };
18683
18684     return action;
18685 };
18686 // Create a restriction relation for `turn`, which must have the following structure:
18687 //
18688 //     {
18689 //         from: { node: <node ID>, way: <way ID> },
18690 //         via:  { node: <node ID> },
18691 //         to:   { node: <node ID>, way: <way ID> },
18692 //         restriction: <'no_right_turn', 'no_left_turn', etc.>
18693 //     }
18694 //
18695 // This specifies a restriction of type `restriction` when traveling from
18696 // `from.node` in `from.way` toward `to.node` in `to.way` via `via.node`.
18697 // (The action does not check that these entities form a valid intersection.)
18698 //
18699 // If `restriction` is not provided, it is automatically determined by
18700 // iD.geo.inferRestriction.
18701 //
18702 // If necessary, the `from` and `to` ways are split. In these cases, `from.node`
18703 // and `to.node` are used to determine which portion of the split ways become
18704 // members of the restriction.
18705 //
18706 // For testing convenience, accepts an ID to assign to the new relation.
18707 // Normally, this will be undefined and the relation will automatically
18708 // be assigned a new ID.
18709 //
18710 iD.actions.RestrictTurn = function(turn, projection, restrictionId) {
18711     return function(graph) {
18712         var from = graph.entity(turn.from.way),
18713             via  = graph.entity(turn.via.node),
18714             to   = graph.entity(turn.to.way);
18715
18716         function split(toOrFrom) {
18717             var newID = toOrFrom.newID || iD.Way().id;
18718             graph = iD.actions.Split(via.id, [newID])
18719                 .limitWays([toOrFrom.way])(graph);
18720
18721             var a = graph.entity(newID),
18722                 b = graph.entity(toOrFrom.way);
18723
18724             if (a.nodes.indexOf(toOrFrom.node) !== -1) {
18725                 return [a, b];
18726             } else {
18727                 return [b, a];
18728             }
18729         }
18730
18731         if (!from.affix(via.id)) {
18732             if (turn.from.node === turn.to.node) {
18733                 // U-turn
18734                 from = to = split(turn.from)[0];
18735             } else if (turn.from.way === turn.to.way) {
18736                 // Straight-on
18737                 var s = split(turn.from);
18738                 from = s[0];
18739                 to   = s[1];
18740             } else {
18741                 // Other
18742                 from = split(turn.from)[0];
18743             }
18744         }
18745
18746         if (!to.affix(via.id)) {
18747             to = split(turn.to)[0];
18748         }
18749
18750         return graph.replace(iD.Relation({
18751             id: restrictionId,
18752             tags: {
18753                 type: 'restriction',
18754                 restriction: turn.restriction ||
18755                     iD.geo.inferRestriction(
18756                         graph,
18757                         turn.from,
18758                         turn.via,
18759                         turn.to,
18760                         projection)
18761             },
18762             members: [
18763                 {id: from.id, type: 'way',  role: 'from'},
18764                 {id: via.id,  type: 'node', role: 'via'},
18765                 {id: to.id,   type: 'way',  role: 'to'}
18766             ]
18767         }));
18768     };
18769 };
18770 /*
18771   Order the nodes of a way in reverse order and reverse any direction dependent tags
18772   other than `oneway`. (We assume that correcting a backwards oneway is the primary
18773   reason for reversing a way.)
18774
18775   The following transforms are performed:
18776
18777     Keys:
18778           *:right=* ⟺ *:left=*
18779         *:forward=* ⟺ *:backward=*
18780        direction=up ⟺ direction=down
18781          incline=up ⟺ incline=down
18782             *=right ⟺ *=left
18783
18784     Relation members:
18785        role=forward ⟺ role=backward
18786          role=north ⟺ role=south
18787           role=east ⟺ role=west
18788
18789    In addition, numeric-valued `incline` tags are negated.
18790
18791    The JOSM implementation was used as a guide, but transformations that were of unclear benefit
18792    or adjusted tags that don't seem to be used in practice were omitted.
18793
18794    References:
18795       http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
18796       http://wiki.openstreetmap.org/wiki/Key:direction#Steps
18797       http://wiki.openstreetmap.org/wiki/Key:incline
18798       http://wiki.openstreetmap.org/wiki/Route#Members
18799       http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
18800  */
18801 iD.actions.Reverse = function(wayId) {
18802     var replacements = [
18803             [/:right$/, ':left'], [/:left$/, ':right'],
18804             [/:forward$/, ':backward'], [/:backward$/, ':forward']
18805         ],
18806         numeric = /^([+\-]?)(?=[\d.])/,
18807         roleReversals = {
18808             forward: 'backward',
18809             backward: 'forward',
18810             north: 'south',
18811             south: 'north',
18812             east: 'west',
18813             west: 'east'
18814         };
18815
18816     function reverseKey(key) {
18817         for (var i = 0; i < replacements.length; ++i) {
18818             var replacement = replacements[i];
18819             if (replacement[0].test(key)) {
18820                 return key.replace(replacement[0], replacement[1]);
18821             }
18822         }
18823         return key;
18824     }
18825
18826     function reverseValue(key, value) {
18827         if (key === 'incline' && numeric.test(value)) {
18828             return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; });
18829         } else if (key === 'incline' || key === 'direction') {
18830             return {up: 'down', down: 'up'}[value] || value;
18831         } else {
18832             return {left: 'right', right: 'left'}[value] || value;
18833         }
18834     }
18835
18836     return function(graph) {
18837         var way = graph.entity(wayId),
18838             nodes = way.nodes.slice().reverse(),
18839             tags = {}, key, role;
18840
18841         for (key in way.tags) {
18842             tags[reverseKey(key)] = reverseValue(key, way.tags[key]);
18843         }
18844
18845         graph.parentRelations(way).forEach(function(relation) {
18846             relation.members.forEach(function(member, index) {
18847                 if (member.id === way.id && (role = roleReversals[member.role])) {
18848                     relation = relation.updateMember({role: role}, index);
18849                     graph = graph.replace(relation);
18850                 }
18851             });
18852         });
18853
18854         return graph.replace(way.update({nodes: nodes, tags: tags}));
18855     };
18856 };
18857 iD.actions.RotateWay = function(wayId, pivot, angle, projection) {
18858     return function(graph) {
18859         return graph.update(function(graph) {
18860             var way = graph.entity(wayId);
18861
18862             _.unique(way.nodes).forEach(function(id) {
18863
18864                 var node = graph.entity(id),
18865                     point = projection(node.loc),
18866                     radial = [0,0];
18867
18868                 radial[0] = point[0] - pivot[0];
18869                 radial[1] = point[1] - pivot[1];
18870
18871                 point = [
18872                     radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + pivot[0],
18873                     radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + pivot[1]
18874                 ];
18875
18876                 graph = graph.replace(node.move(projection.invert(point)));
18877
18878             });
18879
18880         });
18881     };
18882 };
18883 // Split a way at the given node.
18884 //
18885 // Optionally, split only the given ways, if multiple ways share
18886 // the given node.
18887 //
18888 // This is the inverse of `iD.actions.Join`.
18889 //
18890 // For testing convenience, accepts an ID to assign to the new way.
18891 // Normally, this will be undefined and the way will automatically
18892 // be assigned a new ID.
18893 //
18894 // Reference:
18895 //   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/SplitWayAction.as
18896 //
18897 iD.actions.Split = function(nodeId, newWayIds) {
18898     var wayIds;
18899
18900     // if the way is closed, we need to search for a partner node
18901     // to split the way at.
18902     //
18903     // The following looks for a node that is both far away from
18904     // the initial node in terms of way segment length and nearby
18905     // in terms of beeline-distance. This assures that areas get
18906     // split on the most "natural" points (independent of the number
18907     // of nodes).
18908     // For example: bone-shaped areas get split across their waist
18909     // line, circles across the diameter.
18910     function splitArea(nodes, idxA, graph) {
18911         var lengths = new Array(nodes.length),
18912             length,
18913             i,
18914             best = 0,
18915             idxB;
18916
18917         function wrap(index) {
18918             return iD.util.wrap(index, nodes.length);
18919         }
18920
18921         function dist(nA, nB) {
18922             return iD.geo.sphericalDistance(graph.entity(nA).loc, graph.entity(nB).loc);
18923         }
18924
18925         // calculate lengths
18926         length = 0;
18927         for (i = wrap(idxA+1); i !== idxA; i = wrap(i+1)) {
18928             length += dist(nodes[i], nodes[wrap(i-1)]);
18929             lengths[i] = length;
18930         }
18931
18932         length = 0;
18933         for (i = wrap(idxA-1); i !== idxA; i = wrap(i-1)) {
18934             length += dist(nodes[i], nodes[wrap(i+1)]);
18935             if (length < lengths[i])
18936                 lengths[i] = length;
18937         }
18938
18939         // determine best opposite node to split
18940         for (i = 0; i < nodes.length; i++) {
18941             var cost = lengths[i] / dist(nodes[idxA], nodes[i]);
18942             if (cost > best) {
18943                 idxB = i;
18944                 best = cost;
18945             }
18946         }
18947
18948         return idxB;
18949     }
18950
18951     function split(graph, wayA, newWayId) {
18952         var wayB = iD.Way({id: newWayId, tags: wayA.tags}),
18953             nodesA,
18954             nodesB,
18955             isArea = wayA.isArea(),
18956             isOuter = iD.geo.isSimpleMultipolygonOuterMember(wayA, graph);
18957
18958         if (wayA.isClosed()) {
18959             var nodes = wayA.nodes.slice(0, -1),
18960                 idxA = _.indexOf(nodes, nodeId),
18961                 idxB = splitArea(nodes, idxA, graph);
18962
18963             if (idxB < idxA) {
18964                 nodesA = nodes.slice(idxA).concat(nodes.slice(0, idxB + 1));
18965                 nodesB = nodes.slice(idxB, idxA + 1);
18966             } else {
18967                 nodesA = nodes.slice(idxA, idxB + 1);
18968                 nodesB = nodes.slice(idxB).concat(nodes.slice(0, idxA + 1));
18969             }
18970         } else {
18971             var idx = _.indexOf(wayA.nodes, nodeId, 1);
18972             nodesA = wayA.nodes.slice(0, idx + 1);
18973             nodesB = wayA.nodes.slice(idx);
18974         }
18975
18976         wayA = wayA.update({nodes: nodesA});
18977         wayB = wayB.update({nodes: nodesB});
18978
18979         graph = graph.replace(wayA);
18980         graph = graph.replace(wayB);
18981
18982         graph.parentRelations(wayA).forEach(function(relation) {
18983             if (relation.isRestriction()) {
18984                 var via = relation.memberByRole('via');
18985                 if (via && wayB.contains(via.id)) {
18986                     relation = relation.updateMember({id: wayB.id}, relation.memberById(wayA.id).index);
18987                     graph = graph.replace(relation);
18988                 }
18989             } else {
18990                 if (relation === isOuter) {
18991                     graph = graph.replace(relation.mergeTags(wayA.tags));
18992                     graph = graph.replace(wayA.update({tags: {}}));
18993                     graph = graph.replace(wayB.update({tags: {}}));
18994                 }
18995
18996                 var member = {
18997                     id: wayB.id,
18998                     type: 'way',
18999                     role: relation.memberById(wayA.id).role
19000                 };
19001
19002                 graph = iD.actions.AddMember(relation.id, member)(graph);
19003             }
19004         });
19005
19006         if (!isOuter && isArea) {
19007             var multipolygon = iD.Relation({
19008                 tags: _.extend({}, wayA.tags, {type: 'multipolygon'}),
19009                 members: [
19010                     {id: wayA.id, role: 'outer', type: 'way'},
19011                     {id: wayB.id, role: 'outer', type: 'way'}
19012                 ]});
19013
19014             graph = graph.replace(multipolygon);
19015             graph = graph.replace(wayA.update({tags: {}}));
19016             graph = graph.replace(wayB.update({tags: {}}));
19017         }
19018
19019         return graph;
19020     }
19021
19022     var action = function(graph) {
19023         var candidates = action.ways(graph);
19024         for (var i = 0; i < candidates.length; i++) {
19025             graph = split(graph, candidates[i], newWayIds && newWayIds[i]);
19026         }
19027         return graph;
19028     };
19029
19030     action.ways = function(graph) {
19031         var node = graph.entity(nodeId),
19032             parents = graph.parentWays(node),
19033             hasLines = _.any(parents, function(parent) { return parent.geometry(graph) === 'line'; });
19034
19035         return parents.filter(function(parent) {
19036             if (wayIds && wayIds.indexOf(parent.id) === -1)
19037                 return false;
19038
19039             if (!wayIds && hasLines && parent.geometry(graph) !== 'line')
19040                 return false;
19041
19042             if (parent.isClosed()) {
19043                 return true;
19044             }
19045
19046             for (var i = 1; i < parent.nodes.length - 1; i++) {
19047                 if (parent.nodes[i] === nodeId) {
19048                     return true;
19049                 }
19050             }
19051
19052             return false;
19053         });
19054     };
19055
19056     action.disabled = function(graph) {
19057         var candidates = action.ways(graph);
19058         if (candidates.length === 0 || (wayIds && wayIds.length !== candidates.length))
19059             return 'not_eligible';
19060     };
19061
19062     action.limitWays = function(_) {
19063         if (!arguments.length) return wayIds;
19064         wayIds = _;
19065         return action;
19066     };
19067
19068     return action;
19069 };
19070 /*
19071  * Based on https://github.com/openstreetmap/potlatch2/net/systemeD/potlatch2/tools/Straighten.as
19072  */
19073
19074 iD.actions.Straighten = function(wayId, projection) {
19075     function positionAlongWay(n, s, e) {
19076         return ((n[0] - s[0]) * (e[0] - s[0]) + (n[1] - s[1]) * (e[1] - s[1]))/
19077                 (Math.pow(e[0] - s[0], 2) + Math.pow(e[1] - s[1], 2));
19078     }
19079
19080     var action = function(graph) {
19081         var way = graph.entity(wayId),
19082             nodes = graph.childNodes(way),
19083             points = nodes.map(function(n) { return projection(n.loc); }),
19084             startPoint = points[0],
19085             endPoint = points[points.length-1],
19086             toDelete = [],
19087             i;
19088
19089         for (i = 1; i < points.length-1; i++) {
19090             var node = nodes[i],
19091                 point = points[i];
19092
19093             if (graph.parentWays(node).length > 1 ||
19094                 graph.parentRelations(node).length ||
19095                 node.hasInterestingTags()) {
19096
19097                 var u = positionAlongWay(point, startPoint, endPoint),
19098                     p0 = startPoint[0] + u * (endPoint[0] - startPoint[0]),
19099                     p1 = startPoint[1] + u * (endPoint[1] - startPoint[1]);
19100
19101                 graph = graph.replace(graph.entity(node.id)
19102                     .move(projection.invert([p0, p1])));
19103             } else {
19104                 // safe to delete
19105                 if (toDelete.indexOf(node) === -1) {
19106                     toDelete.push(node);
19107                 }
19108             }
19109         }
19110
19111         for (i = 0; i < toDelete.length; i++) {
19112             graph = iD.actions.DeleteNode(toDelete[i].id)(graph);
19113         }
19114
19115         return graph;
19116     };
19117     
19118     action.disabled = function(graph) {
19119         // check way isn't too bendy
19120         var way = graph.entity(wayId),
19121             nodes = graph.childNodes(way),
19122             points = nodes.map(function(n) { return projection(n.loc); }),
19123             startPoint = points[0],
19124             endPoint = points[points.length-1],
19125             threshold = 0.2 * Math.sqrt(Math.pow(startPoint[0] - endPoint[0], 2) + Math.pow(startPoint[1] - endPoint[1], 2)),
19126             i;
19127
19128         for (i = 1; i < points.length-1; i++) {
19129             var point = points[i],
19130                 u = positionAlongWay(point, startPoint, endPoint),
19131                 p0 = startPoint[0] + u * (endPoint[0] - startPoint[0]),
19132                 p1 = startPoint[1] + u * (endPoint[1] - startPoint[1]),
19133                 dist = Math.sqrt(Math.pow(p0 - point[0], 2) + Math.pow(p1 - point[1], 2));
19134
19135             // to bendy if point is off by 20% of total start/end distance in projected space
19136             if (dist > threshold) {
19137                 return 'too_bendy';
19138             }
19139         }
19140     };
19141
19142     return action;
19143 };
19144 // Remove the effects of `turn.restriction` on `turn`, which must have the
19145 // following structure:
19146 //
19147 //     {
19148 //         from: { node: <node ID>, way: <way ID> },
19149 //         via:  { node: <node ID> },
19150 //         to:   { node: <node ID>, way: <way ID> },
19151 //         restriction: <relation ID>
19152 //     }
19153 //
19154 // In the simple case, `restriction` is a reference to a `no_*` restriction
19155 // on the turn itself. In this case, it is simply deleted.
19156 //
19157 // The more complex case is where `restriction` references an `only_*`
19158 // restriction on a different turn in the same intersection. In that case,
19159 // that restriction is also deleted, but at the same time restrictions on
19160 // the turns other than the first two are created.
19161 //
19162 iD.actions.UnrestrictTurn = function(turn) {
19163     return function(graph) {
19164         return iD.actions.DeleteRelation(turn.restriction)(graph);
19165     };
19166 };
19167 iD.behavior = {};
19168 iD.behavior.AddWay = function(context) {
19169     var event = d3.dispatch('start', 'startFromWay', 'startFromNode'),
19170         draw = iD.behavior.Draw(context);
19171
19172     var addWay = function(surface) {
19173         draw.on('click', event.start)
19174             .on('clickWay', event.startFromWay)
19175             .on('clickNode', event.startFromNode)
19176             .on('cancel', addWay.cancel)
19177             .on('finish', addWay.cancel);
19178
19179         context.map()
19180             .dblclickEnable(false);
19181
19182         surface.call(draw);
19183     };
19184
19185     addWay.off = function(surface) {
19186         surface.call(draw.off);
19187     };
19188
19189     addWay.cancel = function() {
19190         window.setTimeout(function() {
19191             context.map().dblclickEnable(true);
19192         }, 1000);
19193
19194         context.enter(iD.modes.Browse(context));
19195     };
19196
19197     addWay.tail = function(text) {
19198         draw.tail(text);
19199         return addWay;
19200     };
19201
19202     return d3.rebind(addWay, event, 'on');
19203 };
19204 iD.behavior.Copy = function(context) {
19205     var keybinding = d3.keybinding('copy');
19206
19207     function groupEntities(ids, graph) {
19208         var entities = ids.map(function (id) { return graph.entity(id); });
19209         return _.extend({relation: [], way: [], node: []},
19210             _.groupBy(entities, function(entity) { return entity.type; }));
19211     }
19212
19213     function getDescendants(id, graph, descendants) {
19214         var entity = graph.entity(id),
19215             i, children;
19216
19217         descendants = descendants || {};
19218
19219         if (entity.type === 'relation') {
19220             children = _.pluck(entity.members, 'id');
19221         } else if (entity.type === 'way') {
19222             children = entity.nodes;
19223         } else {
19224             children = [];
19225         }
19226
19227         for (i = 0; i < children.length; i++) {
19228             if (!descendants[children[i]]) {
19229                 descendants[children[i]] = true;
19230                 descendants = getDescendants(children[i], graph, descendants);
19231             }
19232         }
19233
19234         return descendants;
19235     }
19236
19237     function doCopy() {
19238         d3.event.preventDefault();
19239
19240         var graph = context.graph(),
19241             selected = groupEntities(context.selectedIDs(), graph),
19242             canCopy = [],
19243             skip = {},
19244             i, entity;
19245
19246         for (i = 0; i < selected.relation.length; i++) {
19247             entity = selected.relation[i];
19248             if (!skip[entity.id] && entity.isComplete(graph)) {
19249                 canCopy.push(entity.id);
19250                 skip = getDescendants(entity.id, graph, skip);
19251             }
19252         }
19253         for (i = 0; i < selected.way.length; i++) {
19254             entity = selected.way[i];
19255             if (!skip[entity.id]) {
19256                 canCopy.push(entity.id);
19257                 skip = getDescendants(entity.id, graph, skip);
19258             }
19259         }
19260         for (i = 0; i < selected.node.length; i++) {
19261             entity = selected.node[i];
19262             if (!skip[entity.id]) {
19263                 canCopy.push(entity.id);
19264             }
19265         }
19266
19267         context.copiedIDs(canCopy);
19268     }
19269
19270     function copy() {
19271         keybinding.on(iD.ui.cmd('⌘C'), doCopy);
19272         d3.select(document).call(keybinding);
19273         return copy;
19274     }
19275
19276     copy.off = function() {
19277         d3.select(document).call(keybinding.off);
19278     };
19279
19280     return copy;
19281 };
19282 /*
19283     `iD.behavior.drag` is like `d3.behavior.drag`, with the following differences:
19284
19285     * The `origin` function is expected to return an [x, y] tuple rather than an
19286       {x, y} object.
19287     * The events are `start`, `move`, and `end`.
19288       (https://github.com/mbostock/d3/issues/563)
19289     * The `start` event is not dispatched until the first cursor movement occurs.
19290       (https://github.com/mbostock/d3/pull/368)
19291     * The `move` event has a `point` and `delta` [x, y] tuple properties rather
19292       than `x`, `y`, `dx`, and `dy` properties.
19293     * The `end` event is not dispatched if no movement occurs.
19294     * An `off` function is available that unbinds the drag's internal event handlers.
19295     * Delegation is supported via the `delegate` function.
19296
19297  */
19298 iD.behavior.drag = function() {
19299     function d3_eventCancel() {
19300       d3.event.stopPropagation();
19301       d3.event.preventDefault();
19302     }
19303
19304     var event = d3.dispatch('start', 'move', 'end'),
19305         origin = null,
19306         selector = '',
19307         filter = null,
19308         event_, target, surface;
19309
19310     event.of = function(thiz, argumentz) {
19311       return function(e1) {
19312         var e0 = e1.sourceEvent = d3.event;
19313         e1.target = drag;
19314         d3.event = e1;
19315         try {
19316           event[e1.type].apply(thiz, argumentz);
19317         } finally {
19318           d3.event = e0;
19319         }
19320       };
19321     };
19322
19323     var d3_event_userSelectProperty = iD.util.prefixCSSProperty('UserSelect'),
19324         d3_event_userSelectSuppress = d3_event_userSelectProperty ?
19325             function () {
19326                 var selection = d3.selection(),
19327                     select = selection.style(d3_event_userSelectProperty);
19328                 selection.style(d3_event_userSelectProperty, 'none');
19329                 return function () {
19330                     selection.style(d3_event_userSelectProperty, select);
19331                 };
19332             } :
19333             function (type) {
19334                 var w = d3.select(window).on('selectstart.' + type, d3_eventCancel);
19335                 return function () {
19336                     w.on('selectstart.' + type, null);
19337                 };
19338             };
19339
19340     function mousedown() {
19341         target = this;
19342         event_ = event.of(target, arguments);
19343         var eventTarget = d3.event.target,
19344             touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
19345             offset,
19346             origin_ = point(),
19347             started = false,
19348             selectEnable = d3_event_userSelectSuppress(touchId !== null ? 'drag-' + touchId : 'drag');
19349
19350         var w = d3.select(window)
19351             .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove)
19352             .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true);
19353
19354         if (origin) {
19355             offset = origin.apply(target, arguments);
19356             offset = [offset[0] - origin_[0], offset[1] - origin_[1]];
19357         } else {
19358             offset = [0, 0];
19359         }
19360
19361         if (touchId === null) d3.event.stopPropagation();
19362
19363         function point() {
19364             var p = target.parentNode || surface;
19365             return touchId !== null ? d3.touches(p).filter(function(p) {
19366                 return p.identifier === touchId;
19367             })[0] : d3.mouse(p);
19368         }
19369
19370         function dragmove() {
19371
19372             var p = point(),
19373                 dx = p[0] - origin_[0],
19374                 dy = p[1] - origin_[1];
19375             
19376             if (dx === 0 && dy === 0)
19377                 return;
19378
19379             if (!started) {
19380                 started = true;
19381                 event_({
19382                     type: 'start'
19383                 });
19384             }
19385
19386             origin_ = p;
19387             d3_eventCancel();
19388
19389             event_({
19390                 type: 'move',
19391                 point: [p[0] + offset[0],  p[1] + offset[1]],
19392                 delta: [dx, dy]
19393             });
19394         }
19395
19396         function dragend() {
19397             if (started) {
19398                 event_({
19399                     type: 'end'
19400                 });
19401
19402                 d3_eventCancel();
19403                 if (d3.event.target === eventTarget) w.on('click.drag', click, true);
19404             }
19405
19406             w.on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null)
19407                 .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null);
19408             selectEnable();
19409         }
19410
19411         function click() {
19412             d3_eventCancel();
19413             w.on('click.drag', null);
19414         }
19415     }
19416
19417     function drag(selection) {
19418         var matchesSelector = iD.util.prefixDOMProperty('matchesSelector'),
19419             delegate = mousedown;
19420
19421         if (selector) {
19422             delegate = function() {
19423                 var root = this,
19424                     target = d3.event.target;
19425                 for (; target && target !== root; target = target.parentNode) {
19426                     if (target[matchesSelector](selector) &&
19427                             (!filter || filter(target.__data__))) {
19428                         return mousedown.call(target, target.__data__);
19429                     }
19430                 }
19431             };
19432         }
19433
19434         selection.on('mousedown.drag' + selector, delegate)
19435             .on('touchstart.drag' + selector, delegate);
19436     }
19437
19438     drag.off = function(selection) {
19439         selection.on('mousedown.drag' + selector, null)
19440             .on('touchstart.drag' + selector, null);
19441     };
19442
19443     drag.delegate = function(_) {
19444         if (!arguments.length) return selector;
19445         selector = _;
19446         return drag;
19447     };
19448
19449     drag.filter = function(_) {
19450         if (!arguments.length) return origin;
19451         filter = _;
19452         return drag;
19453     };
19454
19455     drag.origin = function (_) {
19456         if (!arguments.length) return origin;
19457         origin = _;
19458         return drag;
19459     };
19460
19461     drag.cancel = function() {
19462         d3.select(window)
19463             .on('mousemove.drag', null)
19464             .on('mouseup.drag', null);
19465         return drag;
19466     };
19467
19468     drag.target = function() {
19469         if (!arguments.length) return target;
19470         target = arguments[0];
19471         event_ = event.of(target, Array.prototype.slice.call(arguments, 1));
19472         return drag;
19473     };
19474
19475     drag.surface = function() {
19476         if (!arguments.length) return surface;
19477         surface = arguments[0];
19478         return drag;
19479     };
19480
19481     return d3.rebind(drag, event, 'on');
19482 };
19483 iD.behavior.Draw = function(context) {
19484     var event = d3.dispatch('move', 'click', 'clickWay',
19485         'clickNode', 'undo', 'cancel', 'finish'),
19486         keybinding = d3.keybinding('draw'),
19487         hover = iD.behavior.Hover(context)
19488             .altDisables(true)
19489             .on('hover', context.ui().sidebar.hover),
19490         tail = iD.behavior.Tail(),
19491         edit = iD.behavior.Edit(context),
19492         closeTolerance = 4,
19493         tolerance = 12;
19494
19495     function datum() {
19496         if (d3.event.altKey) return {};
19497         else return d3.event.target.__data__ || {};
19498     }
19499
19500     function mousedown() {
19501
19502         function point() {
19503             var p = element.node().parentNode;
19504             return touchId !== null ? d3.touches(p).filter(function(p) {
19505                 return p.identifier === touchId;
19506             })[0] : d3.mouse(p);
19507         }
19508
19509         var element = d3.select(this),
19510             touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
19511             time = +new Date(),
19512             pos = point();
19513
19514         element.on('mousemove.draw', null);
19515
19516         d3.select(window).on('mouseup.draw', function() {
19517             element.on('mousemove.draw', mousemove);
19518             if (iD.geo.euclideanDistance(pos, point()) < closeTolerance ||
19519                 (iD.geo.euclideanDistance(pos, point()) < tolerance &&
19520                 (+new Date() - time) < 500)) {
19521
19522                 // Prevent a quick second click
19523                 d3.select(window).on('click.draw-block', function() {
19524                     d3.event.stopPropagation();
19525                 }, true);
19526
19527                 context.map().dblclickEnable(false);
19528
19529                 window.setTimeout(function() {
19530                     context.map().dblclickEnable(true);
19531                     d3.select(window).on('click.draw-block', null);
19532                 }, 500);
19533
19534                 click();
19535             }
19536         });
19537     }
19538
19539     function mousemove() {
19540         event.move(datum());
19541     }
19542
19543     function click() {
19544         var d = datum();
19545         if (d.type === 'way') {
19546             var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection),
19547                 edge = [d.nodes[choice.index - 1], d.nodes[choice.index]];
19548             event.clickWay(choice.loc, edge);
19549
19550         } else if (d.type === 'node') {
19551             event.clickNode(d);
19552
19553         } else {
19554             event.click(context.map().mouseCoordinates());
19555         }
19556     }
19557
19558     function backspace() {
19559         d3.event.preventDefault();
19560         event.undo();
19561     }
19562
19563     function del() {
19564         d3.event.preventDefault();
19565         event.cancel();
19566     }
19567
19568     function ret() {
19569         d3.event.preventDefault();
19570         event.finish();
19571     }
19572
19573     function draw(selection) {
19574         context.install(hover);
19575         context.install(edit);
19576
19577         if (!context.inIntro() && !iD.behavior.Draw.usedTails[tail.text()]) {
19578             context.install(tail);
19579         }
19580
19581         keybinding
19582             .on('⌫', backspace)
19583             .on('⌦', del)
19584             .on('⎋', ret)
19585             .on('↩', ret);
19586
19587         selection
19588             .on('mousedown.draw', mousedown)
19589             .on('mousemove.draw', mousemove);
19590
19591         d3.select(document)
19592             .call(keybinding);
19593
19594         return draw;
19595     }
19596
19597     draw.off = function(selection) {
19598         context.uninstall(hover);
19599         context.uninstall(edit);
19600
19601         if (!context.inIntro() && !iD.behavior.Draw.usedTails[tail.text()]) {
19602             context.uninstall(tail);
19603             iD.behavior.Draw.usedTails[tail.text()] = true;
19604         }
19605
19606         selection
19607             .on('mousedown.draw', null)
19608             .on('mousemove.draw', null);
19609
19610         d3.select(window)
19611             .on('mouseup.draw', null);
19612
19613         d3.select(document)
19614             .call(keybinding.off);
19615     };
19616
19617     draw.tail = function(_) {
19618         tail.text(_);
19619         return draw;
19620     };
19621
19622     return d3.rebind(draw, event, 'on');
19623 };
19624
19625 iD.behavior.Draw.usedTails = {};
19626 iD.behavior.DrawWay = function(context, wayId, index, mode, baseGraph) {
19627     var way = context.entity(wayId),
19628         isArea = context.geometry(wayId) === 'area',
19629         finished = false,
19630         annotation = t((way.isDegenerate() ?
19631             'operations.start.annotation.' :
19632             'operations.continue.annotation.') + context.geometry(wayId)),
19633         draw = iD.behavior.Draw(context);
19634
19635     var startIndex = typeof index === 'undefined' ? way.nodes.length - 1 : 0,
19636         start = iD.Node({loc: context.graph().entity(way.nodes[startIndex]).loc}),
19637         end = iD.Node({loc: context.map().mouseCoordinates()}),
19638         segment = iD.Way({
19639             nodes: typeof index === 'undefined' ? [start.id, end.id] : [end.id, start.id],
19640             tags: _.clone(way.tags)
19641         });
19642
19643     var f = context[way.isDegenerate() ? 'replace' : 'perform'];
19644     if (isArea) {
19645         f(iD.actions.AddEntity(end),
19646             iD.actions.AddVertex(wayId, end.id, index));
19647     } else {
19648         f(iD.actions.AddEntity(start),
19649             iD.actions.AddEntity(end),
19650             iD.actions.AddEntity(segment));
19651     }
19652
19653     function move(datum) {
19654         var loc;
19655
19656         if (datum.type === 'node' && datum.id !== end.id) {
19657             loc = datum.loc;
19658         } else if (datum.type === 'way' && datum.id !== segment.id) {
19659             loc = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection).loc;
19660         } else {
19661             loc = context.map().mouseCoordinates();
19662         }
19663
19664         context.replace(iD.actions.MoveNode(end.id, loc));
19665     }
19666
19667     function undone() {
19668         finished = true;
19669         context.enter(iD.modes.Browse(context));
19670     }
19671
19672     function setActiveElements() {
19673         var active = isArea ? [wayId, end.id] : [segment.id, start.id, end.id];
19674         context.surface().selectAll(iD.util.entitySelector(active))
19675             .classed('active', true);
19676     }
19677
19678     var drawWay = function(surface) {
19679         draw.on('move', move)
19680             .on('click', drawWay.add)
19681             .on('clickWay', drawWay.addWay)
19682             .on('clickNode', drawWay.addNode)
19683             .on('undo', context.undo)
19684             .on('cancel', drawWay.cancel)
19685             .on('finish', drawWay.finish);
19686
19687         context.map()
19688             .dblclickEnable(false)
19689             .on('drawn.draw', setActiveElements);
19690
19691         setActiveElements();
19692
19693         surface.call(draw);
19694
19695         context.history()
19696             .on('undone.draw', undone);
19697     };
19698
19699     drawWay.off = function(surface) {
19700         if (!finished)
19701             context.pop();
19702
19703         context.map()
19704             .on('drawn.draw', null);
19705
19706         surface.call(draw.off)
19707             .selectAll('.active')
19708             .classed('active', false);
19709
19710         context.history()
19711             .on('undone.draw', null);
19712     };
19713
19714     function ReplaceTemporaryNode(newNode) {
19715         return function(graph) {
19716             if (isArea) {
19717                 return graph
19718                     .replace(way.addNode(newNode.id, index))
19719                     .remove(end);
19720
19721             } else {
19722                 return graph
19723                     .replace(graph.entity(wayId).addNode(newNode.id, index))
19724                     .remove(end)
19725                     .remove(segment)
19726                     .remove(start);
19727             }
19728         };
19729     }
19730
19731     // Accept the current position of the temporary node and continue drawing.
19732     drawWay.add = function(loc) {
19733
19734         // prevent duplicate nodes
19735         var last = context.hasEntity(way.nodes[way.nodes.length - (isArea ? 2 : 1)]);
19736         if (last && last.loc[0] === loc[0] && last.loc[1] === loc[1]) return;
19737
19738         var newNode = iD.Node({loc: loc});
19739
19740         context.replace(
19741             iD.actions.AddEntity(newNode),
19742             ReplaceTemporaryNode(newNode),
19743             annotation);
19744
19745         finished = true;
19746         context.enter(mode);
19747     };
19748
19749     // Connect the way to an existing way.
19750     drawWay.addWay = function(loc, edge) {
19751         var previousEdge = startIndex ?
19752             [way.nodes[startIndex], way.nodes[startIndex - 1]] :
19753             [way.nodes[0], way.nodes[1]];
19754
19755         // Avoid creating duplicate segments
19756         if (!isArea && iD.geo.edgeEqual(edge, previousEdge))
19757             return;
19758
19759         var newNode = iD.Node({ loc: loc });
19760
19761         context.perform(
19762             iD.actions.AddMidpoint({ loc: loc, edge: edge}, newNode),
19763             ReplaceTemporaryNode(newNode),
19764             annotation);
19765
19766         finished = true;
19767         context.enter(mode);
19768     };
19769
19770     // Connect the way to an existing node and continue drawing.
19771     drawWay.addNode = function(node) {
19772
19773         // Avoid creating duplicate segments
19774         if (way.areAdjacent(node.id, way.nodes[way.nodes.length - 1])) return;
19775
19776         context.perform(
19777             ReplaceTemporaryNode(node),
19778             annotation);
19779
19780         finished = true;
19781         context.enter(mode);
19782     };
19783
19784     // Finish the draw operation, removing the temporary node. If the way has enough
19785     // nodes to be valid, it's selected. Otherwise, return to browse mode.
19786     drawWay.finish = function() {
19787         context.pop();
19788         finished = true;
19789
19790         window.setTimeout(function() {
19791             context.map().dblclickEnable(true);
19792         }, 1000);
19793
19794         if (context.hasEntity(wayId)) {
19795             context.enter(
19796                 iD.modes.Select(context, [wayId])
19797                     .suppressMenu(true)
19798                     .newFeature(true));
19799         } else {
19800             context.enter(iD.modes.Browse(context));
19801         }
19802     };
19803
19804     // Cancel the draw operation and return to browse, deleting everything drawn.
19805     drawWay.cancel = function() {
19806         context.perform(
19807             d3.functor(baseGraph),
19808             t('operations.cancel_draw.annotation'));
19809
19810         window.setTimeout(function() {
19811             context.map().dblclickEnable(true);
19812         }, 1000);
19813
19814         finished = true;
19815         context.enter(iD.modes.Browse(context));
19816     };
19817
19818     drawWay.tail = function(text) {
19819         draw.tail(text);
19820         return drawWay;
19821     };
19822
19823     return drawWay;
19824 };
19825 iD.behavior.Edit = function(context) {
19826     function edit() {
19827         context.map()
19828             .minzoom(context.minEditableZoom());
19829     }
19830
19831     edit.off = function() {
19832         context.map()
19833             .minzoom(0);
19834     };
19835
19836     return edit;
19837 };
19838 iD.behavior.Hash = function(context) {
19839     var s0 = null, // cached location.hash
19840         lat = 90 - 1e-8; // allowable latitude range
19841
19842     var parser = function(map, s) {
19843         var q = iD.util.stringQs(s);
19844         var args = (q.map || '').split('/').map(Number);
19845         if (args.length < 3 || args.some(isNaN)) {
19846             return true; // replace bogus hash
19847         } else if (s !== formatter(map).slice(1)) {
19848             map.centerZoom([args[1],
19849                 Math.min(lat, Math.max(-lat, args[2]))], args[0]);
19850         }
19851     };
19852
19853     var formatter = function(map) {
19854         var mode = context.mode(),
19855             center = map.center(),
19856             zoom = map.zoom(),
19857             precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)),
19858             q = _.omit(iD.util.stringQs(location.hash.substring(1)), 'comment'),
19859             newParams = {};
19860
19861         if (mode && mode.id === 'browse') {
19862             delete q.id;
19863         } else {
19864             var selected = context.selectedIDs().filter(function(id) {
19865                 return !context.entity(id).isNew();
19866             });
19867             if (selected.length) {
19868                 newParams.id = selected.join(',');
19869             }
19870         }
19871
19872         newParams.map = zoom.toFixed(2) +
19873                 '/' + center[0].toFixed(precision) +
19874                 '/' + center[1].toFixed(precision);
19875
19876         return '#' + iD.util.qsString(_.assign(q, newParams), true);
19877     };
19878
19879     function update() {
19880         var s1 = formatter(context.map());
19881         if (s0 !== s1) location.replace(s0 = s1); // don't recenter the map!
19882     }
19883
19884     var throttledUpdate = _.throttle(update, 500);
19885
19886     function hashchange() {
19887         if (location.hash === s0) return; // ignore spurious hashchange events
19888         if (parser(context.map(), (s0 = location.hash).substring(1))) {
19889             update(); // replace bogus hash
19890         }
19891     }
19892
19893     function hash() {
19894         context.map()
19895             .on('move.hash', throttledUpdate);
19896
19897         context
19898             .on('enter.hash', throttledUpdate);
19899
19900         d3.select(window)
19901             .on('hashchange.hash', hashchange);
19902
19903         if (location.hash) {
19904             var q = iD.util.stringQs(location.hash.substring(1));
19905             if (q.id) context.loadEntity(q.id.split(',')[0], !q.map);
19906             if (q.comment) context.storage('comment', q.comment);
19907             hashchange();
19908             if (q.map) hash.hadHash = true;
19909         }
19910     }
19911
19912     hash.off = function() {
19913         context.map()
19914             .on('move.hash', null);
19915
19916         context
19917             .on('enter.hash', null);
19918
19919         d3.select(window)
19920             .on('hashchange.hash', null);
19921
19922         location.hash = '';
19923     };
19924
19925     return hash;
19926 };
19927 /*
19928    The hover behavior adds the `.hover` class on mouseover to all elements to which
19929    the identical datum is bound, and removes it on mouseout.
19930
19931    The :hover pseudo-class is insufficient for iD's purposes because a datum's visual
19932    representation may consist of several elements scattered throughout the DOM hierarchy.
19933    Only one of these elements can have the :hover pseudo-class, but all of them will
19934    have the .hover class.
19935  */
19936 iD.behavior.Hover = function() {
19937     var dispatch = d3.dispatch('hover'),
19938         selection,
19939         altDisables,
19940         target;
19941
19942     function keydown() {
19943         if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
19944             dispatch.hover(null);
19945             selection.selectAll('.hover')
19946                 .classed('hover-suppressed', true)
19947                 .classed('hover', false);
19948         }
19949     }
19950
19951     function keyup() {
19952         if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
19953             dispatch.hover(target ? target.id : null);
19954             selection.selectAll('.hover-suppressed')
19955                 .classed('hover-suppressed', false)
19956                 .classed('hover', true);
19957         }
19958     }
19959
19960     var hover = function(__) {
19961         selection = __;
19962
19963         function enter(d) {
19964             if (d === target) return;
19965
19966             target = d;
19967
19968             selection.selectAll('.hover')
19969                 .classed('hover', false);
19970             selection.selectAll('.hover-suppressed')
19971                 .classed('hover-suppressed', false);
19972
19973             if (target instanceof iD.Entity) {
19974                 var selector = '.' + target.id;
19975
19976                 if (target.type === 'relation') {
19977                     target.members.forEach(function(member) {
19978                         selector += ', .' + member.id;
19979                     });
19980                 }
19981
19982                 var suppressed = altDisables && d3.event && d3.event.altKey;
19983
19984                 selection.selectAll(selector)
19985                     .classed(suppressed ? 'hover-suppressed' : 'hover', true);
19986
19987                 dispatch.hover(target.id);
19988             } else {
19989                 dispatch.hover(null);
19990             }
19991         }
19992
19993         var down;
19994
19995         function mouseover() {
19996             if (down) return;
19997             var target = d3.event.target;
19998             enter(target ? target.__data__ : null);
19999         }
20000
20001         function mouseout() {
20002             if (down) return;
20003             var target = d3.event.relatedTarget;
20004             enter(target ? target.__data__ : null);
20005         }
20006
20007         function mousedown() {
20008             down = true;
20009             d3.select(window)
20010                 .on('mouseup.hover', mouseup);
20011         }
20012
20013         function mouseup() {
20014             down = false;
20015         }
20016
20017         selection
20018             .on('mouseover.hover', mouseover)
20019             .on('mouseout.hover', mouseout)
20020             .on('mousedown.hover', mousedown)
20021             .on('mouseup.hover', mouseup);
20022
20023         d3.select(window)
20024             .on('keydown.hover', keydown)
20025             .on('keyup.hover', keyup);
20026     };
20027
20028     hover.off = function(selection) {
20029         selection.selectAll('.hover')
20030             .classed('hover', false);
20031         selection.selectAll('.hover-suppressed')
20032             .classed('hover-suppressed', false);
20033
20034         selection
20035             .on('mouseover.hover', null)
20036             .on('mouseout.hover', null)
20037             .on('mousedown.hover', null)
20038             .on('mouseup.hover', null);
20039
20040         d3.select(window)
20041             .on('keydown.hover', null)
20042             .on('keyup.hover', null)
20043             .on('mouseup.hover', null);
20044     };
20045
20046     hover.altDisables = function(_) {
20047         if (!arguments.length) return altDisables;
20048         altDisables = _;
20049         return hover;
20050     };
20051
20052     return d3.rebind(hover, dispatch, 'on');
20053 };
20054 iD.behavior.Lasso = function(context) {
20055
20056     var behavior = function(selection) {
20057
20058         var mouse = null,
20059             lasso;
20060
20061         function mousedown() {
20062             if (d3.event.shiftKey === true) {
20063
20064                 mouse = context.mouse();
20065                 lasso = null;
20066
20067                 selection
20068                     .on('mousemove.lasso', mousemove)
20069                     .on('mouseup.lasso', mouseup);
20070
20071                 d3.event.stopPropagation();
20072             }
20073         }
20074
20075         function mousemove() {
20076             if (!lasso) {
20077                 lasso = iD.ui.Lasso(context).a(mouse);
20078                 context.surface().call(lasso);
20079             }
20080
20081             lasso.b(context.mouse());
20082         }
20083
20084         function normalize(a, b) {
20085             return [
20086                 [Math.min(a[0], b[0]), Math.min(a[1], b[1])],
20087                 [Math.max(a[0], b[0]), Math.max(a[1], b[1])]];
20088         }
20089
20090         function mouseup() {
20091
20092             selection
20093                 .on('mousemove.lasso', null)
20094                 .on('mouseup.lasso', null);
20095
20096             if (!lasso) return;
20097
20098             var extent = iD.geo.Extent(
20099                 normalize(context.projection.invert(lasso.a()),
20100                 context.projection.invert(lasso.b())));
20101
20102             lasso.close();
20103
20104             var selected = context.intersects(extent).filter(function (entity) {
20105                 return entity.type === 'node';
20106             });
20107
20108             if (selected.length) {
20109                 context.enter(iD.modes.Select(context, _.pluck(selected, 'id')));
20110             }
20111         }
20112
20113         selection
20114             .on('mousedown.lasso', mousedown);
20115     };
20116
20117     behavior.off = function(selection) {
20118         selection.on('mousedown.lasso', null);
20119     };
20120
20121     return behavior;
20122 };
20123 iD.behavior.Paste = function(context) {
20124     var keybinding = d3.keybinding('paste');
20125
20126     function omitTag(v, k) {
20127         return (
20128             k === 'phone' ||
20129             k === 'fax' ||
20130             k === 'email' ||
20131             k === 'website' ||
20132             k === 'url' ||
20133             k === 'note' ||
20134             k === 'description' ||
20135             k.indexOf('name') !== -1 ||
20136             k.indexOf('wiki') === 0 ||
20137             k.indexOf('addr:') === 0 ||
20138             k.indexOf('contact:') === 0
20139         );
20140     }
20141
20142     function doPaste() {
20143         d3.event.preventDefault();
20144
20145         var mouse = context.mouse(),
20146             projection = context.projection,
20147             viewport = iD.geo.Extent(projection.clipExtent()).polygon();
20148
20149         if (!iD.geo.pointInPolygon(mouse, viewport)) return;
20150
20151         var graph = context.graph(),
20152             extent = iD.geo.Extent(),
20153             oldIDs = context.copiedIDs(),
20154             newIDs = [],
20155             i, j;
20156
20157         for (i = 0; i < oldIDs.length; i++) {
20158             var oldEntity = graph.entity(oldIDs[i]),
20159                 action = iD.actions.CopyEntity(oldEntity, true),
20160                 newEntities;
20161
20162             extent._extend(oldEntity.extent(graph));
20163             context.perform(action);
20164
20165             // First element in `newEntities` contains the copied Entity,
20166             // Subsequent array elements contain any descendants..
20167             newEntities = action.newEntities();
20168             newIDs.push(newEntities[0].id);
20169
20170             for (j = 0; j < newEntities.length; j++) {
20171                 var newEntity = newEntities[j],
20172                     tags = _.omit(newEntity.tags, omitTag);
20173
20174                 context.perform(iD.actions.ChangeTags(newEntity.id, tags));
20175             }
20176         }
20177
20178         // Put pasted objects where mouse pointer is..
20179         var center = projection(extent.center()),
20180             delta = [ mouse[0] - center[0], mouse[1] - center[1] ];
20181
20182         context.perform(iD.actions.Move(newIDs, delta, projection));
20183         context.enter(iD.modes.Move(context, newIDs));
20184     }
20185
20186     function paste() {
20187         keybinding.on(iD.ui.cmd('⌘V'), doPaste);
20188         d3.select(document).call(keybinding);
20189         return paste;
20190     }
20191
20192     paste.off = function() {
20193         d3.select(document).call(keybinding.off);
20194     };
20195
20196     return paste;
20197 };
20198 iD.behavior.Select = function(context) {
20199     function keydown() {
20200         if (d3.event && d3.event.shiftKey) {
20201             context.surface()
20202                 .classed('behavior-multiselect', true);
20203         }
20204     }
20205
20206     function keyup() {
20207         if (!d3.event || !d3.event.shiftKey) {
20208             context.surface()
20209                 .classed('behavior-multiselect', false);
20210         }
20211     }
20212
20213     function click() {
20214         var datum = d3.event.target.__data__;
20215         var lasso = d3.select('#surface .lasso').node();
20216         if (!(datum instanceof iD.Entity)) {
20217             if (!d3.event.shiftKey && !lasso)
20218                 context.enter(iD.modes.Browse(context));
20219
20220         } else if (!d3.event.shiftKey && !lasso) {
20221             // Avoid re-entering Select mode with same entity.
20222             if (context.selectedIDs().length !== 1 || context.selectedIDs()[0] !== datum.id) {
20223                 context.enter(iD.modes.Select(context, [datum.id]));
20224             } else {
20225                 context.mode().reselect();
20226             }
20227         } else if (context.selectedIDs().indexOf(datum.id) >= 0) {
20228             var selectedIDs = _.without(context.selectedIDs(), datum.id);
20229             context.enter(selectedIDs.length ?
20230                 iD.modes.Select(context, selectedIDs) :
20231                 iD.modes.Browse(context));
20232
20233         } else {
20234             context.enter(iD.modes.Select(context, context.selectedIDs().concat([datum.id])));
20235         }
20236     }
20237
20238     var behavior = function(selection) {
20239         d3.select(window)
20240             .on('keydown.select', keydown)
20241             .on('keyup.select', keyup);
20242
20243         selection.on('click.select', click);
20244
20245         keydown();
20246     };
20247
20248     behavior.off = function(selection) {
20249         d3.select(window)
20250             .on('keydown.select', null)
20251             .on('keyup.select', null);
20252
20253         selection.on('click.select', null);
20254
20255         keyup();
20256     };
20257
20258     return behavior;
20259 };
20260 iD.behavior.Tail = function() {
20261     var text,
20262         container,
20263         xmargin = 25,
20264         tooltipSize = [0, 0],
20265         selectionSize = [0, 0];
20266
20267     function tail(selection) {
20268         if (!text) return;
20269
20270         d3.select(window)
20271             .on('resize.tail', function() { selectionSize = selection.dimensions(); });
20272
20273         function show() {
20274             container.style('display', 'block');
20275             tooltipSize = container.dimensions();
20276         }
20277
20278         function mousemove() {
20279             if (container.style('display') === 'none') show();
20280             var xoffset = ((d3.event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ?
20281                 -tooltipSize[0] - xmargin : xmargin;
20282             container.classed('left', xoffset > 0);
20283             iD.util.setTransform(container, d3.event.clientX + xoffset, d3.event.clientY);
20284         }
20285
20286         function mouseleave() {
20287             if (d3.event.relatedTarget !== container.node()) {
20288                 container.style('display', 'none');
20289             }
20290         }
20291
20292         function mouseenter() {
20293             if (d3.event.relatedTarget !== container.node()) {
20294                 show();
20295             }
20296         }
20297
20298         container = d3.select(document.body)
20299             .append('div')
20300             .style('display', 'none')
20301             .attr('class', 'tail tooltip-inner');
20302
20303         container.append('div')
20304             .text(text);
20305
20306         selection
20307             .on('mousemove.tail', mousemove)
20308             .on('mouseenter.tail', mouseenter)
20309             .on('mouseleave.tail', mouseleave);
20310
20311         container
20312             .on('mousemove.tail', mousemove);
20313
20314         tooltipSize = container.dimensions();
20315         selectionSize = selection.dimensions();
20316     }
20317
20318     tail.off = function(selection) {
20319         if (!text) return;
20320
20321         container
20322             .on('mousemove.tail', null)
20323             .remove();
20324
20325         selection
20326             .on('mousemove.tail', null)
20327             .on('mouseenter.tail', null)
20328             .on('mouseleave.tail', null);
20329
20330         d3.select(window)
20331             .on('resize.tail', null);
20332     };
20333
20334     tail.text = function(_) {
20335         if (!arguments.length) return text;
20336         text = _;
20337         return tail;
20338     };
20339
20340     return tail;
20341 };
20342 iD.modes = {};
20343 iD.modes.AddArea = function(context) {
20344     var mode = {
20345         id: 'add-area',
20346         button: 'area',
20347         title: t('modes.add_area.title'),
20348         description: t('modes.add_area.description'),
20349         key: '3'
20350     };
20351
20352     var behavior = iD.behavior.AddWay(context)
20353             .tail(t('modes.add_area.tail'))
20354             .on('start', start)
20355             .on('startFromWay', startFromWay)
20356             .on('startFromNode', startFromNode),
20357         defaultTags = {area: 'yes'};
20358
20359     function start(loc) {
20360         var graph = context.graph(),
20361             node = iD.Node({loc: loc}),
20362             way = iD.Way({tags: defaultTags});
20363
20364         context.perform(
20365             iD.actions.AddEntity(node),
20366             iD.actions.AddEntity(way),
20367             iD.actions.AddVertex(way.id, node.id),
20368             iD.actions.AddVertex(way.id, node.id));
20369
20370         context.enter(iD.modes.DrawArea(context, way.id, graph));
20371     }
20372
20373     function startFromWay(loc, edge) {
20374         var graph = context.graph(),
20375             node = iD.Node({loc: loc}),
20376             way = iD.Way({tags: defaultTags});
20377
20378         context.perform(
20379             iD.actions.AddEntity(node),
20380             iD.actions.AddEntity(way),
20381             iD.actions.AddVertex(way.id, node.id),
20382             iD.actions.AddVertex(way.id, node.id),
20383             iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
20384
20385         context.enter(iD.modes.DrawArea(context, way.id, graph));
20386     }
20387
20388     function startFromNode(node) {
20389         var graph = context.graph(),
20390             way = iD.Way({tags: defaultTags});
20391
20392         context.perform(
20393             iD.actions.AddEntity(way),
20394             iD.actions.AddVertex(way.id, node.id),
20395             iD.actions.AddVertex(way.id, node.id));
20396
20397         context.enter(iD.modes.DrawArea(context, way.id, graph));
20398     }
20399
20400     mode.enter = function() {
20401         context.install(behavior);
20402     };
20403
20404     mode.exit = function() {
20405         context.uninstall(behavior);
20406     };
20407
20408     return mode;
20409 };
20410 iD.modes.AddLine = function(context) {
20411     var mode = {
20412         id: 'add-line',
20413         button: 'line',
20414         title: t('modes.add_line.title'),
20415         description: t('modes.add_line.description'),
20416         key: '2'
20417     };
20418
20419     var behavior = iD.behavior.AddWay(context)
20420         .tail(t('modes.add_line.tail'))
20421         .on('start', start)
20422         .on('startFromWay', startFromWay)
20423         .on('startFromNode', startFromNode);
20424
20425     function start(loc) {
20426         var graph = context.graph(),
20427             node = iD.Node({loc: loc}),
20428             way = iD.Way();
20429
20430         context.perform(
20431             iD.actions.AddEntity(node),
20432             iD.actions.AddEntity(way),
20433             iD.actions.AddVertex(way.id, node.id));
20434
20435         context.enter(iD.modes.DrawLine(context, way.id, graph));
20436     }
20437
20438     function startFromWay(loc, edge) {
20439         var graph = context.graph(),
20440             node = iD.Node({loc: loc}),
20441             way = iD.Way();
20442
20443         context.perform(
20444             iD.actions.AddEntity(node),
20445             iD.actions.AddEntity(way),
20446             iD.actions.AddVertex(way.id, node.id),
20447             iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
20448
20449         context.enter(iD.modes.DrawLine(context, way.id, graph));
20450     }
20451
20452     function startFromNode(node) {
20453         var way = iD.Way();
20454
20455         context.perform(
20456             iD.actions.AddEntity(way),
20457             iD.actions.AddVertex(way.id, node.id));
20458
20459         context.enter(iD.modes.DrawLine(context, way.id, context.graph()));
20460     }
20461
20462     mode.enter = function() {
20463         context.install(behavior);
20464     };
20465
20466     mode.exit = function() {
20467         context.uninstall(behavior);
20468     };
20469
20470     return mode;
20471 };
20472 iD.modes.AddPoint = function(context) {
20473     var mode = {
20474         id: 'add-point',
20475         button: 'point',
20476         title: t('modes.add_point.title'),
20477         description: t('modes.add_point.description'),
20478         key: '1'
20479     };
20480
20481     var behavior = iD.behavior.Draw(context)
20482         .tail(t('modes.add_point.tail'))
20483         .on('click', add)
20484         .on('clickWay', addWay)
20485         .on('clickNode', addNode)
20486         .on('cancel', cancel)
20487         .on('finish', cancel);
20488
20489     function add(loc) {
20490         var node = iD.Node({loc: loc});
20491
20492         context.perform(
20493             iD.actions.AddEntity(node),
20494             t('operations.add.annotation.point'));
20495
20496         context.enter(
20497             iD.modes.Select(context, [node.id])
20498                 .suppressMenu(true)
20499                 .newFeature(true));
20500     }
20501
20502     function addWay(loc) {
20503         add(loc);
20504     }
20505
20506     function addNode(node) {
20507         add(node.loc);
20508     }
20509
20510     function cancel() {
20511         context.enter(iD.modes.Browse(context));
20512     }
20513
20514     mode.enter = function() {
20515         context.install(behavior);
20516     };
20517
20518     mode.exit = function() {
20519         context.uninstall(behavior);
20520     };
20521
20522     return mode;
20523 };
20524 iD.modes.Browse = function(context) {
20525     var mode = {
20526         button: 'browse',
20527         id: 'browse',
20528         title: t('modes.browse.title'),
20529         description: t('modes.browse.description')
20530     }, sidebar;
20531
20532     var behaviors = [
20533         iD.behavior.Paste(context),
20534         iD.behavior.Hover(context)
20535             .on('hover', context.ui().sidebar.hover),
20536         iD.behavior.Select(context),
20537         iD.behavior.Lasso(context),
20538         iD.modes.DragNode(context).behavior];
20539
20540     mode.enter = function() {
20541         behaviors.forEach(function(behavior) {
20542             context.install(behavior);
20543         });
20544
20545         // Get focus on the body.
20546         if (document.activeElement && document.activeElement.blur) {
20547             document.activeElement.blur();
20548         }
20549
20550         if (sidebar) {
20551             context.ui().sidebar.show(sidebar);
20552         } else {
20553             context.ui().sidebar.select(null);
20554         }
20555     };
20556
20557     mode.exit = function() {
20558         behaviors.forEach(function(behavior) {
20559             context.uninstall(behavior);
20560         });
20561
20562         if (sidebar) {
20563             context.ui().sidebar.hide(sidebar);
20564         }
20565     };
20566
20567     mode.sidebar = function(_) {
20568         if (!arguments.length) return sidebar;
20569         sidebar = _;
20570         return mode;
20571     };
20572
20573     return mode;
20574 };
20575 iD.modes.DragNode = function(context) {
20576     var mode = {
20577         id: 'drag-node',
20578         button: 'browse'
20579     };
20580
20581     var nudgeInterval,
20582         activeIDs,
20583         wasMidpoint,
20584         cancelled,
20585         selectedIDs = [],
20586         hover = iD.behavior.Hover(context)
20587             .altDisables(true)
20588             .on('hover', context.ui().sidebar.hover),
20589         edit = iD.behavior.Edit(context);
20590
20591     function edge(point, size) {
20592         var pad = [30, 100, 30, 100];
20593         if (point[0] > size[0] - pad[0]) return [-10, 0];
20594         else if (point[0] < pad[2]) return [10, 0];
20595         else if (point[1] > size[1] - pad[1]) return [0, -10];
20596         else if (point[1] < pad[3]) return [0, 10];
20597         return null;
20598     }
20599
20600     function startNudge(nudge) {
20601         if (nudgeInterval) window.clearInterval(nudgeInterval);
20602         nudgeInterval = window.setInterval(function() {
20603             context.pan(nudge);
20604         }, 50);
20605     }
20606
20607     function stopNudge() {
20608         if (nudgeInterval) window.clearInterval(nudgeInterval);
20609         nudgeInterval = null;
20610     }
20611
20612     function moveAnnotation(entity) {
20613         return t('operations.move.annotation.' + entity.geometry(context.graph()));
20614     }
20615
20616     function connectAnnotation(entity) {
20617         return t('operations.connect.annotation.' + entity.geometry(context.graph()));
20618     }
20619
20620     function origin(entity) {
20621         return context.projection(entity.loc);
20622     }
20623
20624     function start(entity) {
20625         cancelled = d3.event.sourceEvent.shiftKey ||
20626             context.features().hasHiddenConnections(entity, context.graph());
20627
20628         if (cancelled) return behavior.cancel();
20629
20630         wasMidpoint = entity.type === 'midpoint';
20631         if (wasMidpoint) {
20632             var midpoint = entity;
20633             entity = iD.Node();
20634             context.perform(iD.actions.AddMidpoint(midpoint, entity));
20635
20636              var vertex = context.surface()
20637                 .selectAll('.' + entity.id);
20638              behavior.target(vertex.node(), entity);
20639
20640         } else {
20641             context.perform(
20642                 iD.actions.Noop());
20643         }
20644
20645         activeIDs = _.pluck(context.graph().parentWays(entity), 'id');
20646         activeIDs.push(entity.id);
20647
20648         context.enter(mode);
20649     }
20650
20651     function datum() {
20652         if (d3.event.sourceEvent.altKey) {
20653             return {};
20654         }
20655
20656         return d3.event.sourceEvent.target.__data__ || {};
20657     }
20658
20659     // via https://gist.github.com/shawnbot/4166283
20660     function childOf(p, c) {
20661         if (p === c) return false;
20662         while (c && c !== p) c = c.parentNode;
20663         return c === p;
20664     }
20665
20666     function move(entity) {
20667         if (cancelled) return;
20668         d3.event.sourceEvent.stopPropagation();
20669
20670         var nudge = childOf(context.container().node(),
20671             d3.event.sourceEvent.toElement) &&
20672             edge(d3.event.point, context.map().dimensions());
20673
20674         if (nudge) startNudge(nudge);
20675         else stopNudge();
20676
20677         var loc = context.map().mouseCoordinates();
20678
20679         var d = datum();
20680         if (d.type === 'node' && d.id !== entity.id) {
20681             loc = d.loc;
20682         } else if (d.type === 'way' && !d3.select(d3.event.sourceEvent.target).classed('fill')) {
20683             loc = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection).loc;
20684         }
20685
20686         context.replace(
20687             iD.actions.MoveNode(entity.id, loc),
20688             moveAnnotation(entity));
20689     }
20690
20691     function end(entity) {
20692         if (cancelled) return;
20693
20694         var d = datum();
20695
20696         if (d.type === 'way') {
20697             var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection);
20698             context.replace(
20699                 iD.actions.AddMidpoint({ loc: choice.loc, edge: [d.nodes[choice.index - 1], d.nodes[choice.index]] }, entity),
20700                 connectAnnotation(d));
20701
20702         } else if (d.type === 'node' && d.id !== entity.id) {
20703             context.replace(
20704                 iD.actions.Connect([d.id, entity.id]),
20705                 connectAnnotation(d));
20706
20707         } else if (wasMidpoint) {
20708             context.replace(
20709                 iD.actions.Noop(),
20710                 t('operations.add.annotation.vertex'));
20711
20712         } else {
20713             context.replace(
20714                 iD.actions.Noop(),
20715                 moveAnnotation(entity));
20716         }
20717
20718         var reselection = selectedIDs.filter(function(id) {
20719             return context.graph().hasEntity(id);
20720         });
20721
20722         if (reselection.length) {
20723             context.enter(
20724                 iD.modes.Select(context, reselection)
20725                     .suppressMenu(true));
20726         } else {
20727             context.enter(iD.modes.Browse(context));
20728         }
20729     }
20730
20731     function cancel() {
20732         behavior.cancel();
20733         context.enter(iD.modes.Browse(context));
20734     }
20735
20736     function setActiveElements() {
20737         context.surface().selectAll(iD.util.entitySelector(activeIDs))
20738             .classed('active', true);
20739     }
20740
20741     var behavior = iD.behavior.drag()
20742         .delegate('g.node, g.point, g.midpoint')
20743         .surface(context.surface().node())
20744         .origin(origin)
20745         .on('start', start)
20746         .on('move', move)
20747         .on('end', end);
20748
20749     mode.enter = function() {
20750         context.install(hover);
20751         context.install(edit);
20752
20753         context.history()
20754             .on('undone.drag-node', cancel);
20755
20756         context.map()
20757             .on('drawn.drag-node', setActiveElements);
20758
20759         setActiveElements();
20760     };
20761
20762     mode.exit = function() {
20763         context.uninstall(hover);
20764         context.uninstall(edit);
20765
20766         context.history()
20767             .on('undone.drag-node', null);
20768
20769         context.map()
20770             .on('drawn.drag-node', null);
20771
20772         context.surface()
20773             .selectAll('.active')
20774             .classed('active', false);
20775
20776         stopNudge();
20777     };
20778
20779     mode.selectedIDs = function(_) {
20780         if (!arguments.length) return selectedIDs;
20781         selectedIDs = _;
20782         return mode;
20783     };
20784
20785     mode.behavior = behavior;
20786
20787     return mode;
20788 };
20789 iD.modes.DrawArea = function(context, wayId, baseGraph) {
20790     var mode = {
20791         button: 'area',
20792         id: 'draw-area'
20793     };
20794
20795     var behavior;
20796
20797     mode.enter = function() {
20798         var way = context.entity(wayId),
20799             headId = way.nodes[way.nodes.length - 2],
20800             tailId = way.first();
20801
20802         behavior = iD.behavior.DrawWay(context, wayId, -1, mode, baseGraph)
20803             .tail(t('modes.draw_area.tail'));
20804
20805         var addNode = behavior.addNode;
20806
20807         behavior.addNode = function(node) {
20808             if (node.id === headId || node.id === tailId) {
20809                 behavior.finish();
20810             } else {
20811                 addNode(node);
20812             }
20813         };
20814
20815         context.install(behavior);
20816     };
20817
20818     mode.exit = function() {
20819         context.uninstall(behavior);
20820     };
20821
20822     mode.selectedIDs = function() {
20823         return [wayId];
20824     };
20825
20826     return mode;
20827 };
20828 iD.modes.DrawLine = function(context, wayId, baseGraph, affix) {
20829     var mode = {
20830         button: 'line',
20831         id: 'draw-line'
20832     };
20833
20834     var behavior;
20835
20836     mode.enter = function() {
20837         var way = context.entity(wayId),
20838             index = (affix === 'prefix') ? 0 : undefined,
20839             headId = (affix === 'prefix') ? way.first() : way.last();
20840
20841         behavior = iD.behavior.DrawWay(context, wayId, index, mode, baseGraph)
20842             .tail(t('modes.draw_line.tail'));
20843
20844         var addNode = behavior.addNode;
20845
20846         behavior.addNode = function(node) {
20847             if (node.id === headId) {
20848                 behavior.finish();
20849             } else {
20850                 addNode(node);
20851             }
20852         };
20853
20854         context.install(behavior);
20855     };
20856
20857     mode.exit = function() {
20858         context.uninstall(behavior);
20859     };
20860
20861     mode.selectedIDs = function() {
20862         return [wayId];
20863     };
20864
20865     return mode;
20866 };
20867 iD.modes.Move = function(context, entityIDs) {
20868     var mode = {
20869         id: 'move',
20870         button: 'browse'
20871     };
20872
20873     var keybinding = d3.keybinding('move'),
20874         edit = iD.behavior.Edit(context),
20875         annotation = entityIDs.length === 1 ?
20876             t('operations.move.annotation.' + context.geometry(entityIDs[0])) :
20877             t('operations.move.annotation.multiple'),
20878         origin,
20879         nudgeInterval;
20880
20881     function edge(point, size) {
20882         var pad = [30, 100, 30, 100];
20883         if (point[0] > size[0] - pad[0]) return [-10, 0];
20884         else if (point[0] < pad[2]) return [10, 0];
20885         else if (point[1] > size[1] - pad[1]) return [0, -10];
20886         else if (point[1] < pad[3]) return [0, 10];
20887         return null;
20888     }
20889
20890     function startNudge(nudge) {
20891         if (nudgeInterval) window.clearInterval(nudgeInterval);
20892         nudgeInterval = window.setInterval(function() {
20893             context.pan(nudge);
20894             context.replace(
20895                 iD.actions.Move(entityIDs, [-nudge[0], -nudge[1]], context.projection),
20896                 annotation);
20897             var c = context.projection(origin);
20898             origin = context.projection.invert([c[0] - nudge[0], c[1] - nudge[1]]);
20899         }, 50);
20900     }
20901
20902     function stopNudge() {
20903         if (nudgeInterval) window.clearInterval(nudgeInterval);
20904         nudgeInterval = null;
20905     }
20906
20907     function move() {
20908         var p = context.mouse();
20909
20910         var delta = origin ?
20911             [p[0] - context.projection(origin)[0],
20912                 p[1] - context.projection(origin)[1]] :
20913             [0, 0];
20914
20915         var nudge = edge(p, context.map().dimensions());
20916         if (nudge) startNudge(nudge);
20917         else stopNudge();
20918
20919         origin = context.map().mouseCoordinates();
20920
20921         context.replace(
20922             iD.actions.Move(entityIDs, delta, context.projection),
20923             annotation);
20924     }
20925
20926     function finish() {
20927         d3.event.stopPropagation();
20928         context.enter(iD.modes.Select(context, entityIDs)
20929             .suppressMenu(true));
20930         stopNudge();
20931     }
20932
20933     function cancel() {
20934         context.pop();
20935         context.enter(iD.modes.Select(context, entityIDs)
20936             .suppressMenu(true));
20937         stopNudge();
20938     }
20939
20940     function undone() {
20941         context.enter(iD.modes.Browse(context));
20942     }
20943
20944     mode.enter = function() {
20945         context.install(edit);
20946
20947         context.perform(
20948             iD.actions.Noop(),
20949             annotation);
20950
20951         context.surface()
20952             .on('mousemove.move', move)
20953             .on('click.move', finish);
20954
20955         context.history()
20956             .on('undone.move', undone);
20957
20958         keybinding
20959             .on('⎋', cancel)
20960             .on('↩', finish);
20961
20962         d3.select(document)
20963             .call(keybinding);
20964     };
20965
20966     mode.exit = function() {
20967         stopNudge();
20968
20969         context.uninstall(edit);
20970
20971         context.surface()
20972             .on('mousemove.move', null)
20973             .on('click.move', null);
20974
20975         context.history()
20976             .on('undone.move', null);
20977
20978         keybinding.off();
20979     };
20980
20981     return mode;
20982 };
20983 iD.modes.RotateWay = function(context, wayId) {
20984     var mode = {
20985         id: 'rotate-way',
20986         button: 'browse'
20987     };
20988
20989     var keybinding = d3.keybinding('rotate-way'),
20990         edit = iD.behavior.Edit(context);
20991
20992     mode.enter = function() {
20993         context.install(edit);
20994
20995         var annotation = t('operations.rotate.annotation.' + context.geometry(wayId)),
20996             way = context.graph().entity(wayId),
20997             nodes = _.uniq(context.graph().childNodes(way)),
20998             points = nodes.map(function(n) { return context.projection(n.loc); }),
20999             pivot = d3.geom.polygon(points).centroid(),
21000             angle;
21001
21002         context.perform(
21003             iD.actions.Noop(),
21004             annotation);
21005
21006         function rotate() {
21007
21008             var mousePoint = context.mouse(),
21009                 newAngle = Math.atan2(mousePoint[1] - pivot[1], mousePoint[0] - pivot[0]);
21010
21011             if (typeof angle === 'undefined') angle = newAngle;
21012
21013             context.replace(
21014                 iD.actions.RotateWay(wayId, pivot, newAngle - angle, context.projection),
21015                 annotation);
21016
21017             angle = newAngle;
21018         }
21019
21020         function finish() {
21021             d3.event.stopPropagation();
21022             context.enter(iD.modes.Select(context, [wayId])
21023                 .suppressMenu(true));
21024         }
21025
21026         function cancel() {
21027             context.pop();
21028             context.enter(iD.modes.Select(context, [wayId])
21029                 .suppressMenu(true));
21030         }
21031
21032         function undone() {
21033             context.enter(iD.modes.Browse(context));
21034         }
21035
21036         context.surface()
21037             .on('mousemove.rotate-way', rotate)
21038             .on('click.rotate-way', finish);
21039
21040         context.history()
21041             .on('undone.rotate-way', undone);
21042
21043         keybinding
21044             .on('⎋', cancel)
21045             .on('↩', finish);
21046
21047         d3.select(document)
21048             .call(keybinding);
21049     };
21050
21051     mode.exit = function() {
21052         context.uninstall(edit);
21053
21054         context.surface()
21055             .on('mousemove.rotate-way', null)
21056             .on('click.rotate-way', null);
21057
21058         context.history()
21059             .on('undone.rotate-way', null);
21060
21061         keybinding.off();
21062     };
21063
21064     return mode;
21065 };
21066 iD.modes.Save = function(context) {
21067     var ui = iD.ui.Commit(context)
21068         .on('cancel', cancel)
21069         .on('save', save);
21070
21071     function cancel() {
21072         context.enter(iD.modes.Browse(context));
21073     }
21074
21075     function save(e) {
21076         var loading = iD.ui.Loading(context)
21077             .message(t('save.uploading'))
21078             .blocking(true);
21079
21080         context.container()
21081             .call(loading);
21082
21083         context.connection().putChangeset(
21084             context.history().changes(iD.actions.DiscardTags(context.history().difference())),
21085             e.comment,
21086             context.history().imageryUsed(),
21087             function(err, changeset_id) {
21088                 loading.close();
21089                 if (err) {
21090                     var confirm = iD.ui.confirm(context.container());
21091                     confirm
21092                         .select('.modal-section.header')
21093                         .append('h3')
21094                         .text(t('save.error'));
21095                     confirm
21096                         .select('.modal-section.message-text')
21097                         .append('p')
21098                         .text(err.responseText || t('save.unknown_error_details'));
21099                 } else {
21100                     context.flush();
21101                     success(e, changeset_id);
21102                 }
21103             });
21104     }
21105
21106     function success(e, changeset_id) {
21107         context.enter(iD.modes.Browse(context)
21108             .sidebar(iD.ui.Success(context)
21109                 .changeset({
21110                     id: changeset_id,
21111                     comment: e.comment
21112                 })
21113                 .on('cancel', function(ui) {
21114                     context.ui().sidebar.hide(ui);
21115                 })));
21116     }
21117
21118     var mode = {
21119         id: 'save'
21120     };
21121
21122     var behaviors = [
21123         iD.behavior.Hover(context),
21124         iD.behavior.Select(context),
21125         iD.behavior.Lasso(context),
21126         iD.modes.DragNode(context).behavior];
21127
21128     mode.enter = function() {
21129         behaviors.forEach(function(behavior) {
21130             context.install(behavior);
21131         });
21132
21133         context.connection().authenticate(function() {
21134             context.ui().sidebar.show(ui);
21135         });
21136     };
21137
21138     mode.exit = function() {
21139         behaviors.forEach(function(behavior) {
21140             context.uninstall(behavior);
21141         });
21142
21143         context.ui().sidebar.hide(ui);
21144     };
21145
21146     return mode;
21147 };
21148 iD.modes.Select = function(context, selectedIDs) {
21149     var mode = {
21150         id: 'select',
21151         button: 'browse'
21152     };
21153
21154     var keybinding = d3.keybinding('select'),
21155         timeout = null,
21156         behaviors = [
21157             iD.behavior.Copy(context),
21158             iD.behavior.Paste(context),
21159             iD.behavior.Hover(context),
21160             iD.behavior.Select(context),
21161             iD.behavior.Lasso(context),
21162             iD.modes.DragNode(context)
21163                 .selectedIDs(selectedIDs)
21164                 .behavior],
21165         inspector,
21166         radialMenu,
21167         newFeature = false,
21168         suppressMenu = false;
21169
21170     var wrap = context.container()
21171         .select('.inspector-wrap');
21172
21173
21174     function singular() {
21175         if (selectedIDs.length === 1) {
21176             return context.entity(selectedIDs[0]);
21177         }
21178     }
21179
21180     function closeMenu() {
21181         if (radialMenu) {
21182             context.surface().call(radialMenu.close);
21183         }
21184     }
21185
21186     function positionMenu() {
21187         if (suppressMenu || !radialMenu) { return; }
21188
21189         var entity = singular();
21190         if (entity && context.geometry(entity.id) === 'relation') {
21191             suppressMenu = true;
21192         } else if (entity && entity.type === 'node') {
21193             radialMenu.center(context.projection(entity.loc));
21194         } else {
21195             var point = context.mouse(),
21196                 viewport = iD.geo.Extent(context.projection.clipExtent()).polygon();
21197             if (iD.geo.pointInPolygon(point, viewport)) {
21198                 radialMenu.center(point);
21199             } else {
21200                 suppressMenu = true;
21201             }
21202         }
21203     }
21204
21205     function showMenu() {
21206         closeMenu();
21207         if (!suppressMenu && radialMenu) {
21208             context.surface().call(radialMenu);
21209         }
21210     }
21211
21212     mode.selectedIDs = function() {
21213         return selectedIDs;
21214     };
21215
21216     mode.reselect = function() {
21217         var surfaceNode = context.surface().node();
21218         if (surfaceNode.focus) { // FF doesn't support it
21219             surfaceNode.focus();
21220         }
21221
21222         positionMenu();
21223         showMenu();
21224     };
21225
21226     mode.newFeature = function(_) {
21227         if (!arguments.length) return newFeature;
21228         newFeature = _;
21229         return mode;
21230     };
21231
21232     mode.suppressMenu = function(_) {
21233         if (!arguments.length) return suppressMenu;
21234         suppressMenu = _;
21235         return mode;
21236     };
21237
21238     mode.enter = function() {
21239         function update() {
21240             closeMenu();
21241             if (_.any(selectedIDs, function(id) { return !context.hasEntity(id); })) {
21242                 // Exit mode if selected entity gets undone
21243                 context.enter(iD.modes.Browse(context));
21244             }
21245         }
21246
21247         function dblclick() {
21248             var target = d3.select(d3.event.target),
21249                 datum = target.datum();
21250
21251             if (datum instanceof iD.Way && !target.classed('fill')) {
21252                 var choice = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection),
21253                     node = iD.Node();
21254
21255                 var prev = datum.nodes[choice.index - 1],
21256                     next = datum.nodes[choice.index];
21257
21258                 context.perform(
21259                     iD.actions.AddMidpoint({loc: choice.loc, edge: [prev, next]}, node),
21260                     t('operations.add.annotation.vertex'));
21261
21262                 d3.event.preventDefault();
21263                 d3.event.stopPropagation();
21264             }
21265         }
21266
21267         function selectElements(drawn) {
21268             var entity = singular();
21269             if (entity && context.geometry(entity.id) === 'relation') {
21270                 suppressMenu = true;
21271                 return;
21272             }
21273
21274             var selection = context.surface()
21275                     .selectAll(iD.util.entityOrMemberSelector(selectedIDs, context.graph()));
21276
21277             if (selection.empty()) {
21278                 if (drawn) {  // Exit mode if selected DOM elements have disappeared..
21279                     context.enter(iD.modes.Browse(context));
21280                 }
21281             } else {
21282                 selection
21283                     .classed('selected', true);
21284             }
21285         }
21286
21287
21288         behaviors.forEach(function(behavior) {
21289             context.install(behavior);
21290         });
21291
21292         var operations = _.without(d3.values(iD.operations), iD.operations.Delete)
21293                 .map(function(o) { return o(selectedIDs, context); })
21294                 .filter(function(o) { return o.available(); });
21295
21296         operations.unshift(iD.operations.Delete(selectedIDs, context));
21297
21298         keybinding.on('⎋', function() {
21299             context.enter(iD.modes.Browse(context));
21300         }, true);
21301
21302         operations.forEach(function(operation) {
21303             operation.keys.forEach(function(key) {
21304                 keybinding.on(key, function() {
21305                     if (!operation.disabled()) {
21306                         operation();
21307                     }
21308                 });
21309             });
21310         });
21311
21312         d3.select(document)
21313             .call(keybinding);
21314
21315         radialMenu = iD.ui.RadialMenu(context, operations);
21316
21317         context.ui().sidebar
21318             .select(singular() ? singular().id : null, newFeature);
21319
21320         context.history()
21321             .on('undone.select', update)
21322             .on('redone.select', update);
21323
21324         context.map()
21325             .on('move.select', closeMenu)
21326             .on('drawn.select', selectElements);
21327
21328         selectElements();
21329
21330         var show = d3.event && !suppressMenu;
21331
21332         if (show) {
21333             positionMenu();
21334         }
21335
21336         timeout = window.setTimeout(function() {
21337             if (show) {
21338                 showMenu();
21339             }
21340
21341             context.surface()
21342                 .on('dblclick.select', dblclick);
21343         }, 200);
21344
21345         if (selectedIDs.length > 1) {
21346             var entities = iD.ui.SelectionList(context, selectedIDs);
21347             context.ui().sidebar.show(entities);
21348         }
21349     };
21350
21351     mode.exit = function() {
21352         if (timeout) window.clearTimeout(timeout);
21353
21354         if (inspector) wrap.call(inspector.close);
21355
21356         behaviors.forEach(function(behavior) {
21357             context.uninstall(behavior);
21358         });
21359
21360         keybinding.off();
21361         closeMenu();
21362         radialMenu = undefined;
21363
21364         context.history()
21365             .on('undone.select', null)
21366             .on('redone.select', null);
21367
21368         context.surface()
21369             .on('dblclick.select', null)
21370             .selectAll('.selected')
21371             .classed('selected', false);
21372
21373         context.map().on('drawn.select', null);
21374         context.ui().sidebar.hide();
21375     };
21376
21377     return mode;
21378 };
21379 iD.operations = {};
21380 iD.operations.Circularize = function(selectedIDs, context) {
21381     var entityId = selectedIDs[0],
21382         entity = context.entity(entityId),
21383         extent = entity.extent(context.graph()),
21384         geometry = context.geometry(entityId),
21385         action = iD.actions.Circularize(entityId, context.projection);
21386
21387     var operation = function() {
21388         var annotation = t('operations.circularize.annotation.' + geometry);
21389         context.perform(action, annotation);
21390     };
21391
21392     operation.available = function() {
21393         return selectedIDs.length === 1 &&
21394             entity.type === 'way' &&
21395             _.uniq(entity.nodes).length > 1;
21396     };
21397
21398     operation.disabled = function() {
21399         var reason;
21400         if (extent.percentContainedIn(context.extent()) < 0.8) {
21401             reason = 'too_large';
21402         } else if (context.hasHiddenConnections(entityId)) {
21403             reason = 'connected_to_hidden';
21404         }
21405         return action.disabled(context.graph()) || reason;
21406     };
21407
21408     operation.tooltip = function() {
21409         var disable = operation.disabled();
21410         return disable ?
21411             t('operations.circularize.' + disable) :
21412             t('operations.circularize.description.' + geometry);
21413     };
21414
21415     operation.id = 'circularize';
21416     operation.keys = [t('operations.circularize.key')];
21417     operation.title = t('operations.circularize.title');
21418
21419     return operation;
21420 };
21421 iD.operations.Continue = function(selectedIDs, context) {
21422     var graph = context.graph(),
21423         entities = selectedIDs.map(function(id) { return graph.entity(id); }),
21424         geometries = _.extend({line: [], vertex: []},
21425             _.groupBy(entities, function(entity) { return entity.geometry(graph); })),
21426         vertex = geometries.vertex[0];
21427
21428     function candidateWays() {
21429         return graph.parentWays(vertex).filter(function(parent) {
21430             return parent.geometry(graph) === 'line' &&
21431                 parent.affix(vertex.id) &&
21432                 (geometries.line.length === 0 || geometries.line[0] === parent);
21433         });
21434     }
21435
21436     var operation = function() {
21437         var candidate = candidateWays()[0];
21438         context.enter(iD.modes.DrawLine(
21439             context,
21440             candidate.id,
21441             context.graph(),
21442             candidate.affix(vertex.id)));
21443     };
21444
21445     operation.available = function() {
21446         return geometries.vertex.length === 1 && geometries.line.length <= 1 &&
21447             !context.features().hasHiddenConnections(vertex, context.graph());
21448     };
21449
21450     operation.disabled = function() {
21451         var candidates = candidateWays();
21452         if (candidates.length === 0)
21453             return 'not_eligible';
21454         if (candidates.length > 1)
21455             return 'multiple';
21456     };
21457
21458     operation.tooltip = function() {
21459         var disable = operation.disabled();
21460         return disable ?
21461             t('operations.continue.' + disable) :
21462             t('operations.continue.description');
21463     };
21464
21465     operation.id = 'continue';
21466     operation.keys = [t('operations.continue.key')];
21467     operation.title = t('operations.continue.title');
21468
21469     return operation;
21470 };
21471 iD.operations.Delete = function(selectedIDs, context) {
21472     var action = iD.actions.DeleteMultiple(selectedIDs);
21473
21474     var operation = function() {
21475         var annotation,
21476             nextSelectedID;
21477
21478         if (selectedIDs.length > 1) {
21479             annotation = t('operations.delete.annotation.multiple', {n: selectedIDs.length});
21480
21481         } else {
21482             var id = selectedIDs[0],
21483                 entity = context.entity(id),
21484                 geometry = context.geometry(id),
21485                 parents = context.graph().parentWays(entity),
21486                 parent = parents[0];
21487
21488             annotation = t('operations.delete.annotation.' + geometry);
21489
21490             // Select the next closest node in the way.
21491             if (geometry === 'vertex' && parents.length === 1 && parent.nodes.length > 2) {
21492                 var nodes = parent.nodes,
21493                     i = nodes.indexOf(id);
21494
21495                 if (i === 0) {
21496                     i++;
21497                 } else if (i === nodes.length - 1) {
21498                     i--;
21499                 } else {
21500                     var a = iD.geo.sphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc),
21501                         b = iD.geo.sphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc);
21502                     i = a < b ? i - 1 : i + 1;
21503                 }
21504
21505                 nextSelectedID = nodes[i];
21506             }
21507         }
21508
21509         if (nextSelectedID && context.hasEntity(nextSelectedID)) {
21510             context.enter(iD.modes.Select(context, [nextSelectedID]));
21511         } else {
21512             context.enter(iD.modes.Browse(context));
21513         }
21514
21515         context.perform(
21516             action,
21517             annotation);
21518     };
21519
21520     operation.available = function() {
21521         return true;
21522     };
21523
21524     operation.disabled = function() {
21525         var reason;
21526         if (_.any(selectedIDs, context.hasHiddenConnections)) {
21527             reason = 'connected_to_hidden';
21528         }
21529         return action.disabled(context.graph()) || reason;
21530     };
21531
21532     operation.tooltip = function() {
21533         var disable = operation.disabled();
21534         return disable ?
21535             t('operations.delete.' + disable) :
21536             t('operations.delete.description');
21537     };
21538
21539     operation.id = 'delete';
21540     operation.keys = [iD.ui.cmd('⌘⌫'), iD.ui.cmd('⌘⌦')];
21541     operation.title = t('operations.delete.title');
21542
21543     return operation;
21544 };
21545 iD.operations.Disconnect = function(selectedIDs, context) {
21546     var vertices = _.filter(selectedIDs, function vertex(entityId) {
21547         return context.geometry(entityId) === 'vertex';
21548     });
21549
21550     var entityId = vertices[0],
21551         action = iD.actions.Disconnect(entityId);
21552
21553     if (selectedIDs.length > 1) {
21554         action.limitWays(_.without(selectedIDs, entityId));
21555     }
21556
21557     var operation = function() {
21558         context.perform(action, t('operations.disconnect.annotation'));
21559     };
21560
21561     operation.available = function() {
21562         return vertices.length === 1;
21563     };
21564
21565     operation.disabled = function() {
21566         var reason;
21567         if (_.any(selectedIDs, context.hasHiddenConnections)) {
21568             reason = 'connected_to_hidden';
21569         }
21570         return action.disabled(context.graph()) || reason;
21571     };
21572
21573     operation.tooltip = function() {
21574         var disable = operation.disabled();
21575         return disable ?
21576             t('operations.disconnect.' + disable) :
21577             t('operations.disconnect.description');
21578     };
21579
21580     operation.id = 'disconnect';
21581     operation.keys = [t('operations.disconnect.key')];
21582     operation.title = t('operations.disconnect.title');
21583
21584     return operation;
21585 };
21586 iD.operations.Merge = function(selectedIDs, context) {
21587     var join = iD.actions.Join(selectedIDs),
21588         merge = iD.actions.Merge(selectedIDs),
21589         mergePolygon = iD.actions.MergePolygon(selectedIDs);
21590
21591     var operation = function() {
21592         var annotation = t('operations.merge.annotation', {n: selectedIDs.length}),
21593             action;
21594
21595         if (!join.disabled(context.graph())) {
21596             action = join;
21597         } else if (!merge.disabled(context.graph())) {
21598             action = merge;
21599         } else {
21600             action = mergePolygon;
21601         }
21602
21603         context.perform(action, annotation);
21604         context.enter(iD.modes.Select(context, selectedIDs.filter(function(id) { return context.hasEntity(id); }))
21605             .suppressMenu(true));
21606     };
21607
21608     operation.available = function() {
21609         return selectedIDs.length >= 2;
21610     };
21611
21612     operation.disabled = function() {
21613         return join.disabled(context.graph()) &&
21614             merge.disabled(context.graph()) &&
21615             mergePolygon.disabled(context.graph());
21616     };
21617
21618     operation.tooltip = function() {
21619         var j = join.disabled(context.graph()),
21620             m = merge.disabled(context.graph()),
21621             p = mergePolygon.disabled(context.graph());
21622
21623         if (j === 'restriction' && m && p)
21624             return t('operations.merge.restriction', {relation: context.presets().item('type/restriction').name()});
21625
21626         if (p === 'incomplete_relation' && j && m)
21627             return t('operations.merge.incomplete_relation');
21628
21629         if (j && m && p)
21630             return t('operations.merge.' + j);
21631
21632         return t('operations.merge.description');
21633     };
21634
21635     operation.id = 'merge';
21636     operation.keys = [t('operations.merge.key')];
21637     operation.title = t('operations.merge.title');
21638
21639     return operation;
21640 };
21641 iD.operations.Move = function(selectedIDs, context) {
21642     var extent = selectedIDs.reduce(function(extent, id) {
21643             return extent.extend(context.entity(id).extent(context.graph()));
21644         }, iD.geo.Extent());
21645
21646     var operation = function() {
21647         context.enter(iD.modes.Move(context, selectedIDs));
21648     };
21649
21650     operation.available = function() {
21651         return selectedIDs.length > 1 ||
21652             context.entity(selectedIDs[0]).type !== 'node';
21653     };
21654
21655     operation.disabled = function() {
21656         var reason;
21657         if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
21658             reason = 'too_large';
21659         } else if (_.any(selectedIDs, context.hasHiddenConnections)) {
21660             reason = 'connected_to_hidden';
21661         }
21662         return iD.actions.Move(selectedIDs).disabled(context.graph()) || reason;
21663     };
21664
21665     operation.tooltip = function() {
21666         var disable = operation.disabled();
21667         return disable ?
21668             t('operations.move.' + disable) :
21669             t('operations.move.description');
21670     };
21671
21672     operation.id = 'move';
21673     operation.keys = [t('operations.move.key')];
21674     operation.title = t('operations.move.title');
21675
21676     return operation;
21677 };
21678 iD.operations.Orthogonalize = function(selectedIDs, context) {
21679     var entityId = selectedIDs[0],
21680         entity = context.entity(entityId),
21681         extent = entity.extent(context.graph()),
21682         geometry = context.geometry(entityId),
21683         action = iD.actions.Orthogonalize(entityId, context.projection);
21684
21685     var operation = function() {
21686         var annotation = t('operations.orthogonalize.annotation.' + geometry);
21687         context.perform(action, annotation);
21688     };
21689
21690     operation.available = function() {
21691         return selectedIDs.length === 1 &&
21692             entity.type === 'way' &&
21693             entity.isClosed() &&
21694             _.uniq(entity.nodes).length > 2;
21695     };
21696
21697     operation.disabled = function() {
21698         var reason;
21699         if (extent.percentContainedIn(context.extent()) < 0.8) {
21700             reason = 'too_large';
21701         } else if (context.hasHiddenConnections(entityId)) {
21702             reason = 'connected_to_hidden';
21703         }
21704         return action.disabled(context.graph()) || reason;
21705     };
21706
21707     operation.tooltip = function() {
21708         var disable = operation.disabled();
21709         return disable ?
21710             t('operations.orthogonalize.' + disable) :
21711             t('operations.orthogonalize.description.' + geometry);
21712     };
21713
21714     operation.id = 'orthogonalize';
21715     operation.keys = [t('operations.orthogonalize.key')];
21716     operation.title = t('operations.orthogonalize.title');
21717
21718     return operation;
21719 };
21720 iD.operations.Reverse = function(selectedIDs, context) {
21721     var entityId = selectedIDs[0];
21722
21723     var operation = function() {
21724         context.perform(
21725             iD.actions.Reverse(entityId),
21726             t('operations.reverse.annotation'));
21727     };
21728
21729     operation.available = function() {
21730         return selectedIDs.length === 1 &&
21731             context.geometry(entityId) === 'line';
21732     };
21733
21734     operation.disabled = function() {
21735         return false;
21736     };
21737
21738     operation.tooltip = function() {
21739         return t('operations.reverse.description');
21740     };
21741
21742     operation.id = 'reverse';
21743     operation.keys = [t('operations.reverse.key')];
21744     operation.title = t('operations.reverse.title');
21745
21746     return operation;
21747 };
21748 iD.operations.Rotate = function(selectedIDs, context) {
21749     var entityId = selectedIDs[0],
21750         entity = context.entity(entityId),
21751         extent = entity.extent(context.graph()),
21752         geometry = context.geometry(entityId);
21753
21754     var operation = function() {
21755         context.enter(iD.modes.RotateWay(context, entityId));
21756     };
21757
21758     operation.available = function() {
21759         if (selectedIDs.length !== 1 || entity.type !== 'way')
21760             return false;
21761         if (geometry === 'area')
21762             return true;
21763         if (entity.isClosed() &&
21764             context.graph().parentRelations(entity).some(function(r) { return r.isMultipolygon(); }))
21765             return true;
21766         return false;
21767     };
21768
21769     operation.disabled = function() {
21770         if (extent.percentContainedIn(context.extent()) < 0.8) {
21771             return 'too_large';
21772         } else if (context.hasHiddenConnections(entityId)) {
21773             return 'connected_to_hidden';
21774         } else {
21775             return false;
21776         }
21777     };
21778
21779     operation.tooltip = function() {
21780         var disable = operation.disabled();
21781         return disable ?
21782             t('operations.rotate.' + disable) :
21783             t('operations.rotate.description');
21784     };
21785
21786     operation.id = 'rotate';
21787     operation.keys = [t('operations.rotate.key')];
21788     operation.title = t('operations.rotate.title');
21789
21790     return operation;
21791 };
21792 iD.operations.Split = function(selectedIDs, context) {
21793     var vertices = _.filter(selectedIDs, function vertex(entityId) {
21794         return context.geometry(entityId) === 'vertex';
21795     });
21796
21797     var entityId = vertices[0],
21798         action = iD.actions.Split(entityId);
21799
21800     if (selectedIDs.length > 1) {
21801         action.limitWays(_.without(selectedIDs, entityId));
21802     }
21803
21804     var operation = function() {
21805         var annotation;
21806
21807         var ways = action.ways(context.graph());
21808         if (ways.length === 1) {
21809             annotation = t('operations.split.annotation.' + context.geometry(ways[0].id));
21810         } else {
21811             annotation = t('operations.split.annotation.multiple', {n: ways.length});
21812         }
21813
21814         var difference = context.perform(action, annotation);
21815         context.enter(iD.modes.Select(context, difference.extantIDs()));
21816     };
21817
21818     operation.available = function() {
21819         return vertices.length === 1;
21820     };
21821
21822     operation.disabled = function() {
21823         var reason;
21824         if (_.any(selectedIDs, context.hasHiddenConnections)) {
21825             reason = 'connected_to_hidden';
21826         }
21827         return action.disabled(context.graph()) || reason;
21828     };
21829
21830     operation.tooltip = function() {
21831         var disable = operation.disabled();
21832         if (disable) {
21833             return t('operations.split.' + disable);
21834         }
21835
21836         var ways = action.ways(context.graph());
21837         if (ways.length === 1) {
21838             return t('operations.split.description.' + context.geometry(ways[0].id));
21839         } else {
21840             return t('operations.split.description.multiple');
21841         }
21842     };
21843
21844     operation.id = 'split';
21845     operation.keys = [t('operations.split.key')];
21846     operation.title = t('operations.split.title');
21847
21848     return operation;
21849 };
21850 iD.operations.Straighten = function(selectedIDs, context) {
21851     var entityId = selectedIDs[0],
21852         action = iD.actions.Straighten(entityId, context.projection);
21853
21854     function operation() {
21855         var annotation = t('operations.straighten.annotation');
21856         context.perform(action, annotation);
21857     }
21858
21859     operation.available = function() {
21860         var entity = context.entity(entityId);
21861         return selectedIDs.length === 1 &&
21862             entity.type === 'way' &&
21863             !entity.isClosed() &&
21864             _.uniq(entity.nodes).length > 2;
21865     };
21866
21867     operation.disabled = function() {
21868         var reason;
21869         if (context.hasHiddenConnections(entityId)) {
21870             reason = 'connected_to_hidden';
21871         }
21872         return action.disabled(context.graph()) || reason;
21873     };
21874
21875     operation.tooltip = function() {
21876         var disable = operation.disabled();
21877         return disable ?
21878             t('operations.straighten.' + disable) :
21879             t('operations.straighten.description');
21880     };
21881
21882     operation.id = 'straighten';
21883     operation.keys = [t('operations.straighten.key')];
21884     operation.title = t('operations.straighten.title');
21885
21886     return operation;
21887 };
21888 iD.Connection = function() {
21889
21890     var event = d3.dispatch('authenticating', 'authenticated', 'auth', 'loading', 'load', 'loaded'),
21891         url = 'http://www.openstreetmap.org',
21892         connection = {},
21893         inflight = {},
21894         loadedTiles = {},
21895         tileZoom = 16,
21896         oauth = osmAuth({
21897             url: 'http://www.openstreetmap.org',
21898             oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT',
21899             oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL',
21900             loading: authenticating,
21901             done: authenticated
21902         }),
21903         ndStr = 'nd',
21904         tagStr = 'tag',
21905         memberStr = 'member',
21906         nodeStr = 'node',
21907         wayStr = 'way',
21908         relationStr = 'relation',
21909         off;
21910
21911     connection.changesetURL = function(changesetId) {
21912         return url + '/changeset/' + changesetId;
21913     };
21914
21915     connection.changesetsURL = function(center, zoom) {
21916         var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
21917         return url + '/history#map=' +
21918             Math.floor(zoom) + '/' +
21919             center[1].toFixed(precision) + '/' +
21920             center[0].toFixed(precision);
21921     };
21922
21923     connection.entityURL = function(entity) {
21924         return url + '/' + entity.type + '/' + entity.osmId();
21925     };
21926
21927     connection.userURL = function(username) {
21928         return url + '/user/' + username;
21929     };
21930
21931     connection.loadFromURL = function(url, callback) {
21932         function done(dom) {
21933             return callback(null, parse(dom));
21934         }
21935         return d3.xml(url).get().on('load', done);
21936     };
21937
21938     connection.loadEntity = function(id, callback) {
21939         var type = iD.Entity.id.type(id),
21940             osmID = iD.Entity.id.toOSM(id);
21941
21942         connection.loadFromURL(
21943             url + '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''),
21944             function(err, entities) {
21945                 event.load(err, {data: entities});
21946                 if (callback) callback(err, entities && _.find(entities, function(e) { return e.id === id; }));
21947             });
21948     };
21949
21950     function authenticating() {
21951         event.authenticating();
21952     }
21953
21954     function authenticated() {
21955         event.authenticated();
21956     }
21957
21958     function getNodes(obj) {
21959         var elems = obj.getElementsByTagName(ndStr),
21960             nodes = new Array(elems.length);
21961         for (var i = 0, l = elems.length; i < l; i++) {
21962             nodes[i] = 'n' + elems[i].attributes.ref.value;
21963         }
21964         return nodes;
21965     }
21966
21967     function getTags(obj) {
21968         var elems = obj.getElementsByTagName(tagStr),
21969             tags = {};
21970         for (var i = 0, l = elems.length; i < l; i++) {
21971             var attrs = elems[i].attributes;
21972             tags[attrs.k.value] = attrs.v.value;
21973         }
21974         return tags;
21975     }
21976
21977     function getMembers(obj) {
21978         var elems = obj.getElementsByTagName(memberStr),
21979             members = new Array(elems.length);
21980         for (var i = 0, l = elems.length; i < l; i++) {
21981             var attrs = elems[i].attributes;
21982             members[i] = {
21983                 id: attrs.type.value[0] + attrs.ref.value,
21984                 type: attrs.type.value,
21985                 role: attrs.role.value
21986             };
21987         }
21988         return members;
21989     }
21990
21991     var parsers = {
21992         node: function nodeData(obj) {
21993             var attrs = obj.attributes;
21994             return new iD.Node({
21995                 id: iD.Entity.id.fromOSM(nodeStr, attrs.id.value),
21996                 loc: [parseFloat(attrs.lon.value), parseFloat(attrs.lat.value)],
21997                 version: attrs.version.value,
21998                 user: attrs.user && attrs.user.value,
21999                 tags: getTags(obj)
22000             });
22001         },
22002
22003         way: function wayData(obj) {
22004             var attrs = obj.attributes;
22005             return new iD.Way({
22006                 id: iD.Entity.id.fromOSM(wayStr, attrs.id.value),
22007                 version: attrs.version.value,
22008                 user: attrs.user && attrs.user.value,
22009                 tags: getTags(obj),
22010                 nodes: getNodes(obj)
22011             });
22012         },
22013
22014         relation: function relationData(obj) {
22015             var attrs = obj.attributes;
22016             return new iD.Relation({
22017                 id: iD.Entity.id.fromOSM(relationStr, attrs.id.value),
22018                 version: attrs.version.value,
22019                 user: attrs.user && attrs.user.value,
22020                 tags: getTags(obj),
22021                 members: getMembers(obj)
22022             });
22023         }
22024     };
22025
22026     function parse(dom) {
22027         if (!dom || !dom.childNodes) return new Error('Bad request');
22028
22029         var root = dom.childNodes[0],
22030             children = root.childNodes,
22031             entities = [];
22032
22033         for (var i = 0, l = children.length; i < l; i++) {
22034             var child = children[i],
22035                 parser = parsers[child.nodeName];
22036             if (parser) {
22037                 entities.push(parser(child));
22038             }
22039         }
22040
22041         return entities;
22042     }
22043
22044     connection.authenticated = function() {
22045         return oauth.authenticated();
22046     };
22047
22048     // Generate Changeset XML. Returns a string.
22049     connection.changesetJXON = function(tags) {
22050         return {
22051             osm: {
22052                 changeset: {
22053                     tag: _.map(tags, function(value, key) {
22054                         return { '@k': key, '@v': value };
22055                     }),
22056                     '@version': 0.3,
22057                     '@generator': 'iD'
22058                 }
22059             }
22060         };
22061     };
22062
22063     // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange)
22064     // XML. Returns a string.
22065     connection.osmChangeJXON = function(changeset_id, changes) {
22066         function nest(x, order) {
22067             var groups = {};
22068             for (var i = 0; i < x.length; i++) {
22069                 var tagName = Object.keys(x[i])[0];
22070                 if (!groups[tagName]) groups[tagName] = [];
22071                 groups[tagName].push(x[i][tagName]);
22072             }
22073             var ordered = {};
22074             order.forEach(function(o) {
22075                 if (groups[o]) ordered[o] = groups[o];
22076             });
22077             return ordered;
22078         }
22079
22080         function rep(entity) {
22081             return entity.asJXON(changeset_id);
22082         }
22083
22084         return {
22085             osmChange: {
22086                 '@version': 0.3,
22087                 '@generator': 'iD',
22088                 'create': nest(changes.created.map(rep), ['node', 'way', 'relation']),
22089                 'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
22090                 'delete': _.extend(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), {'@if-unused': true})
22091             }
22092         };
22093     };
22094
22095     connection.changesetTags = function(comment, imageryUsed) {
22096         var tags = {
22097             imagery_used: imageryUsed.join(';').substr(0, 255),
22098             created_by: 'iD ' + iD.version
22099         };
22100
22101         if (comment) {
22102             tags.comment = comment;
22103         }
22104
22105         return tags;
22106     };
22107
22108     connection.putChangeset = function(changes, comment, imageryUsed, callback) {
22109         oauth.xhr({
22110                 method: 'PUT',
22111                 path: '/api/0.6/changeset/create',
22112                 options: { header: { 'Content-Type': 'text/xml' } },
22113                 content: JXON.stringify(connection.changesetJXON(connection.changesetTags(comment, imageryUsed)))
22114             }, function(err, changeset_id) {
22115                 if (err) return callback(err);
22116                 oauth.xhr({
22117                     method: 'POST',
22118                     path: '/api/0.6/changeset/' + changeset_id + '/upload',
22119                     options: { header: { 'Content-Type': 'text/xml' } },
22120                     content: JXON.stringify(connection.osmChangeJXON(changeset_id, changes))
22121                 }, function(err) {
22122                     if (err) return callback(err);
22123                     oauth.xhr({
22124                         method: 'PUT',
22125                         path: '/api/0.6/changeset/' + changeset_id + '/close'
22126                     }, function(err) {
22127                         callback(err, changeset_id);
22128                     });
22129                 });
22130             });
22131     };
22132
22133     var userDetails;
22134
22135     connection.userDetails = function(callback) {
22136         if (userDetails) {
22137             callback(undefined, userDetails);
22138             return;
22139         }
22140
22141         function done(err, user_details) {
22142             if (err) return callback(err);
22143
22144             var u = user_details.getElementsByTagName('user')[0],
22145                 img = u.getElementsByTagName('img'),
22146                 image_url = '';
22147
22148             if (img && img[0] && img[0].getAttribute('href')) {
22149                 image_url = img[0].getAttribute('href');
22150             }
22151
22152             userDetails = {
22153                 display_name: u.attributes.display_name.value,
22154                 image_url: image_url,
22155                 id: u.attributes.id.value
22156             };
22157
22158             callback(undefined, userDetails);
22159         }
22160
22161         oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done);
22162     };
22163
22164     connection.status = function(callback) {
22165         function done(capabilities) {
22166             var apiStatus = capabilities.getElementsByTagName('status');
22167             callback(undefined, apiStatus[0].getAttribute('api'));
22168         }
22169         d3.xml(url + '/api/capabilities').get()
22170             .on('load', done)
22171             .on('error', callback);
22172     };
22173
22174     function abortRequest(i) { i.abort(); }
22175
22176     connection.tileZoom = function(_) {
22177         if (!arguments.length) return tileZoom;
22178         tileZoom = _;
22179         return connection;
22180     };
22181
22182     connection.loadTiles = function(projection, dimensions) {
22183
22184         if (off) return;
22185
22186         var s = projection.scale() * 2 * Math.PI,
22187             z = Math.max(Math.log(s) / Math.log(2) - 8, 0),
22188             ts = 256 * Math.pow(2, z - tileZoom),
22189             origin = [
22190                 s / 2 - projection.translate()[0],
22191                 s / 2 - projection.translate()[1]];
22192
22193         var tiles = d3.geo.tile()
22194             .scaleExtent([tileZoom, tileZoom])
22195             .scale(s)
22196             .size(dimensions)
22197             .translate(projection.translate())()
22198             .map(function(tile) {
22199                 var x = tile[0] * ts - origin[0],
22200                     y = tile[1] * ts - origin[1];
22201
22202                 return {
22203                     id: tile.toString(),
22204                     extent: iD.geo.Extent(
22205                         projection.invert([x, y + ts]),
22206                         projection.invert([x + ts, y]))
22207                 };
22208             });
22209
22210         function bboxUrl(tile) {
22211             return url + '/api/0.6/map?bbox=' + tile.extent.toParam();
22212         }
22213
22214         _.filter(inflight, function(v, i) {
22215             var wanted = _.find(tiles, function(tile) {
22216                 return i === tile.id;
22217             });
22218             if (!wanted) delete inflight[i];
22219             return !wanted;
22220         }).map(abortRequest);
22221
22222         tiles.forEach(function(tile) {
22223             var id = tile.id;
22224
22225             if (loadedTiles[id] || inflight[id]) return;
22226
22227             if (_.isEmpty(inflight)) {
22228                 event.loading();
22229             }
22230
22231             inflight[id] = connection.loadFromURL(bboxUrl(tile), function(err, parsed) {
22232                 loadedTiles[id] = true;
22233                 delete inflight[id];
22234
22235                 event.load(err, _.extend({data: parsed}, tile));
22236
22237                 if (_.isEmpty(inflight)) {
22238                     event.loaded();
22239                 }
22240             });
22241         });
22242     };
22243
22244     connection.switch = function(options) {
22245         url = options.url;
22246         oauth.options(_.extend({
22247             loading: authenticating,
22248             done: authenticated
22249         }, options));
22250         event.auth();
22251         connection.flush();
22252         return connection;
22253     };
22254
22255     connection.toggle = function(_) {
22256         off = !_;
22257         return connection;
22258     };
22259
22260     connection.flush = function() {
22261         _.forEach(inflight, abortRequest);
22262         loadedTiles = {};
22263         inflight = {};
22264         return connection;
22265     };
22266
22267     connection.loadedTiles = function(_) {
22268         if (!arguments.length) return loadedTiles;
22269         loadedTiles = _;
22270         return connection;
22271     };
22272
22273     connection.logout = function() {
22274         oauth.logout();
22275         event.auth();
22276         return connection;
22277     };
22278
22279     connection.authenticate = function(callback) {
22280         function done(err, res) {
22281             event.auth();
22282             if (callback) callback(err, res);
22283         }
22284         return oauth.authenticate(done);
22285     };
22286
22287     return d3.rebind(connection, event, 'on');
22288 };
22289 /*
22290     iD.Difference represents the difference between two graphs.
22291     It knows how to calculate the set of entities that were
22292     created, modified, or deleted, and also contains the logic
22293     for recursively extending a difference to the complete set
22294     of entities that will require a redraw, taking into account
22295     child and parent relationships.
22296  */
22297 iD.Difference = function(base, head) {
22298     var changes = {}, length = 0;
22299
22300     function changed(h, b) {
22301         return !_.isEqual(_.omit(h, 'v'), _.omit(b, 'v'));
22302     }
22303
22304     _.each(head.entities, function(h, id) {
22305         var b = base.entities[id];
22306         if (changed(h, b)) {
22307             changes[id] = {base: b, head: h};
22308             length++;
22309         }
22310     });
22311
22312     _.each(base.entities, function(b, id) {
22313         var h = head.entities[id];
22314         if (!changes[id] && changed(h, b)) {
22315             changes[id] = {base: b, head: h};
22316             length++;
22317         }
22318     });
22319
22320     function addParents(parents, result) {
22321         for (var i = 0; i < parents.length; i++) {
22322             var parent = parents[i];
22323
22324             if (parent.id in result)
22325                 continue;
22326
22327             result[parent.id] = parent;
22328             addParents(head.parentRelations(parent), result);
22329         }
22330     }
22331
22332     var difference = {};
22333
22334     difference.length = function() {
22335         return length;
22336     };
22337
22338     difference.changes = function() {
22339         return changes;
22340     };
22341
22342     difference.extantIDs = function() {
22343         var result = [];
22344         _.each(changes, function(change, id) {
22345             if (change.head) result.push(id);
22346         });
22347         return result;
22348     };
22349
22350     difference.modified = function() {
22351         var result = [];
22352         _.each(changes, function(change) {
22353             if (change.base && change.head) result.push(change.head);
22354         });
22355         return result;
22356     };
22357
22358     difference.created = function() {
22359         var result = [];
22360         _.each(changes, function(change) {
22361             if (!change.base && change.head) result.push(change.head);
22362         });
22363         return result;
22364     };
22365
22366     difference.deleted = function() {
22367         var result = [];
22368         _.each(changes, function(change) {
22369             if (change.base && !change.head) result.push(change.base);
22370         });
22371         return result;
22372     };
22373
22374     difference.summary = function() {
22375         var relevant = {};
22376
22377         function addEntity(entity, graph, changeType) {
22378             relevant[entity.id] = {
22379                 entity: entity,
22380                 graph: graph,
22381                 changeType: changeType
22382             };
22383         }
22384
22385         function addParents(entity) {
22386             var parents = head.parentWays(entity);
22387             for (var j = parents.length - 1; j >= 0; j--) {
22388                 var parent = parents[j];
22389                 if (!(parent.id in relevant)) addEntity(parent, head, 'modified');
22390             }
22391         }
22392
22393         _.each(changes, function(change) {
22394             if (change.head && change.head.geometry(head) !== 'vertex') {
22395                 addEntity(change.head, head, change.base ? 'modified' : 'created');
22396
22397             } else if (change.base && change.base.geometry(base) !== 'vertex') {
22398                 addEntity(change.base, base, 'deleted');
22399
22400             } else if (change.base && change.head) { // modified vertex
22401                 var moved    = !_.isEqual(change.base.loc,  change.head.loc),
22402                     retagged = !_.isEqual(change.base.tags, change.head.tags);
22403
22404                 if (moved) {
22405                     addParents(change.head);
22406                 }
22407
22408                 if (retagged || (moved && change.head.hasInterestingTags())) {
22409                     addEntity(change.head, head, 'modified');
22410                 }
22411
22412             } else if (change.head && change.head.hasInterestingTags()) { // created vertex
22413                 addEntity(change.head, head, 'created');
22414
22415             } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex
22416                 addEntity(change.base, base, 'deleted');
22417             }
22418         });
22419
22420         return d3.values(relevant);
22421     };
22422
22423     difference.complete = function(extent) {
22424         var result = {}, id, change;
22425
22426         for (id in changes) {
22427             change = changes[id];
22428
22429             var h = change.head,
22430                 b = change.base,
22431                 entity = h || b;
22432
22433             if (extent &&
22434                 (!h || !h.intersects(extent, head)) &&
22435                 (!b || !b.intersects(extent, base)))
22436                 continue;
22437
22438             result[id] = h;
22439
22440             if (entity.type === 'way') {
22441                 var nh = h ? h.nodes : [],
22442                     nb = b ? b.nodes : [],
22443                     diff, i;
22444
22445                 diff = _.difference(nh, nb);
22446                 for (i = 0; i < diff.length; i++) {
22447                     result[diff[i]] = head.hasEntity(diff[i]);
22448                 }
22449
22450                 diff = _.difference(nb, nh);
22451                 for (i = 0; i < diff.length; i++) {
22452                     result[diff[i]] = head.hasEntity(diff[i]);
22453                 }
22454             }
22455
22456             addParents(head.parentWays(entity), result);
22457             addParents(head.parentRelations(entity), result);
22458         }
22459
22460         return result;
22461     };
22462
22463     return difference;
22464 };
22465 iD.Entity = function(attrs) {
22466     // For prototypal inheritance.
22467     if (this instanceof iD.Entity) return;
22468
22469     // Create the appropriate subtype.
22470     if (attrs && attrs.type) {
22471         return iD.Entity[attrs.type].apply(this, arguments);
22472     } else if (attrs && attrs.id) {
22473         return iD.Entity[iD.Entity.id.type(attrs.id)].apply(this, arguments);
22474     }
22475
22476     // Initialize a generic Entity (used only in tests).
22477     return (new iD.Entity()).initialize(arguments);
22478 };
22479
22480 iD.Entity.id = function(type) {
22481     return iD.Entity.id.fromOSM(type, iD.Entity.id.next[type]--);
22482 };
22483
22484 iD.Entity.id.next = {node: -1, way: -1, relation: -1};
22485
22486 iD.Entity.id.fromOSM = function(type, id) {
22487     return type[0] + id;
22488 };
22489
22490 iD.Entity.id.toOSM = function(id) {
22491     return id.slice(1);
22492 };
22493
22494 iD.Entity.id.type = function(id) {
22495     return {'n': 'node', 'w': 'way', 'r': 'relation'}[id[0]];
22496 };
22497
22498 // A function suitable for use as the second argument to d3.selection#data().
22499 iD.Entity.key = function(entity) {
22500     return entity.id + 'v' + (entity.v || 0);
22501 };
22502
22503 iD.Entity.prototype = {
22504     tags: {},
22505
22506     initialize: function(sources) {
22507         for (var i = 0; i < sources.length; ++i) {
22508             var source = sources[i];
22509             for (var prop in source) {
22510                 if (Object.prototype.hasOwnProperty.call(source, prop)) {
22511                     if (source[prop] === undefined) {
22512                         delete this[prop];
22513                     } else {
22514                         this[prop] = source[prop];
22515                     }
22516                 }
22517             }
22518         }
22519
22520         if (!this.id && this.type) {
22521             this.id = iD.Entity.id(this.type);
22522         }
22523
22524         if (iD.debug) {
22525             Object.freeze(this);
22526             Object.freeze(this.tags);
22527
22528             if (this.loc) Object.freeze(this.loc);
22529             if (this.nodes) Object.freeze(this.nodes);
22530             if (this.members) Object.freeze(this.members);
22531         }
22532
22533         return this;
22534     },
22535
22536     copy: function() {
22537         // Returns an array so that we can support deep copying ways and relations.
22538         // The first array element will contain this.copy, followed by any descendants.
22539         return [iD.Entity(this, {id: undefined, user: undefined, version: undefined})];
22540     },
22541
22542     osmId: function() {
22543         return iD.Entity.id.toOSM(this.id);
22544     },
22545
22546     isNew: function() {
22547         return this.osmId() < 0;
22548     },
22549
22550     update: function(attrs) {
22551         return iD.Entity(this, attrs, {v: 1 + (this.v || 0)});
22552     },
22553
22554     mergeTags: function(tags) {
22555         var merged = _.clone(this.tags), changed = false;
22556         for (var k in tags) {
22557             var t1 = merged[k],
22558                 t2 = tags[k];
22559             if (!t1) {
22560                 changed = true;
22561                 merged[k] = t2;
22562             } else if (t1 !== t2) {
22563                 changed = true;
22564                 merged[k] = _.union(t1.split(/;\s*/), t2.split(/;\s*/)).join(';');
22565             }
22566         }
22567         return changed ? this.update({tags: merged}) : this;
22568     },
22569
22570     intersects: function(extent, resolver) {
22571         return this.extent(resolver).intersects(extent);
22572     },
22573
22574     isUsed: function(resolver) {
22575         return _.without(Object.keys(this.tags), 'area').length > 0 ||
22576             resolver.parentRelations(this).length > 0;
22577     },
22578
22579     hasInterestingTags: function() {
22580         return _.keys(this.tags).some(function(key) {
22581             return key !== 'attribution' &&
22582                 key !== 'created_by' &&
22583                 key !== 'source' &&
22584                 key !== 'odbl' &&
22585                 key.indexOf('tiger:') !== 0;
22586         });
22587     },
22588
22589     isHighwayIntersection: function() {
22590         return false;
22591     },
22592
22593     deprecatedTags: function() {
22594         var tags = _.pairs(this.tags);
22595         var deprecated = {};
22596
22597         iD.data.deprecated.forEach(function(d) {
22598             var match = _.pairs(d.old)[0];
22599             tags.forEach(function(t) {
22600                 if (t[0] === match[0] &&
22601                     (t[1] === match[1] || match[1] === '*')) {
22602                     deprecated[t[0]] = t[1];
22603                 }
22604             });
22605         });
22606
22607         return deprecated;
22608     }
22609 };
22610 iD.Graph = function(other, mutable) {
22611     if (!(this instanceof iD.Graph)) return new iD.Graph(other, mutable);
22612
22613     if (other instanceof iD.Graph) {
22614         var base = other.base();
22615         this.entities = _.assign(Object.create(base.entities), other.entities);
22616         this._parentWays = _.assign(Object.create(base.parentWays), other._parentWays);
22617         this._parentRels = _.assign(Object.create(base.parentRels), other._parentRels);
22618
22619     } else {
22620         this.entities = Object.create({});
22621         this._parentWays = Object.create({});
22622         this._parentRels = Object.create({});
22623         this.rebase(other || [], [this]);
22624     }
22625
22626     this.transients = {};
22627     this._childNodes = {};
22628
22629     if (!mutable) {
22630         this.freeze();
22631     }
22632 };
22633
22634 iD.Graph.prototype = {
22635     hasEntity: function(id) {
22636         return this.entities[id];
22637     },
22638
22639     entity: function(id) {
22640         var entity = this.entities[id];
22641         if (!entity) {
22642             throw new Error('entity ' + id + ' not found');
22643         }
22644         return entity;
22645     },
22646
22647     transient: function(entity, key, fn) {
22648         var id = entity.id,
22649             transients = this.transients[id] ||
22650             (this.transients[id] = {});
22651
22652         if (transients[key] !== undefined) {
22653             return transients[key];
22654         }
22655
22656         transients[key] = fn.call(entity);
22657
22658         return transients[key];
22659     },
22660
22661     parentWays: function(entity) {
22662         var parents = this._parentWays[entity.id],
22663             result = [];
22664
22665         if (parents) {
22666             for (var i = 0, imax = parents.length; i !== imax; i++) {
22667                 result.push(this.entity(parents[i]));
22668             }
22669         }
22670         return result;
22671     },
22672
22673     isPoi: function(entity) {
22674         var parentWays = this._parentWays[entity.id];
22675         return !parentWays || parentWays.length === 0;
22676     },
22677
22678     isShared: function(entity) {
22679         var parentWays = this._parentWays[entity.id];
22680         return parentWays && parentWays.length > 1;
22681     },
22682
22683     parentRelations: function(entity) {
22684         var parents = this._parentRels[entity.id],
22685             result = [];
22686
22687         if (parents) {
22688             for (var i = 0, imax = parents.length; i !== imax; i++) {
22689                 result.push(this.entity(parents[i]));
22690             }
22691         }
22692         return result;
22693     },
22694
22695     childNodes: function(entity) {
22696         if (this._childNodes[entity.id])
22697             return this._childNodes[entity.id];
22698
22699         var nodes = [];
22700         if (entity.nodes) {
22701             for (var i = 0, l = entity.nodes.length; i < l; i++) {
22702                 nodes[i] = this.entity(entity.nodes[i]);
22703             }
22704         }
22705
22706         if (iD.debug) Object.freeze(nodes);
22707
22708         this._childNodes[entity.id] = nodes;
22709         return this._childNodes[entity.id];
22710     },
22711
22712     base: function() {
22713         return {
22714             'entities': iD.util.getPrototypeOf(this.entities),
22715             'parentWays': iD.util.getPrototypeOf(this._parentWays),
22716             'parentRels': iD.util.getPrototypeOf(this._parentRels)
22717         };
22718     },
22719
22720     // Unlike other graph methods, rebase mutates in place. This is because it
22721     // is used only during the history operation that merges newly downloaded
22722     // data into each state. To external consumers, it should appear as if the
22723     // graph always contained the newly downloaded data.
22724     rebase: function(entities, stack) {
22725         var base = this.base(),
22726             i, j, k, id;
22727
22728         for (i = 0; i < entities.length; i++) {
22729             var entity = entities[i];
22730
22731             if (base.entities[entity.id])
22732                 continue;
22733
22734             // Merging data into the base graph
22735             base.entities[entity.id] = entity;
22736             this._updateCalculated(undefined, entity,
22737                 base.parentWays, base.parentRels);
22738
22739             // Restore provisionally-deleted nodes that are discovered to have an extant parent
22740             if (entity.type === 'way') {
22741                 for (j = 0; j < entity.nodes.length; j++) {
22742                     id = entity.nodes[j];
22743                     for (k = 1; k < stack.length; k++) {
22744                         var ents = stack[k].entities;
22745                         if (ents.hasOwnProperty(id) && ents[id] === undefined) {
22746                             delete ents[id];
22747                         }
22748                     }
22749                 }
22750             }
22751         }
22752
22753         for (i = 0; i < stack.length; i++) {
22754             stack[i]._updateRebased();
22755         }
22756     },
22757
22758     _updateRebased: function() {
22759         var base = this.base(),
22760             i, k, child, id, keys;
22761
22762         keys = Object.keys(this._parentWays);
22763         for (i = 0; i < keys.length; i++) {
22764             child = keys[i];
22765             if (base.parentWays[child]) {
22766                 for (k = 0; k < base.parentWays[child].length; k++) {
22767                     id = base.parentWays[child][k];
22768                     if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentWays[child], id)) {
22769                         this._parentWays[child].push(id);
22770                     }
22771                 }
22772             }
22773         }
22774
22775         keys = Object.keys(this._parentRels);
22776         for (i = 0; i < keys.length; i++) {
22777             child = keys[i];
22778             if (base.parentRels[child]) {
22779                 for (k = 0; k < base.parentRels[child].length; k++) {
22780                     id = base.parentRels[child][k];
22781                     if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentRels[child], id)) {
22782                         this._parentRels[child].push(id);
22783                     }
22784                 }
22785             }
22786         }
22787
22788         this.transients = {};
22789
22790         // this._childNodes is not updated, under the assumption that
22791         // ways are always downloaded with their child nodes.
22792     },
22793
22794     // Updates calculated properties (parentWays, parentRels) for the specified change
22795     _updateCalculated: function(oldentity, entity, parentWays, parentRels) {
22796
22797         parentWays = parentWays || this._parentWays;
22798         parentRels = parentRels || this._parentRels;
22799
22800         var type = entity && entity.type || oldentity && oldentity.type,
22801             removed, added, ways, rels, i;
22802
22803
22804         if (type === 'way') {
22805
22806             // Update parentWays
22807             if (oldentity && entity) {
22808                 removed = _.difference(oldentity.nodes, entity.nodes);
22809                 added = _.difference(entity.nodes, oldentity.nodes);
22810             } else if (oldentity) {
22811                 removed = oldentity.nodes;
22812                 added = [];
22813             } else if (entity) {
22814                 removed = [];
22815                 added = entity.nodes;
22816             }
22817             for (i = 0; i < removed.length; i++) {
22818                 parentWays[removed[i]] = _.without(parentWays[removed[i]], oldentity.id);
22819             }
22820             for (i = 0; i < added.length; i++) {
22821                 ways = _.without(parentWays[added[i]], entity.id);
22822                 ways.push(entity.id);
22823                 parentWays[added[i]] = ways;
22824             }
22825
22826         } else if (type === 'relation') {
22827
22828             // Update parentRels
22829             if (oldentity && entity) {
22830                 removed = _.difference(oldentity.members, entity.members);
22831                 added = _.difference(entity.members, oldentity);
22832             } else if (oldentity) {
22833                 removed = oldentity.members;
22834                 added = [];
22835             } else if (entity) {
22836                 removed = [];
22837                 added = entity.members;
22838             }
22839             for (i = 0; i < removed.length; i++) {
22840                 parentRels[removed[i].id] = _.without(parentRels[removed[i].id], oldentity.id);
22841             }
22842             for (i = 0; i < added.length; i++) {
22843                 rels = _.without(parentRels[added[i].id], entity.id);
22844                 rels.push(entity.id);
22845                 parentRels[added[i].id] = rels;
22846             }
22847         }
22848     },
22849
22850     replace: function(entity) {
22851         if (this.entities[entity.id] === entity)
22852             return this;
22853
22854         return this.update(function() {
22855             this._updateCalculated(this.entities[entity.id], entity);
22856             this.entities[entity.id] = entity;
22857         });
22858     },
22859
22860     remove: function(entity) {
22861         return this.update(function() {
22862             this._updateCalculated(entity, undefined);
22863             this.entities[entity.id] = undefined;
22864         });
22865     },
22866
22867     update: function() {
22868         var graph = this.frozen ? iD.Graph(this, true) : this;
22869
22870         for (var i = 0; i < arguments.length; i++) {
22871             arguments[i].call(graph, graph);
22872         }
22873
22874         return this.frozen ? graph.freeze() : this;
22875     },
22876
22877     freeze: function() {
22878         this.frozen = true;
22879
22880         // No longer freezing entities here due to in-place updates needed in rebase.
22881
22882         return this;
22883     },
22884
22885     // Obliterates any existing entities
22886     load: function(entities) {
22887         var base = this.base();
22888         this.entities = Object.create(base.entities);
22889
22890         for (var i in entities) {
22891             this.entities[i] = entities[i];
22892             this._updateCalculated(base.entities[i], this.entities[i]);
22893         }
22894
22895         return this;
22896     }
22897 };
22898 iD.History = function(context) {
22899     var stack, index, tree,
22900         imageryUsed = ['Bing'],
22901         dispatch = d3.dispatch('change', 'undone', 'redone'),
22902         lock = iD.util.SessionMutex('lock');
22903
22904     function perform(actions) {
22905         actions = Array.prototype.slice.call(actions);
22906
22907         var annotation;
22908
22909         if (!_.isFunction(_.last(actions))) {
22910             annotation = actions.pop();
22911         }
22912
22913         var graph = stack[index].graph;
22914         for (var i = 0; i < actions.length; i++) {
22915             graph = actions[i](graph);
22916         }
22917
22918         return {
22919             graph: graph,
22920             annotation: annotation,
22921             imageryUsed: imageryUsed
22922         };
22923     }
22924
22925     function change(previous) {
22926         var difference = iD.Difference(previous, history.graph());
22927         dispatch.change(difference);
22928         return difference;
22929     }
22930
22931     // iD uses namespaced keys so multiple installations do not conflict
22932     function getKey(n) {
22933         return 'iD_' + window.location.origin + '_' + n;
22934     }
22935
22936     var history = {
22937         graph: function() {
22938             return stack[index].graph;
22939         },
22940
22941         merge: function(entities, extent) {
22942             stack[0].graph.rebase(entities, _.pluck(stack, 'graph'));
22943             tree.rebase(entities);
22944
22945             dispatch.change(undefined, extent);
22946         },
22947
22948         perform: function() {
22949             var previous = stack[index].graph;
22950
22951             stack = stack.slice(0, index + 1);
22952             stack.push(perform(arguments));
22953             index++;
22954
22955             return change(previous);
22956         },
22957
22958         replace: function() {
22959             var previous = stack[index].graph;
22960
22961             // assert(index == stack.length - 1)
22962             stack[index] = perform(arguments);
22963
22964             return change(previous);
22965         },
22966
22967         pop: function() {
22968             var previous = stack[index].graph;
22969
22970             if (index > 0) {
22971                 index--;
22972                 stack.pop();
22973                 return change(previous);
22974             }
22975         },
22976
22977         undo: function() {
22978             var previous = stack[index].graph;
22979
22980             // Pop to the next annotated state.
22981             while (index > 0) {
22982                 index--;
22983                 if (stack[index].annotation) break;
22984             }
22985
22986             dispatch.undone();
22987             return change(previous);
22988         },
22989
22990         redo: function() {
22991             var previous = stack[index].graph;
22992
22993             while (index < stack.length - 1) {
22994                 index++;
22995                 if (stack[index].annotation) break;
22996             }
22997
22998             dispatch.redone();
22999             return change(previous);
23000         },
23001
23002         undoAnnotation: function() {
23003             var i = index;
23004             while (i >= 0) {
23005                 if (stack[i].annotation) return stack[i].annotation;
23006                 i--;
23007             }
23008         },
23009
23010         redoAnnotation: function() {
23011             var i = index + 1;
23012             while (i <= stack.length - 1) {
23013                 if (stack[i].annotation) return stack[i].annotation;
23014                 i++;
23015             }
23016         },
23017
23018         intersects: function(extent) {
23019             return tree.intersects(extent, stack[index].graph);
23020         },
23021
23022         difference: function() {
23023             var base = stack[0].graph,
23024                 head = stack[index].graph;
23025             return iD.Difference(base, head);
23026         },
23027
23028         changes: function(action) {
23029             var base = stack[0].graph,
23030                 head = stack[index].graph;
23031
23032             if (action) {
23033                 head = action(head);
23034             }
23035
23036             var difference = iD.Difference(base, head);
23037
23038             return {
23039                 modified: difference.modified(),
23040                 created: difference.created(),
23041                 deleted: difference.deleted()
23042             };
23043         },
23044
23045         hasChanges: function() {
23046             return this.difference().length() > 0;
23047         },
23048
23049         imageryUsed: function(sources) {
23050             if (sources) {
23051                 imageryUsed = sources;
23052                 return history;
23053             } else {
23054                 return _(stack.slice(1, index + 1))
23055                     .pluck('imageryUsed')
23056                     .flatten()
23057                     .unique()
23058                     .without(undefined, 'Custom')
23059                     .value();
23060             }
23061         },
23062
23063         reset: function() {
23064             stack = [{graph: iD.Graph()}];
23065             index = 0;
23066             tree = iD.Tree(stack[0].graph);
23067             dispatch.change();
23068             return history;
23069         },
23070
23071         toJSON: function() {
23072             if (stack.length <= 1) return;
23073
23074             var allEntities = {},
23075                 baseEntities = {},
23076                 base = stack[0];
23077
23078             var s = stack.map(function(i) {
23079                 var modified = [], deleted = [];
23080
23081                 _.forEach(i.graph.entities, function(entity, id) {
23082                     if (entity) {
23083                         var key = iD.Entity.key(entity);
23084                         allEntities[key] = entity;
23085                         modified.push(key);
23086                     } else {
23087                         deleted.push(id);
23088                     }
23089
23090                     // make sure that the originals of changed or deleted entities get merged
23091                     // into the base of the stack after restoring the data from JSON.
23092                     if (id in base.graph.entities) {
23093                         baseEntities[id] = base.graph.entities[id];
23094                     }
23095                 });
23096
23097                 var x = {};
23098
23099                 if (modified.length) x.modified = modified;
23100                 if (deleted.length) x.deleted = deleted;
23101                 if (i.imageryUsed) x.imageryUsed = i.imageryUsed;
23102                 if (i.annotation) x.annotation = i.annotation;
23103
23104                 return x;
23105             });
23106
23107             return JSON.stringify({
23108                 version: 3,
23109                 entities: _.values(allEntities),
23110                 baseEntities: _.values(baseEntities),
23111                 stack: s,
23112                 nextIDs: iD.Entity.id.next,
23113                 index: index
23114             });
23115         },
23116
23117         fromJSON: function(json) {
23118             var h = JSON.parse(json);
23119
23120             iD.Entity.id.next = h.nextIDs;
23121             index = h.index;
23122
23123             if (h.version === 2 || h.version === 3) {
23124                 var allEntities = {};
23125
23126                 h.entities.forEach(function(entity) {
23127                     allEntities[iD.Entity.key(entity)] = iD.Entity(entity);
23128                 });
23129
23130                 if (h.version === 3) {
23131                     // this merges originals for changed entities into the base of
23132                     // the stack even if the current stack doesn't have them (for
23133                     // example when iD has been restarted in a different region)
23134                     var baseEntities = h.baseEntities.map(function(entity) {
23135                         return iD.Entity(entity);
23136                     });
23137                     stack[0].graph.rebase(baseEntities, _.pluck(stack, 'graph'));
23138                     tree.rebase(baseEntities);
23139                 }
23140
23141                 stack = h.stack.map(function(d) {
23142                     var entities = {}, entity;
23143
23144                     if (d.modified) {
23145                         d.modified.forEach(function(key) {
23146                             entity = allEntities[key];
23147                             entities[entity.id] = entity;
23148                         });
23149                     }
23150
23151                     if (d.deleted) {
23152                         d.deleted.forEach(function(id) {
23153                             entities[id] = undefined;
23154                         });
23155                     }
23156
23157                     return {
23158                         graph: iD.Graph(stack[0].graph).load(entities),
23159                         annotation: d.annotation,
23160                         imageryUsed: d.imageryUsed
23161                     };
23162                 });
23163             } else { // original version
23164                 stack = h.stack.map(function(d) {
23165                     var entities = {};
23166
23167                     for (var i in d.entities) {
23168                         var entity = d.entities[i];
23169                         entities[i] = entity === 'undefined' ? undefined : iD.Entity(entity);
23170                     }
23171
23172                     d.graph = iD.Graph(stack[0].graph).load(entities);
23173                     return d;
23174                 });
23175             }
23176
23177             dispatch.change();
23178
23179             return history;
23180         },
23181
23182         save: function() {
23183             if (lock.locked()) context.storage(getKey('saved_history'), history.toJSON() || null);
23184             return history;
23185         },
23186
23187         clearSaved: function() {
23188             if (lock.locked()) context.storage(getKey('saved_history'), null);
23189             return history;
23190         },
23191
23192         lock: function() {
23193             return lock.lock();
23194         },
23195
23196         unlock: function() {
23197             lock.unlock();
23198         },
23199
23200         // is iD not open in another window and it detects that
23201         // there's a history stored in localStorage that's recoverable?
23202         restorableChanges: function() {
23203             return lock.locked() && !!context.storage(getKey('saved_history'));
23204         },
23205
23206         // load history from a version stored in localStorage
23207         restore: function() {
23208             if (!lock.locked()) return;
23209
23210             var json = context.storage(getKey('saved_history'));
23211             if (json) history.fromJSON(json);
23212         },
23213
23214         _getKey: getKey
23215
23216     };
23217
23218     history.reset();
23219
23220     return d3.rebind(history, dispatch, 'on');
23221 };
23222 iD.Node = iD.Entity.node = function iD_Node() {
23223     if (!(this instanceof iD_Node)) {
23224         return (new iD_Node()).initialize(arguments);
23225     } else if (arguments.length) {
23226         this.initialize(arguments);
23227     }
23228 };
23229
23230 iD.Node.prototype = Object.create(iD.Entity.prototype);
23231
23232 _.extend(iD.Node.prototype, {
23233     type: 'node',
23234
23235     extent: function() {
23236         return new iD.geo.Extent(this.loc);
23237     },
23238
23239     geometry: function(graph) {
23240         return graph.transient(this, 'geometry', function() {
23241             return graph.isPoi(this) ? 'point' : 'vertex';
23242         });
23243     },
23244
23245     move: function(loc) {
23246         return this.update({loc: loc});
23247     },
23248
23249     isIntersection: function(resolver) {
23250         return resolver.transient(this, 'isIntersection', function() {
23251             return resolver.parentWays(this).filter(function(parent) {
23252                 return (parent.tags.highway ||
23253                     parent.tags.waterway ||
23254                     parent.tags.railway ||
23255                     parent.tags.aeroway) &&
23256                     parent.geometry(resolver) === 'line';
23257             }).length > 1;
23258         });
23259     },
23260
23261     isHighwayIntersection: function(resolver) {
23262         return resolver.transient(this, 'isHighwayIntersection', function() {
23263             return resolver.parentWays(this).filter(function(parent) {
23264                 return parent.tags.highway && parent.geometry(resolver) === 'line';
23265             }).length > 1;
23266         });
23267     },
23268
23269     asJXON: function(changeset_id) {
23270         var r = {
23271             node: {
23272                 '@id': this.osmId(),
23273                 '@lon': this.loc[0],
23274                 '@lat': this.loc[1],
23275                 '@version': (this.version || 0),
23276                 tag: _.map(this.tags, function(v, k) {
23277                     return { keyAttributes: { k: k, v: v } };
23278                 })
23279             }
23280         };
23281         if (changeset_id) r.node['@changeset'] = changeset_id;
23282         return r;
23283     },
23284
23285     asGeoJSON: function() {
23286         return {
23287             type: 'Point',
23288             coordinates: this.loc
23289         };
23290     }
23291 });
23292 iD.oneWayTags = {
23293     'aerialway': {
23294         'chair_lift': true,
23295         'mixed_lift': true,
23296         't-bar': true,
23297         'j-bar': true,
23298         'platter': true,
23299         'rope_tow': true,
23300         'magic_carpet': true,
23301         'yes': true
23302     },
23303     'highway': {
23304         'motorway': true,
23305         'motorway_link': true
23306     },
23307     'junction': {
23308         'roundabout': true
23309     },
23310     'man_made': {
23311         'piste:halfpipe': true
23312     },
23313     'piste:type': {
23314         'downhill': true,
23315         'sled': true,
23316         'yes': true
23317     },
23318     'waterway': {
23319         'river': true,
23320         'stream': true
23321     }
23322 };
23323 iD.Relation = iD.Entity.relation = function iD_Relation() {
23324     if (!(this instanceof iD_Relation)) {
23325         return (new iD_Relation()).initialize(arguments);
23326     } else if (arguments.length) {
23327         this.initialize(arguments);
23328     }
23329 };
23330
23331 iD.Relation.prototype = Object.create(iD.Entity.prototype);
23332
23333 iD.Relation.creationOrder = function(a, b) {
23334     var aId = parseInt(iD.Entity.id.toOSM(a.id), 10);
23335     var bId = parseInt(iD.Entity.id.toOSM(b.id), 10);
23336
23337     if (aId < 0 || bId < 0) return aId - bId;
23338     return bId - aId;
23339 };
23340
23341 _.extend(iD.Relation.prototype, {
23342     type: 'relation',
23343     members: [],
23344
23345     copy: function(deep, resolver, replacements) {
23346         var copy = iD.Entity.prototype.copy.call(this);
23347         if (!deep || !resolver || !this.isComplete(resolver)) {
23348             return copy;
23349         }
23350
23351         var members = [],
23352             i, oldmember, oldid, newid, children;
23353
23354         replacements = replacements || {};
23355         replacements[this.id] = copy[0].id;
23356
23357         for (i = 0; i < this.members.length; i++) {
23358             oldmember = this.members[i];
23359             oldid = oldmember.id;
23360             newid = replacements[oldid];
23361             if (!newid) {
23362                 children = resolver.entity(oldid).copy(true, resolver, replacements);
23363                 newid = replacements[oldid] = children[0].id;
23364                 copy = copy.concat(children);
23365             }
23366             members.push({id: newid, type: oldmember.type, role: oldmember.role});
23367         }
23368
23369         copy[0] = copy[0].update({members: members});
23370         return copy;
23371     },
23372
23373     extent: function(resolver, memo) {
23374         return resolver.transient(this, 'extent', function() {
23375             if (memo && memo[this.id]) return iD.geo.Extent();
23376             memo = memo || {};
23377             memo[this.id] = true;
23378
23379             var extent = iD.geo.Extent();
23380             for (var i = 0; i < this.members.length; i++) {
23381                 var member = resolver.hasEntity(this.members[i].id);
23382                 if (member) {
23383                     extent._extend(member.extent(resolver, memo));
23384                 }
23385             }
23386             return extent;
23387         });
23388     },
23389
23390     geometry: function(graph) {
23391         return graph.transient(this, 'geometry', function() {
23392             return this.isMultipolygon() ? 'area' : 'relation';
23393         });
23394     },
23395
23396     isDegenerate: function() {
23397         return this.members.length === 0;
23398     },
23399
23400     // Return an array of members, each extended with an 'index' property whose value
23401     // is the member index.
23402     indexedMembers: function() {
23403         var result = new Array(this.members.length);
23404         for (var i = 0; i < this.members.length; i++) {
23405             result[i] = _.extend({}, this.members[i], {index: i});
23406         }
23407         return result;
23408     },
23409
23410     // Return the first member with the given role. A copy of the member object
23411     // is returned, extended with an 'index' property whose value is the member index.
23412     memberByRole: function(role) {
23413         for (var i = 0; i < this.members.length; i++) {
23414             if (this.members[i].role === role) {
23415                 return _.extend({}, this.members[i], {index: i});
23416             }
23417         }
23418     },
23419
23420     // Return the first member with the given id. A copy of the member object
23421     // is returned, extended with an 'index' property whose value is the member index.
23422     memberById: function(id) {
23423         for (var i = 0; i < this.members.length; i++) {
23424             if (this.members[i].id === id) {
23425                 return _.extend({}, this.members[i], {index: i});
23426             }
23427         }
23428     },
23429
23430     // Return the first member with the given id and role. A copy of the member object
23431     // is returned, extended with an 'index' property whose value is the member index.
23432     memberByIdAndRole: function(id, role) {
23433         for (var i = 0; i < this.members.length; i++) {
23434             if (this.members[i].id === id && this.members[i].role === role) {
23435                 return _.extend({}, this.members[i], {index: i});
23436             }
23437         }
23438     },
23439
23440     addMember: function(member, index) {
23441         var members = this.members.slice();
23442         members.splice(index === undefined ? members.length : index, 0, member);
23443         return this.update({members: members});
23444     },
23445
23446     updateMember: function(member, index) {
23447         var members = this.members.slice();
23448         members.splice(index, 1, _.extend({}, members[index], member));
23449         return this.update({members: members});
23450     },
23451
23452     removeMember: function(index) {
23453         var members = this.members.slice();
23454         members.splice(index, 1);
23455         return this.update({members: members});
23456     },
23457
23458     removeMembersWithID: function(id) {
23459         var members = _.reject(this.members, function(m) { return m.id === id; });
23460         return this.update({members: members});
23461     },
23462
23463     // Wherever a member appears with id `needle.id`, replace it with a member
23464     // with id `replacement.id`, type `replacement.type`, and the original role,
23465     // unless a member already exists with that id and role. Return an updated
23466     // relation.
23467     replaceMember: function(needle, replacement) {
23468         if (!this.memberById(needle.id))
23469             return this;
23470
23471         var members = [];
23472
23473         for (var i = 0; i < this.members.length; i++) {
23474             var member = this.members[i];
23475             if (member.id !== needle.id) {
23476                 members.push(member);
23477             } else if (!this.memberByIdAndRole(replacement.id, member.role)) {
23478                 members.push({id: replacement.id, type: replacement.type, role: member.role});
23479             }
23480         }
23481
23482         return this.update({members: members});
23483     },
23484
23485     asJXON: function(changeset_id) {
23486         var r = {
23487             relation: {
23488                 '@id': this.osmId(),
23489                 '@version': this.version || 0,
23490                 member: _.map(this.members, function(member) {
23491                     return { keyAttributes: { type: member.type, role: member.role, ref: iD.Entity.id.toOSM(member.id) } };
23492                 }),
23493                 tag: _.map(this.tags, function(v, k) {
23494                     return { keyAttributes: { k: k, v: v } };
23495                 })
23496             }
23497         };
23498         if (changeset_id) r.relation['@changeset'] = changeset_id;
23499         return r;
23500     },
23501
23502     asGeoJSON: function(resolver) {
23503         return resolver.transient(this, 'GeoJSON', function () {
23504             if (this.isMultipolygon()) {
23505                 return {
23506                     type: 'MultiPolygon',
23507                     coordinates: this.multipolygon(resolver)
23508                 };
23509             } else {
23510                 return {
23511                     type: 'FeatureCollection',
23512                     properties: this.tags,
23513                     features: this.members.map(function (member) {
23514                         return _.extend({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
23515                     })
23516                 };
23517             }
23518         });
23519     },
23520
23521     area: function(resolver) {
23522         return resolver.transient(this, 'area', function() {
23523             return d3.geo.area(this.asGeoJSON(resolver));
23524         });
23525     },
23526
23527     isMultipolygon: function() {
23528         return this.tags.type === 'multipolygon';
23529     },
23530
23531     isComplete: function(resolver) {
23532         for (var i = 0; i < this.members.length; i++) {
23533             if (!resolver.hasEntity(this.members[i].id)) {
23534                 return false;
23535             }
23536         }
23537         return true;
23538     },
23539
23540     isRestriction: function() {
23541         return !!(this.tags.type && this.tags.type.match(/^restriction:?/));
23542     },
23543
23544     // Returns an array [A0, ... An], each Ai being an array of node arrays [Nds0, ... Ndsm],
23545     // where Nds0 is an outer ring and subsequent Ndsi's (if any i > 0) being inner rings.
23546     //
23547     // This corresponds to the structure needed for rendering a multipolygon path using a
23548     // `evenodd` fill rule, as well as the structure of a GeoJSON MultiPolygon geometry.
23549     //
23550     // In the case of invalid geometries, this function will still return a result which
23551     // includes the nodes of all way members, but some Nds may be unclosed and some inner
23552     // rings not matched with the intended outer ring.
23553     //
23554     multipolygon: function(resolver) {
23555         var outers = this.members.filter(function(m) { return 'outer' === (m.role || 'outer'); }),
23556             inners = this.members.filter(function(m) { return 'inner' === m.role; });
23557
23558         outers = iD.geo.joinWays(outers, resolver);
23559         inners = iD.geo.joinWays(inners, resolver);
23560
23561         outers = outers.map(function(outer) { return _.pluck(outer.nodes, 'loc'); });
23562         inners = inners.map(function(inner) { return _.pluck(inner.nodes, 'loc'); });
23563
23564         var result = outers.map(function(o) {
23565             // Heuristic for detecting counterclockwise winding order. Assumes
23566             // that OpenStreetMap polygons are not hemisphere-spanning.
23567             return [d3.geo.area({type: 'Polygon', coordinates: [o]}) > 2 * Math.PI ? o.reverse() : o];
23568         });
23569
23570         function findOuter(inner) {
23571             var o, outer;
23572
23573             for (o = 0; o < outers.length; o++) {
23574                 outer = outers[o];
23575                 if (iD.geo.polygonContainsPolygon(outer, inner))
23576                     return o;
23577             }
23578
23579             for (o = 0; o < outers.length; o++) {
23580                 outer = outers[o];
23581                 if (iD.geo.polygonIntersectsPolygon(outer, inner))
23582                     return o;
23583             }
23584         }
23585
23586         for (var i = 0; i < inners.length; i++) {
23587             var inner = inners[i];
23588
23589             if (d3.geo.area({type: 'Polygon', coordinates: [inner]}) < 2 * Math.PI) {
23590                 inner = inner.reverse();
23591             }
23592
23593             var o = findOuter(inners[i]);
23594             if (o !== undefined)
23595                 result[o].push(inners[i]);
23596             else
23597                 result.push([inners[i]]); // Invalid geometry
23598         }
23599
23600         return result;
23601     }
23602 });
23603 iD.Tree = function(head) {
23604     var rtree = rbush(),
23605         rectangles = {};
23606
23607     function extentRectangle(extent) {
23608         return [
23609             extent[0][0],
23610             extent[0][1],
23611             extent[1][0],
23612             extent[1][1]
23613         ];
23614     }
23615
23616     function entityRectangle(entity) {
23617         var rect = extentRectangle(entity.extent(head));
23618         rect.id = entity.id;
23619         rectangles[entity.id] = rect;
23620         return rect;
23621     }
23622
23623     function updateParents(entity, insertions, memo) {
23624         head.parentWays(entity).forEach(function(parent) {
23625             if (rectangles[parent.id]) {
23626                 rtree.remove(rectangles[parent.id]);
23627                 insertions[parent.id] = parent;
23628             }
23629         });
23630
23631         head.parentRelations(entity).forEach(function(parent) {
23632             if (memo[entity.id]) return;
23633             memo[entity.id] = true;
23634             if (rectangles[parent.id]) {
23635                 rtree.remove(rectangles[parent.id]);
23636                 insertions[parent.id] = parent;
23637             }
23638             updateParents(parent, insertions, memo);
23639         });
23640     }
23641
23642     var tree = {};
23643
23644     tree.rebase = function(entities) {
23645         var insertions = {};
23646
23647         for (var i = 0; i < entities.length; i++) {
23648             var entity = entities[i];
23649
23650             if (head.entities.hasOwnProperty(entity.id) || rectangles[entity.id])
23651                 continue;
23652
23653             insertions[entity.id] = entity;
23654             updateParents(entity, insertions, {});
23655         }
23656
23657         rtree.load(_.map(insertions, entityRectangle));
23658
23659         return tree;
23660     };
23661
23662     tree.intersects = function(extent, graph) {
23663         if (graph !== head) {
23664             var diff = iD.Difference(head, graph),
23665                 insertions = {};
23666
23667             head = graph;
23668
23669             diff.deleted().forEach(function(entity) {
23670                 rtree.remove(rectangles[entity.id]);
23671                 delete rectangles[entity.id];
23672             });
23673
23674             diff.modified().forEach(function(entity) {
23675                 rtree.remove(rectangles[entity.id]);
23676                 insertions[entity.id] = entity;
23677                 updateParents(entity, insertions, {});
23678             });
23679
23680             diff.created().forEach(function(entity) {
23681                 insertions[entity.id] = entity;
23682             });
23683
23684             rtree.load(_.map(insertions, entityRectangle));
23685         }
23686
23687         return rtree.search(extentRectangle(extent)).map(function(rect) {
23688             return head.entity(rect.id);
23689         });
23690     };
23691
23692     return tree;
23693 };
23694 iD.Way = iD.Entity.way = function iD_Way() {
23695     if (!(this instanceof iD_Way)) {
23696         return (new iD_Way()).initialize(arguments);
23697     } else if (arguments.length) {
23698         this.initialize(arguments);
23699     }
23700 };
23701
23702 iD.Way.prototype = Object.create(iD.Entity.prototype);
23703
23704 _.extend(iD.Way.prototype, {
23705     type: 'way',
23706     nodes: [],
23707
23708     copy: function(deep, resolver) {
23709         var copy = iD.Entity.prototype.copy.call(this);
23710
23711         if (!deep || !resolver) {
23712             return copy;
23713         }
23714
23715         var nodes = [],
23716             replacements = {},
23717             i, oldid, newid, child;
23718
23719         for (i = 0; i < this.nodes.length; i++) {
23720             oldid = this.nodes[i];
23721             newid = replacements[oldid];
23722             if (!newid) {
23723                 child = resolver.entity(oldid).copy();
23724                 newid = replacements[oldid] = child[0].id;
23725                 copy = copy.concat(child);
23726             }
23727             nodes.push(newid);
23728         }
23729
23730         copy[0] = copy[0].update({nodes: nodes});
23731         return copy;
23732     },
23733
23734     extent: function(resolver) {
23735         return resolver.transient(this, 'extent', function() {
23736             var extent = iD.geo.Extent();
23737             for (var i = 0; i < this.nodes.length; i++) {
23738                 var node = resolver.hasEntity(this.nodes[i]);
23739                 if (node) {
23740                     extent._extend(node.extent());
23741                 }
23742             }
23743             return extent;
23744         });
23745     },
23746
23747     first: function() {
23748         return this.nodes[0];
23749     },
23750
23751     last: function() {
23752         return this.nodes[this.nodes.length - 1];
23753     },
23754
23755     contains: function(node) {
23756         return this.nodes.indexOf(node) >= 0;
23757     },
23758
23759     affix: function(node) {
23760         if (this.nodes[0] === node) return 'prefix';
23761         if (this.nodes[this.nodes.length - 1] === node) return 'suffix';
23762     },
23763
23764     layer: function() {
23765         // explicit layer tag, clamp between -10, 10..
23766         if (this.tags.layer !== undefined) {
23767             return Math.max(-10, Math.min(+(this.tags.layer), 10));
23768         }
23769
23770         // implied layer tag..
23771         if (this.tags.location === 'overground') return 1;
23772         if (this.tags.location === 'underground') return -1;
23773         if (this.tags.location === 'underwater') return -10;
23774
23775         if (this.tags.power === 'line') return 10;
23776         if (this.tags.power === 'minor_line') return 10;
23777         if (this.tags.aerialway) return 10;
23778         if (this.tags.bridge) return 1;
23779         if (this.tags.cutting) return -1;
23780         if (this.tags.tunnel) return -1;
23781         if (this.tags.waterway) return -1;
23782         if (this.tags.man_made === 'pipeline') return -10;
23783         if (this.tags.boundary) return -10;
23784         return 0;
23785     },
23786
23787     isOneWay: function() {
23788         // explicit oneway tag..
23789         if (['yes', '1', '-1'].indexOf(this.tags.oneway) !== -1) { return true; }
23790         if (['no', '0'].indexOf(this.tags.oneway) !== -1) { return false; }
23791
23792         // implied oneway tag..
23793         for (var key in this.tags) {
23794             if (key in iD.oneWayTags && (this.tags[key] in iD.oneWayTags[key]))
23795                 return true;
23796         }
23797         return false;
23798     },
23799
23800     isClosed: function() {
23801         return this.nodes.length > 0 && this.first() === this.last();
23802     },
23803
23804     isConvex: function(resolver) {
23805         if (!this.isClosed() || this.isDegenerate()) return null;
23806
23807         var nodes = _.uniq(resolver.childNodes(this)),
23808             coords = _.pluck(nodes, 'loc'),
23809             curr = 0, prev = 0;
23810
23811         for (var i = 0; i < coords.length; i++) {
23812             var o = coords[(i+1) % coords.length],
23813                 a = coords[i],
23814                 b = coords[(i+2) % coords.length],
23815                 res = iD.geo.cross(o, a, b);
23816
23817             curr = (res > 0) ? 1 : (res < 0) ? -1 : 0;
23818             if (curr === 0) {
23819                 continue;
23820             } else if (prev && curr !== prev) {
23821                 return false;
23822             }
23823             prev = curr;
23824         }
23825         return true;
23826     },
23827
23828     isArea: function() {
23829         if (this.tags.area === 'yes')
23830             return true;
23831         if (!this.isClosed() || this.tags.area === 'no')
23832             return false;
23833         for (var key in this.tags)
23834             if (key in iD.areaKeys && !(this.tags[key] in iD.areaKeys[key]))
23835                 return true;
23836         return false;
23837     },
23838
23839     isDegenerate: function() {
23840         return _.uniq(this.nodes).length < (this.isArea() ? 3 : 2);
23841     },
23842
23843     areAdjacent: function(n1, n2) {
23844         for (var i = 0; i < this.nodes.length; i++) {
23845             if (this.nodes[i] === n1) {
23846                 if (this.nodes[i - 1] === n2) return true;
23847                 if (this.nodes[i + 1] === n2) return true;
23848             }
23849         }
23850         return false;
23851     },
23852
23853     geometry: function(graph) {
23854         return graph.transient(this, 'geometry', function() {
23855             return this.isArea() ? 'area' : 'line';
23856         });
23857     },
23858
23859     addNode: function(id, index) {
23860         var nodes = this.nodes.slice();
23861         nodes.splice(index === undefined ? nodes.length : index, 0, id);
23862         return this.update({nodes: nodes});
23863     },
23864
23865     updateNode: function(id, index) {
23866         var nodes = this.nodes.slice();
23867         nodes.splice(index, 1, id);
23868         return this.update({nodes: nodes});
23869     },
23870
23871     replaceNode: function(needle, replacement) {
23872         if (this.nodes.indexOf(needle) < 0)
23873             return this;
23874
23875         var nodes = this.nodes.slice();
23876         for (var i = 0; i < nodes.length; i++) {
23877             if (nodes[i] === needle) {
23878                 nodes[i] = replacement;
23879             }
23880         }
23881         return this.update({nodes: nodes});
23882     },
23883
23884     removeNode: function(id) {
23885         var nodes = [];
23886
23887         for (var i = 0; i < this.nodes.length; i++) {
23888             var node = this.nodes[i];
23889             if (node !== id && nodes[nodes.length - 1] !== node) {
23890                 nodes.push(node);
23891             }
23892         }
23893
23894         // Preserve circularity
23895         if (this.nodes.length > 1 && this.first() === id && this.last() === id && nodes[nodes.length - 1] !== nodes[0]) {
23896             nodes.push(nodes[0]);
23897         }
23898
23899         return this.update({nodes: nodes});
23900     },
23901
23902     asJXON: function(changeset_id) {
23903         var r = {
23904             way: {
23905                 '@id': this.osmId(),
23906                 '@version': this.version || 0,
23907                 nd: _.map(this.nodes, function(id) {
23908                     return { keyAttributes: { ref: iD.Entity.id.toOSM(id) } };
23909                 }),
23910                 tag: _.map(this.tags, function(v, k) {
23911                     return { keyAttributes: { k: k, v: v } };
23912                 })
23913             }
23914         };
23915         if (changeset_id) r.way['@changeset'] = changeset_id;
23916         return r;
23917     },
23918
23919     asGeoJSON: function(resolver) {
23920         return resolver.transient(this, 'GeoJSON', function() {
23921             var coordinates = _.pluck(resolver.childNodes(this), 'loc');
23922             if (this.isArea() && this.isClosed()) {
23923                 return {
23924                     type: 'Polygon',
23925                     coordinates: [coordinates]
23926                 };
23927             } else {
23928                 return {
23929                     type: 'LineString',
23930                     coordinates: coordinates
23931                 };
23932             }
23933         });
23934     },
23935
23936     area: function(resolver) {
23937         return resolver.transient(this, 'area', function() {
23938             var nodes = resolver.childNodes(this);
23939
23940             var json = {
23941                 type: 'Polygon',
23942                 coordinates: [_.pluck(nodes, 'loc')]
23943             };
23944
23945             if (!this.isClosed() && nodes.length) {
23946                 json.coordinates[0].push(nodes[0].loc);
23947             }
23948
23949             var area = d3.geo.area(json);
23950
23951             // Heuristic for detecting counterclockwise winding order. Assumes
23952             // that OpenStreetMap polygons are not hemisphere-spanning.
23953             if (area > 2 * Math.PI) {
23954                 json.coordinates[0] = json.coordinates[0].reverse();
23955                 area = d3.geo.area(json);
23956             }
23957
23958             return isNaN(area) ? 0 : area;
23959         });
23960     }
23961 });
23962 iD.Background = function(context) {
23963     var dispatch = d3.dispatch('change'),
23964         baseLayer = iD.TileLayer()
23965             .projection(context.projection),
23966         gpxLayer = iD.GpxLayer(context, dispatch)
23967             .projection(context.projection),
23968         mapillaryLayer = iD.MapillaryLayer(context),
23969         overlayLayers = [];
23970
23971     var backgroundSources;
23972
23973     function findSource(id) {
23974         return _.find(backgroundSources, function(d) {
23975             return d.id && d.id === id;
23976         });
23977     }
23978
23979     function updateImagery() {
23980         var b = background.baseLayerSource(),
23981             o = overlayLayers.map(function (d) { return d.source().id; }).join(','),
23982             q = iD.util.stringQs(location.hash.substring(1));
23983
23984         var id = b.id;
23985         if (id === 'custom') {
23986             id = 'custom:' + b.template;
23987         }
23988
23989         if (id) {
23990             q.background = id;
23991         } else {
23992             delete q.background;
23993         }
23994
23995         if (o) {
23996             q.overlays = o;
23997         } else {
23998             delete q.overlays;
23999         }
24000
24001         location.replace('#' + iD.util.qsString(q, true));
24002
24003         var imageryUsed = [b.imageryUsed()];
24004
24005         overlayLayers.forEach(function (d) {
24006             var source = d.source();
24007             if (!source.isLocatorOverlay()) {
24008                 imageryUsed.push(source.imageryUsed());
24009             }
24010         });
24011
24012         if (background.showsGpxLayer()) {
24013             imageryUsed.push('Local GPX');
24014         }
24015
24016         context.history().imageryUsed(imageryUsed);
24017     }
24018
24019     function background(selection) {
24020         var base = selection.selectAll('.background-layer')
24021             .data([0]);
24022
24023         base.enter().insert('div', '.layer-data')
24024             .attr('class', 'layer-layer background-layer');
24025
24026         base.call(baseLayer);
24027
24028         var overlays = selection.selectAll('.layer-overlay')
24029             .data(overlayLayers, function(d) { return d.source().name(); });
24030
24031         overlays.enter().insert('div', '.layer-data')
24032             .attr('class', 'layer-layer layer-overlay');
24033
24034         overlays.each(function(layer) {
24035             d3.select(this).call(layer);
24036         });
24037
24038         overlays.exit()
24039             .remove();
24040
24041         var gpx = selection.selectAll('.layer-gpx')
24042             .data([0]);
24043
24044         gpx.enter().insert('div')
24045             .attr('class', 'layer-layer layer-gpx');
24046
24047         gpx.call(gpxLayer);
24048
24049         var mapillary = selection.selectAll('.layer-mapillary')
24050             .data([0]);
24051
24052         mapillary.enter().insert('div')
24053             .attr('class', 'layer-layer layer-mapillary');
24054
24055         mapillary.call(mapillaryLayer);
24056     }
24057
24058     background.sources = function(extent) {
24059         return backgroundSources.filter(function(source) {
24060             return source.intersects(extent);
24061         });
24062     };
24063
24064     background.dimensions = function(_) {
24065         baseLayer.dimensions(_);
24066         gpxLayer.dimensions(_);
24067         mapillaryLayer.dimensions(_);
24068
24069         overlayLayers.forEach(function(layer) {
24070             layer.dimensions(_);
24071         });
24072     };
24073
24074     background.baseLayerSource = function(d) {
24075         if (!arguments.length) return baseLayer.source();
24076
24077         baseLayer.source(d);
24078         dispatch.change();
24079         updateImagery();
24080
24081         return background;
24082     };
24083
24084     background.bing = function() {
24085         background.baseLayerSource(findSource('Bing'));
24086     };
24087
24088     background.hasGpxLayer = function() {
24089         return !_.isEmpty(gpxLayer.geojson());
24090     };
24091
24092     background.showsGpxLayer = function() {
24093         return background.hasGpxLayer() && gpxLayer.enable();
24094     };
24095
24096     function toDom(x) {
24097         return (new DOMParser()).parseFromString(x, 'text/xml');
24098     }
24099
24100     background.gpxLayerFiles = function(fileList) {
24101         var f = fileList[0],
24102             reader = new FileReader();
24103
24104         reader.onload = function(e) {
24105             gpxLayer.geojson(toGeoJSON.gpx(toDom(e.target.result)));
24106             background.zoomToGpxLayer();
24107             dispatch.change();
24108         };
24109
24110         reader.readAsText(f);
24111     };
24112
24113     background.zoomToGpxLayer = function() {
24114         if (background.hasGpxLayer()) {
24115             var viewport = context.map().extent().polygon(),
24116                 coords = _.reduce(gpxLayer.geojson().features, function(coords, feature) {
24117                     var c = feature.geometry.coordinates;
24118                     return _.union(coords, feature.geometry.type === 'Point' ? [c] : c);
24119                 }, []);
24120
24121             if (!iD.geo.polygonIntersectsPolygon(viewport, coords)) {
24122                 context.map().extent(d3.geo.bounds(gpxLayer.geojson()));
24123             }
24124         }
24125     };
24126
24127     background.toggleGpxLayer = function() {
24128         gpxLayer.enable(!gpxLayer.enable());
24129         dispatch.change();
24130     };
24131
24132     background.showsMapillaryLayer = function() {
24133         return mapillaryLayer.enable();
24134     };
24135
24136     background.toggleMapillaryLayer = function() {
24137         mapillaryLayer.enable(!mapillaryLayer.enable());
24138         dispatch.change();
24139     };
24140
24141     background.showsLayer = function(d) {
24142         return d === baseLayer.source() ||
24143             (d.id === 'custom' && baseLayer.source().id === 'custom') ||
24144             overlayLayers.some(function(l) { return l.source() === d; });
24145     };
24146
24147     background.overlayLayerSources = function() {
24148         return overlayLayers.map(function (l) { return l.source(); });
24149     };
24150
24151     background.toggleOverlayLayer = function(d) {
24152         var layer;
24153
24154         for (var i = 0; i < overlayLayers.length; i++) {
24155             layer = overlayLayers[i];
24156             if (layer.source() === d) {
24157                 overlayLayers.splice(i, 1);
24158                 dispatch.change();
24159                 updateImagery();
24160                 return;
24161             }
24162         }
24163
24164         layer = iD.TileLayer()
24165             .source(d)
24166             .projection(context.projection)
24167             .dimensions(baseLayer.dimensions());
24168
24169         overlayLayers.push(layer);
24170         dispatch.change();
24171         updateImagery();
24172     };
24173
24174     background.nudge = function(d, zoom) {
24175         baseLayer.source().nudge(d, zoom);
24176         dispatch.change();
24177         return background;
24178     };
24179
24180     background.offset = function(d) {
24181         if (!arguments.length) return baseLayer.source().offset();
24182         baseLayer.source().offset(d);
24183         dispatch.change();
24184         return background;
24185     };
24186
24187     background.load = function(imagery) {
24188         backgroundSources = imagery.map(function(source) {
24189             if (source.type === 'bing') {
24190                 return iD.BackgroundSource.Bing(source, dispatch);
24191             } else {
24192                 return iD.BackgroundSource(source);
24193             }
24194         });
24195
24196         backgroundSources.unshift(iD.BackgroundSource.None());
24197
24198         var q = iD.util.stringQs(location.hash.substring(1)),
24199             chosen = q.background || q.layer;
24200
24201         if (chosen && chosen.indexOf('custom:') === 0) {
24202             background.baseLayerSource(iD.BackgroundSource.Custom(chosen.replace(/^custom:/, '')));
24203         } else {
24204             background.baseLayerSource(findSource(chosen) || findSource('Bing') || backgroundSources[1]);
24205         }
24206
24207         var locator = _.find(backgroundSources, function(d) {
24208             return d.overlay && d.default;
24209         });
24210
24211         if (locator) {
24212             background.toggleOverlayLayer(locator);
24213         }
24214
24215         var overlays = (q.overlays || '').split(',');
24216         overlays.forEach(function(overlay) {
24217             overlay = findSource(overlay);
24218             if (overlay) background.toggleOverlayLayer(overlay);
24219         });
24220
24221         var gpx = q.gpx;
24222         if (gpx) {
24223             d3.text(gpx, function(err, gpxTxt) {
24224                 gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
24225                 dispatch.change();
24226             });
24227         }
24228     };
24229
24230     return d3.rebind(background, dispatch, 'on');
24231 };
24232 iD.BackgroundSource = function(data) {
24233     var source = _.clone(data),
24234         offset = [0, 0],
24235         name = source.name;
24236
24237     source.scaleExtent = data.scaleExtent || [0, 20];
24238
24239     source.offset = function(_) {
24240         if (!arguments.length) return offset;
24241         offset = _;
24242         return source;
24243     };
24244
24245     source.nudge = function(_, zoomlevel) {
24246         offset[0] += _[0] / Math.pow(2, zoomlevel);
24247         offset[1] += _[1] / Math.pow(2, zoomlevel);
24248         return source;
24249     };
24250
24251     source.name = function() {
24252         return name;
24253     };
24254
24255     source.imageryUsed = function() {
24256         return source.id || name;
24257     };
24258
24259     source.url = function(coord) {
24260         return data.template
24261             .replace('{x}', coord[0])
24262             .replace('{y}', coord[1])
24263             // TMS-flipped y coordinate
24264             .replace(/\{[t-]y\}/, Math.pow(2, coord[2]) - coord[1] - 1)
24265             .replace(/\{z(oom)?\}/, coord[2])
24266             .replace(/\{switch:([^}]+)\}/, function(s, r) {
24267                 var subdomains = r.split(',');
24268                 return subdomains[(coord[0] + coord[1]) % subdomains.length];
24269             })
24270             .replace('{u}', function() {
24271                 var u = '';
24272                 for (var zoom = coord[2]; zoom > 0; zoom--) {
24273                     var b = 0;
24274                     var mask = 1 << (zoom - 1);
24275                     if ((coord[0] & mask) !== 0) b++;
24276                     if ((coord[1] & mask) !== 0) b += 2;
24277                     u += b.toString();
24278                 }
24279                 return u;
24280             });
24281     };
24282
24283     source.intersects = function(extent) {
24284         extent = extent.polygon();
24285         return !data.polygon || data.polygon.some(function(polygon) {
24286             return iD.geo.polygonIntersectsPolygon(polygon, extent);
24287         });
24288     };
24289
24290     source.validZoom = function(z) {
24291         return source.scaleExtent[0] <= z &&
24292             (!source.isLocatorOverlay() || source.scaleExtent[1] > z);
24293     };
24294
24295     source.isLocatorOverlay = function() {
24296         return name === 'Locator Overlay';
24297     };
24298
24299     source.copyrightNotices = function() {};
24300
24301     return source;
24302 };
24303
24304 iD.BackgroundSource.Bing = function(data, dispatch) {
24305     // http://msdn.microsoft.com/en-us/library/ff701716.aspx
24306     // http://msdn.microsoft.com/en-us/library/ff701701.aspx
24307
24308     data.template = 'https://ecn.t{switch:0,1,2,3}.tiles.virtualearth.net/tiles/a{u}.jpeg?g=587&mkt=en-gb&n=z';
24309
24310     var bing = iD.BackgroundSource(data),
24311         key = 'Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU', // Same as P2 and JOSM
24312         url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&key=' +
24313             key + '&jsonp={callback}',
24314         providers = [];
24315
24316     d3.jsonp(url, function(json) {
24317         providers = json.resourceSets[0].resources[0].imageryProviders.map(function(provider) {
24318             return {
24319                 attribution: provider.attribution,
24320                 areas: provider.coverageAreas.map(function(area) {
24321                     return {
24322                         zoom: [area.zoomMin, area.zoomMax],
24323                         extent: iD.geo.Extent([area.bbox[1], area.bbox[0]], [area.bbox[3], area.bbox[2]])
24324                     };
24325                 })
24326             };
24327         });
24328         dispatch.change();
24329     });
24330
24331     bing.copyrightNotices = function(zoom, extent) {
24332         zoom = Math.min(zoom, 21);
24333         return providers.filter(function(provider) {
24334             return _.any(provider.areas, function(area) {
24335                 return extent.intersects(area.extent) &&
24336                     area.zoom[0] <= zoom &&
24337                     area.zoom[1] >= zoom;
24338             });
24339         }).map(function(provider) {
24340             return provider.attribution;
24341         }).join(', ');
24342     };
24343
24344     bing.logo = 'bing_maps.png';
24345     bing.terms_url = 'http://opengeodata.org/microsoft-imagery-details';
24346
24347     return bing;
24348 };
24349
24350 iD.BackgroundSource.None = function() {
24351     var source = iD.BackgroundSource({id: 'none', template: ''});
24352
24353     source.name = function() {
24354         return t('background.none');
24355     };
24356
24357     source.imageryUsed = function() {
24358         return 'None';
24359     };
24360
24361     return source;
24362 };
24363
24364 iD.BackgroundSource.Custom = function(template) {
24365     var source = iD.BackgroundSource({id: 'custom', template: template});
24366
24367     source.name = function() {
24368         return t('background.custom');
24369     };
24370
24371     source.imageryUsed = function() {
24372         return 'Custom (' + template + ')';
24373     };
24374
24375     return source;
24376 };
24377 iD.Features = function(context) {
24378     var major_roads = {
24379         'motorway': true,
24380         'motorway_link': true,
24381         'trunk': true,
24382         'trunk_link': true,
24383         'primary': true,
24384         'primary_link': true,
24385         'secondary': true,
24386         'secondary_link': true,
24387         'tertiary': true,
24388         'tertiary_link': true,
24389         'residential': true
24390     };
24391
24392     var minor_roads = {
24393         'service': true,
24394         'living_street': true,
24395         'road': true,
24396         'unclassified': true,
24397         'track': true
24398     };
24399
24400     var paths = {
24401         'path': true,
24402         'footway': true,
24403         'cycleway': true,
24404         'bridleway': true,
24405         'steps': true,
24406         'pedestrian': true
24407     };
24408
24409     var past_futures = {
24410         'proposed': true,
24411         'construction': true,
24412         'abandoned': true,
24413         'dismantled': true,
24414         'disused': true,
24415         'razed': true,
24416         'demolished': true,
24417         'obliterated': true
24418     };
24419
24420     var dispatch = d3.dispatch('change', 'redraw'),
24421         _cullFactor = 1,
24422         _cache = {},
24423         _features = {},
24424         _stats = {},
24425         _keys = [],
24426         _hidden = [];
24427
24428     function update() {
24429         _hidden = features.hidden();
24430         dispatch.change();
24431         dispatch.redraw();
24432     }
24433
24434     function defineFeature(k, filter, max) {
24435         _keys.push(k);
24436         _features[k] = {
24437             filter: filter,
24438             enabled: true,   // whether the user wants it enabled..
24439             count: 0,
24440             currentMax: (max || Infinity),
24441             defaultMax: (max || Infinity),
24442             enable: function() { this.enabled = true; this.currentMax = this.defaultMax; },
24443             disable: function() { this.enabled = false; this.currentMax = 0; },
24444             hidden: function() { return !context.editable() || this.count > this.currentMax * _cullFactor; },
24445             autoHidden: function() { return this.hidden() && this.currentMax > 0; }
24446         };
24447     }
24448
24449
24450     defineFeature('points', function isPoint(entity, resolver, geometry) {
24451         return geometry === 'point';
24452     }, 200);
24453
24454     defineFeature('major_roads', function isMajorRoad(entity) {
24455         return major_roads[entity.tags.highway];
24456     });
24457
24458     defineFeature('minor_roads', function isMinorRoad(entity) {
24459         return minor_roads[entity.tags.highway];
24460     });
24461
24462     defineFeature('paths', function isPath(entity) {
24463         return paths[entity.tags.highway];
24464     });
24465
24466     defineFeature('buildings', function isBuilding(entity) {
24467         return (
24468             !!entity.tags['building:part'] ||
24469             (!!entity.tags.building && entity.tags.building !== 'no') ||
24470             entity.tags.amenity === 'shelter' ||
24471             entity.tags.parking === 'multi-storey' ||
24472             entity.tags.parking === 'sheds' ||
24473             entity.tags.parking === 'carports' ||
24474             entity.tags.parking === 'garage_boxes'
24475         );
24476     }, 250);
24477
24478     defineFeature('landuse', function isLanduse(entity, resolver, geometry) {
24479         return geometry === 'area' &&
24480             !_features.buildings.filter(entity) &&
24481             !_features.water.filter(entity);
24482     });
24483
24484     defineFeature('boundaries', function isBoundary(entity) {
24485         return !!entity.tags.boundary;
24486     });
24487
24488     defineFeature('water', function isWater(entity) {
24489         return (
24490             !!entity.tags.waterway ||
24491             entity.tags.natural === 'water' ||
24492             entity.tags.natural === 'coastline' ||
24493             entity.tags.natural === 'bay' ||
24494             entity.tags.landuse === 'pond' ||
24495             entity.tags.landuse === 'basin' ||
24496             entity.tags.landuse === 'reservoir' ||
24497             entity.tags.landuse === 'salt_pond'
24498         );
24499     });
24500
24501     defineFeature('rail', function isRail(entity) {
24502         return (
24503             !!entity.tags.railway ||
24504             entity.tags.landuse === 'railway'
24505         ) && !(
24506             major_roads[entity.tags.highway] ||
24507             minor_roads[entity.tags.highway] ||
24508             paths[entity.tags.highway]
24509         );
24510     });
24511
24512     defineFeature('power', function isPower(entity) {
24513         return !!entity.tags.power;
24514     });
24515
24516     // contains a past/future tag, but not in active use as a road/path/cycleway/etc..
24517     defineFeature('past_future', function isPastFuture(entity) {
24518         if (
24519             major_roads[entity.tags.highway] ||
24520             minor_roads[entity.tags.highway] ||
24521             paths[entity.tags.highway]
24522         ) { return false; }
24523
24524         var strings = Object.keys(entity.tags);
24525
24526         for (var i = 0, imax = strings.length; i !== imax; i++) {
24527             var s = strings[i];
24528             if (past_futures[s] || past_futures[entity.tags[s]]) { return true; }
24529         }
24530         return false;
24531     });
24532
24533     // lines or areas that don't match another feature filter.
24534     defineFeature('others', function isOther(entity, resolver, geometry) {
24535         return (geometry === 'line' || geometry === 'area') && !(
24536             _features.major_roads.filter(entity, resolver, geometry) ||
24537             _features.minor_roads.filter(entity, resolver, geometry) ||
24538             _features.paths.filter(entity, resolver, geometry) ||
24539             _features.buildings.filter(entity, resolver, geometry) ||
24540             _features.landuse.filter(entity, resolver, geometry) ||
24541             _features.boundaries.filter(entity, resolver, geometry) ||
24542             _features.water.filter(entity, resolver, geometry) ||
24543             _features.rail.filter(entity, resolver, geometry) ||
24544             _features.power.filter(entity, resolver, geometry) ||
24545             _features.past_future.filter(entity, resolver, geometry)
24546         );
24547     });
24548
24549
24550     function features() {}
24551
24552     features.keys = function() {
24553         return _keys;
24554     };
24555
24556     features.enabled = function(k) {
24557         if (!arguments.length) {
24558             return _.filter(_keys, function(k) { return _features[k].enabled; });
24559         }
24560         return _features[k] && _features[k].enabled;
24561     };
24562
24563     features.disabled = function(k) {
24564         if (!arguments.length) {
24565             return _.reject(_keys, function(k) { return _features[k].enabled; });
24566         }
24567         return _features[k] && !_features[k].enabled;
24568     };
24569
24570     features.hidden = function(k) {
24571         if (!arguments.length) {
24572             return _.filter(_keys, function(k) { return _features[k].hidden(); });
24573         }
24574         return _features[k] && _features[k].hidden();
24575     };
24576
24577     features.autoHidden = function(k) {
24578         if (!arguments.length) {
24579             return _.filter(_keys, function(k) { return _features[k].autoHidden(); });
24580         }
24581         return _features[k] && _features[k].autoHidden();
24582     };
24583
24584     features.enable = function(k) {
24585         if (_features[k] && !_features[k].enabled) {
24586             _features[k].enable();
24587             update();
24588         }
24589     };
24590
24591     features.disable = function(k) {
24592         if (_features[k] && _features[k].enabled) {
24593             _features[k].disable();
24594             update();
24595         }
24596     };
24597
24598     features.toggle = function(k) {
24599         if (_features[k]) {
24600             (function(f) { return f.enabled ? f.disable() : f.enable(); }(_features[k]));
24601             update();
24602         }
24603     };
24604
24605     features.resetStats = function() {
24606         _.each(_features, function(f) { f.count = 0; });
24607         dispatch.change();
24608     };
24609
24610     features.gatherStats = function(d, resolver, dimensions) {
24611         var needsRedraw = false,
24612             currHidden, geometry, matches;
24613
24614         _.each(_features, function(f) { f.count = 0; });
24615
24616         // adjust the threshold for point/building culling based on viewport size..
24617         // a _cullFactor of 1 corresponds to a 1000x1000px viewport..
24618         _cullFactor = dimensions[0] * dimensions[1] / 1000000;
24619
24620         for (var i = 0, imax = d.length; i !== imax; i++) {
24621             geometry = d[i].geometry(resolver);
24622             if (!(geometry === 'vertex' || geometry === 'relation')) {
24623                 matches = Object.keys(features.getMatches(d[i], resolver, geometry));
24624                 for (var j = 0, jmax = matches.length; j !== jmax; j++) {
24625                     _features[matches[j]].count++;
24626                 }
24627             }
24628         }
24629
24630         currHidden = features.hidden();
24631         if (currHidden !== _hidden) {
24632             _hidden = currHidden;
24633             needsRedraw = true;
24634             dispatch.change();
24635         }
24636
24637         return needsRedraw;
24638     };
24639
24640     features.stats = function() {
24641         _.each(_keys, function(k) { _stats[k] = _features[k].count; });
24642         return _stats;
24643     };
24644
24645     features.clear = function(d) {
24646         for (var i = 0, imax = d.length; i !== imax; i++) {
24647             features.clearEntity(d[i]);
24648         }
24649     };
24650
24651     features.clearEntity = function(entity) {
24652         delete _cache[iD.Entity.key(entity)];
24653     };
24654
24655     features.reset = function() {
24656         _cache = {};
24657     };
24658
24659     features.getMatches = function(entity, resolver, geometry) {
24660         var ent = iD.Entity.key(entity);
24661
24662         if (!_cache[ent]) {
24663             _cache[ent] = {};
24664         }
24665         if (!_cache[ent].matches) {
24666             var matches = {},
24667                 hasMatch = false;
24668
24669             if (!(geometry === 'vertex' || geometry === 'relation')) {
24670                 for (var i = 0, imax = _keys.length; i !== imax; i++) {
24671                     if (hasMatch && _keys[i] === 'others') {
24672                         continue;
24673                     }
24674                     if (_features[_keys[i]].filter(entity, resolver, geometry)) {
24675                         matches[_keys[i]] = hasMatch = true;
24676                     }
24677                 }
24678             }
24679             _cache[ent].matches = matches;
24680         }
24681         return _cache[ent].matches;
24682     };
24683
24684     features.getParents = function(entity, resolver, geometry) {
24685         var ent = iD.Entity.key(entity);
24686
24687         if (!_cache[ent]) {
24688             _cache[ent] = {};
24689         }
24690         if (!_cache[ent].parents) {
24691             var parents = [];
24692
24693             if (geometry !== 'point') {
24694                 if (geometry === 'vertex') {
24695                     parents = resolver.parentWays(entity);
24696                 } else {   // 'line', 'area', 'relation'
24697                     parents = resolver.parentRelations(entity);
24698                 }
24699             }
24700             _cache[ent].parents = parents;
24701         }
24702         return _cache[ent].parents;
24703     };
24704
24705     features.isHiddenFeature = function(entity, resolver, geometry) {
24706         if (!entity.version) return false;
24707
24708         var matches = features.getMatches(entity, resolver, geometry);
24709
24710         for (var i = 0, imax = _hidden.length; i !== imax; i++) {
24711             if (matches[_hidden[i]]) { return true; }
24712         }
24713         return false;
24714     };
24715
24716     features.isHiddenChild = function(entity, resolver, geometry) {
24717         if (!entity.version || geometry === 'point') { return false; }
24718
24719         var parents = features.getParents(entity, resolver, geometry);
24720
24721         if (!parents.length) { return false; }
24722
24723         for (var i = 0, imax = parents.length; i !== imax; i++) {
24724             if (!features.isHidden(parents[i], resolver, parents[i].geometry(resolver))) {
24725                 return false;
24726             }
24727         }
24728         return true;
24729     };
24730
24731     features.hasHiddenConnections = function(entity, resolver) {
24732         var childNodes, connections;
24733
24734         if (entity.type === 'midpoint') {
24735             childNodes = [resolver.entity(entity.edge[0]), resolver.entity(entity.edge[1])];
24736             connections = [];
24737         } else {
24738             childNodes = resolver.childNodes(entity);
24739             connections = features.getParents(entity, resolver, entity.geometry(resolver));
24740         }
24741
24742         // gather ways connected to child nodes..
24743         connections = _.reduce(childNodes, function(result, e) {
24744             return resolver.isShared(e) ? _.union(result, resolver.parentWays(e)) : result;
24745         }, connections);
24746
24747         return connections.length ? _.any(connections, function(e) {
24748             return features.isHidden(e, resolver, e.geometry(resolver));
24749         }) : false;
24750     };
24751
24752     features.isHidden = function(entity, resolver, geometry) {
24753         if (!entity.version) return false;
24754
24755         if (geometry === 'vertex')
24756             return features.isHiddenChild(entity, resolver, geometry);
24757         if (geometry === 'point')
24758             return features.isHiddenFeature(entity, resolver, geometry);
24759
24760         return features.isHiddenFeature(entity, resolver, geometry) ||
24761                features.isHiddenChild(entity, resolver, geometry);
24762     };
24763
24764     features.filter = function(d, resolver) {
24765         if (!_hidden.length)
24766             return d;
24767
24768         var result = [];
24769         for (var i = 0, imax = d.length; i !== imax; i++) {
24770             var entity = d[i];
24771             if (!features.isHidden(entity, resolver, entity.geometry(resolver))) {
24772                 result.push(entity);
24773             }
24774         }
24775         return result;
24776     };
24777
24778     return d3.rebind(features, dispatch, 'on');
24779 };
24780 iD.GpxLayer = function(context) {
24781     var projection,
24782         gj = {},
24783         enable = true,
24784         svg;
24785
24786     function render(selection) {
24787         svg = selection.selectAll('svg')
24788             .data([render]);
24789
24790         svg.enter()
24791             .append('svg');
24792
24793         svg.style('display', enable ? 'block' : 'none');
24794
24795         var paths = svg
24796             .selectAll('path')
24797             .data([gj]);
24798
24799         paths
24800             .enter()
24801             .append('path')
24802             .attr('class', 'gpx');
24803
24804         var path = d3.geo.path()
24805             .projection(projection);
24806
24807         paths
24808             .attr('d', path);
24809
24810         if (typeof gj.features !== 'undefined') {
24811             svg
24812                 .selectAll('text')
24813                 .remove();
24814
24815             svg
24816                 .selectAll('path')
24817                 .data(gj.features)
24818                 .enter()
24819                 .append('text')
24820                 .attr('class', 'gpx')
24821                 .text(function(d) {
24822                     return d.properties.desc || d.properties.name;
24823                 })
24824                 .attr('x', function(d) {
24825                     var centroid = path.centroid(d);
24826                     return centroid[0] + 5;
24827                 })
24828                 .attr('y', function(d) {
24829                     var centroid = path.centroid(d);
24830                     return centroid[1];
24831                 });
24832         }
24833     }
24834
24835     render.projection = function(_) {
24836         if (!arguments.length) return projection;
24837         projection = _;
24838         return render;
24839     };
24840
24841     render.enable = function(_) {
24842         if (!arguments.length) return enable;
24843         enable = _;
24844         return render;
24845     };
24846
24847     render.geojson = function(_) {
24848         if (!arguments.length) return gj;
24849         gj = _;
24850         return render;
24851     };
24852
24853     render.dimensions = function(_) {
24854         if (!arguments.length) return svg.dimensions();
24855         svg.dimensions(_);
24856         return render;
24857     };
24858
24859     render.id = 'layer-gpx';
24860
24861     function over() {
24862         d3.event.stopPropagation();
24863         d3.event.preventDefault();
24864         d3.event.dataTransfer.dropEffect = 'copy';
24865     }
24866
24867     d3.select('body')
24868         .attr('dropzone', 'copy')
24869         .on('drop.localgpx', function() {
24870             d3.event.stopPropagation();
24871             d3.event.preventDefault();
24872             if (!iD.detect().filedrop) return;
24873             context.background().gpxLayerFiles(d3.event.dataTransfer.files);
24874         })
24875         .on('dragenter.localgpx', over)
24876         .on('dragexit.localgpx', over)
24877         .on('dragover.localgpx', over);
24878
24879     return render;
24880 };
24881 iD.Map = function(context) {
24882     var dimensions = [1, 1],
24883         dispatch = d3.dispatch('move', 'drawn'),
24884         projection = context.projection,
24885         roundedProjection = iD.svg.RoundProjection(projection),
24886         zoom = d3.behavior.zoom()
24887             .translate(projection.translate())
24888             .scale(projection.scale() * 2 * Math.PI)
24889             .scaleExtent([1024, 256 * Math.pow(2, 24)])
24890             .on('zoom', zoomPan),
24891         dblclickEnabled = true,
24892         transformStart,
24893         transformed = false,
24894         minzoom = 0,
24895         points = iD.svg.Points(roundedProjection, context),
24896         vertices = iD.svg.Vertices(roundedProjection, context),
24897         lines = iD.svg.Lines(projection),
24898         areas = iD.svg.Areas(projection),
24899         midpoints = iD.svg.Midpoints(roundedProjection, context),
24900         labels = iD.svg.Labels(projection, context),
24901         supersurface, surface,
24902         mouse,
24903         mousemove;
24904
24905     function map(selection) {
24906         context.history()
24907             .on('change.map', redraw);
24908         context.background()
24909             .on('change.map', redraw);
24910         context.features()
24911             .on('redraw.map', redraw);
24912
24913         selection.call(zoom);
24914
24915         supersurface = selection.append('div')
24916             .attr('id', 'supersurface');
24917
24918         // Need a wrapper div because Opera can't cope with an absolutely positioned
24919         // SVG element: http://bl.ocks.org/jfirebaugh/6fbfbd922552bf776c16
24920         var dataLayer = supersurface.append('div')
24921             .attr('class', 'layer-layer layer-data');
24922
24923         map.surface = surface = dataLayer.append('svg')
24924             .on('mousedown.zoom', function() {
24925                 if (d3.event.button === 2) {
24926                     d3.event.stopPropagation();
24927                 }
24928             }, true)
24929             .on('mouseup.zoom', function() {
24930                 if (resetTransform()) redraw();
24931             })
24932             .attr('id', 'surface')
24933             .call(iD.svg.Surface(context));
24934
24935         supersurface.call(context.background());
24936
24937         surface.on('mousemove.map', function() {
24938             mousemove = d3.event;
24939         });
24940
24941         surface.on('mouseover.vertices', function() {
24942             if (map.editable() && !transformed) {
24943                 var hover = d3.event.target.__data__;
24944                 surface.call(vertices.drawHover, context.graph(), hover, map.extent(), map.zoom());
24945                 dispatch.drawn({full: false});
24946             }
24947         });
24948
24949         surface.on('mouseout.vertices', function() {
24950             if (map.editable() && !transformed) {
24951                 var hover = d3.event.relatedTarget && d3.event.relatedTarget.__data__;
24952                 surface.call(vertices.drawHover, context.graph(), hover, map.extent(), map.zoom());
24953                 dispatch.drawn({full: false});
24954             }
24955         });
24956
24957         context.on('enter.map', function() {
24958             if (map.editable() && !transformed) {
24959                 var all = context.intersects(map.extent()),
24960                     filter = d3.functor(true),
24961                     graph = context.graph();
24962
24963                 all = context.features().filter(all, graph);
24964                 surface.call(vertices, graph, all, filter, map.extent(), map.zoom());
24965                 surface.call(midpoints, graph, all, filter, map.trimmedExtent());
24966                 dispatch.drawn({full: false});
24967             }
24968         });
24969
24970         map.dimensions(selection.dimensions());
24971
24972         labels.supersurface(supersurface);
24973     }
24974
24975     function pxCenter() { return [dimensions[0] / 2, dimensions[1] / 2]; }
24976
24977     function drawVector(difference, extent) {
24978         var graph = context.graph(),
24979             features = context.features(),
24980             all = context.intersects(map.extent()),
24981             data, filter;
24982
24983         if (difference) {
24984             var complete = difference.complete(map.extent());
24985             data = _.compact(_.values(complete));
24986             filter = function(d) { return d.id in complete; };
24987             features.clear(data);
24988
24989         } else {
24990             // force a full redraw if gatherStats detects that a feature
24991             // should be auto-hidden (e.g. points or buildings)..
24992             if (features.gatherStats(all, graph, dimensions)) {
24993                 extent = undefined;
24994             }
24995
24996             if (extent) {
24997                 data = context.intersects(map.extent().intersection(extent));
24998                 var set = d3.set(_.pluck(data, 'id'));
24999                 filter = function(d) { return set.has(d.id); };
25000
25001             } else {
25002                 data = all;
25003                 filter = d3.functor(true);
25004             }
25005         }
25006
25007         data = features.filter(data, graph);
25008
25009         surface
25010             .call(vertices, graph, data, filter, map.extent(), map.zoom())
25011             .call(lines, graph, data, filter)
25012             .call(areas, graph, data, filter)
25013             .call(midpoints, graph, data, filter, map.trimmedExtent())
25014             .call(labels, graph, data, filter, dimensions, !difference && !extent)
25015             .call(points, data, filter);
25016
25017         dispatch.drawn({full: true});
25018     }
25019
25020     function editOff() {
25021         context.features().resetStats();
25022         surface.selectAll('.layer *').remove();
25023         dispatch.drawn({full: true});
25024     }
25025
25026     function zoomPan() {
25027         if (d3.event && d3.event.sourceEvent.type === 'dblclick') {
25028             if (!dblclickEnabled) {
25029                 zoom.scale(projection.scale() * 2 * Math.PI)
25030                     .translate(projection.translate());
25031                 return d3.event.sourceEvent.preventDefault();
25032             }
25033         }
25034
25035         if (Math.log(d3.event.scale / Math.LN2 - 8) < minzoom + 1) {
25036             iD.ui.flash(context.container())
25037                 .select('.content')
25038                 .text(t('cannot_zoom'));
25039             return setZoom(context.minEditableZoom(), true);
25040         }
25041
25042         projection
25043             .translate(d3.event.translate)
25044             .scale(d3.event.scale / (2 * Math.PI));
25045
25046         var scale = d3.event.scale / transformStart[0],
25047             tX = Math.round((d3.event.translate[0] / scale - transformStart[1][0]) * scale),
25048             tY = Math.round((d3.event.translate[1] / scale - transformStart[1][1]) * scale);
25049
25050         transformed = true;
25051         iD.util.setTransform(supersurface, tX, tY, scale);
25052         queueRedraw();
25053
25054         dispatch.move(map);
25055     }
25056
25057     function resetTransform() {
25058         if (!transformed) return false;
25059         iD.util.setTransform(supersurface, 0, 0);
25060         transformed = false;
25061         return true;
25062     }
25063
25064     function redraw(difference, extent) {
25065
25066         if (!surface) return;
25067
25068         clearTimeout(timeoutId);
25069
25070         // If we are in the middle of a zoom/pan, we can't do differenced redraws.
25071         // It would result in artifacts where differenced entities are redrawn with
25072         // one transform and unchanged entities with another.
25073         if (resetTransform()) {
25074             difference = extent = undefined;
25075         }
25076
25077         var zoom = String(~~map.zoom());
25078         if (surface.attr('data-zoom') !== zoom) {
25079             surface.attr('data-zoom', zoom)
25080                 .classed('low-zoom', zoom <= 16);
25081         }
25082
25083         if (!difference) {
25084             supersurface.call(context.background());
25085         }
25086
25087         if (map.editable()) {
25088             context.connection().loadTiles(projection, dimensions);
25089             drawVector(difference, extent);
25090         } else {
25091             editOff();
25092         }
25093
25094         transformStart = [
25095             projection.scale() * 2 * Math.PI,
25096             projection.translate().slice()];
25097
25098         return map;
25099     }
25100
25101     var timeoutId;
25102     function queueRedraw() {
25103         clearTimeout(timeoutId);
25104         timeoutId = setTimeout(function() { redraw(); }, 300);
25105     }
25106
25107     function pointLocation(p) {
25108         var translate = projection.translate(),
25109             scale = projection.scale() * 2 * Math.PI;
25110         return [(p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale];
25111     }
25112
25113     function locationPoint(l) {
25114         var translate = projection.translate(),
25115             scale = projection.scale() * 2 * Math.PI;
25116         return [l[0] * scale + translate[0], l[1] * scale + translate[1]];
25117     }
25118
25119     map.mouse = function() {
25120         var e = mousemove || d3.event, s;
25121         while ((s = e.sourceEvent)) e = s;
25122         return mouse(e);
25123     };
25124
25125     map.mouseCoordinates = function() {
25126         return projection.invert(map.mouse());
25127     };
25128
25129     map.dblclickEnable = function(_) {
25130         if (!arguments.length) return dblclickEnabled;
25131         dblclickEnabled = _;
25132         return map;
25133     };
25134
25135     function setZoom(_, force) {
25136         if (_ === map.zoom() && !force)
25137             return false;
25138         var scale = 256 * Math.pow(2, _),
25139             center = pxCenter(),
25140             l = pointLocation(center);
25141         scale = Math.max(1024, Math.min(256 * Math.pow(2, 24), scale));
25142         projection.scale(scale / (2 * Math.PI));
25143         zoom.scale(scale);
25144         var t = projection.translate();
25145         l = locationPoint(l);
25146         t[0] += center[0] - l[0];
25147         t[1] += center[1] - l[1];
25148         projection.translate(t);
25149         zoom.translate(projection.translate());
25150         return true;
25151     }
25152
25153     function setCenter(_) {
25154         var c = map.center();
25155         if (_[0] === c[0] && _[1] === c[1])
25156             return false;
25157         var t = projection.translate(),
25158             pxC = pxCenter(),
25159             ll = projection(_);
25160         projection.translate([
25161             t[0] - ll[0] + pxC[0],
25162             t[1] - ll[1] + pxC[1]]);
25163         zoom.translate(projection.translate());
25164         return true;
25165     }
25166
25167     map.pan = function(d) {
25168         var t = projection.translate();
25169         t[0] += d[0];
25170         t[1] += d[1];
25171         projection.translate(t);
25172         zoom.translate(projection.translate());
25173         dispatch.move(map);
25174         return redraw();
25175     };
25176
25177     map.dimensions = function(_) {
25178         if (!arguments.length) return dimensions;
25179         var center = map.center();
25180         dimensions = _;
25181         surface.dimensions(dimensions);
25182         context.background().dimensions(dimensions);
25183         projection.clipExtent([[0, 0], dimensions]);
25184         mouse = iD.util.fastMouse(supersurface.node());
25185         setCenter(center);
25186         return redraw();
25187     };
25188
25189     map.zoomIn = function() { return map.zoom(~~map.zoom() + 1); };
25190     map.zoomOut = function() { return map.zoom(~~map.zoom() - 1); };
25191
25192     map.center = function(loc) {
25193         if (!arguments.length) {
25194             return projection.invert(pxCenter());
25195         }
25196
25197         if (setCenter(loc)) {
25198             dispatch.move(map);
25199         }
25200
25201         return redraw();
25202     };
25203
25204     map.zoom = function(z) {
25205         if (!arguments.length) {
25206             return Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.LN2 - 8, 0);
25207         }
25208
25209         if (z < minzoom) {
25210             iD.ui.flash(context.container())
25211                 .select('.content')
25212                 .text(t('cannot_zoom'));
25213             z = context.minEditableZoom();
25214         }
25215
25216         if (setZoom(z)) {
25217             dispatch.move(map);
25218         }
25219
25220         return redraw();
25221     };
25222
25223     map.zoomTo = function(entity, zoomLimits) {
25224         var extent = entity.extent(context.graph()),
25225             zoom = map.extentZoom(extent);
25226         zoomLimits = zoomLimits || [context.minEditableZoom(), 20];
25227         map.centerZoom(extent.center(), Math.min(Math.max(zoom, zoomLimits[0]), zoomLimits[1]));
25228     };
25229
25230     map.centerZoom = function(loc, z) {
25231         var centered = setCenter(loc),
25232             zoomed   = setZoom(z);
25233
25234         if (centered || zoomed) {
25235             dispatch.move(map);
25236         }
25237
25238         return redraw();
25239     };
25240
25241     map.centerEase = function(loc) {
25242         var from = map.center().slice(),
25243             t = 0,
25244             stop;
25245
25246         surface.one('mousedown.ease', function() {
25247             stop = true;
25248         });
25249
25250         d3.timer(function() {
25251             if (stop) return true;
25252             map.center(iD.geo.interp(from, loc, (t += 1) / 10));
25253             return t === 10;
25254         }, 20);
25255         return map;
25256     };
25257
25258     map.extent = function(_) {
25259         if (!arguments.length) {
25260             return new iD.geo.Extent(projection.invert([0, dimensions[1]]),
25261                                  projection.invert([dimensions[0], 0]));
25262         } else {
25263             var extent = iD.geo.Extent(_);
25264             map.centerZoom(extent.center(), map.extentZoom(extent));
25265         }
25266     };
25267
25268     map.trimmedExtent = function() {
25269         var headerY = 60, footerY = 30, pad = 10;
25270         return new iD.geo.Extent(projection.invert([pad, dimensions[1] - footerY - pad]),
25271                 projection.invert([dimensions[0] - pad, headerY + pad]));
25272     };
25273
25274     map.extentZoom = function(_) {
25275         var extent = iD.geo.Extent(_),
25276             tl = projection([extent[0][0], extent[1][1]]),
25277             br = projection([extent[1][0], extent[0][1]]);
25278
25279         // Calculate maximum zoom that fits extent
25280         var hFactor = (br[0] - tl[0]) / dimensions[0],
25281             vFactor = (br[1] - tl[1]) / dimensions[1],
25282             hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2,
25283             vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2,
25284             newZoom = map.zoom() - Math.max(hZoomDiff, vZoomDiff);
25285
25286         return newZoom;
25287     };
25288
25289     map.editable = function() {
25290         return map.zoom() >= context.minEditableZoom();
25291     };
25292
25293     map.minzoom = function(_) {
25294         if (!arguments.length) return minzoom;
25295         minzoom = _;
25296         return map;
25297     };
25298
25299     return d3.rebind(map, dispatch, 'on');
25300 };
25301 iD.MapillaryLayer = function (context) {
25302     var enable = false,
25303         currentImage,
25304         svg, div, request;
25305
25306     function show(image) {
25307         svg.selectAll('g')
25308             .classed('selected', function(d) {
25309                 return currentImage && d.key === currentImage.key;
25310             });
25311
25312         div.classed('hidden', false)
25313             .classed('temp', image !== currentImage);
25314
25315         div.selectAll('img')
25316             .attr('src', 'https://d1cuyjsrcm0gby.cloudfront.net/' + image.key + '/thumb-320.jpg');
25317
25318         div.selectAll('a')
25319             .attr('href', 'http://mapillary.com/map/im/' + image.key);
25320     }
25321
25322     function hide() {
25323         currentImage = undefined;
25324
25325         svg.selectAll('g')
25326             .classed('selected', false);
25327
25328         div.classed('hidden', true);
25329     }
25330
25331     function transform(image) {
25332         var t = 'translate(' + context.projection(image.loc) + ')';
25333         if (image.ca) t += 'rotate(' + image.ca + ',0,0)';
25334         return t;
25335     }
25336
25337     function render(selection) {
25338         svg = selection.selectAll('svg')
25339             .data([0]);
25340
25341         svg.enter().append('svg')
25342             .on('click', function() {
25343                 var image = d3.event.target.__data__;
25344                 if (currentImage === image) {
25345                     hide();
25346                 } else {
25347                     currentImage = image;
25348                     show(image);
25349                 }
25350             })
25351             .on('mouseover', function() {
25352                 show(d3.event.target.__data__);
25353             })
25354             .on('mouseout', function() {
25355                 if (currentImage) {
25356                     show(currentImage);
25357                 } else {
25358                     hide();
25359                 }
25360             });
25361
25362         svg.style('display', enable ? 'block' : 'none');
25363
25364         div = context.container().selectAll('.mapillary-image')
25365             .data([0]);
25366
25367         var enter = div.enter().append('div')
25368             .attr('class', 'mapillary-image');
25369
25370         enter.append('button')
25371             .on('click', hide)
25372             .append('div')
25373             .attr('class', 'icon close');
25374
25375         enter.append('img');
25376
25377         var link = enter.append('a')
25378             .attr('class', 'link')
25379             .attr('target', '_blank');
25380
25381         link.append('span')
25382             .attr('class', 'icon icon-pre-text out-link');
25383
25384         link.append('span')
25385             .text(t('mapillary.view_on_mapillary'));
25386
25387         if (!enable) {
25388             hide();
25389
25390             svg.selectAll('g')
25391                 .remove();
25392
25393             return;
25394         }
25395
25396         // Update existing images while waiting for new ones to load.
25397         svg.selectAll('g')
25398             .attr('transform', transform);
25399
25400         var extent = context.map().extent();
25401
25402         if (request)
25403             request.abort();
25404
25405         request = d3.json('https://a.mapillary.com/v2/search/s/geojson?client_id=NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzoxNjQ3MDY4ZTUxY2QzNGI2&min_lat=' +
25406             extent[0][1] + '&max_lat=' + extent[1][1] + '&min_lon=' +
25407             extent[0][0] + '&max_lon=' + extent[1][0] + '&max_results=100&geojson=true',
25408             function (error, data) {
25409                 if (error) return;
25410
25411                 var images = [];
25412
25413                 for (var i = 0; i < data.features.length; i++) {
25414                     var sequence = data.features[i];
25415                     for (var j = 0; j < sequence.geometry.coordinates.length; j++) {
25416                         images.push({
25417                             key: sequence.properties.keys[j],
25418                             ca: sequence.properties.cas[j],
25419                             loc: sequence.geometry.coordinates[j]
25420                         });
25421                         if (images.length >= 1000) break;
25422                     }
25423                 }
25424
25425                 var g = svg.selectAll('g')
25426                     .data(images, function(d) { return d.key; });
25427
25428                 var enter = g.enter().append('g')
25429                     .attr('class', 'image');
25430
25431                 enter.append('path')
25432                     .attr('d', 'M 0,-5 l 0,-20 l -5,30 l 10,0 l -5,-30');
25433
25434                 enter.append('circle')
25435                     .attr('dx', '0')
25436                     .attr('dy', '0')
25437                     .attr('r', '8');
25438
25439                 g.attr('transform', transform);
25440
25441                 g.exit()
25442                     .remove();
25443             });
25444     }
25445
25446     render.enable = function(_) {
25447         if (!arguments.length) return enable;
25448         enable = _;
25449         return render;
25450     };
25451
25452     render.dimensions = function(_) {
25453         if (!arguments.length) return svg.dimensions();
25454         svg.dimensions(_);
25455         return render;
25456     };
25457
25458     return render;
25459 };
25460 iD.TileLayer = function() {
25461     var tileSize = 256,
25462         tile = d3.geo.tile(),
25463         projection,
25464         cache = {},
25465         tileOrigin,
25466         z,
25467         transformProp = iD.util.prefixCSSProperty('Transform'),
25468         source = d3.functor('');
25469
25470     function tileSizeAtZoom(d, z) {
25471         return Math.ceil(tileSize * Math.pow(2, z - d[2])) / tileSize;
25472     }
25473
25474     function atZoom(t, distance) {
25475         var power = Math.pow(2, distance);
25476         return [
25477             Math.floor(t[0] * power),
25478             Math.floor(t[1] * power),
25479             t[2] + distance];
25480     }
25481
25482     function lookUp(d) {
25483         for (var up = -1; up > -d[2]; up--) {
25484             var tile = atZoom(d, up);
25485             if (cache[source.url(tile)] !== false) {
25486                 return tile;
25487             }
25488         }
25489     }
25490
25491     function uniqueBy(a, n) {
25492         var o = [], seen = {};
25493         for (var i = 0; i < a.length; i++) {
25494             if (seen[a[i][n]] === undefined) {
25495                 o.push(a[i]);
25496                 seen[a[i][n]] = true;
25497             }
25498         }
25499         return o;
25500     }
25501
25502     function addSource(d) {
25503         d.push(source.url(d));
25504         return d;
25505     }
25506
25507     // Update tiles based on current state of `projection`.
25508     function background(selection) {
25509         tile.scale(projection.scale() * 2 * Math.PI)
25510             .translate(projection.translate());
25511
25512         tileOrigin = [
25513             projection.scale() * Math.PI - projection.translate()[0],
25514             projection.scale() * Math.PI - projection.translate()[1]];
25515
25516         z = Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.log(2) - 8, 0);
25517
25518         render(selection);
25519     }
25520
25521     // Derive the tiles onscreen, remove those offscreen and position them.
25522     // Important that this part not depend on `projection` because it's
25523     // rentered when tiles load/error (see #644).
25524     function render(selection) {
25525         var requests = [];
25526
25527         if (source.validZoom(z)) {
25528             tile().forEach(function(d) {
25529                 addSource(d);
25530                 if (d[3] === '') return;
25531                 if (typeof d[3] !== 'string') return; // Workaround for chrome crash https://github.com/openstreetmap/iD/issues/2295
25532                 requests.push(d);
25533                 if (cache[d[3]] === false && lookUp(d)) {
25534                     requests.push(addSource(lookUp(d)));
25535                 }
25536             });
25537
25538             requests = uniqueBy(requests, 3).filter(function(r) {
25539                 // don't re-request tiles which have failed in the past
25540                 return cache[r[3]] !== false;
25541             });
25542         }
25543
25544         var pixelOffset = [
25545             Math.round(source.offset()[0] * Math.pow(2, z)),
25546             Math.round(source.offset()[1] * Math.pow(2, z))
25547         ];
25548
25549         function load(d) {
25550             cache[d[3]] = true;
25551             d3.select(this)
25552                 .on('error', null)
25553                 .on('load', null)
25554                 .classed('tile-loaded', true);
25555             render(selection);
25556         }
25557
25558         function error(d) {
25559             cache[d[3]] = false;
25560             d3.select(this)
25561                 .on('error', null)
25562                 .on('load', null)
25563                 .remove();
25564             render(selection);
25565         }
25566
25567         function imageTransform(d) {
25568             var _ts = tileSize * Math.pow(2, z - d[2]);
25569             var scale = tileSizeAtZoom(d, z);
25570             return 'translate(' +
25571                 (Math.round((d[0] * _ts) - tileOrigin[0]) + pixelOffset[0]) + 'px,' +
25572                 (Math.round((d[1] * _ts) - tileOrigin[1]) + pixelOffset[1]) + 'px)' +
25573                 'scale(' + scale + ',' + scale + ')';
25574         }
25575
25576         var image = selection
25577             .selectAll('img')
25578             .data(requests, function(d) { return d[3]; });
25579
25580         image.exit()
25581             .style(transformProp, imageTransform)
25582             .classed('tile-removing', true)
25583             .each(function() {
25584                 var tile = d3.select(this);
25585                 window.setTimeout(function() {
25586                     if (tile.classed('tile-removing')) {
25587                         tile.remove();
25588                     }
25589                 }, 300);
25590             });
25591
25592         image.enter().append('img')
25593             .attr('class', 'tile')
25594             .attr('src', function(d) { return d[3]; })
25595             .on('error', error)
25596             .on('load', load);
25597
25598         image
25599             .style(transformProp, imageTransform)
25600             .classed('tile-removing', false);
25601     }
25602
25603     background.projection = function(_) {
25604         if (!arguments.length) return projection;
25605         projection = _;
25606         return background;
25607     };
25608
25609     background.dimensions = function(_) {
25610         if (!arguments.length) return tile.size();
25611         tile.size(_);
25612         return background;
25613     };
25614
25615     background.source = function(_) {
25616         if (!arguments.length) return source;
25617         source = _;
25618         cache = {};
25619         tile.scaleExtent(source.scaleExtent);
25620         return background;
25621     };
25622
25623     return background;
25624 };
25625 iD.svg = {
25626     RoundProjection: function(projection) {
25627         return function(d) {
25628             return iD.geo.roundCoords(projection(d));
25629         };
25630     },
25631
25632     PointTransform: function(projection) {
25633         return function(entity) {
25634             // http://jsperf.com/short-array-join
25635             var pt = projection(entity.loc);
25636             return 'translate(' + pt[0] + ',' + pt[1] + ')';
25637         };
25638     },
25639
25640     Round: function () {
25641         return d3.geo.transform({
25642             point: function(x, y) { return this.stream.point(Math.floor(x), Math.floor(y)); }
25643         });
25644     },
25645
25646     Path: function(projection, graph, polygon) {
25647         var cache = {},
25648             round = iD.svg.Round().stream,
25649             clip = d3.geo.clipExtent().extent(projection.clipExtent()).stream,
25650             project = projection.stream,
25651             path = d3.geo.path()
25652                 .projection({stream: function(output) { return polygon ? project(round(output)) : project(clip(round(output))); }});
25653
25654         return function(entity) {
25655             if (entity.id in cache) {
25656                 return cache[entity.id];
25657             } else {
25658                 return cache[entity.id] = path(entity.asGeoJSON(graph)); // jshint ignore:line
25659             }
25660         };
25661     },
25662
25663     OneWaySegments: function(projection, graph, dt) {
25664         return function(entity) {
25665             var a,
25666                 b,
25667                 i = 0,
25668                 offset = dt,
25669                 segments = [],
25670                 viewport = iD.geo.Extent(projection.clipExtent()),
25671                 coordinates = graph.childNodes(entity).map(function(n) {
25672                     return n.loc;
25673                 });
25674
25675             if (entity.tags.oneway === '-1') coordinates.reverse();
25676
25677             d3.geo.stream({
25678                 type: 'LineString',
25679                 coordinates: coordinates
25680             }, projection.stream({
25681                 lineStart: function() {},
25682                 lineEnd: function() {
25683                     a = null;
25684                 },
25685                 point: function(x, y) {
25686                     b = [x, y];
25687
25688                     if (a) {
25689                         var extent = iD.geo.Extent(a).extend(b),
25690                             span = iD.geo.euclideanDistance(a, b) - offset;
25691
25692                         if (extent.intersects(viewport) && span >= 0) {
25693                             var angle = Math.atan2(b[1] - a[1], b[0] - a[0]),
25694                                 dx = dt * Math.cos(angle),
25695                                 dy = dt * Math.sin(angle),
25696                                 p = [a[0] + offset * Math.cos(angle),
25697                                      a[1] + offset * Math.sin(angle)];
25698
25699                             var segment = 'M' + a[0] + ',' + a[1] +
25700                                           'L' + p[0] + ',' + p[1];
25701
25702                             for (span -= dt; span >= 0; span -= dt) {
25703                                 p[0] += dx;
25704                                 p[1] += dy;
25705                                 segment += 'L' + p[0] + ',' + p[1];
25706                             }
25707
25708                             segment += 'L' + b[0] + ',' + b[1];
25709                             segments.push({id: entity.id, index: i, d: segment});
25710                         }
25711
25712                         offset = -span;
25713                         i++;
25714                     }
25715
25716                     a = b;
25717                 }
25718             }));
25719
25720             return segments;
25721         };
25722     },
25723
25724     MultipolygonMemberTags: function(graph) {
25725         return function(entity) {
25726             var tags = entity.tags;
25727             graph.parentRelations(entity).forEach(function(relation) {
25728                 if (relation.isMultipolygon()) {
25729                     tags = _.extend({}, relation.tags, tags);
25730                 }
25731             });
25732             return tags;
25733         };
25734     }
25735 };
25736 iD.svg.Areas = function(projection) {
25737     // Patterns only work in Firefox when set directly on element.
25738     // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632)
25739     var patterns = {
25740         wetland: 'wetland',
25741         beach: 'beach',
25742         scrub: 'scrub',
25743         construction: 'construction',
25744         military: 'construction',
25745         cemetery: 'cemetery',
25746         grave_yard: 'cemetery',
25747         meadow: 'meadow',
25748         farm: 'farmland',
25749         farmland: 'farmland',
25750         orchard: 'orchard'
25751     };
25752
25753     var patternKeys = ['landuse', 'natural', 'amenity'];
25754
25755     function setPattern(d) {
25756         for (var i = 0; i < patternKeys.length; i++) {
25757             if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) {
25758                 this.style.fill = this.style.stroke = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")';
25759                 return;
25760             }
25761         }
25762         this.style.fill = this.style.stroke = '';
25763     }
25764
25765     return function drawAreas(surface, graph, entities, filter) {
25766         var path = iD.svg.Path(projection, graph, true),
25767             areas = {},
25768             multipolygon;
25769
25770         for (var i = 0; i < entities.length; i++) {
25771             var entity = entities[i];
25772             if (entity.geometry(graph) !== 'area') continue;
25773
25774             multipolygon = iD.geo.isSimpleMultipolygonOuterMember(entity, graph);
25775             if (multipolygon) {
25776                 areas[multipolygon.id] = {
25777                     entity: multipolygon.mergeTags(entity.tags),
25778                     area: Math.abs(entity.area(graph))
25779                 };
25780             } else if (!areas[entity.id]) {
25781                 areas[entity.id] = {
25782                     entity: entity,
25783                     area: Math.abs(entity.area(graph))
25784                 };
25785             }
25786         }
25787
25788         areas = d3.values(areas).filter(function hasPath(a) { return path(a.entity); });
25789         areas.sort(function areaSort(a, b) { return b.area - a.area; });
25790         areas = _.pluck(areas, 'entity');
25791
25792         var strokes = areas.filter(function(area) {
25793             return area.type === 'way';
25794         });
25795
25796         var data = {
25797             clip: areas,
25798             shadow: strokes,
25799             stroke: strokes,
25800             fill: areas
25801         };
25802
25803         var clipPaths = surface.selectAll('defs').selectAll('.clipPath')
25804            .filter(filter)
25805            .data(data.clip, iD.Entity.key);
25806
25807         clipPaths.enter()
25808            .append('clipPath')
25809            .attr('class', 'clipPath')
25810            .attr('id', function(entity) { return entity.id + '-clippath'; })
25811            .append('path');
25812
25813         clipPaths.selectAll('path')
25814            .attr('d', path);
25815
25816         clipPaths.exit()
25817            .remove();
25818
25819         var areagroup = surface
25820             .select('.layer-areas')
25821             .selectAll('g.areagroup')
25822             .data(['fill', 'shadow', 'stroke']);
25823
25824         areagroup.enter()
25825             .append('g')
25826             .attr('class', function(d) { return 'layer areagroup area-' + d; });
25827
25828         var paths = areagroup
25829             .selectAll('path')
25830             .filter(filter)
25831             .data(function(layer) { return data[layer]; }, iD.Entity.key);
25832
25833         // Remove exiting areas first, so they aren't included in the `fills`
25834         // array used for sorting below (https://github.com/openstreetmap/iD/issues/1903).
25835         paths.exit()
25836             .remove();
25837
25838         var fills = surface.selectAll('.area-fill path.area')[0];
25839
25840         var bisect = d3.bisector(function(node) {
25841             return -node.__data__.area(graph);
25842         }).left;
25843
25844         function sortedByArea(entity) {
25845             if (this.__data__ === 'fill') {
25846                 return fills[bisect(fills, -entity.area(graph))];
25847             }
25848         }
25849
25850         paths.enter()
25851             .insert('path', sortedByArea)
25852             .each(function(entity) {
25853                 var layer = this.parentNode.__data__;
25854
25855                 this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id);
25856
25857                 if (layer === 'fill') {
25858                     this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)');
25859                     setPattern.apply(this, arguments);
25860                 }
25861             })
25862             .call(iD.svg.TagClasses());
25863
25864         paths
25865             .attr('d', path);
25866     };
25867 };
25868 /*
25869     A standalone SVG element that contains only a `defs` sub-element. To be
25870     used once globally, since defs IDs must be unique within a document.
25871 */
25872 iD.svg.Defs = function(context) {
25873     function autosize(image) {
25874         var img = document.createElement('img');
25875         img.src = image.attr('xlink:href');
25876         img.onload = function() {
25877             image.attr({
25878                 width: img.width,
25879                 height: img.height
25880             });
25881         };
25882     }
25883
25884     function SpriteDefinition(id, href, data) {
25885         return function(defs) {
25886             defs.append('image')
25887                 .attr('id', id)
25888                 .attr('xlink:href', href)
25889                 .call(autosize);
25890
25891             defs.selectAll()
25892                 .data(data)
25893                 .enter().append('use')
25894                 .attr('id', function(d) { return d.key; })
25895                 .attr('transform', function(d) { return 'translate(-' + d.value[0] + ',-' + d.value[1] + ')'; })
25896                 .attr('xlink:href', '#' + id);
25897         };
25898     }
25899
25900     return function (selection) {
25901         var defs = selection.append('defs');
25902
25903         defs.append('marker')
25904             .attr({
25905                 id: 'oneway-marker',
25906                 viewBox: '0 0 10 10',
25907                 refY: 2.5,
25908                 refX: 5,
25909                 markerWidth: 2,
25910                 markerHeight: 2,
25911                 orient: 'auto'
25912             })
25913             .append('path')
25914             .attr('d', 'M 5 3 L 0 3 L 0 2 L 5 2 L 5 0 L 10 2.5 L 5 5 z');
25915
25916         var patterns = defs.selectAll('pattern')
25917             .data([
25918                 // pattern name, pattern image name
25919                 ['wetland', 'wetland'],
25920                 ['construction', 'construction'],
25921                 ['cemetery', 'cemetery'],
25922                 ['orchard', 'orchard'],
25923                 ['farmland', 'farmland'],
25924                 ['beach', 'dots'],
25925                 ['scrub', 'dots'],
25926                 ['meadow', 'dots']
25927             ])
25928             .enter()
25929             .append('pattern')
25930             .attr({
25931                 id: function (d) {
25932                     return 'pattern-' + d[0];
25933                 },
25934                 width: 32,
25935                 height: 32,
25936                 patternUnits: 'userSpaceOnUse'
25937             });
25938
25939         patterns.append('rect')
25940             .attr({
25941                 x: 0,
25942                 y: 0,
25943                 width: 32,
25944                 height: 32,
25945                 'class': function (d) {
25946                     return 'pattern-color-' + d[0];
25947                 }
25948             });
25949
25950         patterns.append('image')
25951             .attr({
25952                 x: 0,
25953                 y: 0,
25954                 width: 32,
25955                 height: 32
25956             })
25957             .attr('xlink:href', function (d) {
25958                 return context.imagePath('pattern/' + d[1] + '.png');
25959             });
25960
25961         defs.selectAll()
25962             .data([12, 18, 20, 32, 45])
25963             .enter().append('clipPath')
25964             .attr('id', function (d) {
25965                 return 'clip-square-' + d;
25966             })
25967             .append('rect')
25968             .attr('x', 0)
25969             .attr('y', 0)
25970             .attr('width', function (d) {
25971                 return d;
25972             })
25973             .attr('height', function (d) {
25974                 return d;
25975             });
25976
25977         var maki = [];
25978         _.forEach(iD.data.featureIcons, function (dimensions, name) {
25979             if (dimensions['12'] && dimensions['18'] && dimensions['24']) {
25980                 maki.push({key: 'maki-' + name + '-12', value: dimensions['12']});
25981                 maki.push({key: 'maki-' + name + '-18', value: dimensions['18']});
25982                 maki.push({key: 'maki-' + name + '-24', value: dimensions['24']});
25983             }
25984         });
25985
25986         defs.call(SpriteDefinition(
25987             'sprite',
25988             context.imagePath('sprite.svg'),
25989             d3.entries(iD.data.operations)));
25990
25991         defs.call(SpriteDefinition(
25992             'maki-sprite',
25993             context.imagePath('maki-sprite.png'),
25994             maki));
25995     };
25996 };
25997 iD.svg.Labels = function(projection, context) {
25998     var path = d3.geo.path().projection(projection);
25999
26000     // Replace with dict and iterate over entities tags instead?
26001     var label_stack = [
26002         ['line', 'aeroway'],
26003         ['line', 'highway'],
26004         ['line', 'railway'],
26005         ['line', 'waterway'],
26006         ['area', 'aeroway'],
26007         ['area', 'amenity'],
26008         ['area', 'building'],
26009         ['area', 'historic'],
26010         ['area', 'leisure'],
26011         ['area', 'man_made'],
26012         ['area', 'natural'],
26013         ['area', 'shop'],
26014         ['area', 'tourism'],
26015         ['point', 'aeroway'],
26016         ['point', 'amenity'],
26017         ['point', 'building'],
26018         ['point', 'historic'],
26019         ['point', 'leisure'],
26020         ['point', 'man_made'],
26021         ['point', 'natural'],
26022         ['point', 'shop'],
26023         ['point', 'tourism'],
26024         ['line', 'name'],
26025         ['area', 'name'],
26026         ['point', 'name']
26027     ];
26028
26029     var default_size = 12;
26030
26031     var font_sizes = label_stack.map(function(d) {
26032         var style = iD.util.getStyle('text.' + d[0] + '.tag-' + d[1]),
26033             m = style && style.cssText.match('font-size: ([0-9]{1,2})px;');
26034         if (m) return parseInt(m[1], 10);
26035
26036         style = iD.util.getStyle('text.' + d[0]);
26037         m = style && style.cssText.match('font-size: ([0-9]{1,2})px;');
26038         if (m) return parseInt(m[1], 10);
26039
26040         return default_size;
26041     });
26042
26043     var iconSize = 18;
26044
26045     var pointOffsets = [
26046         [15, -11, 'start'], // right
26047         [10, -11, 'start'], // unused right now
26048         [-15, -11, 'end']
26049     ];
26050
26051     var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70, 25,
26052         75, 20, 80, 15, 95, 10, 90, 5, 95];
26053
26054
26055     var noIcons = ['building', 'landuse', 'natural'];
26056     function blacklisted(preset) {
26057         return _.any(noIcons, function(s) {
26058             return preset.id.indexOf(s) >= 0;
26059         });
26060     }
26061
26062     function get(array, prop) {
26063         return function(d, i) { return array[i][prop]; };
26064     }
26065
26066     var textWidthCache = {};
26067
26068     function textWidth(text, size, elem) {
26069         var c = textWidthCache[size];
26070         if (!c) c = textWidthCache[size] = {};
26071
26072         if (c[text]) {
26073             return c[text];
26074
26075         } else if (elem) {
26076             c[text] = elem.getComputedTextLength();
26077             return c[text];
26078
26079         } else {
26080             var str = encodeURIComponent(text).match(/%[CDEFcdef]/g);
26081             if (str === null) {
26082                 return size / 3 * 2 * text.length;
26083             } else {
26084                 return size / 3 * (2 * text.length + str.length);
26085             }
26086         }
26087     }
26088
26089     function drawLineLabels(group, entities, filter, classes, labels) {
26090         var texts = group.selectAll('text.' + classes)
26091             .filter(filter)
26092             .data(entities, iD.Entity.key);
26093
26094         texts.enter()
26095             .append('text')
26096             .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; })
26097             .append('textPath')
26098             .attr('class', 'textpath');
26099
26100
26101         texts.selectAll('.textpath')
26102             .filter(filter)
26103             .data(entities, iD.Entity.key)
26104             .attr({
26105                 'startOffset': '50%',
26106                 'xlink:href': function(d) { return '#labelpath-' + d.id; }
26107             })
26108             .text(iD.util.displayName);
26109
26110         texts.exit().remove();
26111     }
26112
26113     function drawLinePaths(group, entities, filter, classes, labels) {
26114         var halos = group.selectAll('path')
26115             .filter(filter)
26116             .data(entities, iD.Entity.key);
26117
26118         halos.enter()
26119             .append('path')
26120             .style('stroke-width', get(labels, 'font-size'))
26121             .attr('id', function(d) { return 'labelpath-' + d.id; })
26122             .attr('class', classes);
26123
26124         halos.attr('d', get(labels, 'lineString'));
26125
26126         halos.exit().remove();
26127     }
26128
26129     function drawPointLabels(group, entities, filter, classes, labels) {
26130
26131         var texts = group.selectAll('text.' + classes)
26132             .filter(filter)
26133             .data(entities, iD.Entity.key);
26134
26135         texts.enter()
26136             .append('text')
26137             .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; });
26138
26139         texts.attr('x', get(labels, 'x'))
26140             .attr('y', get(labels, 'y'))
26141             .style('text-anchor', get(labels, 'textAnchor'))
26142             .text(iD.util.displayName)
26143             .each(function(d, i) { textWidth(iD.util.displayName(d), labels[i].height, this); });
26144
26145         texts.exit().remove();
26146         return texts;
26147     }
26148
26149     function drawAreaLabels(group, entities, filter, classes, labels) {
26150         entities = entities.filter(hasText);
26151         labels = labels.filter(hasText);
26152         return drawPointLabels(group, entities, filter, classes, labels);
26153
26154         function hasText(d, i) {
26155             return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
26156         }
26157     }
26158
26159     function drawAreaIcons(group, entities, filter, classes, labels) {
26160
26161         var icons = group.selectAll('use')
26162             .filter(filter)
26163             .data(entities, iD.Entity.key);
26164
26165         icons.enter()
26166             .append('use')
26167             .attr('clip-path', 'url(#clip-square-18)')
26168             .attr('class', 'icon');
26169
26170         icons.attr('transform', get(labels, 'transform'))
26171             .attr('xlink:href', function(d) {
26172                 return '#maki-' + context.presets().match(d, context.graph()).icon + '-18';
26173             });
26174
26175
26176         icons.exit().remove();
26177     }
26178
26179     function reverse(p) {
26180         var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
26181         return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > - Math.PI/2);
26182     }
26183
26184     function lineString(nodes) {
26185         return 'M' + nodes.join('L');
26186     }
26187
26188     function subpath(nodes, from, to) {
26189         function segmentLength(i) {
26190             var dx = nodes[i][0] - nodes[i + 1][0];
26191             var dy = nodes[i][1] - nodes[i + 1][1];
26192             return Math.sqrt(dx * dx + dy * dy);
26193         }
26194
26195         var sofar = 0,
26196             start, end, i0, i1;
26197         for (var i = 0; i < nodes.length - 1; i++) {
26198             var current = segmentLength(i);
26199             var portion;
26200             if (!start && sofar + current >= from) {
26201                 portion = (from - sofar) / current;
26202                 start = [
26203                     nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
26204                     nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
26205                 ];
26206                 i0 = i + 1;
26207             }
26208             if (!end && sofar + current >= to) {
26209                 portion = (to - sofar) / current;
26210                 end = [
26211                     nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
26212                     nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
26213                 ];
26214                 i1 = i + 1;
26215             }
26216             sofar += current;
26217
26218         }
26219         var ret = nodes.slice(i0, i1);
26220         ret.unshift(start);
26221         ret.push(end);
26222         return ret;
26223
26224     }
26225
26226     function hideOnMouseover() {
26227         var layers = d3.select(this)
26228             .selectAll('.layer-label, .layer-halo');
26229
26230         layers.selectAll('.proximate')
26231             .classed('proximate', false);
26232
26233         var mouse = context.mouse(),
26234             pad = 50,
26235             rect = [mouse[0] - pad, mouse[1] - pad, mouse[0] + pad, mouse[1] + pad],
26236             ids = _.pluck(rtree.search(rect), 'id');
26237
26238         if (!ids.length) return;
26239         layers.selectAll('.' + ids.join(', .'))
26240             .classed('proximate', true);
26241     }
26242
26243     var rtree = rbush(),
26244         rectangles = {};
26245
26246     function labels(surface, graph, entities, filter, dimensions, fullRedraw) {
26247
26248         var hidePoints = !surface.select('.node.point').node();
26249
26250         var labelable = [], i, k, entity;
26251         for (i = 0; i < label_stack.length; i++) labelable.push([]);
26252
26253         if (fullRedraw) {
26254             rtree.clear();
26255             rectangles = {};
26256         } else {
26257             for (i = 0; i < entities.length; i++) {
26258                 rtree.remove(rectangles[entities[i].id]);
26259             }
26260         }
26261
26262         // Split entities into groups specified by label_stack
26263         for (i = 0; i < entities.length; i++) {
26264             entity = entities[i];
26265             var geometry = entity.geometry(graph);
26266
26267             if (geometry === 'vertex')
26268                 continue;
26269             if (hidePoints && geometry === 'point')
26270                 continue;
26271
26272             var preset = geometry === 'area' && context.presets().match(entity, graph),
26273                 icon = preset && !blacklisted(preset) && preset.icon;
26274
26275             if (!icon && !iD.util.displayName(entity))
26276                 continue;
26277
26278             for (k = 0; k < label_stack.length; k ++) {
26279                 if (geometry === label_stack[k][0] && entity.tags[label_stack[k][1]]) {
26280                     labelable[k].push(entity);
26281                     break;
26282                 }
26283             }
26284         }
26285
26286         var positions = {
26287             point: [],
26288             line: [],
26289             area: []
26290         };
26291
26292         var labelled = {
26293             point: [],
26294             line: [],
26295             area: []
26296         };
26297
26298         // Try and find a valid label for labellable entities
26299         for (k = 0; k < labelable.length; k++) {
26300             var font_size = font_sizes[k];
26301             for (i = 0; i < labelable[k].length; i ++) {
26302                 entity = labelable[k][i];
26303                 var name = iD.util.displayName(entity),
26304                     width = name && textWidth(name, font_size),
26305                     p;
26306                 if (entity.geometry(graph) === 'point') {
26307                     p = getPointLabel(entity, width, font_size);
26308                 } else if (entity.geometry(graph) === 'line') {
26309                     p = getLineLabel(entity, width, font_size);
26310                 } else if (entity.geometry(graph) === 'area') {
26311                     p = getAreaLabel(entity, width, font_size);
26312                 }
26313                 if (p) {
26314                     p.classes = entity.geometry(graph) + ' tag-' + label_stack[k][1];
26315                     positions[entity.geometry(graph)].push(p);
26316                     labelled[entity.geometry(graph)].push(entity);
26317                 }
26318             }
26319         }
26320
26321         function getPointLabel(entity, width, height) {
26322             var coord = projection(entity.loc),
26323                 m = 5,  // margin
26324                 offset = pointOffsets[0],
26325                 p = {
26326                     height: height,
26327                     width: width,
26328                     x: coord[0] + offset[0],
26329                     y: coord[1] + offset[1],
26330                     textAnchor: offset[2]
26331                 };
26332             var rect = [p.x - m, p.y - m, p.x + width + m, p.y + height + m];
26333             if (tryInsert(rect, entity.id)) return p;
26334         }
26335
26336
26337         function getLineLabel(entity, width, height) {
26338             var nodes = _.pluck(graph.childNodes(entity), 'loc').map(projection),
26339                 length = iD.geo.pathLength(nodes);
26340             if (length < width + 20) return;
26341
26342             for (var i = 0; i < lineOffsets.length; i ++) {
26343                 var offset = lineOffsets[i],
26344                     middle = offset / 100 * length,
26345                     start = middle - width/2;
26346                 if (start < 0 || start + width > length) continue;
26347                 var sub = subpath(nodes, start, start + width),
26348                     rev = reverse(sub),
26349                     rect = [
26350                         Math.min(sub[0][0], sub[sub.length - 1][0]) - 10,
26351                         Math.min(sub[0][1], sub[sub.length - 1][1]) - 10,
26352                         Math.max(sub[0][0], sub[sub.length - 1][0]) + 20,
26353                         Math.max(sub[0][1], sub[sub.length - 1][1]) + 30
26354                     ];
26355                 if (rev) sub = sub.reverse();
26356                 if (tryInsert(rect, entity.id)) return {
26357                     'font-size': height + 2,
26358                     lineString: lineString(sub),
26359                     startOffset: offset + '%'
26360                 };
26361             }
26362         }
26363
26364         function getAreaLabel(entity, width, height) {
26365             var centroid = path.centroid(entity.asGeoJSON(graph, true)),
26366                 extent = entity.extent(graph),
26367                 entitywidth = projection(extent[1])[0] - projection(extent[0])[0],
26368                 rect;
26369
26370             if (!centroid || entitywidth < 20) return;
26371
26372             var iconX = centroid[0] - (iconSize/2),
26373                 iconY = centroid[1] - (iconSize/2),
26374                 textOffset = iconSize + 5;
26375
26376             var p = {
26377                 transform: 'translate(' + iconX + ',' + iconY + ')'
26378             };
26379
26380             if (width && entitywidth >= width + 20) {
26381                 p.x = centroid[0];
26382                 p.y = centroid[1] + textOffset;
26383                 p.textAnchor = 'middle';
26384                 p.height = height;
26385                 rect = [p.x - width/2, p.y, p.x + width/2, p.y + height + textOffset];
26386             } else {
26387                 rect = [iconX, iconY, iconX + iconSize, iconY + iconSize];
26388             }
26389
26390             if (tryInsert(rect, entity.id)) return p;
26391
26392         }
26393
26394         function tryInsert(rect, id) {
26395             // Check that label is visible
26396             if (rect[0] < 0 || rect[1] < 0 || rect[2] > dimensions[0] ||
26397                 rect[3] > dimensions[1]) return false;
26398             var v = rtree.search(rect).length === 0;
26399             if (v) {
26400                 rect.id = id;
26401                 rtree.insert(rect);
26402                 rectangles[id] = rect;
26403             }
26404             return v;
26405         }
26406
26407         var label = surface.select('.layer-label'),
26408             halo = surface.select('.layer-halo');
26409
26410         // points
26411         drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point);
26412         drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point);
26413
26414         // lines
26415         drawLinePaths(halo, labelled.line, filter, '', positions.line);
26416         drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line);
26417         drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line);
26418
26419         // areas
26420         drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area);
26421         drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area);
26422         drawAreaIcons(label, labelled.area, filter, 'arealabel-icon', positions.area);
26423     }
26424
26425     labels.supersurface = function(supersurface) {
26426         supersurface
26427             .on('mousemove.hidelabels', hideOnMouseover)
26428             .on('mousedown.hidelabels', function () {
26429                 supersurface.on('mousemove.hidelabels', null);
26430             })
26431             .on('mouseup.hidelabels', function () {
26432                 supersurface.on('mousemove.hidelabels', hideOnMouseover);
26433             });
26434     };
26435
26436     return labels;
26437 };
26438 iD.svg.Lines = function(projection) {
26439
26440     var highway_stack = {
26441         motorway: 0,
26442         motorway_link: 1,
26443         trunk: 2,
26444         trunk_link: 3,
26445         primary: 4,
26446         primary_link: 5,
26447         secondary: 6,
26448         tertiary: 7,
26449         unclassified: 8,
26450         residential: 9,
26451         service: 10,
26452         footway: 11
26453     };
26454
26455     function waystack(a, b) {
26456         var as = 0, bs = 0;
26457
26458         if (a.tags.highway) { as -= highway_stack[a.tags.highway]; }
26459         if (b.tags.highway) { bs -= highway_stack[b.tags.highway]; }
26460         return as - bs;
26461     }
26462
26463     return function drawLines(surface, graph, entities, filter) {
26464         var ways = [], pathdata = {}, onewaydata = {},
26465             getPath = iD.svg.Path(projection, graph);
26466
26467         for (var i = 0; i < entities.length; i++) {
26468             var entity = entities[i],
26469                 outer = iD.geo.simpleMultipolygonOuterMember(entity, graph);
26470             if (outer) {
26471                 ways.push(entity.mergeTags(outer.tags));
26472             } else if (entity.geometry(graph) === 'line') {
26473                 ways.push(entity);
26474             }
26475         }
26476
26477         ways = ways.filter(getPath);
26478
26479         pathdata = _.groupBy(ways, function(way) { return way.layer(); });
26480
26481         _.forOwn(pathdata, function(v, k) {
26482             onewaydata[k] = _(v)
26483                 .filter(function(d) { return d.isOneWay(); })
26484                 .map(iD.svg.OneWaySegments(projection, graph, 35))
26485                 .flatten()
26486                 .valueOf();
26487         });
26488
26489         var layergroup = surface
26490             .select('.layer-lines')
26491             .selectAll('g.layergroup')
26492             .data(d3.range(-10, 11));
26493
26494         layergroup.enter()
26495             .append('g')
26496             .attr('class', function(d) { return 'layer layergroup layer' + String(d); });
26497
26498
26499         var linegroup = layergroup
26500             .selectAll('g.linegroup')
26501             .data(['shadow', 'casing', 'stroke']);
26502
26503         linegroup.enter()
26504             .append('g')
26505             .attr('class', function(d) { return 'layer linegroup line-' + d; });
26506
26507
26508         var lines = linegroup
26509             .selectAll('path')
26510             .filter(filter)
26511             .data(
26512                 function() { return pathdata[this.parentNode.parentNode.__data__] || []; },
26513                 iD.Entity.key
26514             );
26515
26516         // Optimization: call simple TagClasses only on enter selection. This
26517         // works because iD.Entity.key is defined to include the entity v attribute.
26518         lines.enter()
26519             .append('path')
26520             .attr('class', function(d) { return 'way line ' + this.parentNode.__data__ + ' ' + d.id; })
26521             .call(iD.svg.TagClasses());
26522
26523         lines
26524             .sort(waystack)
26525             .attr('d', getPath)
26526             .call(iD.svg.TagClasses().tags(iD.svg.MultipolygonMemberTags(graph)));
26527
26528         lines.exit()
26529             .remove();
26530
26531
26532         var onewaygroup = layergroup
26533             .selectAll('g.onewaygroup')
26534             .data(['oneway']);
26535
26536         onewaygroup.enter()
26537             .append('g')
26538             .attr('class', 'layer onewaygroup');
26539
26540
26541         var oneways = onewaygroup
26542             .selectAll('path')
26543             .filter(filter)
26544             .data(
26545                 function() { return onewaydata[this.parentNode.parentNode.__data__] || []; },
26546                 function(d) { return [d.id, d.index]; }
26547             );
26548
26549         oneways.enter()
26550             .append('path')
26551             .attr('class', 'oneway')
26552             .attr('marker-mid', 'url(#oneway-marker)');
26553
26554         oneways
26555             .attr('d', function(d) { return d.d; });
26556
26557         oneways.exit()
26558             .remove();
26559
26560     };
26561 };
26562 iD.svg.Midpoints = function(projection, context) {
26563     return function drawMidpoints(surface, graph, entities, filter, extent) {
26564         var poly = extent.polygon(),
26565             midpoints = {};
26566
26567         for (var i = 0; i < entities.length; i++) {
26568             var entity = entities[i];
26569
26570             if (entity.type !== 'way')
26571                 continue;
26572             if (!filter(entity))
26573                 continue;
26574             if (context.selectedIDs().indexOf(entity.id) < 0)
26575                 continue;
26576
26577             var nodes = graph.childNodes(entity);
26578             for (var j = 0; j < nodes.length - 1; j++) {
26579
26580                 var a = nodes[j],
26581                     b = nodes[j + 1],
26582                     id = [a.id, b.id].sort().join('-');
26583
26584                 if (midpoints[id]) {
26585                     midpoints[id].parents.push(entity);
26586                 } else {
26587                     if (iD.geo.euclideanDistance(projection(a.loc), projection(b.loc)) > 40) {
26588                         var point = iD.geo.interp(a.loc, b.loc, 0.5),
26589                             loc = null;
26590
26591                         if (extent.intersects(point)) {
26592                             loc = point;
26593                         } else {
26594                             for (var k = 0; k < 4; k++) {
26595                                 point = iD.geo.lineIntersection([a.loc, b.loc], [poly[k], poly[k+1]]);
26596                                 if (point &&
26597                                     iD.geo.euclideanDistance(projection(a.loc), projection(point)) > 20 &&
26598                                     iD.geo.euclideanDistance(projection(b.loc), projection(point)) > 20)
26599                                 {
26600                                     loc = point;
26601                                     break;
26602                                 }
26603                             }
26604                         }
26605
26606                         if (loc) {
26607                             midpoints[id] = {
26608                                 type: 'midpoint',
26609                                 id: id,
26610                                 loc: loc,
26611                                 edge: [a.id, b.id],
26612                                 parents: [entity]
26613                             };
26614                         }
26615                     }
26616                 }
26617             }
26618         }
26619
26620         function midpointFilter(d) {
26621             if (midpoints[d.id])
26622                 return true;
26623
26624             for (var i = 0; i < d.parents.length; i++)
26625                 if (filter(d.parents[i]))
26626                     return true;
26627
26628             return false;
26629         }
26630
26631         var groups = surface.select('.layer-hit').selectAll('g.midpoint')
26632             .filter(midpointFilter)
26633             .data(_.values(midpoints), function(d) { return d.id; });
26634
26635         var enter = groups.enter()
26636             .insert('g', ':first-child')
26637             .attr('class', 'midpoint');
26638
26639         enter.append('polygon')
26640             .attr('points', '-6,8 10,0 -6,-8')
26641             .attr('class', 'shadow');
26642
26643         enter.append('polygon')
26644             .attr('points', '-3,4 5,0 -3,-4')
26645             .attr('class', 'fill');
26646
26647         groups
26648             .attr('transform', function(d) {
26649                 var translate = iD.svg.PointTransform(projection),
26650                     a = context.entity(d.edge[0]),
26651                     b = context.entity(d.edge[1]),
26652                     angle = Math.round(iD.geo.angle(a, b, projection) * (180 / Math.PI));
26653                 return translate(d) + ' rotate(' + angle + ')';
26654             })
26655             .call(iD.svg.TagClasses().tags(
26656                 function(d) { return d.parents[0].tags; }
26657             ));
26658
26659         // Propagate data bindings.
26660         groups.select('polygon.shadow');
26661         groups.select('polygon.fill');
26662
26663         groups.exit()
26664             .remove();
26665     };
26666 };
26667 iD.svg.Points = function(projection, context) {
26668     function markerPath(selection, klass) {
26669         selection
26670             .attr('class', klass)
26671             .attr('transform', 'translate(-8, -23)')
26672             .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
26673     }
26674
26675     function sortY(a, b) {
26676         return b.loc[1] - a.loc[1];
26677     }
26678
26679     return function drawPoints(surface, entities, filter) {
26680         var graph = context.graph(),
26681             points = _.filter(entities, function(e) { return e.geometry(graph) === 'point'; });
26682
26683         points.sort(sortY);
26684
26685         var groups = surface.select('.layer-hit').selectAll('g.point')
26686             .filter(filter)
26687             .data(points, iD.Entity.key);
26688
26689         var group = groups.enter()
26690             .append('g')
26691             .attr('class', function(d) { return 'node point ' + d.id; })
26692             .order();
26693
26694         group.append('path')
26695             .call(markerPath, 'shadow');
26696
26697         group.append('path')
26698             .call(markerPath, 'stroke');
26699
26700         group.append('use')
26701             .attr('class', 'icon')
26702             .attr('transform', 'translate(-6, -20)')
26703             .attr('clip-path', 'url(#clip-square-12)');
26704
26705         groups.attr('transform', iD.svg.PointTransform(projection))
26706             .call(iD.svg.TagClasses());
26707
26708         // Selecting the following implicitly
26709         // sets the data (point entity) on the element
26710         groups.select('.shadow');
26711         groups.select('.stroke');
26712         groups.select('.icon')
26713             .attr('xlink:href', function(entity) {
26714                 var preset = context.presets().match(entity, context.graph());
26715                 return preset.icon ? '#maki-' + preset.icon + '-12' : '';
26716             });
26717
26718         groups.exit()
26719             .remove();
26720     };
26721 };
26722 iD.svg.Surface = function() {
26723     return function (selection) {
26724         selection.selectAll('defs')
26725             .data([0])
26726             .enter()
26727             .append('defs');
26728
26729         var layers = selection.selectAll('.layer')
26730             .data(['areas', 'lines', 'hit', 'halo', 'label']);
26731
26732         layers.enter().append('g')
26733             .attr('class', function(d) { return 'layer layer-' + d; });
26734     };
26735 };
26736 iD.svg.TagClasses = function() {
26737     var primary = [
26738             'building', 'highway', 'railway', 'waterway', 'aeroway',
26739             'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse',
26740             'leisure', 'place'
26741         ],
26742         secondary = [
26743             'oneway', 'bridge', 'tunnel', 'construction', 'embankment', 'cutting'
26744         ],
26745         tagClassRe = /^tag-/,
26746         tags = function(entity) { return entity.tags; };
26747
26748     var tagClasses = function(selection) {
26749         selection.each(function tagClassesEach(entity) {
26750             var classes, value = this.className;
26751
26752             if (value.baseVal !== undefined) value = value.baseVal;
26753
26754             classes = value.trim().split(/\s+/).filter(function(name) {
26755                 return name.length && !tagClassRe.test(name);
26756             }).join(' ');
26757
26758             var t = tags(entity), i, k, v;
26759
26760             for (i = 0; i < primary.length; i++) {
26761                 k = primary[i];
26762                 v = t[k];
26763                 if (!v || v === 'no') continue;
26764                 classes += ' tag-' + k + ' tag-' + k + '-' + v;
26765                 break;
26766             }
26767
26768             for (i = 0; i < secondary.length; i++) {
26769                 k = secondary[i];
26770                 v = t[k];
26771                 if (!v || v === 'no') continue;
26772                 classes += ' tag-' + k + ' tag-' + k + '-' + v;
26773             }
26774
26775             classes = classes.trim();
26776
26777             if (classes !== value) {
26778                 d3.select(this).attr('class', classes);
26779             }
26780         });
26781     };
26782
26783     tagClasses.tags = function(_) {
26784         if (!arguments.length) return tags;
26785         tags = _;
26786         return tagClasses;
26787     };
26788
26789     return tagClasses;
26790 };
26791 iD.svg.Turns = function(projection) {
26792     return function(surface, graph, turns) {
26793         function key(turn) {
26794             return [turn.from.node + turn.via.node + turn.to.node].join('-');
26795         }
26796
26797         function icon(turn) {
26798             var u = turn.u ? '-u' : '';
26799             if (!turn.restriction)
26800                 return '#icon-restriction-yes' + u;
26801             var restriction = graph.entity(turn.restriction).tags.restriction;
26802             return '#icon-restriction-' +
26803                 (!turn.indirect_restriction && /^only_/.test(restriction) ? 'only' : 'no') + u;
26804         }
26805
26806         var groups = surface.select('.layer-hit').selectAll('g.turn')
26807             .data(turns, key);
26808
26809         // Enter
26810
26811         var enter = groups.enter().append('g')
26812             .attr('class', 'turn');
26813
26814         var nEnter = enter.filter(function (turn) { return !turn.u; });
26815
26816         nEnter.append('rect')
26817             .attr('transform', 'translate(-12, -12)')
26818             .attr('width', '45')
26819             .attr('height', '25');
26820
26821         nEnter.append('use')
26822             .attr('transform', 'translate(-12, -12)')
26823             .attr('clip-path', 'url(#clip-square-45)');
26824
26825         var uEnter = enter.filter(function (turn) { return turn.u; });
26826
26827         uEnter.append('circle')
26828             .attr('r', '16');
26829
26830         uEnter.append('use')
26831             .attr('transform', 'translate(-16, -16)')
26832             .attr('clip-path', 'url(#clip-square-32)');
26833
26834         // Update
26835
26836         groups
26837             .attr('transform', function (turn) {
26838                 var v = graph.entity(turn.via.node),
26839                     t = graph.entity(turn.to.node),
26840                     a = iD.geo.angle(v, t, projection),
26841                     p = projection(v.loc),
26842                     r = turn.u ? 0 : 60;
26843
26844                 return 'translate(' + (r * Math.cos(a) + p[0]) + ',' + (r * Math.sin(a) + p[1]) + ')' +
26845                     'rotate(' + a * 180 / Math.PI + ')';
26846             });
26847
26848         groups.select('use')
26849             .attr('xlink:href', icon);
26850
26851         groups.select('rect');
26852         groups.select('circle');
26853
26854         // Exit
26855
26856         groups.exit()
26857             .remove();
26858
26859         return this;
26860     };
26861 };
26862 iD.svg.Vertices = function(projection, context) {
26863     var radiuses = {
26864         //       z16-, z17, z18+, tagged
26865         shadow: [6,    7.5,   7.5,  11.5],
26866         stroke: [2.5,  3.5,   3.5,  7],
26867         fill:   [1,    1.5,   1.5,  1.5]
26868     };
26869
26870     var hover;
26871
26872     function siblingAndChildVertices(ids, graph, extent) {
26873         var vertices = {};
26874
26875         function addChildVertices(entity) {
26876             if (!context.features().isHiddenFeature(entity, graph, entity.geometry(graph))) {
26877                 var i;
26878                 if (entity.type === 'way') {
26879                     for (i = 0; i < entity.nodes.length; i++) {
26880                         addChildVertices(graph.entity(entity.nodes[i]));
26881                     }
26882                 } else if (entity.type === 'relation') {
26883                     for (i = 0; i < entity.members.length; i++) {
26884                         var member = context.hasEntity(entity.members[i].id);
26885                         if (member) {
26886                             addChildVertices(member);
26887                         }
26888                     }
26889                 } else if (entity.intersects(extent, graph)) {
26890                     vertices[entity.id] = entity;
26891                 }
26892             }
26893         }
26894
26895         ids.forEach(function(id) {
26896             var entity = context.hasEntity(id);
26897             if (entity && entity.type === 'node') {
26898                 vertices[entity.id] = entity;
26899                 context.graph().parentWays(entity).forEach(function(entity) {
26900                     addChildVertices(entity);
26901                 });
26902             } else if (entity) {
26903                 addChildVertices(entity);
26904             }
26905         });
26906
26907         return vertices;
26908     }
26909
26910     function draw(selection, vertices, klass, graph, zoom) {
26911         var icons = {},
26912             z;
26913
26914         if (zoom < 17) {
26915             z = 0;
26916         } else if (zoom < 18) {
26917             z = 1;
26918         } else {
26919             z = 2;
26920         }
26921
26922         var groups = selection.data(vertices, function(entity) {
26923             return iD.Entity.key(entity);
26924         });
26925
26926         function icon(entity) {
26927             if (entity.id in icons) return icons[entity.id];
26928             icons[entity.id] =
26929                 entity.hasInterestingTags() &&
26930                 context.presets().match(entity, graph).icon;
26931             return icons[entity.id];
26932         }
26933
26934         function classCircle(klass) {
26935             return function(entity) {
26936                 this.setAttribute('class', 'node vertex ' + klass + ' ' + entity.id);
26937             };
26938         }
26939
26940         function setAttributes(selection) {
26941             ['shadow','stroke','fill'].forEach(function(klass) {
26942                 var rads = radiuses[klass];
26943                 selection.selectAll('.' + klass)
26944                     .each(function(entity) {
26945                         var i = z && icon(entity),
26946                             c = i ? 0.5 : 0,
26947                             r = rads[i ? 3 : z];
26948                         this.setAttribute('cx', c);
26949                         this.setAttribute('cy', -c);
26950                         this.setAttribute('r', r);
26951                         if (i && klass === 'fill') {
26952                             this.setAttribute('visibility', 'hidden');
26953                         } else {
26954                             this.removeAttribute('visibility');
26955                         }
26956                     });
26957             });
26958
26959             selection.selectAll('use')
26960                 .each(function() {
26961                     if (z) {
26962                         this.removeAttribute('visibility');
26963                     } else {
26964                         this.setAttribute('visibility', 'hidden');
26965                     }
26966                 });
26967         }
26968
26969         var enter = groups.enter()
26970             .append('g')
26971             .attr('class', function(d) { return 'node vertex ' + klass + ' ' + d.id; });
26972
26973         enter.append('circle')
26974             .each(classCircle('shadow'));
26975
26976         enter.append('circle')
26977             .each(classCircle('stroke'));
26978
26979         // Vertices with icons get a `use`.
26980         enter.filter(function(d) { return icon(d); })
26981             .append('use')
26982             .attr('transform', 'translate(-6, -6)')
26983             .attr('clip-path', 'url(#clip-square-12)')
26984             .attr('xlink:href', function(d) { return '#maki-' + icon(d) + '-12'; });
26985
26986         // Vertices with tags get a fill.
26987         enter.filter(function(d) { return d.hasInterestingTags(); })
26988             .append('circle')
26989             .each(classCircle('fill'));
26990
26991         groups
26992             .attr('transform', iD.svg.PointTransform(projection))
26993             .classed('shared', function(entity) { return graph.isShared(entity); })
26994             .call(setAttributes);
26995
26996         groups.exit()
26997             .remove();
26998     }
26999
27000     function drawVertices(surface, graph, entities, filter, extent, zoom) {
27001         var selected = siblingAndChildVertices(context.selectedIDs(), graph, extent),
27002             vertices = [];
27003
27004         for (var i = 0; i < entities.length; i++) {
27005             var entity = entities[i];
27006
27007             if (entity.geometry(graph) !== 'vertex')
27008                 continue;
27009
27010             if (entity.id in selected ||
27011                 entity.hasInterestingTags() ||
27012                 entity.isIntersection(graph)) {
27013                 vertices.push(entity);
27014             }
27015         }
27016
27017         surface.select('.layer-hit').selectAll('g.vertex.vertex-persistent')
27018             .filter(filter)
27019             .call(draw, vertices, 'vertex-persistent', graph, zoom);
27020
27021         drawHover(surface, graph, extent, zoom);
27022     }
27023
27024     function drawHover(surface, graph, extent, zoom) {
27025         var hovered = hover ? siblingAndChildVertices([hover.id], graph, extent) : {};
27026
27027         surface.select('.layer-hit').selectAll('g.vertex.vertex-hover')
27028             .call(draw, d3.values(hovered), 'vertex-hover', graph, zoom);
27029     }
27030
27031     drawVertices.drawHover = function(surface, graph, _, extent, zoom) {
27032         if (hover !== _) {
27033             hover = _;
27034             drawHover(surface, graph, extent, zoom);
27035         }
27036     };
27037
27038     return drawVertices;
27039 };
27040 iD.ui = function(context) {
27041     function render(container) {
27042         var map = context.map();
27043
27044         if (iD.detect().opera) container.classed('opera', true);
27045
27046         var hash = iD.behavior.Hash(context);
27047
27048         hash();
27049
27050         if (!hash.hadHash) {
27051             map.centerZoom([-77.02271, 38.90085], 20);
27052         }
27053
27054         container.append('svg')
27055             .attr('id', 'defs')
27056             .call(iD.svg.Defs(context));
27057
27058         container.append('div')
27059             .attr('id', 'sidebar')
27060             .attr('class', 'col4')
27061             .call(ui.sidebar);
27062
27063         var content = container.append('div')
27064             .attr('id', 'content');
27065
27066         var bar = content.append('div')
27067             .attr('id', 'bar')
27068             .attr('class', 'fillD');
27069
27070         var m = content.append('div')
27071             .attr('id', 'map')
27072             .call(map);
27073
27074         bar.append('div')
27075             .attr('class', 'spacer col4');
27076
27077         var limiter = bar.append('div')
27078             .attr('class', 'limiter');
27079
27080         limiter.append('div')
27081             .attr('class', 'button-wrap joined col3')
27082             .call(iD.ui.Modes(context), limiter);
27083
27084         limiter.append('div')
27085             .attr('class', 'button-wrap joined col1')
27086             .call(iD.ui.UndoRedo(context));
27087
27088         limiter.append('div')
27089             .attr('class', 'button-wrap col1')
27090             .call(iD.ui.Save(context));
27091
27092         bar.append('div')
27093             .attr('class', 'spinner')
27094             .call(iD.ui.Spinner(context));
27095
27096         var controls = bar.append('div')
27097             .attr('class', 'map-controls');
27098
27099         controls.append('div')
27100             .attr('class', 'map-control zoombuttons')
27101             .call(iD.ui.Zoom(context));
27102
27103         controls.append('div')
27104             .attr('class', 'map-control geolocate-control')
27105             .call(iD.ui.Geolocate(map));
27106
27107         controls.append('div')
27108             .attr('class', 'map-control background-control')
27109             .call(iD.ui.Background(context));
27110
27111         controls.append('div')
27112             .attr('class', 'map-control map-data-control')
27113             .call(iD.ui.MapData(context));
27114
27115         controls.append('div')
27116             .attr('class', 'map-control help-control')
27117             .call(iD.ui.Help(context));
27118
27119         var about = content.append('div')
27120             .attr('id', 'about');
27121
27122         about.append('div')
27123             .attr('id', 'attrib')
27124             .call(iD.ui.Attribution(context));
27125
27126         var footer = about.append('div')
27127             .attr('id', 'footer')
27128             .attr('class', 'fillD');
27129
27130         footer.append('div')
27131             .attr('id', 'scale-block')
27132             .call(iD.ui.Scale(context));
27133
27134         var aboutList = footer.append('div')
27135             .attr('id', 'info-block')
27136             .append('ul')
27137             .attr('id', 'about-list');
27138
27139         if (!context.embed()) {
27140             aboutList.call(iD.ui.Account(context));
27141         }
27142
27143         aboutList.append('li')
27144             .append('a')
27145             .attr('target', '_blank')
27146             .attr('tabindex', -1)
27147             .attr('href', 'http://github.com/openstreetmap/iD')
27148             .text(iD.version);
27149
27150         var bugReport = aboutList.append('li')
27151             .append('a')
27152             .attr('target', '_blank')
27153             .attr('tabindex', -1)
27154             .attr('href', 'https://github.com/openstreetmap/iD/issues');
27155
27156         bugReport.append('span')
27157             .attr('class','icon bug light');
27158
27159         bugReport.call(bootstrap.tooltip()
27160                 .title(t('report_a_bug'))
27161                 .placement('top')
27162             );
27163
27164         aboutList.append('li')
27165             .attr('class', 'feature-warning')
27166             .attr('tabindex', -1)
27167             .call(iD.ui.FeatureInfo(context));
27168
27169         aboutList.append('li')
27170             .attr('class', 'user-list')
27171             .attr('tabindex', -1)
27172             .call(iD.ui.Contributors(context));
27173
27174         footer.append('div')
27175             .attr('class', 'api-status')
27176             .call(iD.ui.Status(context));
27177
27178         window.onbeforeunload = function() {
27179             return context.save();
27180         };
27181
27182         window.onunload = function() {
27183             context.history().unlock();
27184         };
27185
27186         d3.select(window).on('resize.editor', function() {
27187             map.dimensions(m.dimensions());
27188         });
27189
27190         function pan(d) {
27191             return function() {
27192                 context.pan(d);
27193             };
27194         }
27195
27196         // pan amount
27197         var pa = 5;
27198
27199         var keybinding = d3.keybinding('main')
27200             .on('⌫', function() { d3.event.preventDefault(); })
27201             .on('←', pan([pa, 0]))
27202             .on('↑', pan([0, pa]))
27203             .on('→', pan([-pa, 0]))
27204             .on('↓', pan([0, -pa]));
27205
27206         d3.select(document)
27207             .call(keybinding);
27208
27209         context.enter(iD.modes.Browse(context));
27210
27211         context.container()
27212             .call(iD.ui.Splash(context))
27213             .call(iD.ui.Restore(context));
27214
27215         var authenticating = iD.ui.Loading(context)
27216             .message(t('loading_auth'));
27217
27218         context.connection()
27219             .on('authenticating.ui', function() {
27220                 context.container()
27221                     .call(authenticating);
27222             })
27223             .on('authenticated.ui', function() {
27224                 authenticating.close();
27225             });
27226     }
27227
27228     function ui(container) {
27229         context.container(container);
27230         context.loadLocale(function() {
27231             render(container);
27232         });
27233     }
27234
27235     ui.sidebar = iD.ui.Sidebar(context);
27236
27237     return ui;
27238 };
27239
27240 iD.ui.tooltipHtml = function(text, key) {
27241     var s = '<span>' + text + '</span>';
27242     if (key) {
27243         s += '<div class="keyhint-wrap">' +
27244             '<span> ' + (t('tooltip_keyhint')) + ' </span>' +
27245             '<span class="keyhint"> ' + key + '</span></div>';
27246     }
27247     return s;
27248 };
27249 iD.ui.Account = function(context) {
27250     var connection = context.connection();
27251
27252     function update(selection) {
27253         if (!connection.authenticated()) {
27254             selection.selectAll('#userLink, #logoutLink')
27255                 .classed('hide', true);
27256             return;
27257         }
27258
27259         connection.userDetails(function(err, details) {
27260             var userLink = selection.select('#userLink'),
27261                 logoutLink = selection.select('#logoutLink');
27262
27263             userLink.html('');
27264             logoutLink.html('');
27265
27266             if (err) return;
27267
27268             selection.selectAll('#userLink, #logoutLink')
27269                 .classed('hide', false);
27270
27271             // Link
27272             userLink.append('a')
27273                 .attr('href', connection.userURL(details.display_name))
27274                 .attr('target', '_blank');
27275
27276             // Add thumbnail or dont
27277             if (details.image_url) {
27278                 userLink.append('img')
27279                     .attr('class', 'icon icon-pre-text user-icon')
27280                     .attr('src', details.image_url);
27281             } else {
27282                 userLink.append('span')
27283                     .attr('class', 'icon avatar light icon-pre-text');
27284             }
27285
27286             // Add user name
27287             userLink.append('span')
27288                 .attr('class', 'label')
27289                 .text(details.display_name);
27290
27291             logoutLink.append('a')
27292                 .attr('class', 'logout')
27293                 .attr('href', '#')
27294                 .text(t('logout'))
27295                 .on('click.logout', function() {
27296                     d3.event.preventDefault();
27297                     connection.logout();
27298                 });
27299         });
27300     }
27301
27302     return function(selection) {
27303         selection.append('li')
27304             .attr('id', 'logoutLink')
27305             .classed('hide', true);
27306
27307         selection.append('li')
27308             .attr('id', 'userLink')
27309             .classed('hide', true);
27310
27311         connection.on('auth.account', function() { update(selection); });
27312         update(selection);
27313     };
27314 };
27315 iD.ui.Attribution = function(context) {
27316     var selection;
27317
27318     function attribution(data, klass) {
27319         var div = selection.selectAll('.' + klass)
27320             .data([0]);
27321
27322         div.enter()
27323             .append('div')
27324             .attr('class', klass);
27325
27326         var background = div.selectAll('.attribution')
27327             .data(data, function(d) { return d.name(); });
27328
27329         background.enter()
27330             .append('span')
27331             .attr('class', 'attribution')
27332             .each(function(d) {
27333                 if (d.terms_html) {
27334                     d3.select(this)
27335                         .html(d.terms_html);
27336                     return;
27337                 }
27338
27339                 var source = d.terms_text || d.id || d.name();
27340
27341                 if (d.logo) {
27342                     source = '<img class="source-image" src="' + context.imagePath(d.logo) + '">';
27343                 }
27344
27345                 if (d.terms_url) {
27346                     d3.select(this)
27347                         .append('a')
27348                         .attr('href', d.terms_url)
27349                         .attr('target', '_blank')
27350                         .html(source);
27351                 } else {
27352                     d3.select(this)
27353                         .text(source);
27354                 }
27355             });
27356
27357         background.exit()
27358             .remove();
27359
27360         var copyright = background.selectAll('.copyright-notice')
27361             .data(function(d) {
27362                 var notice = d.copyrightNotices(context.map().zoom(), context.map().extent());
27363                 return notice ? [notice] : [];
27364             });
27365
27366         copyright.enter()
27367             .append('span')
27368             .attr('class', 'copyright-notice');
27369
27370         copyright.text(String);
27371
27372         copyright.exit()
27373             .remove();
27374     }
27375
27376     function update() {
27377         attribution([context.background().baseLayerSource()], 'base-layer-attribution');
27378         attribution(context.background().overlayLayerSources().filter(function (s) {
27379             return s.validZoom(context.map().zoom());
27380         }), 'overlay-layer-attribution');
27381     }
27382
27383     return function(select) {
27384         selection = select;
27385
27386         context.background()
27387             .on('change.attribution', update);
27388
27389         context.map()
27390             .on('move.attribution', _.throttle(update, 400, {leading: false}));
27391
27392         update();
27393     };
27394 };
27395 iD.ui.Background = function(context) {
27396     var key = 'B',
27397         opacities = [1, 0.75, 0.5, 0.25],
27398         directions = [
27399             ['left', [1, 0]],
27400             ['top', [0, -1]],
27401             ['right', [-1, 0]],
27402             ['bottom', [0, 1]]],
27403         opacityDefault = (context.storage('background-opacity') !== null) ?
27404             (+context.storage('background-opacity')) : 0.5,
27405         customTemplate = '';
27406
27407     // Can be 0 from <1.3.0 use or due to issue #1923.
27408     if (opacityDefault === 0) opacityDefault = 0.5;
27409
27410     function background(selection) {
27411
27412         function setOpacity(d) {
27413             var bg = context.container().selectAll('.background-layer')
27414                 .transition()
27415                 .style('opacity', d)
27416                 .attr('data-opacity', d);
27417
27418             if (!iD.detect().opera) {
27419                 iD.util.setTransform(bg, 0, 0);
27420             }
27421
27422             opacityList.selectAll('li')
27423                 .classed('active', function(_) { return _ === d; });
27424
27425             context.storage('background-opacity', d);
27426         }
27427
27428         function selectLayer() {
27429             function active(d) {
27430                 return context.background().showsLayer(d);
27431             }
27432
27433             content.selectAll('.layer, .custom_layer')
27434                 .classed('active', active)
27435                 .selectAll('input')
27436                 .property('checked', active);
27437         }
27438
27439         function clickSetSource(d) {
27440             d3.event.preventDefault();
27441             context.background().baseLayerSource(d);
27442             selectLayer();
27443         }
27444
27445         function editCustom() {
27446             d3.event.preventDefault();
27447             var template = window.prompt(t('background.custom_prompt'), customTemplate);
27448             if (!template ||
27449                 template.indexOf('google.com') !== -1 ||
27450                 template.indexOf('googleapis.com') !== -1 ||
27451                 template.indexOf('google.ru') !== -1) {
27452                 selectLayer();
27453                 return;
27454             }
27455             setCustom(template);
27456         }
27457
27458         function setCustom(template) {
27459             context.background().baseLayerSource(iD.BackgroundSource.Custom(template));
27460             selectLayer();
27461         }
27462
27463         function clickSetOverlay(d) {
27464             d3.event.preventDefault();
27465             context.background().toggleOverlayLayer(d);
27466             selectLayer();
27467         }
27468
27469         function drawList(layerList, type, change, filter) {
27470             var sources = context.background()
27471                 .sources(context.map().extent())
27472                 .filter(filter);
27473
27474             var layerLinks = layerList.selectAll('li.layer')
27475                 .data(sources, function(d) { return d.name(); });
27476
27477             var enter = layerLinks.enter()
27478                 .insert('li', '.custom_layer')
27479                 .attr('class', 'layer');
27480
27481             // only set tooltips for layers with tooltips
27482             enter.filter(function(d) { return d.description; })
27483                 .call(bootstrap.tooltip()
27484                     .title(function(d) { return d.description; })
27485                     .placement('top'));
27486
27487             var label = enter.append('label');
27488
27489             label.append('input')
27490                 .attr('type', type)
27491                 .attr('name', 'layers')
27492                 .on('change', change);
27493
27494             label.append('span')
27495                 .text(function(d) { return d.name(); });
27496
27497             layerLinks.exit()
27498                 .remove();
27499
27500             layerList.style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none');
27501         }
27502
27503         function update() {
27504             backgroundList.call(drawList, 'radio', clickSetSource, function(d) { return !d.overlay; });
27505             overlayList.call(drawList, 'checkbox', clickSetOverlay, function(d) { return d.overlay; });
27506
27507             selectLayer();
27508
27509             var source = context.background().baseLayerSource();
27510             if (source.id === 'custom') {
27511                 customTemplate = source.template;
27512             }
27513         }
27514
27515         function clickNudge(d) {
27516
27517             var timeout = window.setTimeout(function() {
27518                     interval = window.setInterval(nudge, 100);
27519                 }, 500),
27520                 interval;
27521
27522             d3.select(this).on('mouseup', function() {
27523                 window.clearInterval(interval);
27524                 window.clearTimeout(timeout);
27525                 nudge();
27526             });
27527
27528             function nudge() {
27529                 var offset = context.background()
27530                     .nudge(d[1], context.map().zoom())
27531                     .offset();
27532                 resetButton.classed('disabled', offset[0] === 0 && offset[1] === 0);
27533             }
27534         }
27535
27536         function hide() { setVisible(false); }
27537
27538         function toggle() {
27539             if (d3.event) d3.event.preventDefault();
27540             tooltip.hide(button);
27541             setVisible(!button.classed('active'));
27542         }
27543
27544         function setVisible(show) {
27545             if (show !== shown) {
27546                 button.classed('active', show);
27547                 shown = show;
27548
27549                 if (show) {
27550                     selection.on('mousedown.background-inside', function() {
27551                         return d3.event.stopPropagation();
27552                     });
27553                     content.style('display', 'block')
27554                         .style('right', '-300px')
27555                         .transition()
27556                         .duration(200)
27557                         .style('right', '0px');
27558                 } else {
27559                     content.style('display', 'block')
27560                         .style('right', '0px')
27561                         .transition()
27562                         .duration(200)
27563                         .style('right', '-300px')
27564                         .each('end', function() {
27565                             d3.select(this).style('display', 'none');
27566                         });
27567                     selection.on('mousedown.background-inside', null);
27568                 }
27569             }
27570         }
27571
27572
27573         var content = selection.append('div')
27574                 .attr('class', 'fillL map-overlay col3 content hide'),
27575             tooltip = bootstrap.tooltip()
27576                 .placement('left')
27577                 .html(true)
27578                 .title(iD.ui.tooltipHtml(t('background.description'), key)),
27579             button = selection.append('button')
27580                 .attr('tabindex', -1)
27581                 .on('click', toggle)
27582                 .call(tooltip),
27583             shown = false;
27584
27585         button.append('span')
27586             .attr('class', 'icon layers light');
27587
27588
27589         var opa = content.append('div')
27590                 .attr('class', 'opacity-options-wrapper');
27591
27592         opa.append('h4')
27593             .text(t('background.title'));
27594
27595         var opacityList = opa.append('ul')
27596             .attr('class', 'opacity-options');
27597
27598         opacityList.selectAll('div.opacity')
27599             .data(opacities)
27600             .enter()
27601             .append('li')
27602             .attr('data-original-title', function(d) {
27603                 return t('background.percent_brightness', { opacity: (d * 100) });
27604             })
27605             .on('click.set-opacity', setOpacity)
27606             .html('<div class="select-box"></div>')
27607             .call(bootstrap.tooltip()
27608                 .placement('left'))
27609             .append('div')
27610             .attr('class', 'opacity')
27611             .style('opacity', String);
27612
27613         var backgroundList = content.append('ul')
27614             .attr('class', 'layer-list');
27615
27616         var custom = backgroundList.append('li')
27617             .attr('class', 'custom_layer')
27618             .datum(iD.BackgroundSource.Custom());
27619
27620         custom.append('button')
27621             .attr('class', 'layer-browse')
27622             .call(bootstrap.tooltip()
27623                 .title(t('background.custom_button'))
27624                 .placement('left'))
27625             .on('click', editCustom)
27626             .append('span')
27627             .attr('class', 'icon geocode');
27628
27629         var label = custom.append('label');
27630
27631         label.append('input')
27632             .attr('type', 'radio')
27633             .attr('name', 'layers')
27634             .on('change', function () {
27635                 if (customTemplate) {
27636                     setCustom(customTemplate);
27637                 } else {
27638                     editCustom();
27639                 }
27640             });
27641
27642         label.append('span')
27643             .text(t('background.custom'));
27644
27645         var overlayList = content.append('ul')
27646             .attr('class', 'layer-list');
27647
27648         var adjustments = content.append('div')
27649             .attr('class', 'adjustments');
27650
27651         adjustments.append('a')
27652             .text(t('background.fix_misalignment'))
27653             .attr('href', '#')
27654             .classed('hide-toggle', true)
27655             .classed('expanded', false)
27656             .on('click', function() {
27657                 var exp = d3.select(this).classed('expanded');
27658                 nudgeContainer.style('display', exp ? 'none' : 'block');
27659                 d3.select(this).classed('expanded', !exp);
27660                 d3.event.preventDefault();
27661             });
27662
27663         var nudgeContainer = adjustments.append('div')
27664             .attr('class', 'nudge-container cf')
27665             .style('display', 'none');
27666
27667         nudgeContainer.selectAll('button')
27668             .data(directions).enter()
27669             .append('button')
27670             .attr('class', function(d) { return d[0] + ' nudge'; })
27671             .on('mousedown', clickNudge);
27672
27673         var resetButton = nudgeContainer.append('button')
27674             .attr('class', 'reset disabled')
27675             .on('click', function () {
27676                 context.background().offset([0, 0]);
27677                 resetButton.classed('disabled', true);
27678             });
27679
27680         resetButton.append('div')
27681             .attr('class', 'icon undo');
27682
27683         context.map()
27684             .on('move.background-update', _.debounce(update, 1000));
27685
27686         context.background()
27687             .on('change.background-update', update);
27688
27689         update();
27690         setOpacity(opacityDefault);
27691
27692         var keybinding = d3.keybinding('background')
27693             .on(key, toggle)
27694             .on('F', hide)
27695             .on('H', hide);
27696
27697         d3.select(document)
27698             .call(keybinding);
27699
27700         context.surface().on('mousedown.background-outside', hide);
27701         context.container().on('mousedown.background-outside', hide);
27702     }
27703
27704     return background;
27705 };
27706 // Translate a MacOS key command into the appropriate Windows/Linux equivalent.
27707 // For example, ⌘Z -> Ctrl+Z
27708 iD.ui.cmd = function(code) {
27709     if (iD.detect().os === 'mac')
27710         return code;
27711
27712     var replacements = {
27713         '⌘': 'Ctrl',
27714         '⇧': 'Shift',
27715         '⌥': 'Alt',
27716         '⌫': 'Backspace',
27717         '⌦': 'Delete'
27718     }, keys = [];
27719
27720     if (iD.detect().os === 'win') {
27721         if (code === '⌘⇧Z') return 'Ctrl+Y';
27722     }
27723
27724     for (var i = 0; i < code.length; i++) {
27725         if (code[i] in replacements) {
27726             keys.push(replacements[code[i]]);
27727         } else {
27728             keys.push(code[i]);
27729         }
27730     }
27731
27732     return keys.join('+');
27733 };
27734 iD.ui.Commit = function(context) {
27735     var event = d3.dispatch('cancel', 'save');
27736
27737     function commit(selection) {
27738         var changes = context.history().changes(),
27739             summary = context.history().difference().summary();
27740
27741         function zoomToEntity(change) {
27742             var entity = change.entity;
27743             if (change.changeType !== 'deleted' &&
27744                 context.graph().entity(entity.id).geometry(context.graph()) !== 'vertex') {
27745                 context.map().zoomTo(entity);
27746                 context.surface().selectAll(
27747                     iD.util.entityOrMemberSelector([entity.id], context.graph()))
27748                     .classed('hover', true);
27749             }
27750         }
27751
27752         var header = selection.append('div')
27753             .attr('class', 'header fillL');
27754
27755         header.append('button')
27756             .attr('class', 'fr')
27757             .on('click', event.cancel)
27758             .append('span')
27759             .attr('class', 'icon close');
27760
27761         header.append('h3')
27762             .text(t('commit.title'));
27763
27764         var body = selection.append('div')
27765             .attr('class', 'body');
27766
27767         // Comment Section
27768         var commentSection = body.append('div')
27769             .attr('class', 'modal-section form-field commit-form');
27770
27771         commentSection.append('label')
27772             .attr('class', 'form-label')
27773             .text(t('commit.message_label'));
27774
27775         var commentField = commentSection.append('textarea')
27776             .attr('placeholder', t('commit.description_placeholder'))
27777             .attr('maxlength', 255)
27778             .property('value', context.storage('comment') || '')
27779             .on('blur.save', function () {
27780                 context.storage('comment', this.value);
27781             });
27782
27783         commentField.node().select();
27784
27785         // Warnings
27786         var warnings = body.selectAll('div.warning-section')
27787             .data([iD.validate(changes, context.graph())])
27788             .enter()
27789             .append('div')
27790             .attr('class', 'modal-section warning-section fillL2')
27791             .style('display', function(d) { return _.isEmpty(d) ? 'none' : null; })
27792             .style('background', '#ffb');
27793
27794         warnings.append('h3')
27795             .text(t('commit.warnings'));
27796
27797         var warningLi = warnings.append('ul')
27798             .attr('class', 'changeset-list')
27799             .selectAll('li')
27800             .data(function(d) { return d; })
27801             .enter()
27802             .append('li')
27803             .style()
27804             .on('mouseover', mouseover)
27805             .on('mouseout', mouseout)
27806             .on('click', warningClick);
27807
27808         warningLi.append('span')
27809             .attr('class', 'alert icon icon-pre-text');
27810
27811         warningLi.append('strong').text(function(d) {
27812             return d.message;
27813         });
27814
27815         warningLi.filter(function(d) { return d.tooltip; })
27816             .call(bootstrap.tooltip()
27817                 .title(function(d) { return d.tooltip; })
27818                 .placement('top')
27819             );
27820
27821         // Save Section
27822         var saveSection = body.append('div')
27823             .attr('class','modal-section fillL cf');
27824
27825         var prose = saveSection.append('p')
27826             .attr('class', 'commit-info')
27827             .html(t('commit.upload_explanation'));
27828
27829         context.connection().userDetails(function(err, user) {
27830             if (err) return;
27831
27832             var userLink = d3.select(document.createElement('div'));
27833
27834             if (user.image_url) {
27835                 userLink.append('img')
27836                     .attr('src', user.image_url)
27837                     .attr('class', 'icon icon-pre-text user-icon');
27838             }
27839
27840             userLink.append('a')
27841                 .attr('class','user-info')
27842                 .text(user.display_name)
27843                 .attr('href', context.connection().userURL(user.display_name))
27844                 .attr('tabindex', -1)
27845                 .attr('target', '_blank');
27846
27847             prose.html(t('commit.upload_explanation_with_user', {user: userLink.html()}));
27848         });
27849
27850         // Confirm Button
27851         var saveButton = saveSection.append('button')
27852             .attr('class', 'action col4 button')
27853             .on('click.save', function() {
27854                 event.save({
27855                     comment: commentField.node().value
27856                 });
27857             });
27858
27859         saveButton.append('span')
27860             .attr('class', 'label')
27861             .text(t('commit.save'));
27862
27863         var changeSection = body.selectAll('div.commit-section')
27864             .data([0])
27865             .enter()
27866             .append('div')
27867             .attr('class', 'commit-section modal-section fillL2');
27868
27869         changeSection.append('h3')
27870             .text(t('commit.changes', {count: summary.length}));
27871
27872         var li = changeSection.append('ul')
27873             .attr('class', 'changeset-list')
27874             .selectAll('li')
27875             .data(summary)
27876             .enter()
27877             .append('li')
27878             .on('mouseover', mouseover)
27879             .on('mouseout', mouseout)
27880             .on('click', zoomToEntity);
27881
27882         li.append('span')
27883             .attr('class', function(d) {
27884                 return d.entity.geometry(d.graph) + ' ' + d.changeType + ' icon icon-pre-text';
27885             });
27886
27887         li.append('span')
27888             .attr('class', 'change-type')
27889             .text(function(d) {
27890                 return t('commit.' + d.changeType) + ' ';
27891             });
27892
27893         li.append('strong')
27894             .attr('class', 'entity-type')
27895             .text(function(d) {
27896                 return context.presets().match(d.entity, d.graph).name();
27897             });
27898
27899         li.append('span')
27900             .attr('class', 'entity-name')
27901             .text(function(d) {
27902                 var name = iD.util.displayName(d.entity) || '',
27903                     string = '';
27904                 if (name !== '') string += ':';
27905                 return string += ' ' + name;
27906             });
27907
27908         li.style('opacity', 0)
27909             .transition()
27910             .style('opacity', 1);
27911
27912         li.style('opacity', 0)
27913             .transition()
27914             .style('opacity', 1);
27915
27916         function mouseover(d) {
27917             if (d.entity) {
27918                 context.surface().selectAll(
27919                     iD.util.entityOrMemberSelector([d.entity.id], context.graph())
27920                 ).classed('hover', true);
27921             }
27922         }
27923
27924         function mouseout() {
27925             context.surface().selectAll('.hover')
27926                 .classed('hover', false);
27927         }
27928
27929         function warningClick(d) {
27930             if (d.entity) {
27931                 context.map().zoomTo(d.entity);
27932                 context.enter(
27933                     iD.modes.Select(context, [d.entity.id])
27934                         .suppressMenu(true));
27935             }
27936         }
27937     }
27938
27939     return d3.rebind(commit, event, 'on');
27940 };
27941 iD.ui.confirm = function(selection) {
27942     var modal = iD.ui.modal(selection);
27943
27944     modal.select('.modal')
27945         .classed('modal-alert', true);
27946
27947     var section = modal.select('.content');
27948
27949     section.append('div')
27950         .attr('class', 'modal-section header');
27951
27952     section.append('div')
27953         .attr('class', 'modal-section message-text');
27954
27955     var buttonwrap = section.append('div')
27956         .attr('class', 'modal-section buttons cf');
27957
27958     buttonwrap.append('button')
27959         .attr('class', 'col2 action')
27960         .on('click.confirm', function() {
27961             modal.remove();
27962         })
27963         .text(t('confirm.okay'));
27964
27965     return modal;
27966 };
27967 iD.ui.Contributors = function(context) {
27968     function update(selection) {
27969         var users = {},
27970             limit = 4,
27971             entities = context.intersects(context.map().extent());
27972
27973         entities.forEach(function(entity) {
27974             if (entity && entity.user) users[entity.user] = true;
27975         });
27976
27977         var u = Object.keys(users),
27978             subset = u.slice(0, u.length > limit ? limit - 1 : limit);
27979
27980         selection.html('')
27981             .append('span')
27982             .attr('class', 'icon nearby light icon-pre-text');
27983
27984         var userList = d3.select(document.createElement('span'));
27985
27986         userList.selectAll()
27987             .data(subset)
27988             .enter()
27989             .append('a')
27990             .attr('class', 'user-link')
27991             .attr('href', function(d) { return context.connection().userURL(d); })
27992             .attr('target', '_blank')
27993             .attr('tabindex', -1)
27994             .text(String);
27995
27996         if (u.length > limit) {
27997             var count = d3.select(document.createElement('span'));
27998
27999             count.append('a')
28000                 .attr('target', '_blank')
28001                 .attr('tabindex', -1)
28002                 .attr('href', function() {
28003                     return context.connection().changesetsURL(context.map().center(), context.map().zoom());
28004                 })
28005                 .text(u.length - limit + 1);
28006
28007             selection.append('span')
28008                 .html(t('contributors.truncated_list', {users: userList.html(), count: count.html()}));
28009         } else {
28010             selection.append('span')
28011                 .html(t('contributors.list', {users: userList.html()}));
28012         }
28013
28014         if (!u.length) {
28015             selection.transition().style('opacity', 0);
28016         } else if (selection.style('opacity') === '0') {
28017             selection.transition().style('opacity', 1);
28018         }
28019     }
28020
28021     return function(selection) {
28022         update(selection);
28023
28024         context.connection().on('load.contributors', function() {
28025             update(selection);
28026         });
28027
28028         context.map().on('move.contributors', _.debounce(function() {
28029             update(selection);
28030         }, 500));
28031     };
28032 };
28033 iD.ui.Disclosure = function() {
28034     var dispatch = d3.dispatch('toggled'),
28035         title,
28036         expanded = false,
28037         content = function () {};
28038
28039     var disclosure = function(selection) {
28040         var $link = selection.selectAll('.hide-toggle')
28041             .data([0]);
28042
28043         $link.enter().append('a')
28044             .attr('href', '#')
28045             .attr('class', 'hide-toggle');
28046
28047         $link.text(title)
28048             .on('click', toggle)
28049             .classed('expanded', expanded);
28050
28051         var $body = selection.selectAll('div')
28052             .data([0]);
28053
28054         $body.enter().append('div');
28055
28056         $body.classed('hide', !expanded)
28057             .call(content);
28058
28059         function toggle() {
28060             expanded = !expanded;
28061             $link.classed('expanded', expanded);
28062             $body.call(iD.ui.Toggle(expanded));
28063             dispatch.toggled(expanded);
28064         }
28065     };
28066
28067     disclosure.title = function(_) {
28068         if (!arguments.length) return title;
28069         title = _;
28070         return disclosure;
28071     };
28072
28073     disclosure.expanded = function(_) {
28074         if (!arguments.length) return expanded;
28075         expanded = _;
28076         return disclosure;
28077     };
28078
28079     disclosure.content = function(_) {
28080         if (!arguments.length) return content;
28081         content = _;
28082         return disclosure;
28083     };
28084
28085     return d3.rebind(disclosure, dispatch, 'on');
28086 };
28087 iD.ui.EntityEditor = function(context) {
28088     var event = d3.dispatch('choose'),
28089         state = 'select',
28090         id,
28091         preset,
28092         reference;
28093
28094     var presetEditor = iD.ui.preset(context)
28095         .on('change', changeTags);
28096     var rawTagEditor = iD.ui.RawTagEditor(context)
28097         .on('change', changeTags);
28098
28099     function entityEditor(selection) {
28100         var entity = context.entity(id),
28101             tags = _.clone(entity.tags);
28102
28103         var $header = selection.selectAll('.header')
28104             .data([0]);
28105
28106         // Enter
28107
28108         var $enter = $header.enter().append('div')
28109             .attr('class', 'header fillL cf');
28110
28111         $enter.append('button')
28112             .attr('class', 'fr preset-close')
28113             .append('span')
28114             .attr('class', 'icon close');
28115
28116         $enter.append('h3');
28117
28118         // Update
28119
28120         $header.select('h3')
28121             .text(t('inspector.edit'));
28122
28123         $header.select('.preset-close')
28124             .on('click', function() {
28125                 context.enter(iD.modes.Browse(context));
28126             });
28127
28128         var $body = selection.selectAll('.inspector-body')
28129             .data([0]);
28130
28131         // Enter
28132
28133         $enter = $body.enter().append('div')
28134             .attr('class', 'inspector-body');
28135
28136         $enter.append('div')
28137             .attr('class', 'preset-list-item inspector-inner')
28138             .append('div')
28139             .attr('class', 'preset-list-button-wrap')
28140             .append('button')
28141             .attr('class', 'preset-list-button preset-reset')
28142             .call(bootstrap.tooltip()
28143                 .title(t('inspector.back_tooltip'))
28144                 .placement('bottom'))
28145             .append('div')
28146             .attr('class', 'label');
28147
28148         $body.select('.preset-list-button-wrap')
28149             .call(reference.button);
28150
28151         $body.select('.preset-list-item')
28152             .call(reference.body);
28153
28154         $enter.append('div')
28155             .attr('class', 'inspector-border inspector-preset');
28156
28157         $enter.append('div')
28158             .attr('class', 'inspector-border raw-tag-editor inspector-inner');
28159
28160         $enter.append('div')
28161             .attr('class', 'inspector-border raw-member-editor inspector-inner');
28162
28163         $enter.append('div')
28164             .attr('class', 'raw-membership-editor inspector-inner');
28165
28166         selection.selectAll('.preset-reset')
28167             .on('click', function() {
28168                 event.choose(preset);
28169             });
28170
28171         // Update
28172
28173         $body.select('.preset-list-item button')
28174             .call(iD.ui.PresetIcon()
28175                 .geometry(context.geometry(id))
28176                 .preset(preset));
28177
28178         $body.select('.preset-list-item .label')
28179             .text(preset.name());
28180
28181         $body.select('.inspector-preset')
28182             .call(presetEditor
28183                 .preset(preset)
28184                 .entityID(id)
28185                 .tags(tags)
28186                 .state(state));
28187
28188         $body.select('.raw-tag-editor')
28189             .call(rawTagEditor
28190                 .preset(preset)
28191                 .entityID(id)
28192                 .tags(tags)
28193                 .state(state));
28194
28195         if (entity.type === 'relation') {
28196             $body.select('.raw-member-editor')
28197                 .style('display', 'block')
28198                 .call(iD.ui.RawMemberEditor(context)
28199                     .entityID(id));
28200         } else {
28201             $body.select('.raw-member-editor')
28202                 .style('display', 'none');
28203         }
28204
28205         $body.select('.raw-membership-editor')
28206             .call(iD.ui.RawMembershipEditor(context)
28207                 .entityID(id));
28208
28209         function historyChanged() {
28210             if (state === 'hide') return;
28211             var entity = context.hasEntity(id);
28212             if (!entity) return;
28213             entityEditor.preset(context.presets().match(entity, context.graph()));
28214             entityEditor(selection);
28215         }
28216
28217         context.history()
28218             .on('change.entity-editor', historyChanged);
28219     }
28220
28221     function clean(o) {
28222         var out = {}, k, v;
28223         /*jshint -W083 */
28224         for (k in o) {
28225             if (k && (v = o[k]) !== undefined) {
28226                 out[k] = v.split(';').map(function(s) { return s.trim(); }).join(';');
28227             }
28228         }
28229         /*jshint +W083 */
28230         return out;
28231     }
28232
28233     function changeTags(changed) {
28234         var entity = context.entity(id),
28235             tags = clean(_.extend({}, entity.tags, changed));
28236
28237         if (!_.isEqual(entity.tags, tags)) {
28238             context.perform(
28239                 iD.actions.ChangeTags(id, tags),
28240                 t('operations.change_tags.annotation'));
28241         }
28242     }
28243
28244     entityEditor.state = function(_) {
28245         if (!arguments.length) return state;
28246         state = _;
28247         return entityEditor;
28248     };
28249
28250     entityEditor.entityID = function(_) {
28251         if (!arguments.length) return id;
28252         id = _;
28253         entityEditor.preset(context.presets().match(context.entity(id), context.graph()));
28254         return entityEditor;
28255     };
28256
28257     entityEditor.preset = function(_) {
28258         if (!arguments.length) return preset;
28259         if (_ !== preset) {
28260             preset = _;
28261             reference = iD.ui.TagReference(preset.reference(context.geometry(id)), context)
28262                 .showing(false);
28263         }
28264         return entityEditor;
28265     };
28266
28267     return d3.rebind(entityEditor, event, 'on');
28268 };
28269 iD.ui.FeatureInfo = function(context) {
28270     function update(selection) {
28271         var features = context.features(),
28272             stats = features.stats(),
28273             count = 0,
28274             hiddenList = _.compact(_.map(features.hidden(), function(k) {
28275                 if (stats[k]) {
28276                     count += stats[k];
28277                     return String(stats[k]) + ' ' + t('feature.' + k + '.description');
28278                 }
28279             }));
28280
28281         selection.html('');
28282
28283         if (hiddenList.length) {
28284             var tooltip = bootstrap.tooltip()
28285                     .placement('top')
28286                     .html(true)
28287                     .title(function() {
28288                         return iD.ui.tooltipHtml(hiddenList.join('<br/>'));
28289                     });
28290
28291             var warning = selection.append('a')
28292                 .attr('href', '#')
28293                 .attr('tabindex', -1)
28294                 .html(t('feature_info.hidden_warning', { count: count }))
28295                 .call(tooltip)
28296                 .on('click', function() {
28297                     tooltip.hide(warning);
28298                     // open map data panel?
28299                     d3.event.preventDefault();
28300                 });
28301         }
28302
28303         selection
28304             .classed('hide', !hiddenList.length);
28305     }
28306
28307     return function(selection) {
28308         update(selection);
28309
28310         context.features().on('change.feature_info', function() {
28311             update(selection);
28312         });
28313     };
28314 };
28315 iD.ui.FeatureList = function(context) {
28316     var geocodeResults;
28317
28318     function featureList(selection) {
28319         var header = selection.append('div')
28320             .attr('class', 'header fillL cf');
28321
28322         header.append('h3')
28323             .text(t('inspector.feature_list'));
28324
28325         function keypress() {
28326             var q = search.property('value'),
28327                 items = list.selectAll('.feature-list-item');
28328             if (d3.event.keyCode === 13 && q.length && items.size()) {
28329                 click(items.datum());
28330             }
28331         }
28332
28333         function inputevent() {
28334             geocodeResults = undefined;
28335             drawList();
28336         }
28337
28338         var searchWrap = selection.append('div')
28339             .attr('class', 'search-header');
28340
28341         var search = searchWrap.append('input')
28342             .attr('placeholder', t('inspector.search'))
28343             .attr('type', 'search')
28344             .on('keypress', keypress)
28345             .on('input', inputevent);
28346
28347         searchWrap.append('span')
28348             .attr('class', 'icon search');
28349
28350         var listWrap = selection.append('div')
28351             .attr('class', 'inspector-body');
28352
28353         var list = listWrap.append('div')
28354             .attr('class', 'feature-list cf');
28355
28356         context.map()
28357             .on('drawn.feature-list', mapDrawn);
28358
28359         function mapDrawn(e) {
28360             if (e.full) {
28361                 drawList();
28362             }
28363         }
28364
28365         function features() {
28366             var entities = {},
28367                 result = [],
28368                 graph = context.graph(),
28369                 q = search.property('value').toLowerCase();
28370
28371             if (!q) return result;
28372
28373             var idMatch = q.match(/^([nwr])([0-9]+)$/);
28374
28375             if (idMatch) {
28376                 result.push({
28377                     id: idMatch[0],
28378                     geometry: idMatch[1] === 'n' ? 'point' : idMatch[1] === 'w' ? 'line' : 'relation',
28379                     type: idMatch[1] === 'n' ? t('inspector.node') : idMatch[1] === 'w' ? t('inspector.way') : t('inspector.relation'),
28380                     name: idMatch[2]
28381                 });
28382             }
28383
28384             var locationMatch = sexagesimal.pair(q.toUpperCase()) || q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
28385
28386             if (locationMatch) {
28387                 var loc = [parseFloat(locationMatch[0]), parseFloat(locationMatch[1])];
28388                 result.push({
28389                     id: -1,
28390                     geometry: 'point',
28391                     type: t('inspector.location'),
28392                     name: loc[0].toFixed(6) + ', ' + loc[1].toFixed(6),
28393                     location: loc
28394                 });
28395             }
28396
28397             function addEntity(entity) {
28398                 if (entity.id in entities || result.length > 200)
28399                     return;
28400
28401                 entities[entity.id] = true;
28402
28403                 var name = iD.util.displayName(entity) || '';
28404                 if (name.toLowerCase().indexOf(q) >= 0) {
28405                     result.push({
28406                         id: entity.id,
28407                         entity: entity,
28408                         geometry: context.geometry(entity.id),
28409                         type: context.presets().match(entity, graph).name(),
28410                         name: name
28411                     });
28412                 }
28413
28414                 graph.parentRelations(entity).forEach(function(parent) {
28415                     addEntity(parent);
28416                 });
28417             }
28418
28419             var visible = context.surface().selectAll('.point, .line, .area')[0];
28420             for (var i = 0; i < visible.length && result.length <= 200; i++) {
28421                 addEntity(visible[i].__data__);
28422             }
28423
28424             (geocodeResults || []).forEach(function(d) {
28425                 // https://github.com/openstreetmap/iD/issues/1890
28426                 if (d.osm_type && d.osm_id) {
28427                     result.push({
28428                         id: iD.Entity.id.fromOSM(d.osm_type, d.osm_id),
28429                         geometry: d.osm_type === 'relation' ? 'relation' : d.osm_type === 'way' ? 'line' : 'point',
28430                         type: d.type !== 'yes' ? (d.type.charAt(0).toUpperCase() + d.type.slice(1)).replace('_', ' ')
28431                                                : (d.class.charAt(0).toUpperCase() + d.class.slice(1)).replace('_', ' '),
28432                         name: d.display_name,
28433                         extent: new iD.geo.Extent(
28434                             [parseFloat(d.boundingbox[3]), parseFloat(d.boundingbox[0])],
28435                             [parseFloat(d.boundingbox[2]), parseFloat(d.boundingbox[1])])
28436                     });
28437                 }
28438             });
28439
28440             return result;
28441         }
28442
28443         function drawList() {
28444             var value = search.property('value'),
28445                 results = features();
28446
28447             list.classed('filtered', value.length);
28448
28449             var noResultsWorldwide = geocodeResults && geocodeResults.length === 0;
28450
28451             var resultsIndicator = list.selectAll('.no-results-item')
28452                 .data([0])
28453                 .enter().append('button')
28454                 .property('disabled', true)
28455                 .attr('class', 'no-results-item');
28456
28457             resultsIndicator.append('span')
28458                 .attr('class', 'icon alert');
28459
28460             resultsIndicator.append('span')
28461                 .attr('class', 'entity-name');
28462
28463             list.selectAll('.no-results-item .entity-name')
28464                 .text(noResultsWorldwide ? t('geocoder.no_results_worldwide') : t('geocoder.no_results_visible'));
28465
28466             list.selectAll('.geocode-item')
28467                 .data([0])
28468                 .enter().append('button')
28469                 .attr('class', 'geocode-item')
28470                 .on('click', geocode)
28471                 .append('div')
28472                 .attr('class', 'label')
28473                 .append('span')
28474                 .attr('class', 'entity-name')
28475                 .text(t('geocoder.search'));
28476
28477             list.selectAll('.no-results-item')
28478                 .style('display', (value.length && !results.length) ? 'block' : 'none');
28479
28480             list.selectAll('.geocode-item')
28481                 .style('display', (value && geocodeResults === undefined) ? 'block' : 'none');
28482
28483             list.selectAll('.feature-list-item')
28484                 .data([-1])
28485                 .remove();
28486
28487             var items = list.selectAll('.feature-list-item')
28488                 .data(results, function(d) { return d.id; });
28489
28490             var enter = items.enter().insert('button', '.geocode-item')
28491                 .attr('class', 'feature-list-item')
28492                 .on('mouseover', mouseover)
28493                 .on('mouseout', mouseout)
28494                 .on('click', click);
28495
28496             var label = enter.append('div')
28497                 .attr('class', 'label');
28498
28499             label.append('span')
28500                 .attr('class', function(d) { return d.geometry + ' icon icon-pre-text'; });
28501
28502             label.append('span')
28503                 .attr('class', 'entity-type')
28504                 .text(function(d) { return d.type; });
28505
28506             label.append('span')
28507                 .attr('class', 'entity-name')
28508                 .text(function(d) { return d.name; });
28509
28510             enter.style('opacity', 0)
28511                 .transition()
28512                 .style('opacity', 1);
28513
28514             items.order();
28515
28516             items.exit()
28517                 .remove();
28518         }
28519
28520         function mouseover(d) {
28521             if (d.id === -1) return;
28522
28523             context.surface().selectAll(iD.util.entityOrMemberSelector([d.id], context.graph()))
28524                 .classed('hover', true);
28525         }
28526
28527         function mouseout() {
28528             context.surface().selectAll('.hover')
28529                 .classed('hover', false);
28530         }
28531
28532         function click(d) {
28533             d3.event.preventDefault();
28534             if (d.location) {
28535                 context.map().centerZoom([d.location[1], d.location[0]], 20);
28536             }
28537             else if (d.entity) {
28538                 context.enter(iD.modes.Select(context, [d.entity.id]));
28539             } else {
28540                 context.loadEntity(d.id);
28541             }
28542         }
28543
28544         function geocode() {
28545             var searchVal = encodeURIComponent(search.property('value'));
28546             d3.json('http://nominatim.openstreetmap.org/search/' + searchVal + '?limit=10&format=json', function(err, resp) {
28547                 geocodeResults = resp || [];
28548                 drawList();
28549             });
28550         }
28551     }
28552
28553     return featureList;
28554 };
28555 iD.ui.flash = function(selection) {
28556     var modal = iD.ui.modal(selection);
28557
28558     modal.select('.modal').classed('modal-flash', true);
28559
28560     modal.select('.content')
28561         .classed('modal-section', true)
28562         .append('div')
28563         .attr('class', 'description');
28564
28565     modal.on('click.flash', function() { modal.remove(); });
28566
28567     setTimeout(function() {
28568         modal.remove();
28569         return true;
28570     }, 1500);
28571
28572     return modal;
28573 };
28574 iD.ui.Geolocate = function(map) {
28575     function click() {
28576         navigator.geolocation.getCurrentPosition(
28577             success, error);
28578     }
28579
28580     function success(position) {
28581         var extent = iD.geo.Extent([position.coords.longitude, position.coords.latitude])
28582             .padByMeters(position.coords.accuracy);
28583
28584         map.centerZoom(extent.center(), Math.min(20, map.extentZoom(extent)));
28585     }
28586
28587     function error() { }
28588
28589     return function(selection) {
28590         if (!navigator.geolocation) return;
28591
28592         var button = selection.append('button')
28593             .attr('tabindex', -1)
28594             .attr('title', t('geolocate.title'))
28595             .on('click', click)
28596             .call(bootstrap.tooltip()
28597                 .placement('left'));
28598
28599          button.append('span')
28600              .attr('class', 'icon geolocate light');
28601     };
28602 };
28603 iD.ui.Help = function(context) {
28604     var key = 'H';
28605
28606     var docKeys = [
28607         'help.help',
28608         'help.editing_saving',
28609         'help.roads',
28610         'help.gps',
28611         'help.imagery',
28612         'help.addresses',
28613         'help.inspector',
28614         'help.buildings',
28615         'help.relations'];
28616
28617     var docs = docKeys.map(function(key) {
28618         var text = t(key);
28619         return {
28620             title: text.split('\n')[0].replace('#', '').trim(),
28621             html: marked(text.split('\n').slice(1).join('\n'))
28622         };
28623     });
28624
28625     function help(selection) {
28626
28627         function hide() {
28628             setVisible(false);
28629         }
28630
28631         function toggle() {
28632             if (d3.event) d3.event.preventDefault();
28633             tooltip.hide(button);
28634             setVisible(!button.classed('active'));
28635         }
28636
28637         function setVisible(show) {
28638             if (show !== shown) {
28639                 button.classed('active', show);
28640                 shown = show;
28641
28642                 if (show) {
28643                     selection.on('mousedown.help-inside', function() {
28644                         return d3.event.stopPropagation();
28645                     });
28646                     pane.style('display', 'block')
28647                         .style('right', '-500px')
28648                         .transition()
28649                         .duration(200)
28650                         .style('right', '0px');
28651                 } else {
28652                     pane.style('right', '0px')
28653                         .transition()
28654                         .duration(200)
28655                         .style('right', '-500px')
28656                         .each('end', function() {
28657                             d3.select(this).style('display', 'none');
28658                         });
28659                     selection.on('mousedown.help-inside', null);
28660                 }
28661             }
28662         }
28663
28664         function clickHelp(d, i) {
28665             pane.property('scrollTop', 0);
28666             doctitle.text(d.title);
28667             body.html(d.html);
28668             body.selectAll('a')
28669                 .attr('target', '_blank');
28670             menuItems.classed('selected', function(m) {
28671                 return m.title === d.title;
28672             });
28673
28674             nav.html('');
28675
28676             if (i > 0) {
28677                 var prevLink = nav.append('a')
28678                     .attr('class', 'previous')
28679                     .on('click', function() {
28680                         clickHelp(docs[i - 1], i - 1);
28681                     });
28682                 prevLink.append('span').attr('class', 'icon back blue');
28683                 prevLink.append('span').text(docs[i - 1].title);
28684             }
28685             if (i < docs.length - 1) {
28686                 var nextLink = nav.append('a')
28687                     .attr('class', 'next')
28688                     .on('click', function() {
28689                         clickHelp(docs[i + 1], i + 1);
28690                     });
28691                 nextLink.append('span').text(docs[i + 1].title);
28692                 nextLink.append('span').attr('class', 'icon forward blue');
28693             }
28694         }
28695
28696         function clickWalkthrough() {
28697             d3.select(document.body).call(iD.ui.intro(context));
28698             setVisible(false);
28699         }
28700
28701
28702         var pane = selection.append('div')
28703                 .attr('class', 'help-wrap map-overlay fillL col5 content hide'),
28704             tooltip = bootstrap.tooltip()
28705                 .placement('left')
28706                 .html(true)
28707                 .title(iD.ui.tooltipHtml(t('help.title'), key)),
28708             button = selection.append('button')
28709                 .attr('tabindex', -1)
28710                 .on('click', toggle)
28711                 .call(tooltip),
28712             shown = false;
28713
28714         button.append('span')
28715             .attr('class', 'icon help light');
28716
28717
28718         var toc = pane.append('ul')
28719             .attr('class', 'toc');
28720
28721         var menuItems = toc.selectAll('li')
28722             .data(docs)
28723             .enter()
28724             .append('li')
28725             .append('a')
28726             .text(function(d) { return d.title; })
28727             .on('click', clickHelp);
28728
28729         toc.append('li')
28730             .attr('class','walkthrough')
28731             .append('a')
28732             .text(t('splash.walkthrough'))
28733             .on('click', clickWalkthrough);
28734
28735         var content = pane.append('div')
28736             .attr('class', 'left-content');
28737
28738         var doctitle = content.append('h2')
28739             .text(t('help.title'));
28740
28741         var body = content.append('div')
28742             .attr('class', 'body');
28743
28744         var nav = content.append('div')
28745             .attr('class', 'nav');
28746
28747         clickHelp(docs[0], 0);
28748
28749         var keybinding = d3.keybinding('help')
28750             .on(key, toggle)
28751             .on('B', hide)
28752             .on('F', hide);
28753
28754         d3.select(document)
28755             .call(keybinding);
28756
28757         context.surface().on('mousedown.help-outside', hide);
28758         context.container().on('mousedown.help-outside', hide);
28759     }
28760
28761     return help;
28762 };
28763 iD.ui.Inspector = function(context) {
28764     var presetList = iD.ui.PresetList(context),
28765         entityEditor = iD.ui.EntityEditor(context),
28766         state = 'select',
28767         entityID,
28768         newFeature = false;
28769
28770     function inspector(selection) {
28771         presetList
28772             .entityID(entityID)
28773             .autofocus(newFeature)
28774             .on('choose', setPreset);
28775
28776         entityEditor
28777             .state(state)
28778             .entityID(entityID)
28779             .on('choose', showList);
28780
28781         var $wrap = selection.selectAll('.panewrap')
28782             .data([0]);
28783
28784         var $enter = $wrap.enter().append('div')
28785             .attr('class', 'panewrap');
28786
28787         $enter.append('div')
28788             .attr('class', 'preset-list-pane pane');
28789
28790         $enter.append('div')
28791             .attr('class', 'entity-editor-pane pane');
28792
28793         var $presetPane = $wrap.select('.preset-list-pane');
28794         var $editorPane = $wrap.select('.entity-editor-pane');
28795
28796         var graph = context.graph(),
28797             entity = context.entity(entityID),
28798             showEditor = state === 'hover' ||
28799                 entity.isUsed(graph) ||
28800                 entity.isHighwayIntersection(graph);
28801
28802         if (showEditor) {
28803             $wrap.style('right', '0%');
28804             $editorPane.call(entityEditor);
28805         } else {
28806             $wrap.style('right', '-100%');
28807             $presetPane.call(presetList);
28808         }
28809
28810         var $footer = selection.selectAll('.footer')
28811             .data([0]);
28812
28813         $footer.enter().append('div')
28814             .attr('class', 'footer');
28815
28816         selection.select('.footer')
28817             .call(iD.ui.ViewOnOSM(context)
28818                 .entityID(entityID));
28819
28820         function showList(preset) {
28821             $wrap.transition()
28822                 .styleTween('right', function() { return d3.interpolate('0%', '-100%'); });
28823
28824             $presetPane.call(presetList
28825                 .preset(preset)
28826                 .autofocus(true));
28827         }
28828
28829         function setPreset(preset) {
28830             $wrap.transition()
28831                 .styleTween('right', function() { return d3.interpolate('-100%', '0%'); });
28832
28833             $editorPane.call(entityEditor
28834                 .preset(preset));
28835         }
28836     }
28837
28838     inspector.state = function(_) {
28839         if (!arguments.length) return state;
28840         state = _;
28841         entityEditor.state(state);
28842         return inspector;
28843     };
28844
28845     inspector.entityID = function(_) {
28846         if (!arguments.length) return entityID;
28847         entityID = _;
28848         return inspector;
28849     };
28850
28851     inspector.newFeature = function(_) {
28852         if (!arguments.length) return newFeature;
28853         newFeature = _;
28854         return inspector;
28855     };
28856
28857     return inspector;
28858 };
28859 iD.ui.intro = function(context) {
28860
28861     var step;
28862
28863     function intro(selection) {
28864
28865         context.enter(iD.modes.Browse(context));
28866
28867         // Save current map state
28868         var history = context.history().toJSON(),
28869             hash = window.location.hash,
28870             background = context.background().baseLayerSource(),
28871             opacity = d3.select('.background-layer').style('opacity'),
28872             loadedTiles = context.connection().loadedTiles(),
28873             baseEntities = context.history().graph().base().entities,
28874             introGraph;
28875
28876         // Load semi-real data used in intro
28877         context.connection().toggle(false).flush();
28878         context.history().reset();
28879         
28880         introGraph = JSON.parse(iD.introGraph);
28881         for (var key in introGraph) {
28882             introGraph[key] = iD.Entity(introGraph[key]);
28883         }
28884         context.history().merge(d3.values(iD.Graph().load(introGraph).entities));
28885         context.background().bing();
28886
28887         // Block saving
28888         var savebutton = d3.select('#bar button.save'),
28889             save = savebutton.on('click');
28890         savebutton.on('click', null);
28891         context.inIntro(true);
28892
28893         d3.select('.background-layer').style('opacity', 1);
28894
28895         var curtain = d3.curtain();
28896         selection.call(curtain);
28897
28898         function reveal(box, text, options) {
28899             options = options || {};
28900             if (text) curtain.reveal(box, text, options.tooltipClass, options.duration);
28901             else curtain.reveal(box, '', '', options.duration);
28902         }
28903
28904         var steps = ['navigation', 'point', 'area', 'line', 'startEditing'].map(function(step, i) {
28905             var s = iD.ui.intro[step](context, reveal)
28906                 .on('done', function() {
28907                     entered.filter(function(d) {
28908                         return d.title === s.title;
28909                     }).classed('finished', true);
28910                     enter(steps[i + 1]);
28911                 });
28912             return s;
28913         });
28914
28915         steps[steps.length - 1].on('startEditing', function() {
28916             curtain.remove();
28917             navwrap.remove();
28918             d3.select('.background-layer').style('opacity', opacity);
28919             context.connection().toggle(true).flush().loadedTiles(loadedTiles);
28920             context.history().reset().merge(d3.values(baseEntities));
28921             context.background().baseLayerSource(background);
28922             if (history) context.history().fromJSON(history);
28923             window.location.replace(hash);
28924             context.inIntro(false);
28925             d3.select('#bar button.save').on('click', save);
28926         });
28927
28928         var navwrap = selection.append('div').attr('class', 'intro-nav-wrap fillD');
28929
28930         var buttonwrap = navwrap.append('div')
28931             .attr('class', 'joined')
28932             .selectAll('button.step');
28933
28934         var entered = buttonwrap.data(steps)
28935             .enter().append('button')
28936                 .attr('class', 'step')
28937                 .on('click', enter);
28938
28939         entered.append('div').attr('class','icon icon-pre-text apply');
28940         entered.append('label').text(function(d) { return t(d.title); });
28941         enter(steps[0]);
28942
28943         function enter (newStep) {
28944
28945             if (step) {
28946                 step.exit();
28947             }
28948
28949             context.enter(iD.modes.Browse(context));
28950
28951             step = newStep;
28952             step.enter();
28953
28954             entered.classed('active', function(d) {
28955                 return d.title === step.title;
28956             });
28957         }
28958
28959     }
28960     return intro;
28961 };
28962
28963 iD.ui.intro.pointBox = function(point, context) {
28964     var rect = context.surfaceRect();
28965     point = context.projection(point);
28966     return {
28967         left: point[0] + rect.left - 30,
28968         top: point[1] + rect.top - 50,
28969         width: 60,
28970         height: 70
28971     };
28972 };
28973
28974 iD.ui.intro.pad = function(box, padding, context) {
28975     if (box instanceof Array) {
28976         var rect = context.surfaceRect();
28977         box = context.projection(box);
28978         box = {
28979             left: box[0] + rect.left,
28980             top: box[1] + rect.top
28981         };
28982     }
28983     return {
28984         left: box.left - padding,
28985         top: box.top - padding,
28986         width: (box.width || 0) + 2 * padding,
28987         height: (box.width || 0) + 2 * padding
28988     };
28989 };
28990 iD.ui.Lasso = function(context) {
28991
28992     var box, group,
28993         a = [0, 0],
28994         b = [0, 0];
28995
28996     function lasso(selection) {
28997
28998         context.container().classed('lasso', true);
28999
29000         group = selection.append('g')
29001             .attr('class', 'lasso hide');
29002
29003         box = group.append('rect')
29004             .attr('class', 'lasso-box');
29005
29006         group.call(iD.ui.Toggle(true));
29007
29008     }
29009
29010     // top-left
29011     function topLeft(d) {
29012         return 'translate(' + Math.min(d[0][0], d[1][0]) + ',' + Math.min(d[0][1], d[1][1]) + ')';
29013     }
29014
29015     function width(d) { return Math.abs(d[0][0] - d[1][0]); }
29016     function height(d) { return Math.abs(d[0][1] - d[1][1]); }
29017
29018     function draw() {
29019         if (box) {
29020             box.data([[a, b]])
29021                 .attr('transform', topLeft)
29022                 .attr('width', width)
29023                 .attr('height', height);
29024         }
29025     }
29026
29027     lasso.a = function(_) {
29028         if (!arguments.length) return a;
29029         a = _;
29030         draw();
29031         return lasso;
29032     };
29033
29034     lasso.b = function(_) {
29035         if (!arguments.length) return b;
29036         b = _;
29037         draw();
29038         return lasso;
29039     };
29040
29041     lasso.close = function() {
29042         if (group) {
29043             group.call(iD.ui.Toggle(false, function() {
29044                 d3.select(this).remove();
29045             }));
29046         }
29047         context.container().classed('lasso', false);
29048     };
29049
29050     return lasso;
29051 };
29052 iD.ui.Loading = function(context) {
29053     var message = '',
29054         blocking = false,
29055         modal;
29056
29057     var loading = function(selection) {
29058         modal = iD.ui.modal(selection, blocking);
29059
29060         var loadertext = modal.select('.content')
29061             .classed('loading-modal', true)
29062             .append('div')
29063             .attr('class', 'modal-section fillL');
29064
29065         loadertext.append('img')
29066             .attr('class', 'loader')
29067             .attr('src', context.imagePath('loader-white.gif'));
29068
29069         loadertext.append('h3')
29070             .text(message);
29071
29072         modal.select('button.close')
29073             .attr('class', 'hide');
29074
29075         return loading;
29076     };
29077
29078     loading.message = function(_) {
29079         if (!arguments.length) return message;
29080         message = _;
29081         return loading;
29082     };
29083
29084     loading.blocking = function(_) {
29085         if (!arguments.length) return blocking;
29086         blocking = _;
29087         return loading;
29088     };
29089
29090     loading.close = function() {
29091         modal.remove();
29092     };
29093
29094     return loading;
29095 };
29096 iD.ui.MapData = function(context) {
29097     var key = 'F',
29098         features = context.features().keys(),
29099         fills = ['wireframe', 'partial', 'full'],
29100         fillDefault = context.storage('area-fill') || 'partial',
29101         fillSelected = fillDefault;
29102
29103     function map_data(selection) {
29104
29105         function showsFeature(d) {
29106             return autoHiddenFeature(d) ? null : context.features().enabled(d);
29107         }
29108
29109         function autoHiddenFeature(d) {
29110             return context.features().autoHidden(d);
29111         }
29112
29113         function clickFeature(d) {
29114             context.features().toggle(d);
29115             update();
29116         }
29117
29118         function showsFill(d) {
29119             return fillSelected === d;
29120         }
29121
29122         function setFill(d) {
29123             _.each(fills, function(opt) {
29124                 context.surface().classed('fill-' + opt, Boolean(opt === d));
29125             });
29126
29127             fillSelected = d;
29128             if (d !== 'wireframe') {
29129                 fillDefault = d;
29130                 context.storage('area-fill', d);
29131             }
29132             update();
29133         }
29134
29135         function clickGpx() {
29136             context.background().toggleGpxLayer();
29137             update();
29138         }
29139
29140         function clickMapillary() {
29141             context.background().toggleMapillaryLayer();
29142             update();
29143         }
29144
29145         function drawList(selection, data, type, name, change, active) {
29146             var items = selection.selectAll('li')
29147                 .data(data);
29148
29149             //enter
29150             var enter = items.enter()
29151                 .append('li')
29152                 .attr('class', 'layer')
29153                 .call(bootstrap.tooltip()
29154                     .html(true)
29155                     .title(function(d) {
29156                         var tip = t(name + '.' + d + '.tooltip'),
29157                             key = (d === 'wireframe' ? 'W' : null);
29158
29159                         if (name === 'feature' && autoHiddenFeature(d)) {
29160                             tip += '<div>' + t('map_data.autohidden') + '</div>';
29161                         }
29162                         return iD.ui.tooltipHtml(tip, key);
29163                     })
29164                     .placement('top')
29165                 );
29166
29167             var label = enter.append('label');
29168
29169             label.append('input')
29170                 .attr('type', type)
29171                 .attr('name', name)
29172                 .on('change', change);
29173
29174             label.append('span')
29175                 .text(function(d) { return t(name + '.' + d + '.description'); });
29176
29177             //update
29178             items
29179                 .classed('active', active)
29180                 .selectAll('input')
29181                 .property('checked', active);
29182
29183             if (name === 'feature') {
29184                 items
29185                     .selectAll('input')
29186                     .property('indeterminate', autoHiddenFeature);
29187             }
29188
29189             //exit
29190             items.exit()
29191                 .remove();
29192         }
29193
29194         function update() {
29195             featureList.call(drawList, features, 'checkbox', 'feature', clickFeature, showsFeature);
29196             fillList.call(drawList, fills, 'radio', 'area_fill', setFill, showsFill);
29197
29198             var hasGpx = context.background().hasGpxLayer(),
29199                 showsGpx = context.background().showsGpxLayer(),
29200                 showsMapillary = context.background().showsMapillaryLayer();
29201
29202             gpxLayerItem
29203                 .classed('active', showsGpx)
29204                 .selectAll('input')
29205                 .property('disabled', !hasGpx)
29206                 .property('checked', showsGpx);
29207
29208             mapillaryLayerItem
29209                 .classed('active', showsMapillary)
29210                 .selectAll('input')
29211                 .property('checked', showsMapillary);
29212         }
29213
29214         function hidePanel() { setVisible(false); }
29215
29216         function togglePanel() {
29217             if (d3.event) d3.event.preventDefault();
29218             tooltip.hide(button);
29219             setVisible(!button.classed('active'));
29220         }
29221
29222         function toggleWireframe() {
29223             if (d3.event) {
29224                 d3.event.preventDefault();
29225                 d3.event.stopPropagation();
29226             }
29227             setFill((fillSelected === 'wireframe' ? fillDefault : 'wireframe'));
29228         }
29229
29230         function setVisible(show) {
29231             if (show !== shown) {
29232                 button.classed('active', show);
29233                 shown = show;
29234
29235                 if (show) {
29236                     selection.on('mousedown.map_data-inside', function() {
29237                         return d3.event.stopPropagation();
29238                     });
29239                     content.style('display', 'block')
29240                         .style('right', '-300px')
29241                         .transition()
29242                         .duration(200)
29243                         .style('right', '0px');
29244                 } else {
29245                     content.style('display', 'block')
29246                         .style('right', '0px')
29247                         .transition()
29248                         .duration(200)
29249                         .style('right', '-300px')
29250                         .each('end', function() {
29251                             d3.select(this).style('display', 'none');
29252                         });
29253                     selection.on('mousedown.map_data-inside', null);
29254                 }
29255             }
29256         }
29257
29258
29259         var content = selection.append('div')
29260                 .attr('class', 'fillL map-overlay col3 content hide'),
29261             tooltip = bootstrap.tooltip()
29262                 .placement('left')
29263                 .html(true)
29264                 .title(iD.ui.tooltipHtml(t('map_data.description'), key)),
29265             button = selection.append('button')
29266                 .attr('tabindex', -1)
29267                 .on('click', togglePanel)
29268                 .call(tooltip),
29269             shown = false;
29270
29271         button.append('span')
29272             .attr('class', 'icon data light');
29273
29274         content.append('h4')
29275             .text(t('map_data.title'));
29276
29277
29278         // data layers
29279         content.append('a')
29280             .text(t('map_data.data_layers'))
29281             .attr('href', '#')
29282             .classed('hide-toggle', true)
29283             .classed('expanded', true)
29284             .on('click', function() {
29285                 var exp = d3.select(this).classed('expanded');
29286                 layerContainer.style('display', exp ? 'none' : 'block');
29287                 d3.select(this).classed('expanded', !exp);
29288                 d3.event.preventDefault();
29289             });
29290
29291         var layerContainer = content.append('div')
29292             .attr('class', 'filters')
29293             .style('display', 'block');
29294
29295         // mapillary
29296         var mapillaryLayerItem = layerContainer.append('ul')
29297             .attr('class', 'layer-list')
29298             .append('li');
29299
29300         var label = mapillaryLayerItem.append('label')
29301             .call(bootstrap.tooltip()
29302                 .title(t('mapillary.tooltip'))
29303                 .placement('top'));
29304
29305         label.append('input')
29306             .attr('type', 'checkbox')
29307             .on('change', clickMapillary);
29308
29309         label.append('span')
29310             .text(t('mapillary.title'));
29311
29312         // gpx
29313         var gpxLayerItem = layerContainer.append('ul')
29314             .style('display', iD.detect().filedrop ? 'block' : 'none')
29315             .attr('class', 'layer-list')
29316             .append('li')
29317             .classed('layer-toggle-gpx', true);
29318
29319         gpxLayerItem.append('button')
29320             .attr('class', 'layer-extent')
29321             .call(bootstrap.tooltip()
29322                 .title(t('gpx.zoom'))
29323                 .placement('left'))
29324             .on('click', function() {
29325                 d3.event.preventDefault();
29326                 d3.event.stopPropagation();
29327                 context.background().zoomToGpxLayer();
29328             })
29329             .append('span')
29330             .attr('class', 'icon geolocate');
29331
29332         gpxLayerItem.append('button')
29333             .attr('class', 'layer-browse')
29334             .call(bootstrap.tooltip()
29335                 .title(t('gpx.browse'))
29336                 .placement('left'))
29337             .on('click', function() {
29338                 d3.select(document.createElement('input'))
29339                     .attr('type', 'file')
29340                     .on('change', function() {
29341                         context.background().gpxLayerFiles(d3.event.target.files);
29342                     })
29343                     .node().click();
29344             })
29345             .append('span')
29346             .attr('class', 'icon geocode');
29347
29348         label = gpxLayerItem.append('label')
29349             .call(bootstrap.tooltip()
29350                 .title(t('gpx.drag_drop'))
29351                 .placement('top'));
29352
29353         label.append('input')
29354             .attr('type', 'checkbox')
29355             .property('disabled', true)
29356             .on('change', clickGpx);
29357
29358         label.append('span')
29359             .text(t('gpx.local_layer'));
29360
29361
29362         // area fills
29363         content.append('a')
29364             .text(t('map_data.fill_area'))
29365             .attr('href', '#')
29366             .classed('hide-toggle', true)
29367             .classed('expanded', false)
29368             .on('click', function() {
29369                 var exp = d3.select(this).classed('expanded');
29370                 fillContainer.style('display', exp ? 'none' : 'block');
29371                 d3.select(this).classed('expanded', !exp);
29372                 d3.event.preventDefault();
29373             });
29374
29375         var fillContainer = content.append('div')
29376             .attr('class', 'filters')
29377             .style('display', 'none');
29378
29379         var fillList = fillContainer.append('ul')
29380             .attr('class', 'layer-list');
29381
29382
29383         // feature filters
29384         content.append('a')
29385             .text(t('map_data.map_features'))
29386             .attr('href', '#')
29387             .classed('hide-toggle', true)
29388             .classed('expanded', false)
29389             .on('click', function() {
29390                 var exp = d3.select(this).classed('expanded');
29391                 featureContainer.style('display', exp ? 'none' : 'block');
29392                 d3.select(this).classed('expanded', !exp);
29393                 d3.event.preventDefault();
29394             });
29395
29396         var featureContainer = content.append('div')
29397             .attr('class', 'filters')
29398             .style('display', 'none');
29399
29400         var featureList = featureContainer.append('ul')
29401             .attr('class', 'layer-list');
29402
29403
29404         context.features()
29405             .on('change.map_data-update', update);
29406
29407         update();
29408         setFill(fillDefault);
29409
29410         var keybinding = d3.keybinding('features')
29411             .on(key, togglePanel)
29412             .on('W', toggleWireframe)
29413             .on('B', hidePanel)
29414             .on('H', hidePanel);
29415
29416         d3.select(document)
29417             .call(keybinding);
29418
29419         context.surface().on('mousedown.map_data-outside', hidePanel);
29420         context.container().on('mousedown.map_data-outside', hidePanel);
29421     }
29422
29423     return map_data;
29424 };
29425 iD.ui.modal = function(selection, blocking) {
29426
29427     var previous = selection.select('div.modal');
29428     var animate = previous.empty();
29429
29430     previous.transition()
29431         .duration(200)
29432         .style('opacity', 0)
29433         .remove();
29434
29435     var shaded = selection
29436         .append('div')
29437         .attr('class', 'shaded')
29438         .style('opacity', 0);
29439
29440     shaded.close = function() {
29441         shaded
29442             .transition()
29443             .duration(200)
29444             .style('opacity',0)
29445             .remove();
29446         modal
29447             .transition()
29448             .duration(200)
29449             .style('top','0px');
29450         keybinding.off();
29451     };
29452
29453     var keybinding = d3.keybinding('modal')
29454         .on('⌫', shaded.close)
29455         .on('⎋', shaded.close);
29456
29457     d3.select(document).call(keybinding);
29458
29459     var modal = shaded.append('div')
29460         .attr('class', 'modal fillL col6');
29461
29462         shaded.on('click.remove-modal', function() {
29463             if (d3.event.target === this && !blocking) shaded.close();
29464         });
29465
29466     modal.append('button')
29467         .attr('class', 'close')
29468         .on('click', function() {
29469             if (!blocking) shaded.close();
29470         })
29471         .append('div')
29472             .attr('class','icon close');
29473
29474     modal.append('div')
29475         .attr('class', 'content');
29476
29477     if (animate) {
29478         shaded.transition().style('opacity', 1);
29479         modal
29480             .style('top','0px')
29481             .transition()
29482             .duration(200)
29483             .style('top','40px');
29484     } else {
29485         shaded.style('opacity', 1);
29486     }
29487
29488
29489     return shaded;
29490 };
29491 iD.ui.Modes = function(context) {
29492     var modes = [
29493         iD.modes.AddPoint(context),
29494         iD.modes.AddLine(context),
29495         iD.modes.AddArea(context)];
29496
29497     function editable() {
29498         return context.editable() && context.mode().id !== 'save';
29499     }
29500
29501     return function(selection) {
29502         var buttons = selection.selectAll('button.add-button')
29503             .data(modes);
29504
29505        buttons.enter().append('button')
29506            .attr('tabindex', -1)
29507            .attr('class', function(mode) { return mode.id + ' add-button col4'; })
29508            .on('click.mode-buttons', function(mode) {
29509                if (mode.id === context.mode().id) {
29510                    context.enter(iD.modes.Browse(context));
29511                } else {
29512                    context.enter(mode);
29513                }
29514            })
29515            .call(bootstrap.tooltip()
29516                .placement('bottom')
29517                .html(true)
29518                .title(function(mode) {
29519                    return iD.ui.tooltipHtml(mode.description, mode.key);
29520                }));
29521
29522         context.map()
29523             .on('move.modes', _.debounce(update, 500));
29524
29525         context
29526             .on('enter.modes', update);
29527
29528         buttons.append('span')
29529             .attr('class', function(mode) { return mode.id + ' icon icon-pre-text'; });
29530
29531         buttons.append('span')
29532             .attr('class', 'label')
29533             .text(function(mode) { return mode.title; });
29534
29535         context.on('enter.editor', function(entered) {
29536             buttons.classed('active', function(mode) { return entered.button === mode.button; });
29537             context.container()
29538                 .classed('mode-' + entered.id, true);
29539         });
29540
29541         context.on('exit.editor', function(exited) {
29542             context.container()
29543                 .classed('mode-' + exited.id, false);
29544         });
29545
29546         var keybinding = d3.keybinding('mode-buttons');
29547
29548         modes.forEach(function(m) {
29549             keybinding.on(m.key, function() { if (editable()) context.enter(m); });
29550         });
29551
29552         d3.select(document)
29553             .call(keybinding);
29554
29555         function update() {
29556             buttons.property('disabled', !editable());
29557         }
29558     };
29559 };
29560 iD.ui.Notice = function(context) {
29561     return function(selection) {
29562         var div = selection.append('div')
29563             .attr('class', 'notice');
29564
29565         var button = div.append('button')
29566             .attr('class', 'zoom-to notice')
29567             .on('click', function() { context.map().zoom(context.minEditableZoom()); });
29568
29569         button.append('span')
29570             .attr('class', 'icon zoom-in-invert');
29571
29572         button.append('span')
29573             .attr('class', 'label')
29574             .text(t('zoom_in_edit'));
29575
29576         function disableTooHigh() {
29577             div.style('display', context.editable() ? 'none' : 'block');
29578         }
29579
29580         context.map()
29581             .on('move.notice', _.debounce(disableTooHigh, 500));
29582
29583         disableTooHigh();
29584     };
29585 };
29586 iD.ui.preset = function(context) {
29587     var event = d3.dispatch('change'),
29588         state,
29589         fields,
29590         preset,
29591         tags,
29592         id;
29593
29594     function UIField(field, entity, show) {
29595         field = _.clone(field);
29596
29597         field.input = iD.ui.preset[field.type](field, context)
29598             .on('change', event.change);
29599
29600         if (field.input.entity) field.input.entity(entity);
29601
29602         field.keys = field.keys || [field.key];
29603
29604         field.show = show;
29605
29606         field.shown = function() {
29607             return field.id === 'name' || field.show || _.any(field.keys, function(key) { return !!tags[key]; });
29608         };
29609
29610         field.modified = function() {
29611             var original = context.graph().base().entities[entity.id];
29612             return _.any(field.keys, function(key) {
29613                 return original ? tags[key] !== original.tags[key] : tags[key];
29614             });
29615         };
29616
29617         field.revert = function() {
29618             var original = context.graph().base().entities[entity.id],
29619                 t = {};
29620             field.keys.forEach(function(key) {
29621                 t[key] = original ? original.tags[key] : undefined;
29622             });
29623             return t;
29624         };
29625
29626         field.present = function() {
29627             return _.any(field.keys, function(key) {
29628                 return tags[key];
29629             });
29630         };
29631
29632         field.remove = function() {
29633             var t = {};
29634             field.keys.forEach(function(key) {
29635                 t[key] = undefined;
29636             });
29637             return t;
29638         };
29639
29640         return field;
29641     }
29642
29643     function fieldKey(field) {
29644         return field.id;
29645     }
29646
29647     function presets(selection) {
29648         if (!fields) {
29649             var entity = context.entity(id),
29650                 geometry = context.geometry(id);
29651
29652             fields = [UIField(context.presets().field('name'), entity)];
29653
29654             preset.fields.forEach(function(field) {
29655                 if (field.matchGeometry(geometry)) {
29656                     fields.push(UIField(field, entity, true));
29657                 }
29658             });
29659
29660             if (entity.isHighwayIntersection(context.graph())) {
29661                 fields.push(UIField(context.presets().field('restrictions'), entity, true));
29662             }
29663
29664             context.presets().universal().forEach(function(field) {
29665                 if (preset.fields.indexOf(field) < 0) {
29666                     fields.push(UIField(field, entity));
29667                 }
29668             });
29669         }
29670
29671         var shown = fields.filter(function(field) { return field.shown(); }),
29672             notShown = fields.filter(function(field) { return !field.shown(); });
29673
29674         var $form = selection.selectAll('.preset-form')
29675             .data([0]);
29676
29677         $form.enter().append('div')
29678             .attr('class', 'preset-form inspector-inner fillL3');
29679
29680         var $fields = $form.selectAll('.form-field')
29681             .data(shown, fieldKey);
29682
29683         // Enter
29684
29685         var $enter = $fields.enter()
29686             .append('div')
29687             .attr('class', function(field) {
29688                 return 'form-field form-field-' + field.id;
29689             });
29690
29691         var $label = $enter.append('label')
29692             .attr('class', 'form-label')
29693             .attr('for', function(field) { return 'preset-input-' + field.id; })
29694             .text(function(field) { return field.label(); });
29695
29696         var wrap = $label.append('div')
29697             .attr('class', 'form-label-button-wrap');
29698
29699         wrap.append('button')
29700             .attr('class', 'remove-icon')
29701             .append('span').attr('class', 'icon delete');
29702
29703         wrap.append('button')
29704             .attr('class', 'modified-icon')
29705             .attr('tabindex', -1)
29706             .append('div')
29707             .attr('class', 'icon undo');
29708
29709         // Update
29710
29711         $fields.select('.form-label-button-wrap .remove-icon')
29712             .on('click', remove);
29713
29714         $fields.select('.modified-icon')
29715             .on('click', revert);
29716
29717         $fields
29718             .order()
29719             .classed('modified', function(field) {
29720                 return field.modified();
29721             })
29722             .classed('present', function(field) {
29723                 return field.present();
29724             })
29725             .each(function(field) {
29726                 var reference = iD.ui.TagReference(field.reference || {key: field.key}, context);
29727
29728                 if (state === 'hover') {
29729                     reference.showing(false);
29730                 }
29731
29732                 d3.select(this)
29733                     .call(field.input)
29734                     .call(reference.body)
29735                     .select('.form-label-button-wrap')
29736                     .call(reference.button);
29737
29738                 field.input.tags(tags);
29739             });
29740
29741         $fields.exit()
29742             .remove();
29743
29744         notShown = notShown.map(function(field) {
29745             return {
29746                 title: field.label(),
29747                 value: field.label(),
29748                 field: field
29749             };
29750         });
29751
29752         var $more = selection.selectAll('.more-fields')
29753             .data((notShown.length > 0) ? [0] : []);
29754
29755         $more.enter().append('div')
29756             .attr('class', 'more-fields')
29757             .append('label')
29758                 .text(t('inspector.add_fields'));
29759
29760         var $input = $more.selectAll('.value')
29761             .data([0]);
29762
29763         $input.enter().append('input')
29764             .attr('class', 'value')
29765             .attr('type', 'text');
29766
29767         $input.value('')
29768             .attr('placeholder', function() {
29769                 var placeholder = [];
29770                 for (var field in notShown) {
29771                     placeholder.push(notShown[field].title);
29772                 }
29773                 return placeholder.slice(0,3).join(', ') + ((placeholder.length > 3) ? '…' : '');
29774             })
29775             .call(d3.combobox().data(notShown)
29776                 .minItems(1)
29777                 .on('accept', show));
29778
29779         $more.exit()
29780             .remove();
29781
29782         $input.exit()
29783             .remove();
29784
29785         function show(field) {
29786             field = field.field;
29787             field.show = true;
29788             presets(selection);
29789             field.input.focus();
29790         }
29791
29792         function revert(field) {
29793             d3.event.stopPropagation();
29794             d3.event.preventDefault();
29795             event.change(field.revert());
29796         }
29797
29798         function remove(field) {
29799             d3.event.stopPropagation();
29800             d3.event.preventDefault();
29801             event.change(field.remove());
29802         }
29803     }
29804
29805     presets.preset = function(_) {
29806         if (!arguments.length) return preset;
29807         if (preset && preset.id === _.id) return presets;
29808         preset = _;
29809         fields = null;
29810         return presets;
29811     };
29812
29813     presets.state = function(_) {
29814         if (!arguments.length) return state;
29815         state = _;
29816         return presets;
29817     };
29818
29819     presets.tags = function(_) {
29820         if (!arguments.length) return tags;
29821         tags = _;
29822         // Don't reset fields here.
29823         return presets;
29824     };
29825
29826     presets.entityID = function(_) {
29827         if (!arguments.length) return id;
29828         if (id === _) return presets;
29829         id = _;
29830         fields = null;
29831         return presets;
29832     };
29833
29834     return d3.rebind(presets, event, 'on');
29835 };
29836 iD.ui.PresetIcon = function() {
29837     var preset, geometry;
29838
29839     function presetIcon(selection) {
29840         selection.each(setup);
29841     }
29842
29843     function setup() {
29844         var selection = d3.select(this),
29845             p = preset.apply(this, arguments),
29846             geom = geometry.apply(this, arguments);
29847
29848         var $fill = selection.selectAll('.preset-icon-fill')
29849             .data([0]);
29850
29851         $fill.enter().append('div');
29852
29853         $fill.attr('class', function() {
29854             var s = 'preset-icon-fill preset-icon-fill-' + geom;
29855             for (var i in p.tags) {
29856                 s += ' tag-' + i + ' tag-' + i + '-' + p.tags[i];
29857             }
29858             return s;
29859         });
29860
29861         var $icon = selection.selectAll('.preset-icon')
29862             .data([0]);
29863
29864         $icon.enter().append('div');
29865
29866         $icon.attr('class', function() {
29867             var icon = p.icon || (geom === 'line' ? 'other-line' : 'marker-stroked'),
29868                 klass = 'feature-' + icon + ' preset-icon';
29869
29870             var featureicon = iD.data.featureIcons[icon];
29871             if (featureicon && featureicon[geom]) {
29872                 klass += ' preset-icon-' + geom;
29873             } else if (icon === 'multipolygon') {
29874                 // Special case (geometry === 'area')
29875                 klass += ' preset-icon-relation';
29876             }
29877
29878             return klass;
29879         });
29880     }
29881
29882     presetIcon.preset = function(_) {
29883         if (!arguments.length) return preset;
29884         preset = d3.functor(_);
29885         return presetIcon;
29886     };
29887
29888     presetIcon.geometry = function(_) {
29889         if (!arguments.length) return geometry;
29890         geometry = d3.functor(_);
29891         return presetIcon;
29892     };
29893
29894     return presetIcon;
29895 };
29896 iD.ui.PresetList = function(context) {
29897     var event = d3.dispatch('choose'),
29898         id,
29899         currentPreset,
29900         autofocus = false;
29901
29902     function presetList(selection) {
29903         var geometry = context.geometry(id),
29904             presets = context.presets().matchGeometry(geometry);
29905
29906         selection.html('');
29907
29908         var messagewrap = selection.append('div')
29909             .attr('class', 'header fillL cf');
29910
29911         var message = messagewrap.append('h3')
29912             .text(t('inspector.choose'));
29913
29914         if (context.entity(id).isUsed(context.graph())) {
29915             messagewrap.append('button')
29916                 .attr('class', 'preset-choose')
29917                 .on('click', function() { event.choose(currentPreset); })
29918                 .append('span')
29919                 .attr('class', 'icon forward');
29920         } else {
29921             messagewrap.append('button')
29922                 .attr('class', 'close')
29923                 .on('click', function() {
29924                     context.enter(iD.modes.Browse(context));
29925                 })
29926                 .append('span')
29927                 .attr('class', 'icon close');
29928         }
29929
29930         function keydown() {
29931             // hack to let delete shortcut work when search is autofocused
29932             if (search.property('value').length === 0 &&
29933                 (d3.event.keyCode === d3.keybinding.keyCodes['⌫'] ||
29934                  d3.event.keyCode === d3.keybinding.keyCodes['⌦'])) {
29935                 d3.event.preventDefault();
29936                 d3.event.stopPropagation();
29937                 iD.operations.Delete([id], context)();
29938             } else if (search.property('value').length === 0 &&
29939                 (d3.event.ctrlKey || d3.event.metaKey) &&
29940                 d3.event.keyCode === d3.keybinding.keyCodes.z) {
29941                 d3.event.preventDefault();
29942                 d3.event.stopPropagation();
29943                 context.undo();
29944             } else if (!d3.event.ctrlKey && !d3.event.metaKey) {
29945                 d3.select(this).on('keydown', null);
29946             }
29947         }
29948
29949         function keypress() {
29950             // enter
29951             var value = search.property('value');
29952             if (d3.event.keyCode === 13 && value.length) {
29953                 list.selectAll('.preset-list-item:first-child').datum().choose();
29954             }
29955         }
29956
29957         function inputevent() {
29958             var value = search.property('value');
29959             list.classed('filtered', value.length);
29960             if (value.length) {
29961                 var results = presets.search(value, geometry);
29962                 message.text(t('inspector.results', {
29963                     n: results.collection.length,
29964                     search: value
29965                 }));
29966                 list.call(drawList, results);
29967             } else {
29968                 list.call(drawList, context.presets().defaults(geometry, 36));
29969                 message.text(t('inspector.choose'));
29970             }
29971         }
29972
29973         var searchWrap = selection.append('div')
29974             .attr('class', 'search-header');
29975
29976         var search = searchWrap.append('input')
29977             .attr('class', 'preset-search-input')
29978             .attr('placeholder', t('inspector.search'))
29979             .attr('type', 'search')
29980             .on('keydown', keydown)
29981             .on('keypress', keypress)
29982             .on('input', inputevent);
29983
29984         searchWrap.append('span')
29985             .attr('class', 'icon search');
29986
29987         if (autofocus) {
29988             search.node().focus();
29989         }
29990
29991         var listWrap = selection.append('div')
29992             .attr('class', 'inspector-body');
29993
29994         var list = listWrap.append('div')
29995             .attr('class', 'preset-list fillL cf')
29996             .call(drawList, context.presets().defaults(geometry, 36));
29997     }
29998
29999     function drawList(list, presets) {
30000         var collection = presets.collection.map(function(preset) {
30001             return preset.members ? CategoryItem(preset) : PresetItem(preset);
30002         });
30003
30004         var items = list.selectAll('.preset-list-item')
30005             .data(collection, function(d) { return d.preset.id; });
30006
30007         items.enter().append('div')
30008             .attr('class', function(item) { return 'preset-list-item preset-' + item.preset.id.replace('/', '-'); })
30009             .classed('current', function(item) { return item.preset === currentPreset; })
30010             .each(function(item) {
30011                 d3.select(this).call(item);
30012             })
30013             .style('opacity', 0)
30014             .transition()
30015             .style('opacity', 1);
30016
30017         items.order();
30018
30019         items.exit()
30020             .remove();
30021     }
30022
30023     function CategoryItem(preset) {
30024         var box, sublist, shown = false;
30025
30026         function item(selection) {
30027             var wrap = selection.append('div')
30028                 .attr('class', 'preset-list-button-wrap category col12');
30029
30030             wrap.append('button')
30031                 .attr('class', 'preset-list-button')
30032                 .call(iD.ui.PresetIcon()
30033                     .geometry(context.geometry(id))
30034                     .preset(preset))
30035                 .on('click', item.choose)
30036                 .append('div')
30037                 .attr('class', 'label')
30038                 .text(preset.name());
30039
30040             box = selection.append('div')
30041                 .attr('class', 'subgrid col12')
30042                 .style('max-height', '0px')
30043                 .style('opacity', 0);
30044
30045             box.append('div')
30046                 .attr('class', 'arrow');
30047
30048             sublist = box.append('div')
30049                 .attr('class', 'preset-list fillL3 cf fl');
30050         }
30051
30052         item.choose = function() {
30053             if (shown) {
30054                 shown = false;
30055                 box.transition()
30056                     .duration(200)
30057                     .style('opacity', '0')
30058                     .style('max-height', '0px')
30059                     .style('padding-bottom', '0px');
30060             } else {
30061                 shown = true;
30062                 sublist.call(drawList, preset.members);
30063                 box.transition()
30064                     .duration(200)
30065                     .style('opacity', '1')
30066                     .style('max-height', 200 + preset.members.collection.length * 80 + 'px')
30067                     .style('padding-bottom', '20px');
30068             }
30069         };
30070
30071         item.preset = preset;
30072
30073         return item;
30074     }
30075
30076     function PresetItem(preset) {
30077         function item(selection) {
30078             var wrap = selection.append('div')
30079                 .attr('class', 'preset-list-button-wrap col12');
30080
30081             wrap.append('button')
30082                 .attr('class', 'preset-list-button')
30083                 .call(iD.ui.PresetIcon()
30084                     .geometry(context.geometry(id))
30085                     .preset(preset))
30086                 .on('click', item.choose)
30087                 .append('div')
30088                 .attr('class', 'label')
30089                 .text(preset.name());
30090
30091             wrap.call(item.reference.button);
30092             selection.call(item.reference.body);
30093         }
30094
30095         item.choose = function() {
30096             context.presets().choose(preset);
30097
30098             context.perform(
30099                 iD.actions.ChangePreset(id, currentPreset, preset),
30100                 t('operations.change_tags.annotation'));
30101
30102             event.choose(preset);
30103         };
30104
30105         item.help = function() {
30106             d3.event.stopPropagation();
30107             item.reference.toggle();
30108         };
30109
30110         item.preset = preset;
30111         item.reference = iD.ui.TagReference(preset.reference(context.geometry(id)), context);
30112
30113         return item;
30114     }
30115
30116     presetList.autofocus = function(_) {
30117         if (!arguments.length) return autofocus;
30118         autofocus = _;
30119         return presetList;
30120     };
30121
30122     presetList.entityID = function(_) {
30123         if (!arguments.length) return id;
30124         id = _;
30125         presetList.preset(context.presets().match(context.entity(id), context.graph()));
30126         return presetList;
30127     };
30128
30129     presetList.preset = function(_) {
30130         if (!arguments.length) return currentPreset;
30131         currentPreset = _;
30132         return presetList;
30133     };
30134
30135     return d3.rebind(presetList, event, 'on');
30136 };
30137 iD.ui.RadialMenu = function(context, operations) {
30138     var menu,
30139         center = [0, 0],
30140         tooltip;
30141
30142     var radialMenu = function(selection) {
30143         if (!operations.length)
30144             return;
30145
30146         selection.node().parentNode.focus();
30147
30148         function click(operation) {
30149             d3.event.stopPropagation();
30150             if (operation.disabled())
30151                 return;
30152             operation();
30153             radialMenu.close();
30154         }
30155
30156         menu = selection.append('g')
30157             .attr('class', 'radial-menu')
30158             .attr('transform', 'translate(' + center + ')')
30159             .attr('opacity', 0);
30160
30161         menu.transition()
30162             .attr('opacity', 1);
30163
30164         var r = 50,
30165             a = Math.PI / 4,
30166             a0 = -Math.PI / 4,
30167             a1 = a0 + (operations.length - 1) * a;
30168
30169         menu.append('path')
30170             .attr('class', 'radial-menu-background')
30171             .attr('d', 'M' + r * Math.sin(a0) + ',' +
30172                              r * Math.cos(a0) +
30173                       ' A' + r + ',' + r + ' 0 ' + (operations.length > 5 ? '1' : '0') + ',0 ' +
30174                              (r * Math.sin(a1) + 1e-3) + ',' +
30175                              (r * Math.cos(a1) + 1e-3)) // Force positive-length path (#1305)
30176             .attr('stroke-width', 50)
30177             .attr('stroke-linecap', 'round');
30178
30179         var button = menu.selectAll()
30180             .data(operations)
30181             .enter().append('g')
30182             .attr('transform', function(d, i) {
30183                 return 'translate(' + r * Math.sin(a0 + i * a) + ',' +
30184                                       r * Math.cos(a0 + i * a) + ')';
30185             });
30186
30187         button.append('circle')
30188             .attr('class', function(d) { return 'radial-menu-item radial-menu-item-' + d.id; })
30189             .attr('r', 15)
30190             .classed('disabled', function(d) { return d.disabled(); })
30191             .on('click', click)
30192             .on('mousedown', mousedown)
30193             .on('mouseover', mouseover)
30194             .on('mouseout', mouseout);
30195
30196         button.append('use')
30197             .attr('transform', 'translate(-10, -10)')
30198             .attr('clip-path', 'url(#clip-square-20)')
30199             .attr('xlink:href', function(d) { return '#icon-operation-' + (d.disabled() ? 'disabled-' : '') + d.id; });
30200
30201         tooltip = d3.select(document.body)
30202             .append('div')
30203             .attr('class', 'tooltip-inner radial-menu-tooltip');
30204
30205         function mousedown() {
30206             d3.event.stopPropagation(); // https://github.com/openstreetmap/iD/issues/1869
30207         }
30208
30209         function mouseover(d, i) {
30210             var rect = context.surfaceRect(),
30211                 angle = a0 + i * a,
30212                 top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px',
30213                 left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px',
30214                 bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px',
30215                 right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px';
30216
30217             tooltip
30218                 .style('top', null)
30219                 .style('left', null)
30220                 .style('bottom', null)
30221                 .style('right', null)
30222                 .style('display', 'block')
30223                 .html(iD.ui.tooltipHtml(d.tooltip(), d.keys[0]));
30224
30225             if (i === 0) {
30226                 tooltip
30227                     .style('right', right)
30228                     .style('top', top);
30229             } else if (i >= 4) {
30230                 tooltip
30231                     .style('left', left)
30232                     .style('bottom', bottom);
30233             } else {
30234                 tooltip
30235                     .style('left', left)
30236                     .style('top', top);
30237             }
30238         }
30239
30240         function mouseout() {
30241             tooltip.style('display', 'none');
30242         }
30243     };
30244
30245     radialMenu.close = function() {
30246         if (menu) {
30247             menu
30248                 .style('pointer-events', 'none')
30249                 .transition()
30250                 .attr('opacity', 0)
30251                 .remove();
30252         }
30253
30254         if (tooltip) {
30255             tooltip.remove();
30256         }
30257     };
30258
30259     radialMenu.center = function(_) {
30260         if (!arguments.length) return center;
30261         center = _;
30262         return radialMenu;
30263     };
30264
30265     return radialMenu;
30266 };
30267 iD.ui.RawMemberEditor = function(context) {
30268     var id;
30269
30270     function selectMember(d) {
30271         d3.event.preventDefault();
30272         context.enter(iD.modes.Select(context, [d.id]));
30273     }
30274
30275     function changeRole(d) {
30276         var role = d3.select(this).property('value');
30277         context.perform(
30278             iD.actions.ChangeMember(d.relation.id, _.extend({}, d.id, {role: role}), d.index),
30279             t('operations.change_role.annotation'));
30280     }
30281
30282     function deleteMember(d) {
30283         context.perform(
30284             iD.actions.DeleteMember(d.relation.id, d.index),
30285             t('operations.delete_member.annotation'));
30286
30287         if (!context.hasEntity(d.relation.id)) {
30288             context.enter(iD.modes.Browse(context));
30289         }
30290     }
30291
30292     function rawMemberEditor(selection) {
30293         var entity = context.entity(id),
30294             memberships = [];
30295
30296         entity.members.forEach(function(member, index) {
30297             memberships.push({
30298                 index: index,
30299                 id: member.id,
30300                 role: member.role,
30301                 relation: entity,
30302                 member: context.hasEntity(member.id)
30303             });
30304         });
30305
30306         selection.call(iD.ui.Disclosure()
30307             .title(t('inspector.all_members') + ' (' + memberships.length + ')')
30308             .expanded(true)
30309             .on('toggled', toggled)
30310             .content(content));
30311
30312         function toggled(expanded) {
30313             if (expanded) {
30314                 selection.node().parentNode.scrollTop += 200;
30315             }
30316         }
30317
30318         function content($wrap) {
30319             var $list = $wrap.selectAll('.member-list')
30320                 .data([0]);
30321
30322             $list.enter().append('ul')
30323                 .attr('class', 'member-list');
30324
30325             var $items = $list.selectAll('li')
30326                 .data(memberships, function(d) {
30327                     return iD.Entity.key(d.relation) + ',' + d.index + ',' +
30328                         (d.member ? iD.Entity.key(d.member) : 'incomplete');
30329                 });
30330
30331             var $enter = $items.enter().append('li')
30332                 .attr('class', 'member-row form-field')
30333                 .classed('member-incomplete', function(d) { return !d.member; });
30334
30335             $enter.each(function(d) {
30336                 if (d.member) {
30337                     var $label = d3.select(this).append('label')
30338                         .attr('class', 'form-label')
30339                         .append('a')
30340                         .attr('href', '#')
30341                         .on('click', selectMember);
30342
30343                     $label.append('span')
30344                         .attr('class', 'member-entity-type')
30345                         .text(function(d) { return context.presets().match(d.member, context.graph()).name(); });
30346
30347                     $label.append('span')
30348                         .attr('class', 'member-entity-name')
30349                         .text(function(d) { return iD.util.displayName(d.member); });
30350
30351                 } else {
30352                     d3.select(this).append('label')
30353                         .attr('class', 'form-label')
30354                         .text(t('inspector.incomplete'));
30355                 }
30356             });
30357
30358             $enter.append('input')
30359                 .attr('class', 'member-role')
30360                 .property('type', 'text')
30361                 .attr('maxlength', 255)
30362                 .attr('placeholder', t('inspector.role'))
30363                 .property('value', function(d) { return d.role; })
30364                 .on('change', changeRole);
30365
30366             $enter.append('button')
30367                 .attr('tabindex', -1)
30368                 .attr('class', 'remove button-input-action member-delete minor')
30369                 .on('click', deleteMember)
30370                 .append('span')
30371                 .attr('class', 'icon delete');
30372
30373             $items.exit()
30374                 .remove();
30375         }
30376     }
30377
30378     rawMemberEditor.entityID = function(_) {
30379         if (!arguments.length) return id;
30380         id = _;
30381         return rawMemberEditor;
30382     };
30383
30384     return rawMemberEditor;
30385 };
30386 iD.ui.RawMembershipEditor = function(context) {
30387     var id, showBlank;
30388
30389     function selectRelation(d) {
30390         d3.event.preventDefault();
30391         context.enter(iD.modes.Select(context, [d.relation.id]));
30392     }
30393
30394     function changeRole(d) {
30395         var role = d3.select(this).property('value');
30396         context.perform(
30397             iD.actions.ChangeMember(d.relation.id, _.extend({}, d.member, {role: role}), d.index),
30398             t('operations.change_role.annotation'));
30399     }
30400
30401     function addMembership(d, role) {
30402         showBlank = false;
30403
30404         if (d.relation) {
30405             context.perform(
30406                 iD.actions.AddMember(d.relation.id, {id: id, type: context.entity(id).type, role: role}),
30407                 t('operations.add_member.annotation'));
30408
30409         } else {
30410             var relation = iD.Relation();
30411
30412             context.perform(
30413                 iD.actions.AddEntity(relation),
30414                 iD.actions.AddMember(relation.id, {id: id, type: context.entity(id).type, role: role}),
30415                 t('operations.add.annotation.relation'));
30416
30417             context.enter(iD.modes.Select(context, [relation.id]));
30418         }
30419     }
30420
30421     function deleteMembership(d) {
30422         context.perform(
30423             iD.actions.DeleteMember(d.relation.id, d.index),
30424             t('operations.delete_member.annotation'));
30425     }
30426
30427     function relations(q) {
30428         var newRelation = {
30429                 relation: null,
30430                 value: t('inspector.new_relation')
30431             },
30432             result = [],
30433             graph = context.graph();
30434
30435         context.intersects(context.extent()).forEach(function(entity) {
30436             if (entity.type !== 'relation' || entity.id === id)
30437                 return;
30438
30439             var presetName = context.presets().match(entity, graph).name(),
30440                 entityName = iD.util.displayName(entity) || '';
30441
30442             var value = presetName + ' ' + entityName;
30443             if (q && value.toLowerCase().indexOf(q.toLowerCase()) === -1)
30444                 return;
30445
30446             result.push({
30447                 relation: entity,
30448                 value: value
30449             });
30450         });
30451
30452         result.sort(function(a, b) {
30453             return iD.Relation.creationOrder(a.relation, b.relation);
30454         });
30455         result.unshift(newRelation);
30456
30457         return result;
30458     }
30459
30460     function rawMembershipEditor(selection) {
30461         var entity = context.entity(id),
30462             memberships = [];
30463
30464         context.graph().parentRelations(entity).forEach(function(relation) {
30465             relation.members.forEach(function(member, index) {
30466                 if (member.id === entity.id) {
30467                     memberships.push({relation: relation, member: member, index: index});
30468                 }
30469             });
30470         });
30471
30472         selection.call(iD.ui.Disclosure()
30473             .title(t('inspector.all_relations') + ' (' + memberships.length + ')')
30474             .expanded(true)
30475             .on('toggled', toggled)
30476             .content(content));
30477
30478         function toggled(expanded) {
30479             if (expanded) {
30480                 selection.node().parentNode.scrollTop += 200;
30481             }
30482         }
30483
30484         function content($wrap) {
30485             var $list = $wrap.selectAll('.member-list')
30486                 .data([0]);
30487
30488             $list.enter().append('ul')
30489                 .attr('class', 'member-list');
30490
30491             var $items = $list.selectAll('li.member-row-normal')
30492                 .data(memberships, function(d) { return iD.Entity.key(d.relation) + ',' + d.index; });
30493
30494             var $enter = $items.enter().append('li')
30495                 .attr('class', 'member-row member-row-normal form-field');
30496
30497             var $label = $enter.append('label')
30498                 .attr('class', 'form-label')
30499                 .append('a')
30500                 .attr('href', '#')
30501                 .on('click', selectRelation);
30502
30503             $label.append('span')
30504                 .attr('class', 'member-entity-type')
30505                 .text(function(d) { return context.presets().match(d.relation, context.graph()).name(); });
30506
30507             $label.append('span')
30508                 .attr('class', 'member-entity-name')
30509                 .text(function(d) { return iD.util.displayName(d.relation); });
30510
30511             $enter.append('input')
30512                 .attr('class', 'member-role')
30513                 .property('type', 'text')
30514                 .attr('maxlength', 255)
30515                 .attr('placeholder', t('inspector.role'))
30516                 .property('value', function(d) { return d.member.role; })
30517                 .on('change', changeRole);
30518
30519             $enter.append('button')
30520                 .attr('tabindex', -1)
30521                 .attr('class', 'remove button-input-action member-delete minor')
30522                 .on('click', deleteMembership)
30523                 .append('span')
30524                 .attr('class', 'icon delete');
30525
30526             $items.exit()
30527                 .remove();
30528
30529             if (showBlank) {
30530                 var $new = $list.selectAll('.member-row-new')
30531                     .data([0]);
30532
30533                 $enter = $new.enter().append('li')
30534                     .attr('class', 'member-row member-row-new form-field');
30535
30536                 $enter.append('input')
30537                     .attr('type', 'text')
30538                     .attr('class', 'member-entity-input')
30539                     .call(d3.combobox()
30540                         .minItems(1)
30541                         .fetcher(function(value, callback) {
30542                             callback(relations(value));
30543                         })
30544                         .on('accept', function(d) {
30545                             addMembership(d, $new.select('.member-role').property('value'));
30546                         }));
30547
30548                 $enter.append('input')
30549                     .attr('class', 'member-role')
30550                     .property('type', 'text')
30551                     .attr('maxlength', 255)
30552                     .attr('placeholder', t('inspector.role'))
30553                     .on('change', changeRole);
30554
30555                 $enter.append('button')
30556                     .attr('tabindex', -1)
30557                     .attr('class', 'remove button-input-action member-delete minor')
30558                     .on('click', deleteMembership)
30559                     .append('span')
30560                     .attr('class', 'icon delete');
30561
30562             } else {
30563                 $list.selectAll('.member-row-new')
30564                     .remove();
30565             }
30566
30567             var $add = $wrap.selectAll('.add-relation')
30568                 .data([0]);
30569
30570             $add.enter().append('button')
30571                 .attr('class', 'add-relation')
30572                 .append('span')
30573                 .attr('class', 'icon plus light');
30574
30575             $wrap.selectAll('.add-relation')
30576                 .on('click', function() {
30577                     showBlank = true;
30578                     content($wrap);
30579                     $list.selectAll('.member-entity-input').node().focus();
30580                 });
30581         }
30582     }
30583
30584     rawMembershipEditor.entityID = function(_) {
30585         if (!arguments.length) return id;
30586         id = _;
30587         return rawMembershipEditor;
30588     };
30589
30590     return rawMembershipEditor;
30591 };
30592 iD.ui.RawTagEditor = function(context) {
30593     var event = d3.dispatch('change'),
30594         showBlank = false,
30595         state,
30596         preset,
30597         tags,
30598         id;
30599
30600     function rawTagEditor(selection) {
30601         var count = Object.keys(tags).filter(function(d) { return d; }).length;
30602
30603         selection.call(iD.ui.Disclosure()
30604             .title(t('inspector.all_tags') + ' (' + count + ')')
30605             .expanded(context.storage('raw_tag_editor.expanded') === 'true' || preset.isFallback())
30606             .on('toggled', toggled)
30607             .content(content));
30608
30609         function toggled(expanded) {
30610             context.storage('raw_tag_editor.expanded', expanded);
30611             if (expanded) {
30612                 selection.node().parentNode.scrollTop += 200;
30613             }
30614         }
30615     }
30616
30617     function content($wrap) {
30618         var entries = d3.entries(tags);
30619
30620         if (!entries.length || showBlank) {
30621             showBlank = false;
30622             entries.push({key: '', value: ''});
30623         }
30624
30625         var $list = $wrap.selectAll('.tag-list')
30626             .data([0]);
30627
30628         $list.enter().append('ul')
30629             .attr('class', 'tag-list');
30630
30631         var $newTag = $wrap.selectAll('.add-tag')
30632             .data([0]);
30633
30634         var $enter = $newTag.enter().append('button')
30635             .attr('class', 'add-tag');
30636
30637         $enter.append('span')
30638             .attr('class', 'icon plus light');
30639
30640         $newTag.on('click', addTag);
30641
30642         var $items = $list.selectAll('li')
30643             .data(entries, function(d) { return d.key; });
30644
30645         // Enter
30646
30647         $enter = $items.enter().append('li')
30648             .attr('class', 'tag-row cf');
30649
30650         $enter.append('div')
30651             .attr('class', 'key-wrap')
30652             .append('input')
30653             .property('type', 'text')
30654             .attr('class', 'key')
30655             .attr('maxlength', 255);
30656
30657         $enter.append('div')
30658             .attr('class', 'input-wrap-position')
30659             .append('input')
30660             .property('type', 'text')
30661             .attr('class', 'value')
30662             .attr('maxlength', 255);
30663
30664         $enter.append('button')
30665             .attr('tabindex', -1)
30666             .attr('class', 'remove minor')
30667             .append('span')
30668             .attr('class', 'icon delete');
30669
30670         if (context.taginfo()) {
30671             $enter.each(bindTypeahead);
30672         }
30673
30674         // Update
30675
30676         $items.order();
30677
30678         $items.each(function(tag) {
30679             var reference = iD.ui.TagReference({key: tag.key}, context);
30680
30681             if (state === 'hover') {
30682                 reference.showing(false);
30683             }
30684
30685             d3.select(this)
30686                 .call(reference.button)
30687                 .call(reference.body);
30688         });
30689
30690         $items.select('input.key')
30691             .value(function(d) { return d.key; })
30692             .on('blur', keyChange)
30693             .on('change', keyChange);
30694
30695         $items.select('input.value')
30696             .value(function(d) { return d.value; })
30697             .on('blur', valueChange)
30698             .on('change', valueChange)
30699             .on('keydown.push-more', pushMore);
30700
30701         $items.select('button.remove')
30702             .on('click', removeTag);
30703
30704         $items.exit()
30705             .remove();
30706
30707         function pushMore() {
30708             if (d3.event.keyCode === 9 && !d3.event.shiftKey &&
30709                 $list.selectAll('li:last-child input.value').node() === this) {
30710                 addTag();
30711             }
30712         }
30713
30714         function bindTypeahead() {
30715             var row = d3.select(this),
30716                 key = row.selectAll('input.key'),
30717                 value = row.selectAll('input.value');
30718
30719             function sort(value, data) {
30720                 var sameletter = [],
30721                     other = [];
30722                 for (var i = 0; i < data.length; i++) {
30723                     if (data[i].value.substring(0, value.length) === value) {
30724                         sameletter.push(data[i]);
30725                     } else {
30726                         other.push(data[i]);
30727                     }
30728                 }
30729                 return sameletter.concat(other);
30730             }
30731
30732             key.call(d3.combobox()
30733                 .fetcher(function(value, callback) {
30734                     context.taginfo().keys({
30735                         debounce: true,
30736                         geometry: context.geometry(id),
30737                         query: value
30738                     }, function(err, data) {
30739                         if (!err) callback(sort(value, data));
30740                     });
30741                 }));
30742
30743             value.call(d3.combobox()
30744                 .fetcher(function(value, callback) {
30745                     context.taginfo().values({
30746                         debounce: true,
30747                         key: key.value(),
30748                         geometry: context.geometry(id),
30749                         query: value
30750                     }, function(err, data) {
30751                         if (!err) callback(sort(value, data));
30752                     });
30753                 }));
30754         }
30755
30756         function keyChange(d) {
30757             var kOld = d.key,
30758                 kNew = this.value.trim(),
30759                 tag = {};
30760
30761             if (kNew && kNew !== kOld) {
30762                 var match = kNew.match(/^(.*?)(?:_(\d+))?$/),
30763                     base = match[1],
30764                     suffix = +(match[2] || 1);
30765                 while (tags[kNew]) {  // rename key if already in use
30766                     kNew = base + '_' + suffix++;
30767                 }
30768             }
30769             tag[kOld] = undefined;
30770             tag[kNew] = d.value;
30771             d.key = kNew; // Maintain DOM identity through the subsequent update.
30772             this.value = kNew;
30773             event.change(tag);
30774         }
30775
30776         function valueChange(d) {
30777             var tag = {};
30778             tag[d.key] = this.value;
30779             event.change(tag);
30780         }
30781
30782         function removeTag(d) {
30783             var tag = {};
30784             tag[d.key] = undefined;
30785             event.change(tag);
30786             d3.select(this.parentNode).remove();
30787         }
30788
30789         function addTag() {
30790             // Wrapped in a setTimeout in case it's being called from a blur
30791             // handler. Without the setTimeout, the call to `content` would
30792             // wipe out the pending value change.
30793             setTimeout(function() {
30794                 showBlank = true;
30795                 content($wrap);
30796                 $list.selectAll('li:last-child input.key').node().focus();
30797             }, 0);
30798         }
30799     }
30800
30801     rawTagEditor.state = function(_) {
30802         if (!arguments.length) return state;
30803         state = _;
30804         return rawTagEditor;
30805     };
30806
30807     rawTagEditor.preset = function(_) {
30808         if (!arguments.length) return preset;
30809         preset = _;
30810         return rawTagEditor;
30811     };
30812
30813     rawTagEditor.tags = function(_) {
30814         if (!arguments.length) return tags;
30815         tags = _;
30816         return rawTagEditor;
30817     };
30818
30819     rawTagEditor.entityID = function(_) {
30820         if (!arguments.length) return id;
30821         id = _;
30822         return rawTagEditor;
30823     };
30824
30825     return d3.rebind(rawTagEditor, event, 'on');
30826 };
30827 iD.ui.Restore = function(context) {
30828     return function(selection) {
30829         if (!context.history().lock() || !context.history().restorableChanges())
30830             return;
30831
30832         var modal = iD.ui.modal(selection);
30833
30834         modal.select('.modal')
30835             .attr('class', 'modal fillL col6');
30836
30837         var introModal = modal.select('.content');
30838
30839         introModal.attr('class','cf');
30840
30841         introModal.append('div')
30842             .attr('class', 'modal-section')
30843             .append('h3')
30844             .text(t('restore.heading'));
30845
30846         introModal.append('div')
30847             .attr('class','modal-section')
30848             .append('p')
30849             .text(t('restore.description'));
30850
30851         var buttonWrap = introModal.append('div')
30852             .attr('class', 'modal-actions cf');
30853
30854         var restore = buttonWrap.append('button')
30855             .attr('class', 'restore col6')
30856             .text(t('restore.restore'))
30857             .on('click', function() {
30858                 context.history().restore();
30859                 modal.remove();
30860             });
30861
30862         buttonWrap.append('button')
30863             .attr('class', 'reset col6')
30864             .text(t('restore.reset'))
30865             .on('click', function() {
30866                 context.history().clearSaved();
30867                 modal.remove();
30868             });
30869
30870         restore.node().focus();
30871     };
30872 };
30873 iD.ui.Save = function(context) {
30874     var history = context.history(),
30875         key = iD.ui.cmd('⌘S');
30876
30877     function saving() {
30878         return context.mode().id === 'save';
30879     }
30880
30881     function save() {
30882         d3.event.preventDefault();
30883         if (!saving() && history.hasChanges()) {
30884             context.enter(iD.modes.Save(context));
30885         }
30886     }
30887
30888     return function(selection) {
30889         var tooltip = bootstrap.tooltip()
30890             .placement('bottom')
30891             .html(true)
30892             .title(iD.ui.tooltipHtml(t('save.no_changes'), key));
30893
30894         var button = selection.append('button')
30895             .attr('class', 'save col12 disabled')
30896             .attr('tabindex', -1)
30897             .on('click', save)
30898             .call(tooltip);
30899
30900         button.append('span')
30901             .attr('class', 'label')
30902             .text(t('save.title'));
30903
30904         button.append('span')
30905             .attr('class', 'count')
30906             .text('0');
30907
30908         var keybinding = d3.keybinding('undo-redo')
30909             .on(key, save, true);
30910
30911         d3.select(document)
30912             .call(keybinding);
30913
30914         var numChanges = 0;
30915
30916         context.history().on('change.save', function() {
30917             var _ = history.difference().summary().length;
30918             if (_ === numChanges)
30919                 return;
30920             numChanges = _;
30921
30922             tooltip.title(iD.ui.tooltipHtml(t(numChanges > 0 ?
30923                     'save.help' : 'save.no_changes'), key));
30924
30925             button
30926                 .classed('disabled', numChanges === 0)
30927                 .classed('has-count', numChanges > 0);
30928
30929             button.select('span.count')
30930                 .text(numChanges);
30931         });
30932
30933         context.on('enter.save', function() {
30934             button.property('disabled', saving());
30935             if (saving()) button.call(tooltip.hide);
30936         });
30937     };
30938 };
30939 iD.ui.Scale = function(context) {
30940     var projection = context.projection,
30941         imperial = (iD.detect().locale.toLowerCase() === 'en-us'),
30942         maxLength = 180,
30943         tickHeight = 8;
30944
30945     function scaleDefs(loc1, loc2) {
30946         var lat = (loc2[1] + loc1[1]) / 2,
30947             conversion = (imperial ? 3.28084 : 1),
30948             dist = iD.geo.lonToMeters(loc2[0] - loc1[0], lat) * conversion,
30949             scale = { dist: 0, px: 0, text: '' },
30950             buckets, i, val, dLon;
30951
30952         if (imperial) {
30953             buckets = [5280000, 528000, 52800, 5280, 500, 50, 5, 1];
30954         } else {
30955             buckets = [5000000, 500000, 50000, 5000, 500, 50, 5, 1];
30956         }
30957
30958         // determine a user-friendly endpoint for the scale
30959         for (i = 0; i < buckets.length; i++) {
30960             val = buckets[i];
30961             if (dist >= val) {
30962                 scale.dist = Math.floor(dist / val) * val;
30963                 break;
30964             }
30965         }
30966
30967         dLon = iD.geo.metersToLon(scale.dist / conversion, lat);
30968         scale.px = Math.round(projection([loc1[0] + dLon, loc1[1]])[0]);
30969
30970         if (imperial) {
30971             if (scale.dist >= 5280) {
30972                 scale.dist /= 5280;
30973                 scale.text = String(scale.dist) + ' mi';
30974             } else {
30975                 scale.text = String(scale.dist) + ' ft';
30976             }
30977         } else {
30978             if (scale.dist >= 1000) {
30979                 scale.dist /= 1000;
30980                 scale.text = String(scale.dist) + ' km';
30981             } else {
30982                 scale.text = String(scale.dist) + ' m';
30983             }
30984         }
30985
30986         return scale;
30987     }
30988
30989     function update(selection) {
30990         // choose loc1, loc2 along bottom of viewport (near where the scale will be drawn)
30991         var dims = context.map().dimensions(),
30992             loc1 = projection.invert([0, dims[1]]),
30993             loc2 = projection.invert([maxLength, dims[1]]),
30994             scale = scaleDefs(loc1, loc2);
30995
30996         selection.select('#scalepath')
30997             .attr('d', 'M0.5,0.5v' + tickHeight + 'h' + scale.px + 'v-' + tickHeight);
30998
30999         selection.select('#scaletext')
31000             .attr('x', scale.px + 8)
31001             .attr('y', tickHeight)
31002             .text(scale.text);
31003     }
31004
31005     return function(selection) {
31006         var g = selection.append('svg')
31007             .attr('id', 'scale')
31008             .append('g')
31009             .attr('transform', 'translate(10,11)');
31010
31011         g.append('path').attr('id', 'scalepath');
31012         g.append('text').attr('id', 'scaletext');
31013
31014         update(selection);
31015
31016         context.map().on('move.scale', function() {
31017             update(selection);
31018         });
31019     };
31020 };
31021 iD.ui.SelectionList = function(context, selectedIDs) {
31022
31023     function selectionList(selection) {
31024         selection.classed('selection-list-pane', true);
31025
31026         var header = selection.append('div')
31027             .attr('class', 'header fillL cf');
31028
31029         header.append('h3')
31030             .text(t('inspector.multiselect'));
31031
31032         var listWrap = selection.append('div')
31033             .attr('class', 'inspector-body');
31034
31035         var list = listWrap.append('div')
31036             .attr('class', 'feature-list cf');
31037
31038         context.history().on('change.selection-list', drawList);
31039         drawList();
31040
31041         function drawList() {
31042             var entities = selectedIDs
31043                 .map(function(id) { return context.hasEntity(id); })
31044                 .filter(function(entity) { return entity; });
31045
31046             var items = list.selectAll('.feature-list-item')
31047                 .data(entities, iD.Entity.key);
31048
31049             var enter = items.enter().append('button')
31050                 .attr('class', 'feature-list-item')
31051                 .on('click', function(entity) {
31052                     context.enter(iD.modes.Select(context, [entity.id]));
31053                 });
31054
31055             // Enter
31056
31057             var label = enter.append('div')
31058                 .attr('class', 'label');
31059
31060             label.append('span')
31061                 .attr('class', 'icon icon-pre-text');
31062
31063             label.append('span')
31064                 .attr('class', 'entity-type');
31065
31066             label.append('span')
31067                 .attr('class', 'entity-name');
31068
31069             // Update
31070
31071             items.selectAll('.icon')
31072                 .attr('class', function(entity) { return context.geometry(entity.id) + ' icon icon-pre-text'; });
31073
31074             items.selectAll('.entity-type')
31075                 .text(function(entity) { return context.presets().match(entity, context.graph()).name(); });
31076
31077             items.selectAll('.entity-name')
31078                 .text(function(entity) { return iD.util.displayName(entity); });
31079
31080             // Exit
31081
31082             items.exit()
31083                 .remove();
31084         }
31085     }
31086
31087     return selectionList;
31088
31089 };
31090 iD.ui.Sidebar = function(context) {
31091     var inspector = iD.ui.Inspector(context),
31092         current;
31093
31094     function sidebar(selection) {
31095         var featureListWrap = selection.append('div')
31096             .attr('class', 'feature-list-pane')
31097             .call(iD.ui.FeatureList(context));
31098
31099         selection.call(iD.ui.Notice(context));
31100
31101         var inspectorWrap = selection.append('div')
31102             .attr('class', 'inspector-hidden inspector-wrap fr');
31103
31104         sidebar.hover = function(id) {
31105             if (!current && id) {
31106                 featureListWrap.classed('inspector-hidden', true);
31107                 inspectorWrap.classed('inspector-hidden', false)
31108                     .classed('inspector-hover', true);
31109
31110                 if (inspector.entityID() !== id || inspector.state() !== 'hover') {
31111                     inspector
31112                         .state('hover')
31113                         .entityID(id);
31114
31115                     inspectorWrap.call(inspector);
31116                 }
31117             } else if (!current) {
31118                 featureListWrap.classed('inspector-hidden', false);
31119                 inspectorWrap.classed('inspector-hidden', true);
31120                 inspector.state('hide');
31121             }
31122         };
31123
31124         sidebar.hover = _.throttle(sidebar.hover, 200);
31125
31126         sidebar.select = function(id, newFeature) {
31127             if (!current && id) {
31128                 featureListWrap.classed('inspector-hidden', true);
31129                 inspectorWrap.classed('inspector-hidden', false)
31130                     .classed('inspector-hover', false);
31131
31132                 if (inspector.entityID() !== id || inspector.state() !== 'select') {
31133                     inspector
31134                         .state('select')
31135                         .entityID(id)
31136                         .newFeature(newFeature);
31137
31138                     inspectorWrap.call(inspector);
31139                 }
31140             } else if (!current) {
31141                 featureListWrap.classed('inspector-hidden', false);
31142                 inspectorWrap.classed('inspector-hidden', true);
31143                 inspector.state('hide');
31144             }
31145         };
31146
31147         sidebar.show = function(component) {
31148             featureListWrap.classed('inspector-hidden', true);
31149             inspectorWrap.classed('inspector-hidden', true);
31150             if (current) current.remove();
31151             current = selection.append('div')
31152                 .attr('class', 'sidebar-component')
31153                 .call(component);
31154         };
31155
31156         sidebar.hide = function() {
31157             featureListWrap.classed('inspector-hidden', false);
31158             inspectorWrap.classed('inspector-hidden', true);
31159             if (current) current.remove();
31160             current = null;
31161         };
31162     }
31163
31164     sidebar.hover = function() {};
31165     sidebar.select = function() {};
31166     sidebar.show = function() {};
31167     sidebar.hide = function() {};
31168
31169     return sidebar;
31170 };
31171 iD.ui.SourceSwitch = function(context) {
31172     var keys;
31173
31174     function click() {
31175         d3.event.preventDefault();
31176
31177         if (context.history().hasChanges() &&
31178             !window.confirm(t('source_switch.lose_changes'))) return;
31179
31180         var live = d3.select(this)
31181             .classed('live');
31182
31183         context.connection()
31184             .switch(live ? keys[1] : keys[0]);
31185
31186         context.flush();
31187
31188         d3.select(this)
31189             .text(live ? t('source_switch.dev') : t('source_switch.live'))
31190             .classed('live', !live);
31191     }
31192
31193     var sourceSwitch = function(selection) {
31194         selection.append('a')
31195             .attr('href', '#')
31196             .text(t('source_switch.live'))
31197             .classed('live', true)
31198             .attr('tabindex', -1)
31199             .on('click', click);
31200     };
31201
31202     sourceSwitch.keys = function(_) {
31203         if (!arguments.length) return keys;
31204         keys = _;
31205         return sourceSwitch;
31206     };
31207
31208     return sourceSwitch;
31209 };
31210 iD.ui.Spinner = function(context) {
31211     var connection = context.connection();
31212
31213     return function(selection) {
31214         var img = selection.append('img')
31215             .attr('src', context.imagePath('loader-black.gif'))
31216             .style('opacity', 0);
31217
31218         connection.on('loading.spinner', function() {
31219             img.transition()
31220                 .style('opacity', 1);
31221         });
31222
31223         connection.on('loaded.spinner', function() {
31224             img.transition()
31225                 .style('opacity', 0);
31226         });
31227     };
31228 };
31229 iD.ui.Splash = function(context) {
31230     return function(selection) {
31231         if (context.storage('sawSplash'))
31232              return;
31233
31234         context.storage('sawSplash', true);
31235
31236         var modal = iD.ui.modal(selection);
31237
31238         modal.select('.modal')
31239             .attr('class', 'modal-splash modal col6');
31240
31241         var introModal = modal.select('.content')
31242             .append('div')
31243             .attr('class', 'fillL');
31244
31245         introModal.append('div')
31246             .attr('class','modal-section cf')
31247             .append('h3').text(t('splash.welcome'));
31248
31249         introModal.append('div')
31250             .attr('class','modal-section')
31251             .append('p')
31252             .html(t('splash.text', {
31253                 version: iD.version,
31254                 website: '<a href="http://ideditor.com/">ideditor.com</a>',
31255                 github: '<a href="https://github.com/openstreetmap/iD">github.com</a>'
31256             }));
31257
31258         var buttons = introModal.append('div').attr('class', 'modal-actions cf');
31259
31260         buttons.append('button')
31261             .attr('class', 'col6 walkthrough')
31262             .text(t('splash.walkthrough'))
31263             .on('click', function() {
31264                 d3.select(document.body).call(iD.ui.intro(context));
31265                 modal.close();
31266             });
31267
31268         buttons.append('button')
31269             .attr('class', 'col6 start')
31270             .text(t('splash.start'))
31271             .on('click', modal.close);
31272
31273         modal.select('button.close').attr('class','hide');
31274
31275     };
31276 };
31277 iD.ui.Status = function(context) {
31278     var connection = context.connection(),
31279         errCount = 0;
31280
31281     return function(selection) {
31282
31283         function update() {
31284
31285             connection.status(function(err, apiStatus) {
31286
31287                 selection.html('');
31288
31289                 if (err && errCount++ < 2) return;
31290
31291                 if (err) {
31292                     selection.text(t('status.error'));
31293
31294                 } else if (apiStatus === 'readonly') {
31295                     selection.text(t('status.readonly'));
31296
31297                 } else if (apiStatus === 'offline') {
31298                     selection.text(t('status.offline'));
31299                 }
31300
31301                 selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
31302                 if (!err) errCount = 0;
31303
31304             });
31305         }
31306
31307         connection.on('auth', function() { update(selection); });
31308         window.setInterval(update, 90000);
31309         update(selection);
31310     };
31311 };
31312 iD.ui.Success = function(context) {
31313     var event = d3.dispatch('cancel'),
31314         changeset;
31315
31316     function success(selection) {
31317         var message = (changeset.comment || t('success.edited_osm')).substring(0, 130) +
31318             ' ' + context.connection().changesetURL(changeset.id);
31319
31320         var header = selection.append('div')
31321             .attr('class', 'header fillL');
31322
31323         header.append('button')
31324             .attr('class', 'fr')
31325             .append('span')
31326             .attr('class', 'icon close')
31327             .on('click', function() { event.cancel(success); });
31328
31329         header.append('h3')
31330             .text(t('success.just_edited'));
31331
31332         var body = selection.append('div')
31333             .attr('class', 'body save-success fillL');
31334
31335         body.append('p')
31336             .html(t('success.help_html'));
31337
31338         var changesetURL = context.connection().changesetURL(changeset.id);
31339
31340         body.append('a')
31341             .attr('class', 'button col12 osm')
31342             .attr('target', '_blank')
31343             .attr('href', changesetURL)
31344             .text(t('success.view_on_osm'));
31345
31346         var sharing = {
31347             facebook: 'https://facebook.com/sharer/sharer.php?u=' + encodeURIComponent(changesetURL),
31348             twitter: 'https://twitter.com/intent/tweet?source=webclient&text=' + encodeURIComponent(message),
31349             google: 'https://plus.google.com/share?url=' + encodeURIComponent(changesetURL)
31350         };
31351
31352         body.selectAll('.button.social')
31353             .data(d3.entries(sharing))
31354             .enter().append('a')
31355             .attr('class', function(d) { return 'button social col4 ' + d.key; })
31356             .attr('target', '_blank')
31357             .attr('href', function(d) { return d.value; })
31358             .call(bootstrap.tooltip()
31359                 .title(function(d) { return t('success.' + d.key); })
31360                 .placement('bottom'));
31361     }
31362
31363     success.changeset = function(_) {
31364         if (!arguments.length) return changeset;
31365         changeset = _;
31366         return success;
31367     };
31368
31369     return d3.rebind(success, event, 'on');
31370 };
31371 iD.ui.TagReference = function(tag, context) {
31372     var tagReference = {},
31373         button,
31374         body,
31375         loaded,
31376         showing;
31377
31378     function findLocal(docs) {
31379         var locale = iD.detect().locale.toLowerCase(),
31380             localized;
31381
31382         localized = _.find(docs, function(d) {
31383             return d.lang.toLowerCase() === locale;
31384         });
31385         if (localized) return localized;
31386
31387         // try the non-regional version of a language, like
31388         // 'en' if the language is 'en-US'
31389         if (locale.indexOf('-') !== -1) {
31390             var first = locale.split('-')[0];
31391             localized = _.find(docs, function(d) {
31392                 return d.lang.toLowerCase() === first;
31393             });
31394             if (localized) return localized;
31395         }
31396
31397         // finally fall back to english
31398         return _.find(docs, function(d) {
31399             return d.lang.toLowerCase() === 'en';
31400         });
31401     }
31402
31403     function load() {
31404         button.classed('tag-reference-loading', true);
31405
31406         context.taginfo().docs(tag, function(err, docs) {
31407             if (!err && docs) {
31408                 docs = findLocal(docs);
31409             }
31410
31411             body.html('');
31412
31413             if (!docs || !docs.description) {
31414                 body.append('p').text(t('inspector.no_documentation_key'));
31415                 show();
31416                 return;
31417             }
31418
31419             if (docs.image && docs.image.thumb_url_prefix) {
31420                 body
31421                     .append('img')
31422                     .attr('class', 'wiki-image')
31423                     .attr('src', docs.image.thumb_url_prefix + '100' + docs.image.thumb_url_suffix)
31424                     .on('load', function() { show(); })
31425                     .on('error', function() { d3.select(this).remove(); show(); });
31426             } else {
31427                 show();
31428             }
31429
31430             body
31431                 .append('p')
31432                 .text(docs.description);
31433
31434             var wikiLink = body
31435                 .append('a')
31436                 .attr('target', '_blank')
31437                 .attr('href', 'http://wiki.openstreetmap.org/wiki/' + docs.title);
31438
31439             wikiLink.append('span')
31440                 .attr('class','icon icon-pre-text out-link');
31441
31442             wikiLink.append('span')
31443                 .text(t('inspector.reference'));
31444         });
31445     }
31446
31447     function show() {
31448         loaded = true;
31449
31450         button.classed('tag-reference-loading', false);
31451
31452         body.transition()
31453             .duration(200)
31454             .style('max-height', '200px')
31455             .style('opacity', '1');
31456
31457         showing = true;
31458     }
31459
31460     function hide(selection) {
31461         selection = selection || body.transition().duration(200);
31462
31463         selection
31464             .style('max-height', '0px')
31465             .style('opacity', '0');
31466
31467         showing = false;
31468     }
31469
31470     tagReference.button = function(selection) {
31471         button = selection.selectAll('.tag-reference-button')
31472             .data([0]);
31473
31474         var enter = button.enter().append('button')
31475             .attr('tabindex', -1)
31476             .attr('class', 'tag-reference-button');
31477
31478         enter.append('span')
31479             .attr('class', 'icon inspect');
31480
31481         button.on('click', function () {
31482             d3.event.stopPropagation();
31483             d3.event.preventDefault();
31484             if (showing) {
31485                 hide();
31486             } else if (loaded) {
31487                 show();
31488             } else {
31489                 if (context.taginfo()) {
31490                     load();
31491                 }
31492             }
31493         });
31494     };
31495
31496     tagReference.body = function(selection) {
31497         body = selection.selectAll('.tag-reference-body')
31498             .data([0]);
31499
31500         body.enter().append('div')
31501             .attr('class', 'tag-reference-body cf')
31502             .style('max-height', '0')
31503             .style('opacity', '0');
31504
31505         if (showing === false) {
31506             hide(body);
31507         }
31508     };
31509
31510     tagReference.showing = function(_) {
31511         if (!arguments.length) return showing;
31512         showing = _;
31513         return tagReference;
31514     };
31515
31516     return tagReference;
31517 };// toggles the visibility of ui elements, using a combination of the
31518 // hide class, which sets display=none, and a d3 transition for opacity.
31519 // this will cause blinking when called repeatedly, so check that the
31520 // value actually changes between calls.
31521 iD.ui.Toggle = function(show, callback) {
31522     return function(selection) {
31523         selection
31524             .style('opacity', show ? 0 : 1)
31525             .classed('hide', false)
31526             .transition()
31527             .style('opacity', show ? 1 : 0)
31528             .each('end', function() {
31529                 d3.select(this).classed('hide', !show);
31530                 if (callback) callback.apply(this);
31531             });
31532     };
31533 };
31534 iD.ui.UndoRedo = function(context) {
31535     var commands = [{
31536         id: 'undo',
31537         cmd: iD.ui.cmd('⌘Z'),
31538         action: function() { if (!saving()) context.undo(); },
31539         annotation: function() { return context.history().undoAnnotation(); }
31540     }, {
31541         id: 'redo',
31542         cmd: iD.ui.cmd('⌘⇧Z'),
31543         action: function() { if (!saving()) context.redo(); },
31544         annotation: function() { return context.history().redoAnnotation(); }
31545     }];
31546
31547     function saving() {
31548         return context.mode().id === 'save';
31549     }
31550
31551     return function(selection) {
31552         var tooltip = bootstrap.tooltip()
31553             .placement('bottom')
31554             .html(true)
31555             .title(function (d) {
31556                 return iD.ui.tooltipHtml(d.annotation() ?
31557                     t(d.id + '.tooltip', {action: d.annotation()}) :
31558                     t(d.id + '.nothing'), d.cmd);
31559             });
31560
31561         var buttons = selection.selectAll('button')
31562             .data(commands)
31563             .enter().append('button')
31564             .attr('class', 'col6 disabled')
31565             .on('click', function(d) { return d.action(); })
31566             .call(tooltip);
31567
31568         buttons.append('span')
31569             .attr('class', function(d) { return 'icon ' + d.id; });
31570
31571         var keybinding = d3.keybinding('undo')
31572             .on(commands[0].cmd, function() { d3.event.preventDefault(); commands[0].action(); })
31573             .on(commands[1].cmd, function() { d3.event.preventDefault(); commands[1].action(); });
31574
31575         d3.select(document)
31576             .call(keybinding);
31577
31578         context.history()
31579             .on('change.undo_redo', update);
31580
31581         context
31582             .on('enter.undo_redo', update);
31583
31584         function update() {
31585             buttons
31586                 .property('disabled', saving())
31587                 .classed('disabled', function(d) { return !d.annotation(); })
31588                 .each(function() {
31589                     var selection = d3.select(this);
31590                     if (selection.property('tooltipVisible')) {
31591                         selection.call(tooltip.show);
31592                     }
31593                 });
31594         }
31595     };
31596 };
31597 iD.ui.ViewOnOSM = function(context) {
31598     var id;
31599
31600     function viewOnOSM(selection) {
31601         var entity = context.entity(id);
31602
31603         selection.style('display', entity.isNew() ? 'none' : null);
31604
31605         var $link = selection.selectAll('.view-on-osm')
31606             .data([0]);
31607
31608         var $enter = $link.enter().append('a')
31609             .attr('class', 'view-on-osm')
31610             .attr('target', '_blank');
31611
31612         $enter.append('span')
31613             .attr('class', 'icon icon-pre-text out-link');
31614
31615         $enter.append('span')
31616             .text(t('inspector.view_on_osm'));
31617
31618         $link.attr('href', context.connection().entityURL(entity));
31619     }
31620
31621     viewOnOSM.entityID = function(_) {
31622         if (!arguments.length) return id;
31623         id = _;
31624         return viewOnOSM;
31625     };
31626
31627     return viewOnOSM;
31628 };
31629 iD.ui.Zoom = function(context) {
31630     var zooms = [{
31631         id: 'zoom-in',
31632         title: t('zoom.in'),
31633         action: context.zoomIn,
31634         key: '+'
31635     }, {
31636         id: 'zoom-out',
31637         title: t('zoom.out'),
31638         action: context.zoomOut,
31639         key: '-'
31640     }];
31641
31642     return function(selection) {
31643         var button = selection.selectAll('button')
31644             .data(zooms)
31645             .enter().append('button')
31646             .attr('tabindex', -1)
31647             .attr('class', function(d) { return d.id; })
31648             .on('click.editor', function(d) { d.action(); })
31649             .call(bootstrap.tooltip()
31650                 .placement('left')
31651                 .html(true)
31652                 .title(function(d) {
31653                     return iD.ui.tooltipHtml(d.title, d.key);
31654                 }));
31655
31656         button.append('span')
31657             .attr('class', function(d) { return d.id + ' icon'; });
31658
31659         var keybinding = d3.keybinding('zoom');
31660
31661         _.each(['=','ffequals','plus','ffplus'], function(key) {
31662             keybinding.on(key, function() { context.zoomIn(); });
31663             keybinding.on('⇧' + key, function() { context.zoomIn(); });
31664         });
31665         _.each(['-','ffminus','_','dash'], function(key) {
31666             keybinding.on(key, function() { context.zoomOut(); });
31667             keybinding.on('⇧' + key, function() { context.zoomOut(); });
31668         });
31669
31670         d3.select(document)
31671             .call(keybinding);
31672     };
31673 };
31674 iD.ui.preset.access = function(field) {
31675     var event = d3.dispatch('change'),
31676         items;
31677
31678     function access(selection) {
31679         var wrap = selection.selectAll('.preset-input-wrap')
31680             .data([0]);
31681
31682         wrap.enter().append('div')
31683             .attr('class', 'cf preset-input-wrap')
31684             .append('ul');
31685
31686         items = wrap.select('ul').selectAll('li')
31687             .data(field.keys);
31688
31689         // Enter
31690
31691         var enter = items.enter().append('li')
31692             .attr('class', function(d) { return 'cf preset-access-' + d; });
31693
31694         enter.append('span')
31695             .attr('class', 'col6 label preset-label-access')
31696             .attr('for', function(d) { return 'preset-input-access-' + d; })
31697             .text(function(d) { return field.t('types.' + d); });
31698
31699         enter.append('div')
31700             .attr('class', 'col6 preset-input-access-wrap')
31701             .append('input')
31702             .attr('type', 'text')
31703             .attr('class', 'preset-input-access')
31704             .attr('id', function(d) { return 'preset-input-access-' + d; })
31705             .each(function(d) {
31706                 d3.select(this)
31707                     .call(d3.combobox()
31708                         .data(access.options(d)));
31709             });
31710
31711         // Update
31712
31713         wrap.selectAll('.preset-input-access')
31714             .on('change', change)
31715             .on('blur', change);
31716     }
31717
31718     function change(d) {
31719         var tag = {};
31720         tag[d] = d3.select(this).value() || undefined;
31721         event.change(tag);
31722     }
31723
31724     access.options = function(type) {
31725         var options = ['no', 'permissive', 'private', 'destination'];
31726
31727         if (type !== 'access') {
31728             options.unshift('yes');
31729             options.push('designated');
31730         }
31731
31732         return options.map(function(option) {
31733             return {
31734                 title: field.t('options.' + option + '.description'),
31735                 value: option
31736             };
31737         });
31738     };
31739
31740     var placeholders = {
31741         footway: {
31742             foot: 'designated',
31743             motor_vehicle: 'no'
31744         },
31745         steps: {
31746             foot: 'yes',
31747             motor_vehicle: 'no',
31748             bicycle: 'no',
31749             horse: 'no'
31750         },
31751         pedestrian: {
31752             foot: 'yes',
31753             motor_vehicle: 'no'
31754         },
31755         cycleway: {
31756             motor_vehicle: 'no',
31757             bicycle: 'designated'
31758         },
31759         bridleway: {
31760             motor_vehicle: 'no',
31761             horse: 'designated'
31762         },
31763         path: {
31764             foot: 'yes',
31765             motor_vehicle: 'no',
31766             bicycle: 'yes',
31767             horse: 'yes'
31768         },
31769         motorway: {
31770             foot: 'no',
31771             motor_vehicle: 'yes',
31772             bicycle: 'no',
31773             horse: 'no'
31774         },
31775         trunk: {
31776             motor_vehicle: 'yes'
31777         },
31778         primary: {
31779             foot: 'yes',
31780             motor_vehicle: 'yes',
31781             bicycle: 'yes',
31782             horse: 'yes'
31783         },
31784         secondary: {
31785             foot: 'yes',
31786             motor_vehicle: 'yes',
31787             bicycle: 'yes',
31788             horse: 'yes'
31789         },
31790         tertiary: {
31791             foot: 'yes',
31792             motor_vehicle: 'yes',
31793             bicycle: 'yes',
31794             horse: 'yes'
31795         },
31796         residential: {
31797             foot: 'yes',
31798             motor_vehicle: 'yes',
31799             bicycle: 'yes',
31800             horse: 'yes'
31801         },
31802         unclassified: {
31803             foot: 'yes',
31804             motor_vehicle: 'yes',
31805             bicycle: 'yes',
31806             horse: 'yes'
31807         },
31808         service: {
31809             foot: 'yes',
31810             motor_vehicle: 'yes',
31811             bicycle: 'yes',
31812             horse: 'yes'
31813         },
31814         motorway_link: {
31815             foot: 'no',
31816             motor_vehicle: 'yes',
31817             bicycle: 'no',
31818             horse: 'no'
31819         },
31820         trunk_link: {
31821             motor_vehicle: 'yes'
31822         },
31823         primary_link: {
31824             foot: 'yes',
31825             motor_vehicle: 'yes',
31826             bicycle: 'yes',
31827             horse: 'yes'
31828         },
31829         secondary_link: {
31830             foot: 'yes',
31831             motor_vehicle: 'yes',
31832             bicycle: 'yes',
31833             horse: 'yes'
31834         },
31835         tertiary_link: {
31836             foot: 'yes',
31837             motor_vehicle: 'yes',
31838             bicycle: 'yes',
31839             horse: 'yes'
31840         }
31841     };
31842
31843     access.tags = function(tags) {
31844         items.selectAll('.preset-input-access')
31845             .value(function(d) { return tags[d] || ''; })
31846             .attr('placeholder', function() {
31847                 return tags.access ? tags.access : field.placeholder();
31848             });
31849
31850         items.selectAll('#preset-input-access-access')
31851             .attr('placeholder', 'yes');
31852
31853         _.forEach(placeholders[tags.highway], function(value, key) {
31854             items.selectAll('#preset-input-access-' + key)
31855                 .attr('placeholder', function() {
31856                     return (tags.access && (value === 'yes' || value === 'designated')) ? tags.access : value;
31857                 });
31858         });
31859     };
31860
31861     access.focus = function() {
31862         items.selectAll('.preset-input-access')
31863             .node().focus();
31864     };
31865
31866     return d3.rebind(access, event, 'on');
31867 };
31868 iD.ui.preset.address = function(field, context) {
31869     var event = d3.dispatch('init', 'change'),
31870         wrap,
31871         entity,
31872         isInitialized;
31873
31874     var widths = {
31875         housenumber: 1/3,
31876         street: 2/3,
31877         city: 2/3,
31878         state: 1/4,
31879         postcode: 1/3
31880     };
31881
31882     function getStreets() {
31883         var extent = entity.extent(context.graph()),
31884             l = extent.center(),
31885             box = iD.geo.Extent(l).padByMeters(200);
31886
31887         return context.intersects(box)
31888             .filter(isAddressable)
31889             .map(function(d) {
31890                 var loc = context.projection([
31891                     (extent[0][0] + extent[1][0]) / 2,
31892                     (extent[0][1] + extent[1][1]) / 2]),
31893                     choice = iD.geo.chooseEdge(context.childNodes(d), loc, context.projection);
31894                 return {
31895                     title: d.tags.name,
31896                     value: d.tags.name,
31897                     dist: choice.distance
31898                 };
31899             }).sort(function(a, b) {
31900                 return a.dist - b.dist;
31901             });
31902
31903         function isAddressable(d) {
31904             return d.tags.highway && d.tags.name && d.type === 'way';
31905         }
31906     }
31907
31908     function getCities() {
31909         var extent = entity.extent(context.graph()),
31910             l = extent.center(),
31911             box = iD.geo.Extent(l).padByMeters(200);
31912
31913         return context.intersects(box)
31914             .filter(isAddressable)
31915             .map(function(d) {
31916                 return {
31917                     title: d.tags['addr:city'] || d.tags.name,
31918                     value: d.tags['addr:city'] || d.tags.name,
31919                     dist: iD.geo.sphericalDistance(d.extent(context.graph()).center(), l)
31920                 };
31921             }).sort(function(a, b) {
31922                 return a.dist - b.dist;
31923             });
31924
31925         function isAddressable(d) {
31926             if (d.tags.name &&
31927                 (d.tags.admin_level === '8' || d.tags.border_type === 'city'))
31928                 return true;
31929
31930             if (d.tags.place && d.tags.name && (
31931                     d.tags.place === 'city' ||
31932                     d.tags.place === 'town' ||
31933                     d.tags.place === 'village'))
31934                 return true;
31935
31936             if (d.tags['addr:city']) return true;
31937
31938             return false;
31939         }
31940     }
31941
31942     function getPostCodes() {
31943         var extent = entity.extent(context.graph()),
31944             l = extent.center(),
31945             box = iD.geo.Extent(l).padByMeters(200);
31946
31947         return context.intersects(box)
31948             .filter(isAddressable)
31949             .map(function(d) {
31950                 return {
31951                     title: d.tags['addr:postcode'],
31952                     value: d.tags['addr:postcode'],
31953                     dist: iD.geo.sphericalDistance(d.extent(context.graph()).center(), l)
31954                 };
31955             }).sort(function(a, b) {
31956                 return a.dist - b.dist;
31957             });
31958
31959         function isAddressable(d) {
31960             return d.tags['addr:postcode'];
31961         }
31962     }
31963
31964     function address(selection) {
31965         isInitialized = false;
31966         
31967         selection.selectAll('.preset-input-wrap')
31968             .remove();
31969
31970         var center = entity.extent(context.graph()).center(),
31971             addressFormat;
31972
31973         // Enter
31974
31975         wrap = selection.append('div')
31976             .attr('class', 'preset-input-wrap');
31977
31978         iD.countryCode().search(center, function (err, countryCode) {
31979             addressFormat = _.find(iD.data.addressFormats, function (a) {
31980                 return a && a.countryCodes && _.contains(a.countryCodes, countryCode);
31981             }) || _.first(iD.data.addressFormats);
31982
31983             function row(r) {
31984                 // Normalize widths.
31985                 var total = _.reduce(r, function(sum, field) {
31986                     return sum + (widths[field] || 0.5);
31987                 }, 0);
31988
31989                 return r.map(function (field) {
31990                     return {
31991                         id: field,
31992                         width: (widths[field] || 0.5) / total
31993                     };
31994                 });
31995             }
31996
31997             wrap.selectAll('div')
31998                 .data(addressFormat.format)
31999                 .enter()
32000                 .append('div')
32001                 .attr('class', 'addr-row')
32002                 .selectAll('input')
32003                 .data(row)
32004                 .enter()
32005                 .append('input')
32006                 .property('type', 'text')
32007                 .attr('placeholder', function (d) { return field.t('placeholders.' + d.id); })
32008                 .attr('class', function (d) { return 'addr-' + d.id; })
32009                 .style('width', function (d) { return d.width * 100 + '%'; });
32010
32011             // Update
32012
32013             wrap.selectAll('.addr-street')
32014                 .call(d3.combobox()
32015                     .fetcher(function(value, callback) {
32016                         callback(getStreets());
32017                     }));
32018
32019             wrap.selectAll('.addr-city')
32020                 .call(d3.combobox()
32021                     .fetcher(function(value, callback) {
32022                         callback(getCities());
32023                     }));
32024
32025             wrap.selectAll('.addr-postcode')
32026                 .call(d3.combobox()
32027                     .fetcher(function(value, callback) {
32028                         callback(getPostCodes());
32029                     }));
32030
32031             wrap.selectAll('input')
32032                 .on('blur', change)
32033                 .on('change', change);
32034
32035             event.init();
32036             isInitialized = true;
32037         });
32038     }
32039
32040     function change() {
32041         var tags = {};
32042
32043         wrap.selectAll('input')
32044             .each(function (field) {
32045                 tags['addr:' + field.id] = this.value || undefined;
32046             });
32047
32048         event.change(tags);
32049     }
32050
32051     function updateTags(tags) {
32052         wrap.selectAll('input')
32053             .value(function (field) {
32054                 return tags['addr:' + field.id] || '';
32055             });
32056     }
32057
32058     address.entity = function(_) {
32059         if (!arguments.length) return entity;
32060         entity = _;
32061         return address;
32062     };
32063
32064     address.tags = function(tags) {
32065         if (isInitialized) {
32066             updateTags(tags);
32067         } else {
32068             event.on('init', function () {
32069                 updateTags(tags);
32070             });
32071         }
32072     };
32073
32074     address.focus = function() {
32075         var node = wrap.selectAll('input').node();
32076         if (node) node.focus();
32077     };
32078
32079     return d3.rebind(address, event, 'on');
32080 };
32081 iD.ui.preset.check =
32082 iD.ui.preset.defaultcheck = function(field) {
32083     var event = d3.dispatch('change'),
32084         options = field.strings && field.strings.options,
32085         values = [],
32086         texts = [],
32087         entity, value, box, text, label;
32088
32089     if (options) {
32090         for (var k in options) {
32091             values.push(k === 'undefined' ? undefined : k);
32092             texts.push(field.t('options.' + k, { 'default': options[k] }));
32093         }
32094     } else {
32095         values = [undefined, 'yes'];
32096         texts = [t('inspector.unknown'), t('inspector.check.yes')];
32097         if (field.type === 'check') {
32098             values.push('no');
32099             texts.push(t('inspector.check.no'));
32100         }
32101     }
32102
32103     var check = function(selection) {
32104         // hack: pretend oneway field is a oneway_yes field
32105         // where implied oneway tag exists (e.g. `junction=roundabout`) #2220, #1841
32106         if (field.id === 'oneway') {
32107             for (var key in entity.tags) {
32108                 if (key in iD.oneWayTags && (entity.tags[key] in iD.oneWayTags[key])) {
32109                     texts[0] = t('presets.fields.oneway_yes.options.undefined');
32110                     break;
32111                 }
32112             }
32113         }
32114
32115         selection.classed('checkselect', 'true');
32116
32117         label = selection.selectAll('.preset-input-wrap')
32118             .data([0]);
32119
32120         var enter = label.enter().append('label')
32121             .attr('class', 'preset-input-wrap');
32122
32123         enter.append('input')
32124             .property('indeterminate', field.type === 'check')
32125             .attr('type', 'checkbox')
32126             .attr('id', 'preset-input-' + field.id);
32127
32128         enter.append('span')
32129             .text(texts[0])
32130             .attr('class', 'value');
32131
32132         box = label.select('input')
32133             .on('click', function() {
32134                 var t = {};
32135                 t[field.key] = values[(values.indexOf(value) + 1) % values.length];
32136                 event.change(t);
32137                 d3.event.stopPropagation();
32138             });
32139
32140         text = label.select('span.value');
32141     };
32142
32143     check.entity = function(_) {
32144         if (!arguments.length) return entity;
32145         entity = _;
32146         return check;
32147     };
32148
32149     check.tags = function(tags) {
32150         value = tags[field.key];
32151         box.property('indeterminate', field.type === 'check' && !value);
32152         box.property('checked', value === 'yes');
32153         text.text(texts[values.indexOf(value)]);
32154         label.classed('set', !!value);
32155     };
32156
32157     check.focus = function() {
32158         box.node().focus();
32159     };
32160
32161     return d3.rebind(check, event, 'on');
32162 };
32163 iD.ui.preset.combo =
32164 iD.ui.preset.typeCombo = function(field, context) {
32165     var event = d3.dispatch('change'),
32166         optstrings = field.strings && field.strings.options,
32167         optarray = field.options,
32168         strings = {},
32169         input;
32170
32171     function combo(selection) {
32172         var combobox = d3.combobox();
32173
32174         input = selection.selectAll('input')
32175             .data([0]);
32176
32177         var enter = input.enter()
32178             .append('input')
32179             .attr('type', 'text')
32180             .attr('id', 'preset-input-' + field.id);
32181
32182         if (optstrings) { enter.attr('readonly', 'readonly'); }
32183
32184         input
32185             .call(combobox)
32186             .on('change', change)
32187             .on('blur', change)
32188             .each(function() {
32189                 if (optstrings) {
32190                     _.each(optstrings, function(v, k) {
32191                         strings[k] = field.t('options.' + k, { 'default': v });
32192                     });
32193                     stringsLoaded();
32194                 } else if (optarray) {
32195                     _.each(optarray, function(k) {
32196                         strings[k] = k.replace(/_+/g, ' ');
32197                     });
32198                     stringsLoaded();
32199                 } else if (context.taginfo()) {
32200                     context.taginfo().values({key: field.key}, function(err, data) {
32201                         if (!err) {
32202                             _.each(_.pluck(data, 'value'), function(k) {
32203                                 strings[k] = k.replace(/_+/g, ' ');
32204                             });
32205                             stringsLoaded();
32206                         }
32207                     });
32208                 }
32209             });
32210
32211         function stringsLoaded() {
32212             var keys = _.keys(strings),
32213                 strs = [],
32214                 placeholders;
32215
32216             combobox.data(keys.map(function(k) {
32217                 var s = strings[k],
32218                     o = {};
32219                 o.title = o.value = s;
32220                 if (s.length < 20) { strs.push(s); }
32221                 return o;
32222             }));
32223
32224             placeholders = strs.length > 1 ? strs : keys;
32225             input.attr('placeholder', field.placeholder() ||
32226                 (placeholders.slice(0, 3).join(', ') + '...'));
32227         }
32228     }
32229
32230     function change() {
32231         var optstring = _.find(_.keys(strings), function(k) { return strings[k] === input.value(); }),
32232             value = optstring || (input.value()
32233                 .split(';')
32234                 .map(function(s) { return s.trim(); })
32235                 .join(';')
32236                 .replace(/\s+/g, '_'));
32237
32238         if (field.type === 'typeCombo' && !value) value = 'yes';
32239
32240         var t = {};
32241         t[field.key] = value || undefined;
32242         event.change(t);
32243     }
32244
32245     combo.tags = function(tags) {
32246         var key = tags[field.key],
32247             value = strings[key] || key || '';
32248         if (field.type === 'typeCombo' && value.toLowerCase() === 'yes') value = '';
32249         input.value(value);
32250     };
32251
32252     combo.focus = function() {
32253         input.node().focus();
32254     };
32255
32256     return d3.rebind(combo, event, 'on');
32257 };
32258 iD.ui.preset.text =
32259 iD.ui.preset.number =
32260 iD.ui.preset.tel =
32261 iD.ui.preset.email =
32262 iD.ui.preset.url = function(field) {
32263
32264     var event = d3.dispatch('change'),
32265         input;
32266
32267     function i(selection) {
32268         input = selection.selectAll('input')
32269             .data([0]);
32270
32271         input.enter().append('input')
32272             .attr('type', field.type)
32273             .attr('id', 'preset-input-' + field.id)
32274             .attr('placeholder', field.placeholder() || t('inspector.unknown'));
32275
32276         input
32277             .on('blur', change)
32278             .on('change', change);
32279
32280         if (field.type === 'number') {
32281             input.attr('type', 'text');
32282
32283             var spinControl = selection.selectAll('.spin-control')
32284                 .data([0]);
32285
32286             var enter = spinControl.enter().append('div')
32287                 .attr('class', 'spin-control');
32288
32289             enter.append('button')
32290                 .datum(1)
32291                 .attr('class', 'increment');
32292
32293             enter.append('button')
32294                 .datum(-1)
32295                 .attr('class', 'decrement');
32296
32297             spinControl.selectAll('button')
32298                 .on('click', function(d) {
32299                     d3.event.preventDefault();
32300                     var num = parseInt(input.node().value || 0, 10);
32301                     if (!isNaN(num)) input.node().value = num + d;
32302                     change();
32303                 });
32304         }
32305     }
32306
32307     function change() {
32308         var t = {};
32309         t[field.key] = input.value() || undefined;
32310         event.change(t);
32311     }
32312
32313     i.tags = function(tags) {
32314         input.value(tags[field.key] || '');
32315     };
32316
32317     i.focus = function() {
32318         input.node().focus();
32319     };
32320
32321     return d3.rebind(i, event, 'on');
32322 };
32323 iD.ui.preset.localized = function(field, context) {
32324
32325     var event = d3.dispatch('change'),
32326         wikipedia = iD.wikipedia(),
32327         input, localizedInputs, wikiTitles,
32328         entity;
32329
32330     function i(selection) {
32331         input = selection.selectAll('.localized-main')
32332             .data([0]);
32333
32334         input.enter().append('input')
32335             .attr('type', 'text')
32336             .attr('id', 'preset-input-' + field.id)
32337             .attr('class', 'localized-main')
32338             .attr('placeholder', field.placeholder());
32339
32340         if (field.id === 'name') {
32341             var preset = context.presets().match(entity, context.graph());
32342             input.call(d3.combobox().fetcher(
32343                 iD.util.SuggestNames(preset, iD.data.suggestions)
32344             ));
32345         }
32346
32347         input
32348             .on('blur', change)
32349             .on('change', change);
32350
32351         var translateButton = selection.selectAll('.localized-add')
32352             .data([0]);
32353
32354         translateButton.enter().append('button')
32355             .attr('class', 'button-input-action localized-add minor')
32356             .call(bootstrap.tooltip()
32357                 .title(t('translate.translate'))
32358                 .placement('left'))
32359             .append('span')
32360             .attr('class', 'icon plus');
32361
32362         translateButton
32363             .on('click', addBlank);
32364
32365         localizedInputs = selection.selectAll('.localized-wrap')
32366             .data([0]);
32367
32368         localizedInputs.enter().append('div')
32369             .attr('class', 'localized-wrap');
32370     }
32371
32372     function addBlank() {
32373         d3.event.preventDefault();
32374         var data = localizedInputs.selectAll('div.entry').data();
32375         data.push({ lang: '', value: '' });
32376         localizedInputs.call(render, data);
32377     }
32378
32379     function change() {
32380         var t = {};
32381         t[field.key] = d3.select(this).value() || undefined;
32382         event.change(t);
32383     }
32384
32385     function key(lang) { return field.key + ':' + lang; }
32386
32387     function changeLang(d) {
32388         var lang = d3.select(this).value(),
32389             t = {},
32390             language = _.find(iD.data.wikipedia, function(d) {
32391                 return d[0].toLowerCase() === lang.toLowerCase() ||
32392                     d[1].toLowerCase() === lang.toLowerCase();
32393             });
32394
32395         if (language) lang = language[2];
32396
32397         if (d.lang && d.lang !== lang) {
32398             t[key(d.lang)] = undefined;
32399         }
32400
32401         var value = d3.select(this.parentNode)
32402             .selectAll('.localized-value')
32403             .value();
32404
32405         if (lang && value) {
32406             t[key(lang)] = value;
32407         } else if (lang && wikiTitles && wikiTitles[d.lang]) {
32408             t[key(lang)] = wikiTitles[d.lang];
32409         }
32410
32411         d.lang = lang;
32412         event.change(t);
32413     }
32414
32415     function changeValue(d) {
32416         if (!d.lang) return;
32417         var t = {};
32418         t[key(d.lang)] = d3.select(this).value() || undefined;
32419         event.change(t);
32420     }
32421
32422     function fetcher(value, cb) {
32423         var v = value.toLowerCase();
32424
32425         cb(iD.data.wikipedia.filter(function(d) {
32426             return d[0].toLowerCase().indexOf(v) >= 0 ||
32427             d[1].toLowerCase().indexOf(v) >= 0 ||
32428             d[2].toLowerCase().indexOf(v) >= 0;
32429         }).map(function(d) {
32430             return { value: d[1] };
32431         }));
32432     }
32433
32434     function render(selection, data) {
32435         var wraps = selection.selectAll('div.entry').
32436             data(data, function(d) { return d.lang; });
32437
32438         var innerWrap = wraps.enter()
32439             .insert('div', ':first-child');
32440
32441         innerWrap.attr('class', 'entry')
32442             .each(function() {
32443                 var wrap = d3.select(this);
32444                 var langcombo = d3.combobox().fetcher(fetcher);
32445
32446                 var label = wrap.append('label')
32447                     .attr('class','form-label')
32448                     .text(t('translate.localized_translation_label'))
32449                     .attr('for','localized-lang');
32450
32451                 label.append('button')
32452                     .attr('class', 'minor remove')
32453                     .on('click', function(d){
32454                         d3.event.preventDefault();
32455                         var t = {};
32456                         t[key(d.lang)] = undefined;
32457                         event.change(t);
32458                         d3.select(this.parentNode.parentNode)
32459                             .style('top','0')
32460                             .style('max-height','240px')
32461                             .transition()
32462                             .style('opacity', '0')
32463                             .style('max-height','0px')
32464                             .remove();
32465                     })
32466                     .append('span').attr('class', 'icon delete');
32467
32468                 wrap.append('input')
32469                     .attr('class', 'localized-lang')
32470                     .attr('type', 'text')
32471                     .attr('placeholder',t('translate.localized_translation_language'))
32472                     .on('blur', changeLang)
32473                     .on('change', changeLang)
32474                     .call(langcombo);
32475
32476                 wrap.append('input')
32477                     .on('blur', changeValue)
32478                     .on('change', changeValue)
32479                     .attr('type', 'text')
32480                     .attr('placeholder', t('translate.localized_translation_name'))
32481                     .attr('class', 'localized-value');
32482             });
32483
32484         innerWrap
32485             .style('margin-top', '0px')
32486             .style('max-height', '0px')
32487             .style('opacity', '0')
32488             .transition()
32489             .duration(200)
32490             .style('margin-top', '10px')
32491             .style('max-height', '240px')
32492             .style('opacity', '1')
32493             .each('end', function() {
32494                 d3.select(this)
32495                     .style('max-height', '')
32496                     .style('overflow', 'visible');
32497             });
32498
32499         wraps.exit()
32500             .transition()
32501             .duration(200)
32502             .style('max-height','0px')
32503             .style('opacity', '0')
32504             .style('top','-10px')
32505             .remove();
32506
32507         var entry = selection.selectAll('.entry');
32508
32509         entry.select('.localized-lang')
32510             .value(function(d) {
32511                 var lang = _.find(iD.data.wikipedia, function(lang) { return lang[2] === d.lang; });
32512                 return lang ? lang[1] : d.lang;
32513             });
32514
32515         entry.select('.localized-value')
32516             .value(function(d) { return d.value; });
32517     }
32518
32519     i.tags = function(tags) {
32520
32521         // Fetch translations from wikipedia
32522         if (tags.wikipedia && !wikiTitles) {
32523             wikiTitles = {};
32524             var wm = tags.wikipedia.match(/([^:]+):(.+)/);
32525             if (wm && wm[0] && wm[1]) {
32526                 wikipedia.translations(wm[1], wm[2], function(d) {
32527                     wikiTitles = d;
32528                 });
32529             }
32530         }
32531
32532         input.value(tags[field.key] || '');
32533
32534         var postfixed = [];
32535         for (var i in tags) {
32536             var m = i.match(new RegExp(field.key + ':([a-zA-Z_-]+)$'));
32537             if (m && m[1]) {
32538                 postfixed.push({ lang: m[1], value: tags[i]});
32539             }
32540         }
32541
32542         localizedInputs.call(render, postfixed.reverse());
32543     };
32544
32545     i.focus = function() {
32546         input.node().focus();
32547     };
32548
32549     i.entity = function(_) {
32550         entity = _;
32551     };
32552
32553     return d3.rebind(i, event, 'on');
32554 };
32555 iD.ui.preset.maxspeed = function(field, context) {
32556
32557     var event = d3.dispatch('change'),
32558         entity,
32559         imperial,
32560         unitInput,
32561         combobox,
32562         input;
32563
32564     var metricValues = [20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
32565         imperialValues = [20, 25, 30, 35, 40, 45, 50, 55, 65, 70];
32566
32567     function maxspeed(selection) {
32568         combobox = d3.combobox();
32569         var unitCombobox = d3.combobox().data(['km/h', 'mph'].map(comboValues));
32570
32571         input = selection.selectAll('#preset-input-' + field.id)
32572             .data([0]);
32573
32574         input.enter().append('input')
32575             .attr('type', 'text')
32576             .attr('id', 'preset-input-' + field.id)
32577             .attr('placeholder', field.placeholder());
32578
32579         input
32580             .call(combobox)
32581             .on('change', change)
32582             .on('blur', change);
32583
32584         var childNodes = context.graph().childNodes(context.entity(entity.id)),
32585             loc = childNodes[~~(childNodes.length/2)].loc;
32586
32587         imperial = _.any(iD.data.imperial.features, function(f) {
32588             return _.any(f.geometry.coordinates, function(d) {
32589                 return iD.geo.pointInPolygon(loc, d[0]);
32590             });
32591         });
32592
32593         unitInput = selection.selectAll('input.maxspeed-unit')
32594             .data([0]);
32595
32596         unitInput.enter().append('input')
32597             .attr('type', 'text')
32598             .attr('class', 'maxspeed-unit');
32599
32600         unitInput
32601             .on('blur', changeUnits)
32602             .on('change', changeUnits)
32603             .call(unitCombobox);
32604
32605         function changeUnits() {
32606             imperial = unitInput.value() === 'mph';
32607             unitInput.value(imperial ? 'mph' : 'km/h');
32608             setSuggestions();
32609             change();
32610         }
32611
32612     }
32613
32614     function setSuggestions() {
32615         combobox.data((imperial ? imperialValues : metricValues).map(comboValues));
32616         unitInput.value(imperial ? 'mph' : 'km/h');
32617     }
32618
32619     function comboValues(d) {
32620         return {
32621             value: d.toString(),
32622             title: d.toString()
32623         };
32624     }
32625
32626     function change() {
32627         var tag = {},
32628             value = input.value();
32629
32630         if (!value) {
32631             tag[field.key] = undefined;
32632         } else if (isNaN(value) || !imperial) {
32633             tag[field.key] = value;
32634         } else {
32635             tag[field.key] = value + ' mph';
32636         }
32637
32638         event.change(tag);
32639     }
32640
32641     maxspeed.tags = function(tags) {
32642         var value = tags[field.key];
32643
32644         if (value && value.indexOf('mph') >= 0) {
32645             value = parseInt(value, 10);
32646             imperial = true;
32647         } else if (value) {
32648             imperial = false;
32649         }
32650
32651         setSuggestions();
32652
32653         input.value(value || '');
32654     };
32655
32656     maxspeed.focus = function() {
32657         input.node().focus();
32658     };
32659
32660     maxspeed.entity = function(_) {
32661         entity = _;
32662     };
32663
32664     return d3.rebind(maxspeed, event, 'on');
32665 };
32666 iD.ui.preset.radio = function(field) {
32667
32668     var event = d3.dispatch('change'),
32669         labels, radios, placeholder;
32670
32671     function radio(selection) {
32672         selection.classed('preset-radio', true);
32673
32674         var wrap = selection.selectAll('.preset-input-wrap')
32675             .data([0]);
32676
32677         var buttonWrap = wrap.enter().append('div')
32678             .attr('class', 'preset-input-wrap toggle-list');
32679
32680         buttonWrap.append('span')
32681             .attr('class', 'placeholder');
32682
32683         placeholder = selection.selectAll('.placeholder');
32684
32685         labels = wrap.selectAll('label')
32686             .data(field.options || field.keys);
32687
32688         var enter = labels.enter().append('label');
32689
32690         enter.append('input')
32691             .attr('type', 'radio')
32692             .attr('name', field.id)
32693             .attr('value', function(d) { return field.t('options.' + d, { 'default': d }); })
32694             .attr('checked', false);
32695
32696         enter.append('span')
32697             .text(function(d) { return field.t('options.' + d, { 'default': d }); });
32698
32699         radios = labels.selectAll('input')
32700             .on('change', change);
32701     }
32702
32703     function change() {
32704         var t = {};
32705         if (field.key) t[field.key] = undefined;
32706         radios.each(function(d) {
32707             var active = d3.select(this).property('checked');
32708             if (field.key) {
32709                 if (active) t[field.key] = d;
32710             } else {
32711                 t[d] = active ? 'yes' : undefined;
32712             }
32713         });
32714         event.change(t);
32715     }
32716
32717     radio.tags = function(tags) {
32718         function checked(d) {
32719             if (field.key) {
32720                 return tags[field.key] === d;
32721             } else {
32722                 return !!(tags[d] && tags[d] !== 'no');
32723             }
32724         }
32725
32726         labels.classed('active', checked);
32727         radios.property('checked', checked);
32728         var selection = radios.filter(function() { return this.checked; });
32729         if (selection.empty()) {
32730             placeholder.text(t('inspector.none'));
32731         } else {
32732             placeholder.text(selection.attr('value'));
32733         }
32734     };
32735
32736     radio.focus = function() {
32737         radios.node().focus();
32738     };
32739
32740     return d3.rebind(radio, event, 'on');
32741 };
32742 iD.ui.preset.restrictions = function(field, context) {
32743     var event = d3.dispatch('change'),
32744         vertexID,
32745         fromNodeID;
32746
32747     function restrictions(selection) {
32748         var wrap = selection.selectAll('.preset-input-wrap')
32749             .data([0]);
32750
32751         var enter = wrap.enter().append('div')
32752             .attr('class', 'preset-input-wrap');
32753
32754         enter.append('div')
32755             .attr('class', 'restriction-help');
32756
32757         enter.append('svg')
32758             .call(iD.svg.Surface(context))
32759             .call(iD.behavior.Hover(context));
32760
32761         var intersection = iD.geo.Intersection(context.graph(), vertexID),
32762             graph = intersection.graph,
32763             vertex = graph.entity(vertexID),
32764             surface = wrap.selectAll('svg'),
32765             filter = function () { return true; },
32766             extent = iD.geo.Extent(),
32767             projection = iD.geo.RawMercator(),
32768             lines = iD.svg.Lines(projection, context),
32769             vertices = iD.svg.Vertices(projection, context),
32770             turns = iD.svg.Turns(projection, context);
32771
32772         var d = wrap.dimensions(),
32773             c = [d[0] / 2, d[1] / 2],
32774             z = 21;
32775
32776         projection
32777             .scale(256 * Math.pow(2, z) / (2 * Math.PI));
32778
32779         var s = projection(vertex.loc);
32780
32781         projection
32782             .translate([c[0] - s[0], c[1] - s[1]])
32783             .clipExtent([[0, 0], d]);
32784
32785         surface
32786             .call(vertices, graph, [vertex], filter, extent, z)
32787             .call(lines, graph, intersection.highways, filter)
32788             .call(turns, graph, intersection.turns(fromNodeID));
32789
32790         surface
32791             .on('click.restrictions', click)
32792             .on('mouseover.restrictions', mouseover)
32793             .on('mouseout.restrictions', mouseout);
32794
32795         surface
32796             .selectAll('.selected')
32797             .classed('selected', false);
32798
32799         if (fromNodeID) {
32800             surface
32801                 .selectAll('.' + _.find(intersection.highways, function(way) { return way.contains(fromNodeID); }).id)
32802                 .classed('selected', true);
32803         }
32804
32805         mouseout();
32806
32807         context.history()
32808             .on('change.restrictions', render);
32809
32810         d3.select(window)
32811             .on('resize.restrictions', render);
32812
32813         function click() {
32814             var datum = d3.event.target.__data__;
32815             if (datum instanceof iD.Entity) {
32816                 fromNodeID = datum.nodes[(datum.first() === vertexID) ? 1 : datum.nodes.length - 2];
32817                 render();
32818             } else if (datum instanceof iD.geo.Turn) {
32819                 if (datum.restriction) {
32820                     context.perform(
32821                         iD.actions.UnrestrictTurn(datum, projection),
32822                         t('operations.restriction.annotation.delete'));
32823                 } else {
32824                     context.perform(
32825                         iD.actions.RestrictTurn(datum, projection),
32826                         t('operations.restriction.annotation.create'));
32827                 }
32828             }
32829         }
32830
32831         function mouseover() {
32832             var datum = d3.event.target.__data__;
32833             if (datum instanceof iD.geo.Turn) {
32834                 var graph = context.graph(),
32835                     presets = context.presets(),
32836                     preset;
32837
32838                 if (datum.restriction) {
32839                     preset = presets.match(graph.entity(datum.restriction), graph);
32840                 } else {
32841                     preset = presets.item('type/restriction/' +
32842                         iD.geo.inferRestriction(
32843                             graph,
32844                             datum.from,
32845                             datum.via,
32846                             datum.to,
32847                             projection));
32848                 }
32849
32850                 wrap.selectAll('.restriction-help')
32851                     .text(t('operations.restriction.help.' +
32852                         (datum.restriction ? 'toggle_off' : 'toggle_on'),
32853                         {restriction: preset.name()}));
32854             }
32855         }
32856
32857         function mouseout() {
32858             wrap.selectAll('.restriction-help')
32859                 .text(t('operations.restriction.help.' +
32860                     (fromNodeID ? 'toggle' : 'select')));
32861         }
32862
32863         function render() {
32864             if (context.hasEntity(vertexID)) {
32865                 restrictions(selection);
32866             }
32867         }
32868     }
32869
32870     restrictions.entity = function(_) {
32871         if (!vertexID || vertexID !== _.id) {
32872             fromNodeID = null;
32873             vertexID = _.id;
32874         }
32875     };
32876
32877     restrictions.tags = function() {};
32878     restrictions.focus = function() {};
32879
32880     return d3.rebind(restrictions, event, 'on');
32881 };
32882 iD.ui.preset.textarea = function(field) {
32883
32884     var event = d3.dispatch('change'),
32885         input;
32886
32887     function i(selection) {
32888         input = selection.selectAll('textarea')
32889             .data([0]);
32890
32891         input.enter().append('textarea')
32892             .attr('id', 'preset-input-' + field.id)
32893             .attr('placeholder', field.placeholder() || t('inspector.unknown'))
32894             .attr('maxlength', 255);
32895
32896         input
32897             .on('blur', change)
32898             .on('change', change);
32899     }
32900
32901     function change() {
32902         var t = {};
32903         t[field.key] = input.value() || undefined;
32904         event.change(t);
32905     }
32906
32907     i.tags = function(tags) {
32908         input.value(tags[field.key] || '');
32909     };
32910
32911     i.focus = function() {
32912         input.node().focus();
32913     };
32914
32915     return d3.rebind(i, event, 'on');
32916 };
32917 iD.ui.preset.wikipedia = function(field, context) {
32918
32919     var event = d3.dispatch('change'),
32920         wikipedia = iD.wikipedia(),
32921         link, entity, lang, title;
32922
32923     function i(selection) {
32924
32925         var langcombo = d3.combobox()
32926             .fetcher(function(value, cb) {
32927                 var v = value.toLowerCase();
32928
32929                 cb(iD.data.wikipedia.filter(function(d) {
32930                     return d[0].toLowerCase().indexOf(v) >= 0 ||
32931                         d[1].toLowerCase().indexOf(v) >= 0 ||
32932                         d[2].toLowerCase().indexOf(v) >= 0;
32933                 }).map(function(d) {
32934                     return { value: d[1] };
32935                 }));
32936             });
32937
32938         var titlecombo = d3.combobox()
32939             .fetcher(function(value, cb) {
32940
32941                 if (!value) value = context.entity(entity.id).tags.name || '';
32942                 var searchfn = value.length > 7 ? wikipedia.search : wikipedia.suggestions;
32943
32944                 searchfn(language()[2], value, function(query, data) {
32945                     cb(data.map(function(d) {
32946                         return { value: d };
32947                     }));
32948                 });
32949             });
32950
32951         lang = selection.selectAll('input.wiki-lang')
32952             .data([0]);
32953
32954         lang.enter().append('input')
32955             .attr('type', 'text')
32956             .attr('class', 'wiki-lang')
32957             .value('English');
32958
32959         lang
32960             .call(langcombo)
32961             .on('blur', changeLang)
32962             .on('change', changeLang);
32963
32964         title = selection.selectAll('input.wiki-title')
32965             .data([0]);
32966
32967         title.enter().append('input')
32968             .attr('type', 'text')
32969             .attr('class', 'wiki-title')
32970             .attr('id', 'preset-input-' + field.id);
32971
32972         title
32973             .call(titlecombo)
32974             .on('blur', change)
32975             .on('change', change);
32976
32977         link = selection.selectAll('a.wiki-link')
32978             .data([0]);
32979
32980         link.enter().append('a')
32981             .attr('class', 'wiki-link button-input-action minor')
32982             .attr('target', '_blank')
32983             .append('span')
32984             .attr('class', 'icon out-link');
32985     }
32986
32987     function language() {
32988         var value = lang.value().toLowerCase();
32989         return _.find(iD.data.wikipedia, function(d) {
32990             return d[0].toLowerCase() === value ||
32991                 d[1].toLowerCase() === value ||
32992                 d[2].toLowerCase() === value;
32993         }) || iD.data.wikipedia[0];
32994     }
32995
32996     function changeLang() {
32997         lang.value(language()[1]);
32998         change();
32999     }
33000
33001     function change() {
33002         var value = title.value(),
33003             m = value.match(/https?:\/\/([a-z]+)\.wikipedia\.org\/wiki\/(.+)/),
33004             l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; });
33005
33006         if (l) {
33007             // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
33008             value = m[2].replace(/_/g, ' ');
33009             value = value.slice(0, 1).toUpperCase() + value.slice(1);
33010             lang.value(l[1]);
33011             title.value(value);
33012         }
33013
33014         var t = {};
33015         t[field.key] = value ? language()[2] + ':' + value : undefined;
33016         event.change(t);
33017     }
33018
33019     i.tags = function(tags) {
33020         var value = tags[field.key] || '',
33021             m = value.match(/([^:]+):(.+)/),
33022             l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; });
33023
33024         // value in correct format
33025         if (l) {
33026             lang.value(l[1]);
33027             title.value(m[2]);
33028             link.attr('href', 'http://' + m[1] + '.wikipedia.org/wiki/' + m[2]);
33029
33030         // unrecognized value format
33031         } else {
33032             title.value(value);
33033             link.attr('href', 'http://en.wikipedia.org/wiki/Special:Search?search=' + value);
33034         }
33035     };
33036
33037     i.entity = function(_) {
33038         entity = _;
33039     };
33040
33041     i.focus = function() {
33042         title.node().focus();
33043     };
33044
33045     return d3.rebind(i, event, 'on');
33046 };
33047 iD.ui.intro.area = function(context, reveal) {
33048
33049     var event = d3.dispatch('done'),
33050         timeout;
33051
33052     var step = {
33053         title: 'intro.areas.title'
33054     };
33055
33056     step.enter = function() {
33057
33058         var playground = [-85.63552, 41.94159],
33059             corner = [-85.63565411045074, 41.9417715536927];
33060         context.map().centerZoom(playground, 19);
33061         reveal('button.add-area', t('intro.areas.add'), {tooltipClass: 'intro-areas-add'});
33062
33063         context.on('enter.intro', addArea);
33064
33065         function addArea(mode) {
33066             if (mode.id !== 'add-area') return;
33067             context.on('enter.intro', drawArea);
33068
33069             var padding = 120 * Math.pow(2, context.map().zoom() - 19);
33070             var pointBox = iD.ui.intro.pad(corner, padding, context);
33071             reveal(pointBox, t('intro.areas.corner'));
33072
33073             context.map().on('move.intro', function() {
33074                 padding = 120 * Math.pow(2, context.map().zoom() - 19);
33075                 pointBox = iD.ui.intro.pad(corner, padding, context);
33076                 reveal(pointBox, t('intro.areas.corner'), {duration: 0});
33077             });
33078         }
33079
33080         function drawArea(mode) {
33081             if (mode.id !== 'draw-area') return;
33082             context.on('enter.intro', enterSelect);
33083
33084             var padding = 150 * Math.pow(2, context.map().zoom() - 19);
33085             var pointBox = iD.ui.intro.pad(playground, padding, context);
33086             reveal(pointBox, t('intro.areas.place'));
33087
33088             context.map().on('move.intro', function() {
33089                 padding = 150 * Math.pow(2, context.map().zoom() - 19);
33090                 pointBox = iD.ui.intro.pad(playground, padding, context);
33091                 reveal(pointBox, t('intro.areas.place'), {duration: 0});
33092             });
33093         }
33094
33095         function enterSelect(mode) {
33096             if (mode.id !== 'select') return;
33097             context.map().on('move.intro', null);
33098             context.on('enter.intro', null);
33099
33100             timeout = setTimeout(function() {
33101                 reveal('.preset-search-input', t('intro.areas.search', {name: context.presets().item('leisure/playground').name()}));
33102                 d3.select('.preset-search-input').on('keyup.intro', keySearch);
33103             }, 500);
33104         }
33105
33106         function keySearch() {
33107             var first = d3.select('.preset-list-item:first-child');
33108             if (first.classed('preset-leisure-playground')) {
33109                 reveal(first.select('.preset-list-button').node(), t('intro.areas.choose'));
33110                 d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
33111                 d3.select('.preset-search-input').on('keyup.intro', null);
33112             }
33113         }
33114
33115         function selectedPreset() {
33116             reveal('.pane', t('intro.areas.describe'));
33117             context.on('exit.intro', event.done);
33118         }
33119     };
33120
33121     step.exit = function() {
33122         window.clearTimeout(timeout);
33123         context.on('enter.intro', null);
33124         context.on('exit.intro', null);
33125         context.history().on('change.intro', null);
33126         context.map().on('move.intro', null);
33127         d3.select('.preset-search-input').on('keyup.intro', null);
33128     };
33129
33130     return d3.rebind(step, event, 'on');
33131 };
33132 iD.ui.intro.line = function(context, reveal) {
33133
33134     var event = d3.dispatch('done'),
33135         timeouts = [];
33136
33137     var step = {
33138         title: 'intro.lines.title'
33139     };
33140
33141     function timeout(f, t) {
33142         timeouts.push(window.setTimeout(f, t));
33143     }
33144
33145     step.enter = function() {
33146
33147         var centroid = [-85.62830, 41.95699];
33148         var midpoint = [-85.62975395449628, 41.95787501510204];
33149         var start = [-85.6297754121684, 41.95805253325314];
33150         var intersection = [-85.62974496187628, 41.95742515554585];
33151
33152         context.map().centerZoom(start, 18);
33153         reveal('button.add-line', t('intro.lines.add'), {tooltipClass: 'intro-lines-add'});
33154
33155         context.on('enter.intro', addLine);
33156
33157         function addLine(mode) {
33158             if (mode.id !== 'add-line') return;
33159             context.on('enter.intro', drawLine);
33160
33161             var padding = 150 * Math.pow(2, context.map().zoom() - 18);
33162             var pointBox = iD.ui.intro.pad(start, padding, context);
33163             reveal(pointBox, t('intro.lines.start'));
33164
33165             context.map().on('move.intro', function() {
33166                 padding = 150 * Math.pow(2, context.map().zoom() - 18);
33167                 pointBox = iD.ui.intro.pad(start, padding, context);
33168                 reveal(pointBox, t('intro.lines.start'), {duration: 0});
33169             });
33170         }
33171
33172         function drawLine(mode) {
33173             if (mode.id !== 'draw-line') return;
33174             context.history().on('change.intro', addIntersection);
33175             context.on('enter.intro', retry);
33176
33177             var padding = 300 * Math.pow(2, context.map().zoom() - 19);
33178             var pointBox = iD.ui.intro.pad(midpoint, padding, context);
33179             reveal(pointBox, t('intro.lines.intersect'));
33180
33181             context.map().on('move.intro', function() {
33182                 padding = 300 * Math.pow(2, context.map().zoom() - 19);
33183                 pointBox = iD.ui.intro.pad(midpoint, padding, context);
33184                 reveal(pointBox, t('intro.lines.intersect'), {duration: 0});
33185             });
33186         }
33187
33188         // ended line before creating intersection
33189         function retry(mode) {
33190             if (mode.id !== 'select') return;
33191             var pointBox = iD.ui.intro.pad(intersection, 30, context);
33192             reveal(pointBox, t('intro.lines.restart'));
33193             timeout(function() {
33194                 context.replace(iD.actions.DeleteMultiple(mode.selectedIDs()));
33195                 step.exit();
33196                 step.enter();
33197             }, 3000);
33198         }
33199
33200         function addIntersection(changes) {
33201             if ( _.any(changes.created(), function(d) {
33202                 return d.type === 'node' && context.graph().parentWays(d).length > 1;
33203             })) {
33204                 context.history().on('change.intro', null);
33205                 context.on('enter.intro', enterSelect);
33206
33207                 var padding = 900 * Math.pow(2, context.map().zoom() - 19);
33208                 var pointBox = iD.ui.intro.pad(centroid, padding, context);
33209                 reveal(pointBox, t('intro.lines.finish'));
33210
33211                 context.map().on('move.intro', function() {
33212                     padding = 900 * Math.pow(2, context.map().zoom() - 19);
33213                     pointBox = iD.ui.intro.pad(centroid, padding, context);
33214                     reveal(pointBox, t('intro.lines.finish'), {duration: 0});
33215                 });
33216             }
33217         }
33218
33219         function enterSelect(mode) {
33220             if (mode.id !== 'select') return;
33221             context.map().on('move.intro', null);
33222             context.on('enter.intro', null);
33223             d3.select('#curtain').style('pointer-events', 'all');
33224
33225             presetCategory();
33226         }
33227
33228         function presetCategory() {
33229             timeout(function() {
33230                 d3.select('#curtain').style('pointer-events', 'none');
33231                 var road = d3.select('.preset-category-road .preset-list-button');
33232                 reveal(road.node(), t('intro.lines.road'));
33233                 road.one('click.intro', roadCategory);
33234             }, 500);
33235         }
33236
33237         function roadCategory() {
33238             timeout(function() {
33239                 var grid = d3.select('.subgrid');
33240                 reveal(grid.node(), t('intro.lines.residential'));
33241                 grid.selectAll(':not(.preset-highway-residential) .preset-list-button')
33242                     .one('click.intro', retryPreset);
33243                 grid.selectAll('.preset-highway-residential .preset-list-button')
33244                     .one('click.intro', roadDetails);
33245             }, 500);
33246         }
33247
33248         // selected wrong road type
33249         function retryPreset() {
33250             timeout(function() {
33251                 var preset = d3.select('.entity-editor-pane .preset-list-button');
33252                 reveal(preset.node(), t('intro.lines.wrong_preset'));
33253                 preset.one('click.intro', presetCategory);
33254             }, 500);
33255         }
33256
33257         function roadDetails() {
33258             reveal('.pane', t('intro.lines.describe'));
33259             context.on('exit.intro', event.done);
33260         }
33261
33262     };
33263
33264     step.exit = function() {
33265         d3.select('#curtain').style('pointer-events', 'none');
33266         timeouts.forEach(window.clearTimeout);
33267         context.on('enter.intro', null);
33268         context.on('exit.intro', null);
33269         context.map().on('move.intro', null);
33270         context.history().on('change.intro', null);
33271     };
33272
33273     return d3.rebind(step, event, 'on');
33274 };
33275 iD.ui.intro.navigation = function(context, reveal) {
33276
33277     var event = d3.dispatch('done'),
33278         timeouts = [];
33279
33280     var step = {
33281         title: 'intro.navigation.title'
33282     };
33283
33284     function set(f, t) {
33285         timeouts.push(window.setTimeout(f, t));
33286     }
33287
33288     /*
33289      * Steps:
33290      * Drag map
33291      * Select poi
33292      * Show editor header
33293      * Show editor pane
33294      * Select road
33295      * Show header
33296      */
33297
33298     step.enter = function() {
33299
33300         var rect = context.surfaceRect(),
33301             map = {
33302                 left: rect.left + 10,
33303                 top: rect.top + 70,
33304                 width: rect.width - 70,
33305                 height: rect.height - 170
33306             };
33307
33308         context.map().centerZoom([-85.63591, 41.94285], 19);
33309
33310         reveal(map, t('intro.navigation.drag'));
33311
33312         context.map().on('move.intro', _.debounce(function() {
33313             context.map().on('move.intro', null);
33314             townhall();
33315             context.on('enter.intro', inspectTownHall);
33316         }, 400));
33317
33318         function townhall() {
33319             var hall = [-85.63645945147184, 41.942986488012565];
33320
33321             var point = context.projection(hall);
33322             if (point[0] < 0 || point[0] > rect.width ||
33323                 point[1] < 0 || point[1] > rect.height) {
33324                 context.map().center(hall);
33325             }
33326
33327             var box = iD.ui.intro.pointBox(hall, context);
33328             reveal(box, t('intro.navigation.select'));
33329
33330             context.map().on('move.intro', function() {
33331                 var box = iD.ui.intro.pointBox(hall, context);
33332                 reveal(box, t('intro.navigation.select'), {duration: 0});
33333             });
33334         }
33335
33336         function inspectTownHall(mode) {
33337             if (mode.id !== 'select') return;
33338             context.on('enter.intro', null);
33339             context.map().on('move.intro', null);
33340             set(function() {
33341                 reveal('.entity-editor-pane', t('intro.navigation.pane'));
33342                 context.on('exit.intro', event.done);
33343             }, 700);
33344         }
33345
33346     };
33347
33348     step.exit = function() {
33349         context.map().on('move.intro', null);
33350         context.on('enter.intro', null);
33351         context.on('exit.intro', null);
33352         timeouts.forEach(window.clearTimeout);
33353     };
33354
33355     return d3.rebind(step, event, 'on');
33356 };
33357 iD.ui.intro.point = function(context, reveal) {
33358
33359     var event = d3.dispatch('done'),
33360         timeouts = [];
33361
33362     var step = {
33363         title: 'intro.points.title'
33364     };
33365
33366     function setTimeout(f, t) {
33367         timeouts.push(window.setTimeout(f, t));
33368     }
33369
33370     step.enter = function() {
33371
33372         context.map().centerZoom([-85.63279, 41.94394], 19);
33373         reveal('button.add-point', t('intro.points.add'), {tooltipClass: 'intro-points-add'});
33374
33375         var corner = [-85.632481,41.944094];
33376
33377         context.on('enter.intro', addPoint);
33378
33379         function addPoint(mode) {
33380             if (mode.id !== 'add-point') return;
33381             context.on('enter.intro', enterSelect);
33382
33383             var pointBox = iD.ui.intro.pad(corner, 150, context);
33384             reveal(pointBox, t('intro.points.place'));
33385
33386             context.map().on('move.intro', function() {
33387                 pointBox = iD.ui.intro.pad(corner, 150, context);
33388                 reveal(pointBox, t('intro.points.place'), {duration: 0});
33389             });
33390
33391         }
33392
33393         function enterSelect(mode) {
33394             if (mode.id !== 'select') return;
33395             context.map().on('move.intro', null);
33396             context.on('enter.intro', null);
33397
33398             setTimeout(function() {
33399                 reveal('.preset-search-input', t('intro.points.search', {name: context.presets().item('amenity/cafe').name()}));
33400                 d3.select('.preset-search-input').on('keyup.intro', keySearch);
33401             }, 500);
33402         }
33403
33404         function keySearch() {
33405             var first = d3.select('.preset-list-item:first-child');
33406             if (first.classed('preset-amenity-cafe')) {
33407                 reveal(first.select('.preset-list-button').node(), t('intro.points.choose'));
33408                 d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
33409
33410                 d3.select('.preset-search-input').on('keydown.intro', function() {
33411                     // Prevent search from updating and changing the grid
33412                     d3.event.stopPropagation();
33413                     d3.event.preventDefault();
33414                 }, true).on('keyup.intro', null);
33415             }
33416         }
33417
33418         function selectedPreset() {
33419             setTimeout(function() {
33420                 reveal('.entity-editor-pane', t('intro.points.describe'), {tooltipClass: 'intro-points-describe'});
33421                 context.history().on('change.intro', closeEditor);
33422                 context.on('exit.intro', selectPoint);
33423             }, 400);
33424         }
33425
33426         function closeEditor() {
33427             d3.select('.preset-search-input').on('keydown.intro', null);
33428             context.history().on('change.intro', null);
33429             reveal('.entity-editor-pane', t('intro.points.close'));
33430         }
33431
33432         function selectPoint() {
33433             context.on('exit.intro', null);
33434             context.history().on('change.intro', null);
33435             context.on('enter.intro', enterReselect);
33436
33437             var pointBox = iD.ui.intro.pad(corner, 150, context);
33438             reveal(pointBox, t('intro.points.reselect'));
33439
33440             context.map().on('move.intro', function() {
33441                 pointBox = iD.ui.intro.pad(corner, 150, context);
33442                 reveal(pointBox, t('intro.points.reselect'), {duration: 0});
33443             });
33444         }
33445
33446         function enterReselect(mode) {
33447             if (mode.id !== 'select') return;
33448             context.map().on('move.intro', null);
33449             context.on('enter.intro', null);
33450
33451             setTimeout(function() {
33452                 reveal('.entity-editor-pane', t('intro.points.fixname'));
33453                 context.on('exit.intro', deletePoint);
33454             }, 500);
33455         }
33456
33457         function deletePoint() {
33458             context.on('exit.intro', null);
33459             context.on('enter.intro', enterDelete);
33460
33461             var pointBox = iD.ui.intro.pad(corner, 150, context);
33462             reveal(pointBox, t('intro.points.reselect_delete'));
33463
33464             context.map().on('move.intro', function() {
33465                 pointBox = iD.ui.intro.pad(corner, 150, context);
33466                 reveal(pointBox, t('intro.points.reselect_delete'), {duration: 0});
33467             });
33468         }
33469
33470         function enterDelete(mode) {
33471             if (mode.id !== 'select') return;
33472             context.map().on('move.intro', null);
33473             context.on('enter.intro', null);
33474             context.on('exit.intro', deletePoint);
33475             context.map().on('move.intro', deletePoint);
33476             context.history().on('change.intro', deleted);
33477
33478             setTimeout(function() {
33479                 var node = d3.select('.radial-menu-item-delete').node();
33480                 var pointBox = iD.ui.intro.pad(node.getBoundingClientRect(), 50, context);
33481                 reveal(pointBox, t('intro.points.delete'));
33482             }, 300);
33483         }
33484
33485         function deleted(changed) {
33486             if (changed.deleted().length) event.done();
33487         }
33488
33489     };
33490
33491     step.exit = function() {
33492         timeouts.forEach(window.clearTimeout);
33493         context.on('exit.intro', null);
33494         context.on('enter.intro', null);
33495         context.map().on('move.intro', null);
33496         context.history().on('change.intro', null);
33497         d3.select('.preset-search-input').on('keyup.intro', null).on('keydown.intro', null);
33498     };
33499
33500     return d3.rebind(step, event, 'on');
33501 };
33502 iD.ui.intro.startEditing = function(context, reveal) {
33503
33504     var event = d3.dispatch('done', 'startEditing'),
33505         modal,
33506         timeouts = [];
33507
33508     var step = {
33509         title: 'intro.startediting.title'
33510     };
33511
33512     function timeout(f, t) {
33513         timeouts.push(window.setTimeout(f, t));
33514     }
33515
33516     step.enter = function() {
33517
33518         reveal('.map-control.help-control', t('intro.startediting.help'));
33519
33520         timeout(function() {
33521             reveal('#bar button.save', t('intro.startediting.save'));
33522         }, 3500);
33523
33524         timeout(function() {
33525             reveal('#surface');
33526         }, 7000);
33527
33528         timeout(function() {
33529             modal = iD.ui.modal(context.container());
33530
33531             modal.select('.modal')
33532                 .attr('class', 'modal-splash modal col6');
33533
33534             modal.selectAll('.close').remove();
33535
33536             var startbutton = modal.select('.content')
33537                 .attr('class', 'fillL')
33538                     .append('button')
33539                         .attr('class', 'modal-section huge-modal-button')
33540                         .on('click', function() {
33541                                 modal.remove();
33542                         });
33543
33544                 startbutton.append('div')
33545                     .attr('class','illustration');
33546                 startbutton.append('h2')
33547                     .text(t('intro.startediting.start'));
33548
33549             event.startEditing();
33550
33551         }, 7500);
33552     };
33553
33554     step.exit = function() {
33555         if (modal) modal.remove();
33556         timeouts.forEach(window.clearTimeout);
33557     };
33558
33559     return d3.rebind(step, event, 'on');
33560 };
33561 iD.presets = function() {
33562
33563     // an iD.presets.Collection with methods for
33564     // loading new data and returning defaults
33565
33566     var all = iD.presets.Collection([]),
33567         defaults = { area: all, line: all, point: all, vertex: all, relation: all },
33568         fields = {},
33569         universal = [],
33570         recent = iD.presets.Collection([]);
33571
33572     // Index of presets by (geometry, tag key).
33573     var index = {
33574         point: {},
33575         vertex: {},
33576         line: {},
33577         area: {},
33578         relation: {}
33579     };
33580
33581     all.match = function(entity, resolver) {
33582         var geometry = entity.geometry(resolver),
33583             geometryMatches = index[geometry],
33584             best = -1,
33585             match;
33586
33587         for (var k in entity.tags) {
33588             var keyMatches = geometryMatches[k];
33589             if (!keyMatches) continue;
33590
33591             for (var i = 0; i < keyMatches.length; i++) {
33592                 var score = keyMatches[i].matchScore(entity);
33593                 if (score > best) {
33594                     best = score;
33595                     match = keyMatches[i];
33596                 }
33597             }
33598         }
33599
33600         return match || all.item(geometry);
33601     };
33602
33603     // Because of the open nature of tagging, iD will never have a complete
33604     // list of tags used in OSM, so we want it to have logic like "assume
33605     // that a closed way with an amenity tag is an area, unless the amenity
33606     // is one of these specific types". This function computes a structure
33607     // that allows testing of such conditions, based on the presets designated
33608     // as as supporting (or not supporting) the area geometry.
33609     //
33610     // The returned object L is a whitelist/blacklist of tags. A closed way
33611     // with a tag (k, v) is considered to be an area if `k in L && !(v in L[k])`
33612     // (see `iD.Way#isArea()`). In other words, the keys of L form the whitelist,
33613     // and the subkeys form the blacklist.
33614     all.areaKeys = function() {
33615         var areaKeys = {};
33616
33617         all.collection.forEach(function(d) {
33618             if (d.suggestion) return;
33619
33620             for (var key in d.tags) break;
33621             if (!key) return;
33622             var value = d.tags[key];
33623
33624             if (['highway', 'footway', 'railway', 'type'].indexOf(key) === -1) {
33625                 if (d.geometry.indexOf('area') >= 0) {
33626                     areaKeys[key] = areaKeys[key] || {};
33627                 } else if (key in areaKeys && value !== '*') {
33628                     areaKeys[key][value] = true;
33629                 }
33630             }
33631         });
33632
33633         return areaKeys;
33634     };
33635
33636     all.load = function(d) {
33637
33638         if (d.fields) {
33639             _.forEach(d.fields, function(d, id) {
33640                 fields[id] = iD.presets.Field(id, d);
33641                 if (d.universal) universal.push(fields[id]);
33642             });
33643         }
33644
33645         if (d.presets) {
33646             _.forEach(d.presets, function(d, id) {
33647                 all.collection.push(iD.presets.Preset(id, d, fields));
33648             });
33649         }
33650
33651         if (d.categories) {
33652             _.forEach(d.categories, function(d, id) {
33653                 all.collection.push(iD.presets.Category(id, d, all));
33654             });
33655         }
33656
33657         if (d.defaults) {
33658             var getItem = _.bind(all.item, all);
33659             defaults = {
33660                 area: iD.presets.Collection(d.defaults.area.map(getItem)),
33661                 line: iD.presets.Collection(d.defaults.line.map(getItem)),
33662                 point: iD.presets.Collection(d.defaults.point.map(getItem)),
33663                 vertex: iD.presets.Collection(d.defaults.vertex.map(getItem)),
33664                 relation: iD.presets.Collection(d.defaults.relation.map(getItem))
33665             };
33666         }
33667
33668         for (var i = 0; i < all.collection.length; i++) {
33669             var preset = all.collection[i],
33670                 geometry = preset.geometry;
33671
33672             for (var j = 0; j < geometry.length; j++) {
33673                 var g = index[geometry[j]];
33674                 for (var k in preset.tags) {
33675                     (g[k] = g[k] || []).push(preset);
33676                 }
33677             }
33678         }
33679
33680         return all;
33681     };
33682
33683     all.field = function(id) {
33684         return fields[id];
33685     };
33686
33687     all.universal = function() {
33688         return universal;
33689     };
33690
33691     all.defaults = function(geometry, n) {
33692         var rec = recent.matchGeometry(geometry).collection.slice(0, 4),
33693             def = _.uniq(rec.concat(defaults[geometry].collection)).slice(0, n - 1);
33694         return iD.presets.Collection(_.unique(rec.concat(def).concat(all.item(geometry))));
33695     };
33696
33697     all.choose = function(preset) {
33698         if (!preset.isFallback()) {
33699             recent = iD.presets.Collection(_.unique([preset].concat(recent.collection)));
33700         }
33701         return all;
33702     };
33703
33704     return all;
33705 };
33706 iD.presets.Category = function(id, category, all) {
33707     category = _.clone(category);
33708
33709     category.id = id;
33710
33711     category.members = iD.presets.Collection(category.members.map(function(id) {
33712         return all.item(id);
33713     }));
33714
33715     category.matchGeometry = function(geometry) {
33716         return category.geometry.indexOf(geometry) >= 0;
33717     };
33718
33719     category.matchScore = function() { return -1; };
33720
33721     category.name = function() {
33722         return t('presets.categories.' + id + '.name', {'default': id});
33723     };
33724
33725     category.terms = function() {
33726         return [];
33727     };
33728
33729     return category;
33730 };
33731 iD.presets.Collection = function(collection) {
33732
33733     var maxSearchResults = 50,
33734         maxSuggestionResults = 10;
33735
33736     var presets = {
33737
33738         collection: collection,
33739
33740         item: function(id) {
33741             return _.find(collection, function(d) {
33742                 return d.id === id;
33743             });
33744         },
33745
33746         matchGeometry: function(geometry) {
33747             return iD.presets.Collection(collection.filter(function(d) {
33748                 return d.matchGeometry(geometry);
33749             }));
33750         },
33751
33752         search: function(value, geometry) {
33753             if (!value) return this;
33754
33755             value = value.toLowerCase();
33756
33757             var searchable = _.filter(collection, function(a) {
33758                 return a.searchable !== false && a.suggestion !== true;
33759             }),
33760             suggestions = _.filter(collection, function(a) {
33761                 return a.suggestion === true;
33762             });
33763
33764             // matches value to preset.name
33765             var leading_name = _.filter(searchable, function(a) {
33766                     return leading(a.name().toLowerCase());
33767                 }).sort(function(a, b) {
33768                     var i = a.name().toLowerCase().indexOf(value) - b.name().toLowerCase().indexOf(value);
33769                     if (i === 0) return a.name().length - b.name().length;
33770                     else return i;
33771                 });
33772
33773             // matches value to preset.terms values
33774             var leading_terms = _.filter(searchable, function(a) {
33775                 return _.any(a.terms() || [], leading);
33776             });
33777
33778             function leading(a) {
33779                 var index = a.indexOf(value);
33780                 return index === 0 || a[index - 1] === ' ';
33781             }
33782
33783             // finds close matches to value in preset.name
33784             var levenstein_name = searchable.map(function(a) {
33785                     return {
33786                         preset: a,
33787                         dist: iD.util.editDistance(value, a.name().toLowerCase())
33788                     };
33789                 }).filter(function(a) {
33790                     return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
33791                 }).sort(function(a, b) {
33792                     return a.dist - b.dist;
33793                 }).map(function(a) {
33794                     return a.preset;
33795                 });
33796
33797             // finds close matches to value in preset.terms
33798             var leventstein_terms = _.filter(searchable, function(a) {
33799                     return _.any(a.terms() || [], function(b) {
33800                         return iD.util.editDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
33801                     });
33802                 });
33803
33804             function suggestionName(name) {
33805                 var nameArray = name.split(' - ');
33806                 if (nameArray.length > 1) {
33807                     name = nameArray.slice(0, nameArray.length-1).join(' - ');
33808                 }
33809                 return name.toLowerCase();
33810             }
33811
33812             var leading_suggestions = _.filter(suggestions, function(a) {
33813                     return leading(suggestionName(a.name()));
33814                 }).sort(function(a, b) {
33815                     a = suggestionName(a.name());
33816                     b = suggestionName(b.name());
33817                     var i = a.indexOf(value) - b.indexOf(value);
33818                     if (i === 0) return a.length - b.length;
33819                     else return i;
33820                 });
33821
33822             var leven_suggestions = suggestions.map(function(a) {
33823                     return {
33824                         preset: a,
33825                         dist: iD.util.editDistance(value, suggestionName(a.name()))
33826                     };
33827                 }).filter(function(a) {
33828                     return a.dist + Math.min(value.length - suggestionName(a.preset.name()).length, 0) < 1;
33829                 }).sort(function(a, b) {
33830                     return a.dist - b.dist;
33831                 }).map(function(a) {
33832                     return a.preset;
33833                 });
33834
33835             var other = presets.item(geometry);
33836
33837             var results = leading_name.concat(
33838                             leading_terms,
33839                             leading_suggestions.slice(0, maxSuggestionResults+5),
33840                             levenstein_name,
33841                             leventstein_terms,
33842                             leven_suggestions.slice(0, maxSuggestionResults)
33843                         ).slice(0, maxSearchResults-1);
33844
33845             return iD.presets.Collection(_.unique(
33846                     results.concat(other)
33847                 ));
33848         }
33849     };
33850
33851     return presets;
33852 };
33853 iD.presets.Field = function(id, field) {
33854     field = _.clone(field);
33855
33856     field.id = id;
33857
33858     field.matchGeometry = function(geometry) {
33859         return !field.geometry || field.geometry === geometry;
33860     };
33861
33862     field.t = function(scope, options) {
33863         return t('presets.fields.' + id + '.' + scope, options);
33864     };
33865
33866     field.label = function() {
33867         return field.t('label', {'default': id});
33868     };
33869
33870     var placeholder = field.placeholder;
33871     field.placeholder = function() {
33872         return field.t('placeholder', {'default': placeholder});
33873     };
33874
33875     return field;
33876 };
33877 iD.presets.Preset = function(id, preset, fields) {
33878     preset = _.clone(preset);
33879
33880     preset.id = id;
33881     preset.fields = (preset.fields || []).map(getFields);
33882
33883     function getFields(f) {
33884         return fields[f];
33885     }
33886
33887     preset.matchGeometry = function(geometry) {
33888         return preset.geometry.indexOf(geometry) >= 0;
33889     };
33890
33891     var matchScore = preset.matchScore || 1;
33892     preset.matchScore = function(entity) {
33893         var tags = preset.tags,
33894             score = 0;
33895
33896         for (var t in tags) {
33897             if (entity.tags[t] === tags[t]) {
33898                 score += matchScore;
33899             } else if (tags[t] === '*' && t in entity.tags) {
33900                 score += matchScore / 2;
33901             } else {
33902                 return -1;
33903             }
33904         }
33905
33906         return score;
33907     };
33908
33909     preset.t = function(scope, options) {
33910         return t('presets.presets.' + id + '.' + scope, options);
33911     };
33912
33913     var name = preset.name;
33914     preset.name = function() {
33915         if (preset.suggestion) {
33916             id = id.split('/');
33917             id = id[0] + '/' + id[1];
33918             return name + ' - ' + t('presets.presets.' + id + '.name');
33919         }
33920         return preset.t('name', {'default': name});
33921     };
33922
33923     preset.terms = function() {
33924         return preset.t('terms', {'default': ''}).split(',');
33925     };
33926
33927     preset.isFallback = function() {
33928         return Object.keys(preset.tags).length === 0;
33929     };
33930
33931     preset.reference = function(geometry) {
33932         var key = Object.keys(preset.tags)[0],
33933             value = preset.tags[key];
33934
33935         if (geometry === 'relation' && key === 'type') {
33936             return { rtype: value };
33937         } else if (value === '*') {
33938             return { key: key };
33939         } else {
33940             return { key: key, value: value };
33941         }
33942     };
33943
33944     var removeTags = preset.removeTags || preset.tags;
33945     preset.removeTags = function(tags, geometry) {
33946         tags = _.omit(tags, _.keys(removeTags));
33947
33948         for (var f in preset.fields) {
33949             var field = preset.fields[f];
33950             if (field.matchGeometry(geometry) && field['default'] === tags[field.key]) {
33951                 delete tags[field.key];
33952             }
33953         }
33954
33955         return tags;
33956     };
33957
33958     var applyTags = preset.addTags || preset.tags;
33959     preset.applyTags = function(tags, geometry) {
33960         var k;
33961
33962         tags = _.clone(tags);
33963
33964         for (k in applyTags) {
33965             if (applyTags[k] === '*') {
33966                 tags[k] = 'yes';
33967             } else {
33968                 tags[k] = applyTags[k];
33969             }
33970         }
33971
33972         // Add area=yes if necessary
33973         for (k in applyTags) {
33974             if (geometry === 'area' && !(k in iD.areaKeys))
33975                 tags.area = 'yes';
33976             break;
33977         }
33978
33979         for (var f in preset.fields) {
33980             var field = preset.fields[f];
33981             if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field['default']) {
33982                 tags[field.key] = field['default'];
33983             }
33984         }
33985
33986         return tags;
33987     };
33988
33989     return preset;
33990 };
33991 iD.validate = function(changes, graph) {
33992     var warnings = [];
33993
33994     // https://github.com/openstreetmap/josm/blob/mirror/src/org/
33995     // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80
33996     function tagSuggestsArea(change) {
33997         if (_.isEmpty(change.tags)) return false;
33998         var tags = change.tags;
33999         var presence = ['landuse', 'amenities', 'tourism', 'shop'];
34000         for (var i = 0; i < presence.length; i++) {
34001             if (tags[presence[i]] !== undefined) {
34002                 return presence[i] + '=' + tags[presence[i]];
34003             }
34004         }
34005         if (tags.building && tags.building === 'yes') return 'building=yes';
34006     }
34007
34008     if (changes.deleted.length > 100) {
34009         warnings.push({
34010             message: t('validations.many_deletions', { n: changes.deleted.length })
34011         });
34012     }
34013
34014     for (var i = 0; i < changes.created.length; i++) {
34015         var change = changes.created[i],
34016             geometry = change.geometry(graph);
34017
34018         if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) {
34019             warnings.push({
34020                 message: t('validations.untagged_' + geometry),
34021                 tooltip: t('validations.untagged_' + geometry + '_tooltip'),
34022                 entity: change
34023             });
34024         }
34025
34026         var deprecatedTags = change.deprecatedTags();
34027         if (!_.isEmpty(deprecatedTags)) {
34028             warnings.push({
34029                 message: t('validations.deprecated_tags', {
34030                     tags: iD.util.tagText({ tags: deprecatedTags })
34031                 }), entity: change });
34032         }
34033
34034         if (geometry === 'line' && tagSuggestsArea(change)) {
34035             warnings.push({
34036                 message: t('validations.tag_suggests_area', {tag: tagSuggestsArea(change)}),
34037                 entity: change
34038             });
34039         }
34040     }
34041
34042     return warnings;
34043 };
34044 /* jshint ignore:start */
34045 })();
34046 window.locale = { _current: 'en' };
34047
34048 locale.current = function(_) {
34049     if (!arguments.length) return locale._current;
34050     if (locale[_] !== undefined) locale._current = _;
34051     else if (locale[_.split('-')[0]]) locale._current = _.split('-')[0];
34052     return locale;
34053 };
34054
34055 function t(s, o, loc) {
34056     loc = loc || locale._current;
34057
34058     var path = s.split(".").reverse(),
34059         rep = locale[loc];
34060
34061     while (rep !== undefined && path.length) rep = rep[path.pop()];
34062
34063     if (rep !== undefined) {
34064         if (o) for (var k in o) rep = rep.replace('{' + k + '}', o[k]);
34065         return rep;
34066     }
34067
34068     if (loc !== 'en') {
34069         return t(s, o, 'en');
34070     }
34071
34072     if (o && 'default' in o) {
34073         return o['default'];
34074     }
34075
34076     var missing = 'Missing ' + loc + ' translation: ' + s;
34077     if (typeof console !== "undefined") console.error(missing);
34078
34079     return missing;
34080 }
34081 iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:09Z","tags":{}},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:31Z","tags":{}},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:09Z","tags":{}},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:31Z","tags":{}},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:40Z","tags":{}},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:52Z","tags":{}},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:50Z","tags":{}},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834],"version":"3","changeset":"5841745","user":"themps","uid":"196173","visible":"true","timestamp":"2010-09-22T00:20:34Z","tags":{}},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:26Z","tags":{}},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:05Z","tags":{}},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"w208643102":{"id":"w208643102","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:04Z","tags":{"highway":"residential","name":"Millard St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Millard","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312476:15312477:15312478:15326070:15326071:15329003:15329004:15312479:15312480:15312483:15326956:15326957:15312485:15312486:15322600:15325988","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","version":"10","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:50Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312474:15312448","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:25Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:10Z","tags":{"highway":"residential","name":"N Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313197:15312414:15312395","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312508:15312529:15312553:15312597:15328883:15338803","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","version":"2","changeset":"14896694","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:01:36Z","tags":{"highway":"residential","name":"South St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","version":"2","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:19Z","tags":{"highway":"residential","name":"South St","oneway":"yes","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:03Z","tags":{"highway":"residential","name":"N Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312348:15312365:15312422:15312392","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:28Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312445","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","version":"2","changeset":"15128027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-22T20:03:31Z","tags":{"addr:state":"MI","amenity":"library","area":"yes","building":"yes","ele":"249","gnis:county_name":"St. Joseph","gnis:feature_id":"2418162","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Public Library","source":"USGS Geonames"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312475:15312449","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:43:58Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15330300:15312522:15312547:15330299:15312603:15312571:15331740","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:27Z","tags":{"highway":"residential","name":"N Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312300","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:49Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312526:15312511:15312550:15312601:15312998:15312626:15312574:15328327:15328328:15313210","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:27Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312509:15312524:15312549:15312605:15329008:15312572","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:07Z","tags":{"highway":"residential","name":"N Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313196:15312424:15312394","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","version":"2","changeset":"13612265","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-24T04:10:54Z","tags":{"is_in:state":"MI","modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","version":"21","changeset":"15347356","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T03:41:02Z","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"version":"2","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"addr:state":"MI","amenity":"fire_station","ele":"245","gnis:county_name":"St. Joseph","gnis:feature_id":"2417894","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Fire Department","source":"USGS Geonames"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217],"version":"2","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:29Z","tags":{}},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:57Z","tags":{}},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:58Z","tags":{}},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:21Z","tags":{}},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:22Z","tags":{}},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:24Z","tags":{}},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:27Z","tags":{}},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746],"version":"1","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w203974076":{"id":"w203974076","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","version":"5","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:30Z","tags":{"name":"St Joseph River","source":"Bing Imagery","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:22:17Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331667","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","version":"2","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:26Z","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","version":"2","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326005:15326006","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"South Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","version":"3","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:30Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","version":"7","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"tertiary","name":"South Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","version":"5","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:53Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","version":"3","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:15Z","tags":{"highway":"residential","name":"Thomas Street","source":"Bing"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"Spring Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Spring","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324560:15329061:15329062:15333515:15333516:15333517:15328802:15312982:15312984:15312980:15326010:15326011:15313203:15322169:15324562:15312971:15312973:15312977:15328799:15328907:15328908:15322175:15329059:15333626:15333627:15325105:15322549:15337756:153","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","version":"2","changeset":"15287771","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T21:56:30Z","tags":{"area":"yes","ele":"241","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417887","gnis:state_id":"26","leisure":"park","name":"Scidmore Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","version":"4","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:29Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:05Z","tags":{"highway":"tertiary","name":"Constantine St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w17968193":{"id":"w17968193","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:35Z","tags":{"highway":"residential","name":"French St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"French","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312389:15312396","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:03Z","tags":{"highway":"residential","name":"Pealer St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pealer","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312363:15312366:15312367:15312368:15325990:15325991:15324554","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:36:24Z","tags":{"highway":"residential","name":"Yauney St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Yauney","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312346:15312347","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:26Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624726","gnis:state_id":"26","name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:12:53Z","tags":{"amenity":"post_office","ele":"248","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418163","gnis:state_id":"26","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044],"version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{}},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392],"version":"1","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{}},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:29Z","tags":{}},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:41Z","tags":{}},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:05Z","tags":{}},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:21Z","tags":{}},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:09Z","tags":{}},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783],"version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:00Z","tags":{}},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:47Z","tags":{}},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:31Z","tags":{}},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:14Z","tags":{}},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783],"version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308],"version":"1","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"w203970139":{"id":"w203970139","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:39Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:18Z","tags":{"highway":"residential","name":"Water St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Foster St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Foster","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312360","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","version":"3","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","version":"2","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:53Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","version":"2","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","version":"3","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Railroad Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Railroad","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","version":"3","changeset":"13675000","user":"NE2","uid":"207745","visible":"true","timestamp":"2012-10-29T15:08:54Z","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Portage Avenue","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Portage","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","version":"7","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_left_1":"49093","tiger:zip_right":"49093","tiger:zip_right_1":"49093"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","version":"6","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"West","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:07Z","tags":{"amenity":"school","ele":"246","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/21/2008","gnis:feature_id":"1624371","gnis:state_id":"26","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:02Z","tags":{}},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:51Z","tags":{}},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:05Z","tags":{}},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"w17964989":{"id":"w17964989","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:33:37Z","tags":{"highway":"residential","name":"Middle St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Middle","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312433:15328741:15312403:15312465","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"access":"private","highway":"service","name":"Battle St","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Battle","tiger:name_type":"St","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313281","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313726","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335065","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","version":"2","changeset":"15473162","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:43:17Z","tags":{"highway":"residential","name":"Washington St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Washington","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:23Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:18Z","tags":{"highway":"residential","name":"Wood St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wood","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313653:15313659:15313679:15314060","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:23Z","tags":{"highway":"residential","name":"4th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314053:15314054:15313697:15313698:15313700:15313701:15313699:15314427","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:10:58Z","tags":{"ele":"243","gnis:county_id":"149","gnis:created":"03/21/2008","gnis:feature_id":"2401246","gnis:state_id":"26","leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:21Z","tags":{"amenity":"place_of_worship","ele":"245","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417881","gnis:state_id":"26","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"w208643145":{"id":"w208643145","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:21Z","tags":{"highway":"residential","name":"Garden St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Garden","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312361:15322884:15322885","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:00Z","tags":{"highway":"residential","name":"John Glenn Ct","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"John Glenn","tiger:name_type":"Ct","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313190","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Water Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:57Z","tags":{"highway":"residential","name":"River Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312440:15338837","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"bridge":"yes","highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","version":"3","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","version":"8","changeset":"13611326","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-23T23:35:16Z","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:15Z","tags":{}},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:34Z","tags":{}},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:12Z","tags":{}},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:27Z","tags":{}},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:57:55Z","tags":{}},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:34Z","tags":{}},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:49Z","tags":{}},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:56Z","tags":{}},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:02Z","tags":{}},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:07Z","tags":{}},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592],"version":"1","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:36Z","tags":{}},"w17967539":{"id":"w17967539","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:28Z","tags":{"highway":"residential","name":"1st Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"1st","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335113:15313280","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:03Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312481:15312487","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:20Z","tags":{"highway":"residential","name":"9th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314207:15313759:15313772:15313802:15313796:15313781:15314179","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:37Z","tags":{"highway":"residential","name":"Mechanic St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Mechanic","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312501:15312497:15335073","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"bridge":"yes","highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:21Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:09Z","tags":{"highway":"residential","name":"Green St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Green","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314409","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"name":"Michigan Central Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan Central Railroad","tiger:reviewed":"no"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:19Z","tags":{"name":"Conrail Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314180:15314177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"8th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313757:15313771:15313791:15313794:15313799:15313811:15313814:15313824:15313846:15314618:15313817:15313788:15314178:15324590","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:36Z","tags":{}},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:22Z","tags":{}},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:25Z","tags":{}},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:03Z","tags":{}},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:01Z","tags":{}},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:43Z","tags":{}},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"w208640158":{"id":"w208640158","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","version":"9","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"area":"yes","leisure":"park","name":"Conservation Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","version":"3","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312976","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:06Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:17Z","tags":{"highway":"residential","name":"5th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312495","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:10Z","tags":{"highway":"residential","name":"4th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313205","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:41Z","tags":{}},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"w17964531":{"id":"w17964531","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:22Z","tags":{"highway":"residential","name":"Willow Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Willow","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313189","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Elm Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Elm","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Walnut Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Walnut","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:07Z","tags":{}},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"w17967535":{"id":"w17967535","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:19Z","tags":{"highway":"residential","name":"10th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"10th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313652:15313654","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:15Z","tags":{"highway":"residential","name":"6th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313681:15313682:15329115:15329116:15330465:15330466","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"highway":"residential","name":"8th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313660","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:03Z","tags":{"highway":"residential","name":"7th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"7th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313667:15314407","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:41Z","tags":{"highway":"residential","name":"9th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313656","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127],"version":"4","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214],"version":"2","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:04Z","tags":{}},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:30Z","tags":{}},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:34Z","tags":{}},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:34Z","tags":{}},"w17963211":{"id":"w17963211","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:23:06Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313193","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:10Z","tags":{"highway":"residential","name":"Arnold St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Arnold","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327930:15324550:15312304:15324551","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:53:22Z","tags":{"highway":"residential","name":"Pierson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pierson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313265:15312333:15324553","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:56Z","tags":{"highway":"residential","name":"Oak St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Oak","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331522","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631],"version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{}},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:25Z","tags":{"amenity":"place_of_worship","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417877","gnis:state_id":"26","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:24Z","tags":{"amenity":"place_of_worship","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417879","gnis:state_id":"26","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:58Z","tags":{}},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:17Z","tags":{"highway":"residential","name":"W Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417878","gnis:state_id":"26","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"Maple Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Maple","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"W Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"East","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:14Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312338","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418164","gnis:state_id":"26","leisure":"park","name":"LaFayette Park","source":"Bing"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417880","gnis:state_id":"26","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"amenity":"school","ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/22/2008","gnis:feature_id":"1624612","gnis:state_id":"26","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269],"version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:19Z","tags":{"amenity":"place_of_worship","ele":"246","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417869","gnis:state_id":"26","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"version":"1","changeset":"871579","user":"amillar","uid":"28145","visible":"true","timestamp":"2009-03-31T07:45:44Z","tags":{"addr:state":"MI","building":"yes","ele":"247","gnis:county_name":"St. Joseph","gnis:feature_id":"2418176","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"George Washington Carver Community Center","source":"USGS Geonames"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:41Z","tags":{}},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:45Z","tags":{}},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"w17966773":{"id":"w17966773","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:43Z","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313712","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","version":"3","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:19Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326065:15326068","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313719:15313728:15331618","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:05Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326058:15326066:15326067","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313714:15313704:15313720:15313721","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313713:15313734:15313731:15313735:15313737:15313723","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:52Z","tags":{"amenity":"grave_yard","ele":"249","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624862","gnis:state_id":"26","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:02Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326063:15326064","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313715:15313706:15328746:15313727:15313729","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:41Z","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Jefferson","tiger:name_base_1":"State Highway 60","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313637:15313662:15313657:15328403","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","version":"4","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313710:15313711:15314052:15312385:15312378","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369],"version":"1","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"w203983952":{"id":"w203983952","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","version":"2","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"highway":"residential","name":"Whipple St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Whipple","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:56Z","tags":{"highway":"residential","name":"Jackson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Jackson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314430","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"area":"yes","leisure":"park","name":"Marina Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","version":"2","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{"highway":"residential","name":"14th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"14th","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:08Z","tags":{}},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:48Z","tags":{}},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"w17967573":{"id":"w17967573","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"E Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","version":"5","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"East Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Pine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627223":{"id":"w208627223","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624408","gnis:state_id":"26","leisure":"park","name":"Bowman Park","source":"Bing"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417886","gnis:state_id":"26","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:06Z","tags":{"highway":"residential","name":"W Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312250:15312254","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"w17964707":{"id":"w17964707","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:31:34Z","tags":{"highway":"residential","name":"11th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"11th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314405","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:23Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624607","gnis:state_id":"26","landuse":"reservoir","name":"Hoffman Pond","natural":"water","source":"Bing"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","version":"2","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{}},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864],"version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:47:47Z","tags":{}},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263],"version":"2","changeset":"12747630","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-16T08:22:38Z","tags":{}},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"w209717053":{"id":"w209717053","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","name":"Manufacturing Way","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manufacturing","tiger:name_type":"Way","tiger:reviewed":"no"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","version":"7","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:19Z","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312195:15312958:15312207:15313273:15328372:15328373","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:04Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312230:15312252:15335064:15333550","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","version":"2","changeset":"14979874","user":"malenki","uid":"39504","visible":"true","timestamp":"2013-02-10T12:18:08Z","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","is_in":"USA, Michigan","is_in:country":"USA","is_in:country_code":"US","is_in:iso_3166_2":"US:MI","is_in:state":"Michigan","is_in:state_code":"MI","name":"Three Rivers","place":"city","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)","tiger:CLASSFP":"C5","tiger:CPI":"Y","tiger:FUNCSTAT":"A","tiger:LSAD":"25","tiger:MTFCC":"G4110","tiger:NAME":"Three Rivers","tiger:NAMELSAD":"Three Rivers city","tiger:PCICBSA":"N","tiger:PCINECTA":"N","tiger:PLACEFP":"79760","tiger:PLACENS":"01627164","tiger:PLCIDFP":"2679760","tiger:STATEFP":"26","type":"boundary","wikipedia":"en:Three Rivers, Michigan"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"w208627217":{"id":"w208627217","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{"building":"yes","source":"Bing"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:31Z","tags":{}},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:26Z","tags":{"amenity":"place_of_worship","denomination":"baptist","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417873","gnis:state_id":"26","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"w17965351":{"id":"w17965351","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"residential","name":"Flower Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Flower","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Azaleamum Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Azaleamum","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"w17966214":{"id":"w17966214","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Adams Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:32:05Z","tags":{"highway":"residential","name":"Morris Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Morris","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312148:15328241:15328242","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:11Z","tags":{}},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627244":{"id":"w208627244","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:44Z","tags":{"highway":"residential","name":"Lyman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lyman","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313234","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:57Z","tags":{"highway":"residential","name":"W Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:20Z","tags":{"highway":"residential","name":"Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312180","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Armstrong Blvd","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armstrong","tiger:name_type":"Blvd","tiger:reviewed":"no"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:29Z","tags":{}},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"w17965196":{"id":"w17965196","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:10Z","tags":{"highway":"residential","name":"Burke Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Burke","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312145","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Kellogg Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kellogg","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"Barnard Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Barnard","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"w91092312":{"id":"w91092312","version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:12Z","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"w17966857":{"id":"w17966857","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:55Z","tags":{"access":"private","highway":"service","name":"Sable River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sable River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326128","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:42Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314404","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:09Z","tags":{"access":"private","highway":"service","name":"Pine River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326123","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:16Z","tags":{"access":"private","highway":"service","name":"Raisin River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Raisin River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326112","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Shiawassee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326124:15326125:15326111:15326113:15326119","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sturgeon River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326117","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:58Z","tags":{}},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:23Z","tags":{}},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:41Z","tags":{}},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:42Z","tags":{}},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:45Z","tags":{}},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:46Z","tags":{}},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"w203968015":{"id":"w203968015","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","version":"2","changeset":"14531170","user":"bot-mode","uid":"451693","visible":"true","timestamp":"2013-01-04T21:15:18Z","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Buckhorn","tiger:name_base_1":"County Highway 122","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234],"version":"2","changeset":"15306911","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:57:21Z","tags":{}},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"w170843846":{"id":"w170843846","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{"source":"Bing","waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","version":"1","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:46Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:44Z","tags":{}},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:32Z","tags":{}},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:11Z","tags":{}},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"w203838284":{"id":"w203838284","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:42Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"access":"private","highway":"service","name":"Collins Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Collins","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313686","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","version":"3","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:46Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335181","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","version":"4","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331535","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:44Z","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","version":"1","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:37Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:01Z","tags":{}},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"w17965307":{"id":"w17965307","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:58Z","tags":{"highway":"residential","name":"Bates Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bates","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313640:15313641","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:16Z","tags":{"highway":"residential","name":"Krum Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Krum","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313643","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:11Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:10Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313629","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:55Z","tags":{"highway":"residential","name":"Clausen Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Clausen","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313630:15313631:15313632","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:54Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327962","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:52Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:10Z","tags":{"access":"private","highway":"service","name":"Lockport Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Lockport","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313621:15314402","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:57Z","tags":{"highway":"residential","name":"Angell Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Angell","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313639","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"w17964174":{"id":"w17964174","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:41Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314401","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:06Z","tags":{"access":"private","highway":"service","name":"Manistee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manistee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326121:15326126:15326127:15326116","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';iD.data = {
34082     "deprecated": [
34083         {
34084             "old": {
34085                 "amenity": "firepit"
34086             },
34087             "replace": {
34088                 "leisure": "firepit"
34089             }
34090         },
34091         {
34092             "old": {
34093                 "barrier": "wire_fence"
34094             },
34095             "replace": {
34096                 "barrier": "fence",
34097                 "fence_type": "chain"
34098             }
34099         },
34100         {
34101             "old": {
34102                 "barrier": "wood_fence"
34103             },
34104             "replace": {
34105                 "barrier": "fence",
34106                 "fence_type": "wood"
34107             }
34108         },
34109         {
34110             "old": {
34111                 "highway": "ford"
34112             },
34113             "replace": {
34114                 "ford": "yes"
34115             }
34116         },
34117         {
34118             "old": {
34119                 "highway": "stile"
34120             },
34121             "replace": {
34122                 "barrier": "stile"
34123             }
34124         },
34125         {
34126             "old": {
34127                 "highway": "incline"
34128             },
34129             "replace": {
34130                 "highway": "road",
34131                 "incline": "up"
34132             }
34133         },
34134         {
34135             "old": {
34136                 "highway": "incline_steep"
34137             },
34138             "replace": {
34139                 "highway": "road",
34140                 "incline": "up"
34141             }
34142         },
34143         {
34144             "old": {
34145                 "highway": "unsurfaced"
34146             },
34147             "replace": {
34148                 "highway": "road",
34149                 "incline": "unpaved"
34150             }
34151         },
34152         {
34153             "old": {
34154                 "landuse": "wood"
34155             },
34156             "replace": {
34157                 "landuse": "forest",
34158                 "natural": "wood"
34159             }
34160         },
34161         {
34162             "old": {
34163                 "natural": "marsh"
34164             },
34165             "replace": {
34166                 "natural": "wetland",
34167                 "wetland": "marsh"
34168             }
34169         },
34170         {
34171             "old": {
34172                 "power_source": "*"
34173             },
34174             "replace": {
34175                 "generator:source": "$1"
34176             }
34177         },
34178         {
34179             "old": {
34180                 "power_rating": "*"
34181             },
34182             "replace": {
34183                 "generator:output": "$1"
34184             }
34185         },
34186         {
34187             "old": {
34188                 "shop": "organic"
34189             },
34190             "replace": {
34191                 "shop": "supermarket",
34192                 "organic": "only"
34193             }
34194         }
34195     ],
34196     "discarded": [
34197         "created_by",
34198         "odbl",
34199         "odbl:note",
34200         "tiger:upload_uuid",
34201         "tiger:tlid",
34202         "tiger:source",
34203         "tiger:separated",
34204         "geobase:datasetName",
34205         "geobase:uuid",
34206         "sub_sea:type",
34207         "KSJ2:ADS",
34208         "KSJ2:ARE",
34209         "KSJ2:AdminArea",
34210         "KSJ2:COP_label",
34211         "KSJ2:DFD",
34212         "KSJ2:INT",
34213         "KSJ2:INT_label",
34214         "KSJ2:LOC",
34215         "KSJ2:LPN",
34216         "KSJ2:OPC",
34217         "KSJ2:PubFacAdmin",
34218         "KSJ2:RAC",
34219         "KSJ2:RAC_label",
34220         "KSJ2:RIC",
34221         "KSJ2:RIN",
34222         "KSJ2:WSC",
34223         "KSJ2:coordinate",
34224         "KSJ2:curve_id",
34225         "KSJ2:curve_type",
34226         "KSJ2:filename",
34227         "KSJ2:lake_id",
34228         "KSJ2:lat",
34229         "KSJ2:long",
34230         "KSJ2:river_id",
34231         "yh:LINE_NAME",
34232         "yh:LINE_NUM",
34233         "yh:STRUCTURE",
34234         "yh:TOTYUMONO",
34235         "yh:TYPE",
34236         "yh:WIDTH_RANK",
34237         "SK53_bulk:load"
34238     ],
34239     "wikipedia": [
34240         [
34241             "English",
34242             "English",
34243             "en"
34244         ],
34245         [
34246             "German",
34247             "Deutsch",
34248             "de"
34249         ],
34250         [
34251             "Dutch",
34252             "Nederlands",
34253             "nl"
34254         ],
34255         [
34256             "French",
34257             "Français",
34258             "fr"
34259         ],
34260         [
34261             "Italian",
34262             "Italiano",
34263             "it"
34264         ],
34265         [
34266             "Russian",
34267             "Русский",
34268             "ru"
34269         ],
34270         [
34271             "Spanish",
34272             "Español",
34273             "es"
34274         ],
34275         [
34276             "Polish",
34277             "Polski",
34278             "pl"
34279         ],
34280         [
34281             "Swedish",
34282             "Svenska",
34283             "sv"
34284         ],
34285         [
34286             "Japanese",
34287             "日本語",
34288             "ja"
34289         ],
34290         [
34291             "Portuguese",
34292             "Português",
34293             "pt"
34294         ],
34295         [
34296             "Chinese",
34297             "中文",
34298             "zh"
34299         ],
34300         [
34301             "Vietnamese",
34302             "Tiếng Việt",
34303             "vi"
34304         ],
34305         [
34306             "Ukrainian",
34307             "Українська",
34308             "uk"
34309         ],
34310         [
34311             "Catalan",
34312             "Català",
34313             "ca"
34314         ],
34315         [
34316             "Norwegian (Bokmål)",
34317             "Norsk (Bokmål)",
34318             "no"
34319         ],
34320         [
34321             "Waray-Waray",
34322             "Winaray",
34323             "war"
34324         ],
34325         [
34326             "Cebuano",
34327             "Sinugboanong Binisaya",
34328             "ceb"
34329         ],
34330         [
34331             "Finnish",
34332             "Suomi",
34333             "fi"
34334         ],
34335         [
34336             "Persian",
34337             "فارسی",
34338             "fa"
34339         ],
34340         [
34341             "Czech",
34342             "Čeština",
34343             "cs"
34344         ],
34345         [
34346             "Hungarian",
34347             "Magyar",
34348             "hu"
34349         ],
34350         [
34351             "Korean",
34352             "한국어",
34353             "ko"
34354         ],
34355         [
34356             "Romanian",
34357             "Română",
34358             "ro"
34359         ],
34360         [
34361             "Arabic",
34362             "العربية",
34363             "ar"
34364         ],
34365         [
34366             "Turkish",
34367             "Türkçe",
34368             "tr"
34369         ],
34370         [
34371             "Indonesian",
34372             "Bahasa Indonesia",
34373             "id"
34374         ],
34375         [
34376             "Kazakh",
34377             "Қазақша",
34378             "kk"
34379         ],
34380         [
34381             "Malay",
34382             "Bahasa Melayu",
34383             "ms"
34384         ],
34385         [
34386             "Serbian",
34387             "Српски / Srpski",
34388             "sr"
34389         ],
34390         [
34391             "Slovak",
34392             "Slovenčina",
34393             "sk"
34394         ],
34395         [
34396             "Esperanto",
34397             "Esperanto",
34398             "eo"
34399         ],
34400         [
34401             "Danish",
34402             "Dansk",
34403             "da"
34404         ],
34405         [
34406             "Lithuanian",
34407             "Lietuvių",
34408             "lt"
34409         ],
34410         [
34411             "Basque",
34412             "Euskara",
34413             "eu"
34414         ],
34415         [
34416             "Bulgarian",
34417             "Български",
34418             "bg"
34419         ],
34420         [
34421             "Hebrew",
34422             "עברית",
34423             "he"
34424         ],
34425         [
34426             "Slovenian",
34427             "Slovenščina",
34428             "sl"
34429         ],
34430         [
34431             "Croatian",
34432             "Hrvatski",
34433             "hr"
34434         ],
34435         [
34436             "Volapük",
34437             "Volapük",
34438             "vo"
34439         ],
34440         [
34441             "Estonian",
34442             "Eesti",
34443             "et"
34444         ],
34445         [
34446             "Hindi",
34447             "हिन्दी",
34448             "hi"
34449         ],
34450         [
34451             "Uzbek",
34452             "O‘zbek",
34453             "uz"
34454         ],
34455         [
34456             "Galician",
34457             "Galego",
34458             "gl"
34459         ],
34460         [
34461             "Norwegian (Nynorsk)",
34462             "Nynorsk",
34463             "nn"
34464         ],
34465         [
34466             "Simple English",
34467             "Simple English",
34468             "simple"
34469         ],
34470         [
34471             "Azerbaijani",
34472             "Azərbaycanca",
34473             "az"
34474         ],
34475         [
34476             "Latin",
34477             "Latina",
34478             "la"
34479         ],
34480         [
34481             "Greek",
34482             "Ελληνικά",
34483             "el"
34484         ],
34485         [
34486             "Thai",
34487             "ไทย",
34488             "th"
34489         ],
34490         [
34491             "Serbo-Croatian",
34492             "Srpskohrvatski / Српскохрватски",
34493             "sh"
34494         ],
34495         [
34496             "Georgian",
34497             "ქართული",
34498             "ka"
34499         ],
34500         [
34501             "Occitan",
34502             "Occitan",
34503             "oc"
34504         ],
34505         [
34506             "Macedonian",
34507             "Македонски",
34508             "mk"
34509         ],
34510         [
34511             "Newar / Nepal Bhasa",
34512             "नेपाल भाषा",
34513             "new"
34514         ],
34515         [
34516             "Tagalog",
34517             "Tagalog",
34518             "tl"
34519         ],
34520         [
34521             "Piedmontese",
34522             "Piemontèis",
34523             "pms"
34524         ],
34525         [
34526             "Belarusian",
34527             "Беларуская",
34528             "be"
34529         ],
34530         [
34531             "Haitian",
34532             "Krèyol ayisyen",
34533             "ht"
34534         ],
34535         [
34536             "Tamil",
34537             "தமிழ்",
34538             "ta"
34539         ],
34540         [
34541             "Telugu",
34542             "తెలుగు",
34543             "te"
34544         ],
34545         [
34546             "Belarusian (Taraškievica)",
34547             "Беларуская (тарашкевіца)",
34548             "be-x-old"
34549         ],
34550         [
34551             "Latvian",
34552             "Latviešu",
34553             "lv"
34554         ],
34555         [
34556             "Breton",
34557             "Brezhoneg",
34558             "br"
34559         ],
34560         [
34561             "Malagasy",
34562             "Malagasy",
34563             "mg"
34564         ],
34565         [
34566             "Albanian",
34567             "Shqip",
34568             "sq"
34569         ],
34570         [
34571             "Armenian",
34572             "Հայերեն",
34573             "hy"
34574         ],
34575         [
34576             "Tatar",
34577             "Tatarça / Татарча",
34578             "tt"
34579         ],
34580         [
34581             "Javanese",
34582             "Basa Jawa",
34583             "jv"
34584         ],
34585         [
34586             "Welsh",
34587             "Cymraeg",
34588             "cy"
34589         ],
34590         [
34591             "Marathi",
34592             "मराठी",
34593             "mr"
34594         ],
34595         [
34596             "Luxembourgish",
34597             "Lëtzebuergesch",
34598             "lb"
34599         ],
34600         [
34601             "Icelandic",
34602             "Íslenska",
34603             "is"
34604         ],
34605         [
34606             "Bosnian",
34607             "Bosanski",
34608             "bs"
34609         ],
34610         [
34611             "Burmese",
34612             "မြန်မာဘာသာ",
34613             "my"
34614         ],
34615         [
34616             "Yoruba",
34617             "Yorùbá",
34618             "yo"
34619         ],
34620         [
34621             "Bashkir",
34622             "Башҡорт",
34623             "ba"
34624         ],
34625         [
34626             "Malayalam",
34627             "മലയാളം",
34628             "ml"
34629         ],
34630         [
34631             "Aragonese",
34632             "Aragonés",
34633             "an"
34634         ],
34635         [
34636             "Lombard",
34637             "Lumbaart",
34638             "lmo"
34639         ],
34640         [
34641             "Afrikaans",
34642             "Afrikaans",
34643             "af"
34644         ],
34645         [
34646             "West Frisian",
34647             "Frysk",
34648             "fy"
34649         ],
34650         [
34651             "Western Panjabi",
34652             "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
34653             "pnb"
34654         ],
34655         [
34656             "Bengali",
34657             "বাংলা",
34658             "bn"
34659         ],
34660         [
34661             "Swahili",
34662             "Kiswahili",
34663             "sw"
34664         ],
34665         [
34666             "Bishnupriya Manipuri",
34667             "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
34668             "bpy"
34669         ],
34670         [
34671             "Ido",
34672             "Ido",
34673             "io"
34674         ],
34675         [
34676             "Kirghiz",
34677             "Кыргызча",
34678             "ky"
34679         ],
34680         [
34681             "Urdu",
34682             "اردو",
34683             "ur"
34684         ],
34685         [
34686             "Nepali",
34687             "नेपाली",
34688             "ne"
34689         ],
34690         [
34691             "Sicilian",
34692             "Sicilianu",
34693             "scn"
34694         ],
34695         [
34696             "Gujarati",
34697             "ગુજરાતી",
34698             "gu"
34699         ],
34700         [
34701             "Cantonese",
34702             "粵語",
34703             "zh-yue"
34704         ],
34705         [
34706             "Low Saxon",
34707             "Plattdüütsch",
34708             "nds"
34709         ],
34710         [
34711             "Kurdish",
34712             "Kurdî / كوردی",
34713             "ku"
34714         ],
34715         [
34716             "Irish",
34717             "Gaeilge",
34718             "ga"
34719         ],
34720         [
34721             "Asturian",
34722             "Asturianu",
34723             "ast"
34724         ],
34725         [
34726             "Quechua",
34727             "Runa Simi",
34728             "qu"
34729         ],
34730         [
34731             "Sundanese",
34732             "Basa Sunda",
34733             "su"
34734         ],
34735         [
34736             "Chuvash",
34737             "Чăваш",
34738             "cv"
34739         ],
34740         [
34741             "Scots",
34742             "Scots",
34743             "sco"
34744         ],
34745         [
34746             "Interlingua",
34747             "Interlingua",
34748             "ia"
34749         ],
34750         [
34751             "Alemannic",
34752             "Alemannisch",
34753             "als"
34754         ],
34755         [
34756             "Buginese",
34757             "Basa Ugi",
34758             "bug"
34759         ],
34760         [
34761             "Neapolitan",
34762             "Nnapulitano",
34763             "nap"
34764         ],
34765         [
34766             "Samogitian",
34767             "Žemaitėška",
34768             "bat-smg"
34769         ],
34770         [
34771             "Kannada",
34772             "ಕನ್ನಡ",
34773             "kn"
34774         ],
34775         [
34776             "Banyumasan",
34777             "Basa Banyumasan",
34778             "map-bms"
34779         ],
34780         [
34781             "Walloon",
34782             "Walon",
34783             "wa"
34784         ],
34785         [
34786             "Amharic",
34787             "አማርኛ",
34788             "am"
34789         ],
34790         [
34791             "Sorani",
34792             "Soranî / کوردی",
34793             "ckb"
34794         ],
34795         [
34796             "Scottish Gaelic",
34797             "Gàidhlig",
34798             "gd"
34799         ],
34800         [
34801             "Fiji Hindi",
34802             "Fiji Hindi",
34803             "hif"
34804         ],
34805         [
34806             "Min Nan",
34807             "Bân-lâm-gú",
34808             "zh-min-nan"
34809         ],
34810         [
34811             "Tajik",
34812             "Тоҷикӣ",
34813             "tg"
34814         ],
34815         [
34816             "Mazandarani",
34817             "مَزِروني",
34818             "mzn"
34819         ],
34820         [
34821             "Egyptian Arabic",
34822             "مصرى (Maṣrī)",
34823             "arz"
34824         ],
34825         [
34826             "Yiddish",
34827             "ייִדיש",
34828             "yi"
34829         ],
34830         [
34831             "Venetian",
34832             "Vèneto",
34833             "vec"
34834         ],
34835         [
34836             "Mongolian",
34837             "Монгол",
34838             "mn"
34839         ],
34840         [
34841             "Tarantino",
34842             "Tarandíne",
34843             "roa-tara"
34844         ],
34845         [
34846             "Sanskrit",
34847             "संस्कृतम्",
34848             "sa"
34849         ],
34850         [
34851             "Nahuatl",
34852             "Nāhuatl",
34853             "nah"
34854         ],
34855         [
34856             "Ossetian",
34857             "Иронау",
34858             "os"
34859         ],
34860         [
34861             "Sakha",
34862             "Саха тыла (Saxa Tyla)",
34863             "sah"
34864         ],
34865         [
34866             "Kapampangan",
34867             "Kapampangan",
34868             "pam"
34869         ],
34870         [
34871             "Upper Sorbian",
34872             "Hornjoserbsce",
34873             "hsb"
34874         ],
34875         [
34876             "Sinhalese",
34877             "සිංහල",
34878             "si"
34879         ],
34880         [
34881             "Northern Sami",
34882             "Sámegiella",
34883             "se"
34884         ],
34885         [
34886             "Limburgish",
34887             "Limburgs",
34888             "li"
34889         ],
34890         [
34891             "Maori",
34892             "Māori",
34893             "mi"
34894         ],
34895         [
34896             "Bavarian",
34897             "Boarisch",
34898             "bar"
34899         ],
34900         [
34901             "Corsican",
34902             "Corsu",
34903             "co"
34904         ],
34905         [
34906             "Ilokano",
34907             "Ilokano",
34908             "ilo"
34909         ],
34910         [
34911             "Gan",
34912             "贛語",
34913             "gan"
34914         ],
34915         [
34916             "Tibetan",
34917             "བོད་སྐད",
34918             "bo"
34919         ],
34920         [
34921             "Gilaki",
34922             "گیلکی",
34923             "glk"
34924         ],
34925         [
34926             "Faroese",
34927             "Føroyskt",
34928             "fo"
34929         ],
34930         [
34931             "Rusyn",
34932             "русиньскый язык",
34933             "rue"
34934         ],
34935         [
34936             "Punjabi",
34937             "ਪੰਜਾਬੀ",
34938             "pa"
34939         ],
34940         [
34941             "Central_Bicolano",
34942             "Bikol",
34943             "bcl"
34944         ],
34945         [
34946             "Hill Mari",
34947             "Кырык Мары (Kyryk Mary) ",
34948             "mrj"
34949         ],
34950         [
34951             "Võro",
34952             "Võro",
34953             "fiu-vro"
34954         ],
34955         [
34956             "Dutch Low Saxon",
34957             "Nedersaksisch",
34958             "nds-nl"
34959         ],
34960         [
34961             "Turkmen",
34962             "تركمن / Туркмен",
34963             "tk"
34964         ],
34965         [
34966             "Pashto",
34967             "پښتو",
34968             "ps"
34969         ],
34970         [
34971             "West Flemish",
34972             "West-Vlams",
34973             "vls"
34974         ],
34975         [
34976             "Mingrelian",
34977             "მარგალური (Margaluri)",
34978             "xmf"
34979         ],
34980         [
34981             "Manx",
34982             "Gaelg",
34983             "gv"
34984         ],
34985         [
34986             "Zazaki",
34987             "Zazaki",
34988             "diq"
34989         ],
34990         [
34991             "Pangasinan",
34992             "Pangasinan",
34993             "pag"
34994         ],
34995         [
34996             "Komi",
34997             "Коми",
34998             "kv"
34999         ],
35000         [
35001             "Zeelandic",
35002             "Zeêuws",
35003             "zea"
35004         ],
35005         [
35006             "Divehi",
35007             "ދިވެހިބަސް",
35008             "dv"
35009         ],
35010         [
35011             "Oriya",
35012             "ଓଡ଼ିଆ",
35013             "or"
35014         ],
35015         [
35016             "Khmer",
35017             "ភាសាខ្មែរ",
35018             "km"
35019         ],
35020         [
35021             "Norman",
35022             "Nouormand/Normaund",
35023             "nrm"
35024         ],
35025         [
35026             "Romansh",
35027             "Rumantsch",
35028             "rm"
35029         ],
35030         [
35031             "Komi-Permyak",
35032             "Перем Коми (Perem Komi)",
35033             "koi"
35034         ],
35035         [
35036             "Udmurt",
35037             "Удмурт кыл",
35038             "udm"
35039         ],
35040         [
35041             "Meadow Mari",
35042             "Олык Марий (Olyk Marij)",
35043             "mhr"
35044         ],
35045         [
35046             "Ladino",
35047             "Dzhudezmo",
35048             "lad"
35049         ],
35050         [
35051             "North Frisian",
35052             "Nordfriisk",
35053             "frr"
35054         ],
35055         [
35056             "Kashubian",
35057             "Kaszëbsczi",
35058             "csb"
35059         ],
35060         [
35061             "Ligurian",
35062             "Líguru",
35063             "lij"
35064         ],
35065         [
35066             "Wu",
35067             "吴语",
35068             "wuu"
35069         ],
35070         [
35071             "Friulian",
35072             "Furlan",
35073             "fur"
35074         ],
35075         [
35076             "Vepsian",
35077             "Vepsän",
35078             "vep"
35079         ],
35080         [
35081             "Classical Chinese",
35082             "古文 / 文言文",
35083             "zh-classical"
35084         ],
35085         [
35086             "Uyghur",
35087             "ئۇيغۇر تىلى",
35088             "ug"
35089         ],
35090         [
35091             "Saterland Frisian",
35092             "Seeltersk",
35093             "stq"
35094         ],
35095         [
35096             "Sardinian",
35097             "Sardu",
35098             "sc"
35099         ],
35100         [
35101             "Aromanian",
35102             "Armãneashce",
35103             "roa-rup"
35104         ],
35105         [
35106             "Pali",
35107             "पाऴि",
35108             "pi"
35109         ],
35110         [
35111             "Somali",
35112             "Soomaaliga",
35113             "so"
35114         ],
35115         [
35116             "Bihari",
35117             "भोजपुरी",
35118             "bh"
35119         ],
35120         [
35121             "Maltese",
35122             "Malti",
35123             "mt"
35124         ],
35125         [
35126             "Aymara",
35127             "Aymar",
35128             "ay"
35129         ],
35130         [
35131             "Ripuarian",
35132             "Ripoarisch",
35133             "ksh"
35134         ],
35135         [
35136             "Novial",
35137             "Novial",
35138             "nov"
35139         ],
35140         [
35141             "Anglo-Saxon",
35142             "Englisc",
35143             "ang"
35144         ],
35145         [
35146             "Cornish",
35147             "Kernewek/Karnuack",
35148             "kw"
35149         ],
35150         [
35151             "Navajo",
35152             "Diné bizaad",
35153             "nv"
35154         ],
35155         [
35156             "Picard",
35157             "Picard",
35158             "pcd"
35159         ],
35160         [
35161             "Hakka",
35162             "Hak-kâ-fa / 客家話",
35163             "hak"
35164         ],
35165         [
35166             "Guarani",
35167             "Avañe'ẽ",
35168             "gn"
35169         ],
35170         [
35171             "Extremaduran",
35172             "Estremeñu",
35173             "ext"
35174         ],
35175         [
35176             "Franco-Provençal/Arpitan",
35177             "Arpitan",
35178             "frp"
35179         ],
35180         [
35181             "Assamese",
35182             "অসমীয়া",
35183             "as"
35184         ],
35185         [
35186             "Silesian",
35187             "Ślůnski",
35188             "szl"
35189         ],
35190         [
35191             "Gagauz",
35192             "Gagauz",
35193             "gag"
35194         ],
35195         [
35196             "Interlingue",
35197             "Interlingue",
35198             "ie"
35199         ],
35200         [
35201             "Lingala",
35202             "Lingala",
35203             "ln"
35204         ],
35205         [
35206             "Emilian-Romagnol",
35207             "Emiliàn e rumagnòl",
35208             "eml"
35209         ],
35210         [
35211             "Chechen",
35212             "Нохчийн",
35213             "ce"
35214         ],
35215         [
35216             "Kalmyk",
35217             "Хальмг",
35218             "xal"
35219         ],
35220         [
35221             "Palatinate German",
35222             "Pfälzisch",
35223             "pfl"
35224         ],
35225         [
35226             "Hawaiian",
35227             "Hawai`i",
35228             "haw"
35229         ],
35230         [
35231             "Karachay-Balkar",
35232             "Къарачай-Малкъар (Qarachay-Malqar)",
35233             "krc"
35234         ],
35235         [
35236             "Pennsylvania German",
35237             "Deitsch",
35238             "pdc"
35239         ],
35240         [
35241             "Kinyarwanda",
35242             "Ikinyarwanda",
35243             "rw"
35244         ],
35245         [
35246             "Crimean Tatar",
35247             "Qırımtatarca",
35248             "crh"
35249         ],
35250         [
35251             "Acehnese",
35252             "Bahsa Acèh",
35253             "ace"
35254         ],
35255         [
35256             "Tongan",
35257             "faka Tonga",
35258             "to"
35259         ],
35260         [
35261             "Greenlandic",
35262             "Kalaallisut",
35263             "kl"
35264         ],
35265         [
35266             "Lower Sorbian",
35267             "Dolnoserbski",
35268             "dsb"
35269         ],
35270         [
35271             "Aramaic",
35272             "ܐܪܡܝܐ",
35273             "arc"
35274         ],
35275         [
35276             "Erzya",
35277             "Эрзянь (Erzjanj Kelj)",
35278             "myv"
35279         ],
35280         [
35281             "Lezgian",
35282             "Лезги чІал (Lezgi č’al)",
35283             "lez"
35284         ],
35285         [
35286             "Banjar",
35287             "Bahasa Banjar",
35288             "bjn"
35289         ],
35290         [
35291             "Shona",
35292             "chiShona",
35293             "sn"
35294         ],
35295         [
35296             "Papiamentu",
35297             "Papiamentu",
35298             "pap"
35299         ],
35300         [
35301             "Kabyle",
35302             "Taqbaylit",
35303             "kab"
35304         ],
35305         [
35306             "Tok Pisin",
35307             "Tok Pisin",
35308             "tpi"
35309         ],
35310         [
35311             "Lak",
35312             "Лакку",
35313             "lbe"
35314         ],
35315         [
35316             "Buryat (Russia)",
35317             "Буряад",
35318             "bxr"
35319         ],
35320         [
35321             "Lojban",
35322             "Lojban",
35323             "jbo"
35324         ],
35325         [
35326             "Wolof",
35327             "Wolof",
35328             "wo"
35329         ],
35330         [
35331             "Moksha",
35332             "Мокшень (Mokshanj Kälj)",
35333             "mdf"
35334         ],
35335         [
35336             "Zamboanga Chavacano",
35337             "Chavacano de Zamboanga",
35338             "cbk-zam"
35339         ],
35340         [
35341             "Avar",
35342             "Авар",
35343             "av"
35344         ],
35345         [
35346             "Sranan",
35347             "Sranantongo",
35348             "srn"
35349         ],
35350         [
35351             "Mirandese",
35352             "Mirandés",
35353             "mwl"
35354         ],
35355         [
35356             "Kabardian Circassian",
35357             "Адыгэбзэ (Adighabze)",
35358             "kbd"
35359         ],
35360         [
35361             "Tahitian",
35362             "Reo Mā`ohi",
35363             "ty"
35364         ],
35365         [
35366             "Lao",
35367             "ລາວ",
35368             "lo"
35369         ],
35370         [
35371             "Abkhazian",
35372             "Аҧсуа",
35373             "ab"
35374         ],
35375         [
35376             "Tetum",
35377             "Tetun",
35378             "tet"
35379         ],
35380         [
35381             "Latgalian",
35382             "Latgaļu",
35383             "ltg"
35384         ],
35385         [
35386             "Nauruan",
35387             "dorerin Naoero",
35388             "na"
35389         ],
35390         [
35391             "Kongo",
35392             "KiKongo",
35393             "kg"
35394         ],
35395         [
35396             "Igbo",
35397             "Igbo",
35398             "ig"
35399         ],
35400         [
35401             "Northern Sotho",
35402             "Sesotho sa Leboa",
35403             "nso"
35404         ],
35405         [
35406             "Zhuang",
35407             "Cuengh",
35408             "za"
35409         ],
35410         [
35411             "Karakalpak",
35412             "Qaraqalpaqsha",
35413             "kaa"
35414         ],
35415         [
35416             "Zulu",
35417             "isiZulu",
35418             "zu"
35419         ],
35420         [
35421             "Cheyenne",
35422             "Tsetsêhestâhese",
35423             "chy"
35424         ],
35425         [
35426             "Romani",
35427             "romani - रोमानी",
35428             "rmy"
35429         ],
35430         [
35431             "Old Church Slavonic",
35432             "Словѣньскъ",
35433             "cu"
35434         ],
35435         [
35436             "Tswana",
35437             "Setswana",
35438             "tn"
35439         ],
35440         [
35441             "Cherokee",
35442             "ᏣᎳᎩ",
35443             "chr"
35444         ],
35445         [
35446             "Bislama",
35447             "Bislama",
35448             "bi"
35449         ],
35450         [
35451             "Min Dong",
35452             "Mìng-dĕ̤ng-ngṳ̄",
35453             "cdo"
35454         ],
35455         [
35456             "Gothic",
35457             "𐌲𐌿𐍄𐌹𐍃𐌺",
35458             "got"
35459         ],
35460         [
35461             "Samoan",
35462             "Gagana Samoa",
35463             "sm"
35464         ],
35465         [
35466             "Moldovan",
35467             "Молдовеняскэ",
35468             "mo"
35469         ],
35470         [
35471             "Bambara",
35472             "Bamanankan",
35473             "bm"
35474         ],
35475         [
35476             "Inuktitut",
35477             "ᐃᓄᒃᑎᑐᑦ",
35478             "iu"
35479         ],
35480         [
35481             "Norfolk",
35482             "Norfuk",
35483             "pih"
35484         ],
35485         [
35486             "Pontic",
35487             "Ποντιακά",
35488             "pnt"
35489         ],
35490         [
35491             "Sindhi",
35492             "سنڌي، سندھی ، सिन्ध",
35493             "sd"
35494         ],
35495         [
35496             "Swati",
35497             "SiSwati",
35498             "ss"
35499         ],
35500         [
35501             "Kikuyu",
35502             "Gĩkũyũ",
35503             "ki"
35504         ],
35505         [
35506             "Ewe",
35507             "Eʋegbe",
35508             "ee"
35509         ],
35510         [
35511             "Hausa",
35512             "هَوُسَ",
35513             "ha"
35514         ],
35515         [
35516             "Oromo",
35517             "Oromoo",
35518             "om"
35519         ],
35520         [
35521             "Fijian",
35522             "Na Vosa Vakaviti",
35523             "fj"
35524         ],
35525         [
35526             "Tigrinya",
35527             "ትግርኛ",
35528             "ti"
35529         ],
35530         [
35531             "Tsonga",
35532             "Xitsonga",
35533             "ts"
35534         ],
35535         [
35536             "Kashmiri",
35537             "कश्मीरी / كشميري",
35538             "ks"
35539         ],
35540         [
35541             "Venda",
35542             "Tshivenda",
35543             "ve"
35544         ],
35545         [
35546             "Sango",
35547             "Sängö",
35548             "sg"
35549         ],
35550         [
35551             "Kirundi",
35552             "Kirundi",
35553             "rn"
35554         ],
35555         [
35556             "Sesotho",
35557             "Sesotho",
35558             "st"
35559         ],
35560         [
35561             "Dzongkha",
35562             "ཇོང་ཁ",
35563             "dz"
35564         ],
35565         [
35566             "Cree",
35567             "Nehiyaw",
35568             "cr"
35569         ],
35570         [
35571             "Akan",
35572             "Akana",
35573             "ak"
35574         ],
35575         [
35576             "Tumbuka",
35577             "chiTumbuka",
35578             "tum"
35579         ],
35580         [
35581             "Luganda",
35582             "Luganda",
35583             "lg"
35584         ],
35585         [
35586             "Chichewa",
35587             "Chi-Chewa",
35588             "ny"
35589         ],
35590         [
35591             "Fula",
35592             "Fulfulde",
35593             "ff"
35594         ],
35595         [
35596             "Inupiak",
35597             "Iñupiak",
35598             "ik"
35599         ],
35600         [
35601             "Chamorro",
35602             "Chamoru",
35603             "ch"
35604         ],
35605         [
35606             "Twi",
35607             "Twi",
35608             "tw"
35609         ],
35610         [
35611             "Xhosa",
35612             "isiXhosa",
35613             "xh"
35614         ],
35615         [
35616             "Ndonga",
35617             "Oshiwambo",
35618             "ng"
35619         ],
35620         [
35621             "Sichuan Yi",
35622             "ꆇꉙ",
35623             "ii"
35624         ],
35625         [
35626             "Choctaw",
35627             "Choctaw",
35628             "cho"
35629         ],
35630         [
35631             "Marshallese",
35632             "Ebon",
35633             "mh"
35634         ],
35635         [
35636             "Afar",
35637             "Afar",
35638             "aa"
35639         ],
35640         [
35641             "Kuanyama",
35642             "Kuanyama",
35643             "kj"
35644         ],
35645         [
35646             "Hiri Motu",
35647             "Hiri Motu",
35648             "ho"
35649         ],
35650         [
35651             "Muscogee",
35652             "Muskogee",
35653             "mus"
35654         ],
35655         [
35656             "Kanuri",
35657             "Kanuri",
35658             "kr"
35659         ],
35660         [
35661             "Herero",
35662             "Otsiherero",
35663             "hz"
35664         ]
35665     ],
35666     "imperial": {
35667         "type": "FeatureCollection",
35668         "features": [
35669             {
35670                 "type": "Feature",
35671                 "properties": {
35672                     "id": 0
35673                 },
35674                 "geometry": {
35675                     "type": "MultiPolygon",
35676                     "coordinates": [
35677                         [
35678                             [
35679                                 [
35680                                     -1.426496,
35681                                     50.639342
35682                                 ],
35683                                 [
35684                                     -1.445953,
35685                                     50.648139
35686                                 ],
35687                                 [
35688                                     -1.452789,
35689                                     50.654283
35690                                 ],
35691                                 [
35692                                     -1.485951,
35693                                     50.669338
35694                                 ],
35695                                 [
35696                                     -1.497426,
35697                                     50.672309
35698                                 ],
35699                                 [
35700                                     -1.535146,
35701                                     50.669379
35702                                 ],
35703                                 [
35704                                     -1.551503,
35705                                     50.665107
35706                                 ],
35707                                 [
35708                                     -1.569488,
35709                                     50.658026
35710                                 ],
35711                                 [
35712                                     -1.545318,
35713                                     50.686103
35714                                 ],
35715                                 [
35716                                     -1.50593,
35717                                     50.707709
35718                                 ],
35719                                 [
35720                                     -1.418691,
35721                                     50.733791
35722                                 ],
35723                                 [
35724                                     -1.420888,
35725                                     50.730455
35726                                 ],
35727                                 [
35728                                     -1.423451,
35729                                     50.7237
35730                                 ],
35731                                 [
35732                                     -1.425364,
35733                                     50.72012
35734                                 ],
35735                                 [
35736                                     -1.400868,
35737                                     50.721991
35738                                 ],
35739                                 [
35740                                     -1.377553,
35741                                     50.734198
35742                                 ],
35743                                 [
35744                                     -1.343495,
35745                                     50.761054
35746                                 ],
35747                                 [
35748                                     -1.318512,
35749                                     50.772162
35750                                 ],
35751                                 [
35752                                     -1.295766,
35753                                     50.773179
35754                                 ],
35755                                 [
35756                                     -1.144276,
35757                                     50.733791
35758                                 ],
35759                                 [
35760                                     -1.119537,
35761                                     50.734198
35762                                 ],
35763                                 [
35764                                     -1.10912,
35765                                     50.732856
35766                                 ],
35767                                 [
35768                                     -1.097035,
35769                                     50.726955
35770                                 ],
35771                                 [
35772                                     -1.096425,
35773                                     50.724433
35774                                 ],
35775                                 [
35776                                     -1.097646,
35777                                     50.71601
35778                                 ],
35779                                 [
35780                                     -1.097035,
35781                                     50.713324
35782                                 ],
35783                                 [
35784                                     -1.094228,
35785                                     50.712633
35786                                 ],
35787                                 [
35788                                     -1.085561,
35789                                     50.714016
35790                                 ],
35791                                 [
35792                                     -1.082753,
35793                                     50.713324
35794                                 ],
35795                                 [
35796                                     -1.062327,
35797                                     50.692816
35798                                 ],
35799                                 [
35800                                     -1.062327,
35801                                     50.685289
35802                                 ],
35803                                 [
35804                                     -1.066965,
35805                                     50.685248
35806                                 ],
35807                                 [
35808                                     -1.069651,
35809                                     50.683498
35810                                 ],
35811                                 [
35812                                     -1.071889,
35813                                     50.680976
35814                                 ],
35815                                 [
35816                                     -1.075307,
35817                                     50.678534
35818                                 ],
35819                                 [
35820                                     -1.112701,
35821                                     50.671454
35822                                 ],
35823                                 [
35824                                     -1.128651,
35825                                     50.666449
35826                                 ],
35827                                 [
35828                                     -1.156361,
35829                                     50.650784
35830                                 ],
35831                                 [
35832                                     -1.162221,
35833                                     50.645982
35834                                 ],
35835                                 [
35836                                     -1.164703,
35837                                     50.640937
35838                                 ],
35839                                 [
35840                                     -1.164666,
35841                                     50.639543
35842                                 ],
35843                                 [
35844                                     -1.426496,
35845                                     50.639342
35846                                 ]
35847                             ]
35848                         ],
35849                         [
35850                             [
35851                                 [
35852                                     -7.240314,
35853                                     55.050389
35854                                 ],
35855                                 [
35856                                     -7.013736,
35857                                     55.1615
35858                                 ],
35859                                 [
35860                                     -6.958913,
35861                                     55.20349
35862                                 ],
35863                                 [
35864                                     -6.571562,
35865                                     55.268366
35866                                 ],
35867                                 [
35868                                     -6.509633,
35869                                     55.31398
35870                                 ],
35871                                 [
35872                                     -6.226158,
35873                                     55.344406
35874                                 ],
35875                                 [
35876                                     -6.07105,
35877                                     55.25001
35878                                 ],
35879                                 [
35880                                     -5.712696,
35881                                     55.017635
35882                                 ],
35883                                 [
35884                                     -5.242021,
35885                                     54.415204
35886                                 ],
35887                                 [
35888                                     -5.695554,
35889                                     54.14284
35890                                 ],
35891                                 [
35892                                     -5.72473,
35893                                     54.07455
35894                                 ],
35895                                 [
35896                                     -6.041633,
35897                                     54.006238
35898                                 ],
35899                                 [
35900                                     -6.153953,
35901                                     54.054931
35902                                 ],
35903                                 [
35904                                     -6.220539,
35905                                     54.098803
35906                                 ],
35907                                 [
35908                                     -6.242502,
35909                                     54.099758
35910                                 ],
35911                                 [
35912                                     -6.263661,
35913                                     54.104682
35914                                 ],
35915                                 [
35916                                     -6.269887,
35917                                     54.097927
35918                                 ],
35919                                 [
35920                                     -6.28465,
35921                                     54.105226
35922                                 ],
35923                                 [
35924                                     -6.299585,
35925                                     54.104037
35926                                 ],
35927                                 [
35928                                     -6.313796,
35929                                     54.099696
35930                                 ],
35931                                 [
35932                                     -6.327128,
35933                                     54.097888
35934                                 ],
35935                                 [
35936                                     -6.338962,
35937                                     54.102952
35938                                 ],
35939                                 [
35940                                     -6.346662,
35941                                     54.109877
35942                                 ],
35943                                 [
35944                                     -6.354827,
35945                                     54.110652
35946                                 ],
35947                                 [
35948                                     -6.368108,
35949                                     54.097319
35950                                 ],
35951                                 [
35952                                     -6.369348,
35953                                     54.091118
35954                                 ],
35955                                 [
35956                                     -6.367643,
35957                                     54.083418
35958                                 ],
35959                                 [
35960                                     -6.366919,
35961                                     54.075098
35962                                 ],
35963                                 [
35964                                     -6.371157,
35965                                     54.066778
35966                                 ],
35967                                 [
35968                                     -6.377513,
35969                                     54.063264
35970                                 ],
35971                                 [
35972                                     -6.401026,
35973                                     54.060887
35974                                 ],
35975                                 [
35976                                     -6.426761,
35977                                     54.05541
35978                                 ],
35979                                 [
35980                                     -6.433892,
35981                                     54.055306
35982                                 ],
35983                                 [
35984                                     -6.4403,
35985                                     54.057993
35986                                 ],
35987                                 [
35988                                     -6.446243,
35989                                     54.062438
35990                                 ],
35991                                 [
35992                                     -6.450222,
35993                                     54.066675
35994                                 ],
35995                                 [
35996                                     -6.450894,
35997                                     54.068432
35998                                 ],
35999                                 [
36000                                     -6.47854,
36001                                     54.067709
36002                                 ],
36003                                 [
36004                                     -6.564013,
36005                                     54.04895
36006                                 ],
36007                                 [
36008                                     -6.571868,
36009                                     54.049519
36010                                 ],
36011                                 [
36012                                     -6.587164,
36013                                     54.053343
36014                                 ],
36015                                 [
36016                                     -6.595071,
36017                                     54.052412
36018                                 ],
36019                                 [
36020                                     -6.60029,
36021                                     54.04895
36022                                 ],
36023                                 [
36024                                     -6.605217,
36025                                     54.044475
36026                                 ],
36027                                 [
36028                                     -6.610987,
36029                                     54.039235
36030                                 ],
36031                                 [
36032                                     -6.616465,
36033                                     54.037271
36034                                 ],
36035                                 [
36036                                     -6.630624,
36037                                     54.041819
36038                                 ],
36039                                 [
36040                                     -6.657289,
36041                                     54.061146
36042                                 ],
36043                                 [
36044                                     -6.672534,
36045                                     54.068432
36046                                 ],
36047                                 [
36048                                     -6.657082,
36049                                     54.091945
36050                                 ],
36051                                 [
36052                                     -6.655791,
36053                                     54.103314
36054                                 ],
36055                                 [
36056                                     -6.666436,
36057                                     54.114786
36058                                 ],
36059                                 [
36060                                     -6.643957,
36061                                     54.131839
36062                                 ],
36063                                 [
36064                                     -6.634552,
36065                                     54.150133
36066                                 ],
36067                                 [
36068                                     -6.640339,
36069                                     54.168013
36070                                 ],
36071                                 [
36072                                     -6.648448,
36073                                     54.173665
36074                                 ],
36075                                 [
36076                                     -6.663025,
36077                                     54.183826
36078                                 ],
36079                                 [
36080                                     -6.683954,
36081                                     54.194368
36082                                 ],
36083                                 [
36084                                     -6.694651,
36085                                     54.197985
36086                                 ],
36087                                 [
36088                                     -6.706537,
36089                                     54.198915
36090                                 ],
36091                                 [
36092                                     -6.717234,
36093                                     54.195143
36094                                 ],
36095                                 [
36096                                     -6.724779,
36097                                     54.188631
36098                                 ],
36099                                 [
36100                                     -6.73284,
36101                                     54.183567
36102                                 ],
36103                                 [
36104                                     -6.744777,
36105                                     54.184187
36106                                 ],
36107                                 [
36108                                     -6.766481,
36109                                     54.192352
36110                                 ],
36111                                 [
36112                                     -6.787824,
36113                                     54.202998
36114                                 ],
36115                                 [
36116                                     -6.807358,
36117                                     54.21633
36118                                 ],
36119                                 [
36120                                     -6.823946,
36121                                     54.23235
36122                                 ],
36123                                 [
36124                                     -6.829733,
36125                                     54.242375
36126                                 ],
36127                                 [
36128                                     -6.833196,
36129                                     54.25209
36130                                 ],
36131                                 [
36132                                     -6.837743,
36133                                     54.260513
36134                                 ],
36135                                 [
36136                                     -6.846683,
36137                                     54.266456
36138                                 ],
36139                                 [
36140                                     -6.882185,
36141                                     54.277257
36142                                 ],
36143                                 [
36144                                     -6.864667,
36145                                     54.282734
36146                                 ],
36147                                 [
36148                                     -6.856657,
36149                                     54.292811
36150                                 ],
36151                                 [
36152                                     -6.858414,
36153                                     54.307332
36154                                 ],
36155                                 [
36156                                     -6.870015,
36157                                     54.326001
36158                                 ],
36159                                 [
36160                                     -6.879705,
36161                                     54.341594
36162                                 ],
36163                                 [
36164                                     -6.885957,
36165                                     54.345624
36166                                 ],
36167                                 [
36168                                     -6.897895,
36169                                     54.346193
36170                                 ],
36171                                 [
36172                                     -6.905956,
36173                                     54.349035
36174                                 ],
36175                                 [
36176                                     -6.915051,
36177                                     54.365933
36178                                 ],
36179                                 [
36180                                     -6.922028,
36181                                     54.372703
36182                                 ],
36183                                 [
36184                                     -6.984091,
36185                                     54.403089
36186                                 ],
36187                                 [
36188                                     -7.017836,
36189                                     54.413166
36190                                 ],
36191                                 [
36192                                     -7.049255,
36193                                     54.411512
36194                                 ],
36195                                 [
36196                                     -7.078504,
36197                                     54.394717
36198                                 ],
36199                                 [
36200                                     -7.127028,
36201                                     54.349759
36202                                 ],
36203                                 [
36204                                     -7.159894,
36205                                     54.335186
36206                                 ],
36207                                 [
36208                                     -7.168059,
36209                                     54.335031
36210                                 ],
36211                                 [
36212                                     -7.185629,
36213                                     54.336943
36214                                 ],
36215                                 [
36216                                     -7.18947,
36217                                     54.335692
36218                                 ],
36219                                 [
36220                                     -7.19245,
36221                                     54.334721
36222                                 ],
36223                                 [
36224                                     -7.193949,
36225                                     54.329967
36226                                 ],
36227                                 [
36228                                     -7.191468,
36229                                     54.323869
36230                                 ],
36231                                 [
36232                                     -7.187644,
36233                                     54.318804
36234                                 ],
36235                                 [
36236                                     -7.185009,
36237                                     54.317254
36238                                 ],
36239                                 [
36240                                     -7.184647,
36241                                     54.316634
36242                                 ],
36243                                 [
36244                                     -7.192399,
36245                                     54.307384
36246                                 ],
36247                                 [
36248                                     -7.193691,
36249                                     54.307539
36250                                 ],
36251                                 [
36252                                     -7.199168,
36253                                     54.303457
36254                                 ],
36255                                 [
36256                                     -7.206661,
36257                                     54.304903
36258                                 ],
36259                                 [
36260                                     -7.211467,
36261                                     54.30418
36262                                 ],
36263                                 [
36264                                     -7.209038,
36265                                     54.293431
36266                                 ],
36267                                 [
36268                                     -7.1755,
36269                                     54.283664
36270                                 ],
36271                                 [
36272                                     -7.181495,
36273                                     54.269763
36274                                 ],
36275                                 [
36276                                     -7.14589,
36277                                     54.25209
36278                                 ],
36279                                 [
36280                                     -7.159739,
36281                                     54.24067
36282                                 ],
36283                                 [
36284                                     -7.153331,
36285                                     54.224237
36286                                 ],
36287                                 [
36288                                     -7.174725,
36289                                     54.216072
36290                                 ],
36291                                 [
36292                                     -7.229502,
36293                                     54.207545
36294                                 ],
36295                                 [
36296                                     -7.240871,
36297                                     54.202326
36298                                 ],
36299                                 [
36300                                     -7.249088,
36301                                     54.197416
36302                                 ],
36303                                 [
36304                                     -7.255496,
36305                                     54.190854
36306                                 ],
36307                                 [
36308                                     -7.261128,
36309                                     54.18088
36310                                 ],
36311                                 [
36312                                     -7.256322,
36313                                     54.176901
36314                                 ],
36315                                 [
36316                                     -7.247021,
36317                                     54.17225
36318                                 ],
36319                                 [
36320                                     -7.24578,
36321                                     54.166979
36322                                 ],
36323                                 [
36324                                     -7.265366,
36325                                     54.16114
36326                                 ],
36327                                 [
36328                                     -7.26087,
36329                                     54.151166
36330                                 ],
36331                                 [
36332                                     -7.263505,
36333                                     54.140986
36334                                 ],
36335                                 [
36336                                     -7.27074,
36337                                     54.132253
36338                                 ],
36339                                 [
36340                                     -7.280042,
36341                                     54.126155
36342                                 ],
36343                                 [
36344                                     -7.293788,
36345                                     54.122021
36346                                 ],
36347                                 [
36348                                     -7.297353,
36349                                     54.125896
36350                                 ],
36351                                 [
36352                                     -7.29632,
36353                                     54.134991
36354                                 ],
36355                                 [
36356                                     -7.296423,
36357                                     54.146515
36358                                 ],
36359                                 [
36360                                     -7.295028,
36361                                     54.155404
36362                                 ],
36363                                 [
36364                                     -7.292134,
36365                                     54.162638
36366                                 ],
36367                                 [
36368                                     -7.295545,
36369                                     54.165119
36370                                 ],
36371                                 [
36372                                     -7.325982,
36373                                     54.154577
36374                                 ],
36375                                 [
36376                                     -7.333165,
36377                                     54.149409
36378                                 ],
36379                                 [
36380                                     -7.333165,
36381                                     54.142743
36382                                 ],
36383                                 [
36384                                     -7.310324,
36385                                     54.114683
36386                                 ],
36387                                 [
36388                                     -7.316489,
36389                                     54.11428
36390                                 ],
36391                                 [
36392                                     -7.326964,
36393                                     54.113597
36394                                 ],
36395                                 [
36396                                     -7.375488,
36397                                     54.123312
36398                                 ],
36399                                 [
36400                                     -7.390216,
36401                                     54.121194
36402                                 ],
36403                                 [
36404                                     -7.39466,
36405                                     54.121917
36406                                 ],
36407                                 [
36408                                     -7.396624,
36409                                     54.126258
36410                                 ],
36411                                 [
36412                                     -7.403962,
36413                                     54.135043
36414                                 ],
36415                                 [
36416                                     -7.41223,
36417                                     54.136438
36418                                 ],
36419                                 [
36420                                     -7.422255,
36421                                     54.135456
36422                                 ],
36423                                 [
36424                                     -7.425769,
36425                                     54.136955
36426                                 ],
36427                                 [
36428                                     -7.414659,
36429                                     54.145688
36430                                 ],
36431                                 [
36432                                     -7.439619,
36433                                     54.146929
36434                                 ],
36435                                 [
36436                                     -7.480753,
36437                                     54.127653
36438                                 ],
36439                                 [
36440                                     -7.502302,
36441                                     54.125121
36442                                 ],
36443                                 [
36444                                     -7.609014,
36445                                     54.139901
36446                                 ],
36447                                 [
36448                                     -7.620796,
36449                                     54.144965
36450                                 ],
36451                                 [
36452                                     -7.624052,
36453                                     54.153336
36454                                 ],
36455                                 [
36456                                     -7.625706,
36457                                     54.162173
36458                                 ],
36459                                 [
36460                                     -7.632682,
36461                                     54.168529
36462                                 ],
36463                                 [
36464                                     -7.70477,
36465                                     54.200362
36466                                 ],
36467                                 [
36468                                     -7.722599,
36469                                     54.202326
36470                                 ],
36471                                 [
36472                                     -7.782078,
36473                                     54.2
36474                                 ],
36475                                 [
36476                                     -7.836959,
36477                                     54.204341
36478                                 ],
36479                                 [
36480                                     -7.856441,
36481                                     54.211421
36482                                 ],
36483                                 [
36484                                     -7.86967,
36485                                     54.226872
36486                                 ],
36487                                 [
36488                                     -7.873649,
36489                                     54.271055
36490                                 ],
36491                                 [
36492                                     -7.880264,
36493                                     54.287023
36494                                 ],
36495                                 [
36496                                     -7.894966,
36497                                     54.293586
36498                                 ],
36499                                 [
36500                                     -7.93411,
36501                                     54.297049
36502                                 ],
36503                                 [
36504                                     -7.942075,
36505                                     54.298873
36506                                 ],
36507                                 [
36508                                     -7.950802,
36509                                     54.300873
36510                                 ],
36511                                 [
36512                                     -7.96801,
36513                                     54.31219
36514                                 ],
36515                                 [
36516                                     -7.981033,
36517                                     54.326556
36518                                 ],
36519                                 [
36520                                     -8.002194,
36521                                     54.357923
36522                                 ],
36523                                 [
36524                                     -8.03134,
36525                                     54.358027
36526                                 ],
36527                                 [
36528                                     -8.05648,
36529                                     54.365882
36530                                 ],
36531                                 [
36532                                     -8.079941,
36533                                     54.380196
36534                                 ],
36535                                 [
36536                                     -8.122419,
36537                                     54.415233
36538                                 ],
36539                                 [
36540                                     -8.146346,
36541                                     54.430736
36542                                 ],
36543                                 [
36544                                     -8.156035,
36545                                     54.439055
36546                                 ],
36547                                 [
36548                                     -8.158128,
36549                                     54.447117
36550                                 ],
36551                                 [
36552                                     -8.161177,
36553                                     54.454817
36554                                 ],
36555                                 [
36556                                     -8.173837,
36557                                     54.461741
36558                                 ],
36559                                 [
36560                                     -8.168467,
36561                                     54.463477
36562                                 ],
36563                                 [
36564                                     -8.15017,
36565                                     54.46939
36566                                 ],
36567                                 [
36568                                     -8.097046,
36569                                     54.478588
36570                                 ],
36571                                 [
36572                                     -8.072448,
36573                                     54.487063
36574                                 ],
36575                                 [
36576                                     -8.060976,
36577                                     54.493316
36578                                 ],
36579                                 [
36580                                     -8.05586,
36581                                     54.497553
36582                                 ],
36583                                 [
36584                                     -8.043561,
36585                                     54.512229
36586                                 ],
36587                                 [
36588                                     -8.023278,
36589                                     54.529696
36590                                 ],
36591                                 [
36592                                     -8.002194,
36593                                     54.543442
36594                                 ],
36595                                 [
36596                                     -7.926411,
36597                                     54.533055
36598                                 ],
36599                                 [
36600                                     -7.887137,
36601                                     54.532125
36602                                 ],
36603                                 [
36604                                     -7.848844,
36605                                     54.54091
36606                                 ],
36607                                 [
36608                                     -7.749264,
36609                                     54.596152
36610                                 ],
36611                                 [
36612                                     -7.707871,
36613                                     54.604162
36614                                 ],
36615                                 [
36616                                     -7.707944,
36617                                     54.604708
36618                                 ],
36619                                 [
36620                                     -7.707951,
36621                                     54.604763
36622                                 ],
36623                                 [
36624                                     -7.710558,
36625                                     54.624264
36626                                 ],
36627                                 [
36628                                     -7.721204,
36629                                     54.625866
36630                                 ],
36631                                 [
36632                                     -7.736758,
36633                                     54.619251
36634                                 ],
36635                                 [
36636                                     -7.753553,
36637                                     54.614497
36638                                 ],
36639                                 [
36640                                     -7.769159,
36641                                     54.618011
36642                                 ],
36643                                 [
36644                                     -7.801199,
36645                                     54.634806
36646                                 ],
36647                                 [
36648                                     -7.814996,
36649                                     54.639457
36650                                 ],
36651                                 [
36652                                     -7.822541,
36653                                     54.638113
36654                                 ],
36655                                 [
36656                                     -7.838044,
36657                                     54.63124
36658                                 ],
36659                                 [
36660                                     -7.846416,
36661                                     54.631447
36662                                 ],
36663                                 [
36664                                     -7.85427,
36665                                     54.636408
36666                                 ],
36667                                 [
36668                                     -7.864347,
36669                                     54.649069
36670                                 ],
36671                                 [
36672                                     -7.872771,
36673                                     54.652221
36674                                 ],
36675                                 [
36676                                     -7.890082,
36677                                     54.655063
36678                                 ],
36679                                 [
36680                                     -7.906619,
36681                                     54.661316
36682                                 ],
36683                                 [
36684                                     -7.914835,
36685                                     54.671651
36686                                 ],
36687                                 [
36688                                     -7.907135,
36689                                     54.686689
36690                                 ],
36691                                 [
36692                                     -7.913233,
36693                                     54.688653
36694                                 ],
36695                                 [
36696                                     -7.929666,
36697                                     54.696714
36698                                 ],
36699                                 [
36700                                     -7.880109,
36701                                     54.711029
36702                                 ],
36703                                 [
36704                                     -7.845899,
36705                                     54.731027
36706                                 ],
36707                                 [
36708                                     -7.832153,
36709                                     54.730614
36710                                 ],
36711                                 [
36712                                     -7.803576,
36713                                     54.716145
36714                                 ],
36715                                 [
36716                                     -7.770503,
36717                                     54.706016
36718                                 ],
36719                                 [
36720                                     -7.736603,
36721                                     54.707463
36722                                 ],
36723                                 [
36724                                     -7.70229,
36725                                     54.718883
36726                                 ],
36727                                 [
36728                                     -7.667512,
36729                                     54.738779
36730                                 ],
36731                                 [
36732                                     -7.649683,
36733                                     54.744877
36734                                 ],
36735                                 [
36736                                     -7.61537,
36737                                     54.739347
36738                                 ],
36739                                 [
36740                                     -7.585398,
36741                                     54.744722
36742                                 ],
36743                                 [
36744                                     -7.566639,
36745                                     54.738675
36746                                 ],
36747                                 [
36748                                     -7.556149,
36749                                     54.738365
36750                                 ],
36751                                 [
36752                                     -7.543075,
36753                                     54.741673
36754                                 ],
36755                                 [
36756                                     -7.543023,
36757                                     54.743791
36758                                 ],
36759                                 [
36760                                     -7.548398,
36761                                     54.747202
36762                                 ],
36763                                 [
36764                                     -7.551705,
36765                                     54.754695
36766                                 ],
36767                                 [
36768                                     -7.549741,
36769                                     54.779603
36770                                 ],
36771                                 [
36772                                     -7.543385,
36773                                     54.793091
36774                                 ],
36775                                 [
36776                                     -7.470831,
36777                                     54.845284
36778                                 ],
36779                                 [
36780                                     -7.45507,
36781                                     54.863009
36782                                 ],
36783                                 [
36784                                     -7.444735,
36785                                     54.884455
36786                                 ],
36787                                 [
36788                                     -7.444735,
36789                                     54.894893
36790                                 ],
36791                                 [
36792                                     -7.448972,
36793                                     54.920318
36794                                 ],
36795                                 [
36796                                     -7.445251,
36797                                     54.932152
36798                                 ],
36799                                 [
36800                                     -7.436983,
36801                                     54.938301
36802                                 ],
36803                                 [
36804                                     -7.417139,
36805                                     54.943056
36806                                 ],
36807                                 [
36808                                     -7.415755,
36809                                     54.944372
36810                                 ],
36811                                 [
36812                                     -7.408665,
36813                                     54.951117
36814                                 ],
36815                                 [
36816                                     -7.407424,
36817                                     54.959437
36818                                 ],
36819                                 [
36820                                     -7.413109,
36821                                     54.984965
36822                                 ],
36823                                 [
36824                                     -7.409078,
36825                                     54.992045
36826                                 ],
36827                                 [
36828                                     -7.403755,
36829                                     54.99313
36830                                 ],
36831                                 [
36832                                     -7.40112,
36833                                     54.994836
36834                                 ],
36835                                 [
36836                                     -7.405254,
36837                                     55.003569
36838                                 ],
36839                                 [
36840                                     -7.376987,
36841                                     55.02889
36842                                 ],
36843                                 [
36844                                     -7.366962,
36845                                     55.035557
36846                                 ],
36847                                 [
36848                                     -7.355024,
36849                                     55.040931
36850                                 ],
36851                                 [
36852                                     -7.291152,
36853                                     55.046615
36854                                 ],
36855                                 [
36856                                     -7.282987,
36857                                     55.051835
36858                                 ],
36859                                 [
36860                                     -7.275288,
36861                                     55.058863
36862                                 ],
36863                                 [
36864                                     -7.266503,
36865                                     55.065167
36866                                 ],
36867                                 [
36868                                     -7.247097,
36869                                     55.069328
36870                                 ],
36871                                 [
36872                                     -7.2471,
36873                                     55.069322
36874                                 ],
36875                                 [
36876                                     -7.256744,
36877                                     55.050686
36878                                 ],
36879                                 [
36880                                     -7.240956,
36881                                     55.050279
36882                                 ],
36883                                 [
36884                                     -7.240314,
36885                                     55.050389
36886                                 ]
36887                             ]
36888                         ],
36889                         [
36890                             [
36891                                 [
36892                                     -13.688588,
36893                                     57.596259
36894                                 ],
36895                                 [
36896                                     -13.690419,
36897                                     57.596259
36898                                 ],
36899                                 [
36900                                     -13.691314,
36901                                     57.596503
36902                                 ],
36903                                 [
36904                                     -13.691314,
36905                                     57.597154
36906                                 ],
36907                                 [
36908                                     -13.690419,
36909                                     57.597805
36910                                 ],
36911                                 [
36912                                     -13.688588,
36913                                     57.597805
36914                                 ],
36915                                 [
36916                                     -13.687652,
36917                                     57.597154
36918                                 ],
36919                                 [
36920                                     -13.687652,
36921                                     57.596869
36922                                 ],
36923                                 [
36924                                     -13.688588,
36925                                     57.596259
36926                                 ]
36927                             ]
36928                         ],
36929                         [
36930                             [
36931                                 [
36932                                     -4.839121,
36933                                     54.469789
36934                                 ],
36935                                 [
36936                                     -4.979941,
36937                                     54.457977
36938                                 ],
36939                                 [
36940                                     -5.343644,
36941                                     54.878637
36942                                 ],
36943                                 [
36944                                     -5.308469,
36945                                     55.176452
36946                                 ],
36947                                 [
36948                                     -6.272566,
36949                                     55.418443
36950                                 ],
36951                                 [
36952                                     -8.690528,
36953                                     57.833706
36954                                 ],
36955                                 [
36956                                     -6.344705,
36957                                     59.061083
36958                                 ],
36959                                 [
36960                                     -4.204785,
36961                                     58.63305
36962                                 ],
36963                                 [
36964                                     -2.31566,
36965                                     60.699068
36966                                 ],
36967                                 [
36968                                     -1.695335,
36969                                     60.76432
36970                                 ],
36971                                 [
36972                                     -1.58092,
36973                                     60.866001
36974                                 ],
36975                                 [
36976                                     -0.17022,
36977                                     60.897204
36978                                 ],
36979                                 [
36980                                     -0.800508,
36981                                     59.770037
36982                                 ],
36983                                 [
36984                                     -1.292368,
36985                                     57.732574
36986                                 ],
36987                                 [
36988                                     -1.850077,
36989                                     55.766368
36990                                 ],
36991                                 [
36992                                     -1.73054,
36993                                     55.782219
36994                                 ],
36995                                 [
36996                                     1.892395,
36997                                     52.815229
36998                                 ],
36999                                 [
37000                                     1.742775,
37001                                     51.364209
37002                                 ],
37003                                 [
37004                                     1.080173,
37005                                     50.847526
37006                                 ],
37007                                 [
37008                                     0.000774,
37009                                     50.664982
37010                                 ],
37011                                 [
37012                                     -0.162997,
37013                                     50.752401
37014                                 ],
37015                                 [
37016                                     -0.725152,
37017                                     50.731879
37018                                 ],
37019                                 [
37020                                     -0.768853,
37021                                     50.741516
37022                                 ],
37023                                 [
37024                                     -0.770985,
37025                                     50.736884
37026                                 ],
37027                                 [
37028                                     -0.789947,
37029                                     50.730048
37030                                 ],
37031                                 [
37032                                     -0.812815,
37033                                     50.734768
37034                                 ],
37035                                 [
37036                                     -0.877742,
37037                                     50.761156
37038                                 ],
37039                                 [
37040                                     -0.942879,
37041                                     50.758338
37042                                 ],
37043                                 [
37044                                     -0.992581,
37045                                     50.737379
37046                                 ],
37047                                 [
37048                                     -1.18513,
37049                                     50.766989
37050                                 ],
37051                                 [
37052                                     -1.282741,
37053                                     50.792353
37054                                 ],
37055                                 [
37056                                     -1.375004,
37057                                     50.772063
37058                                 ],
37059                                 [
37060                                     -1.523427,
37061                                     50.719605
37062                                 ],
37063                                 [
37064                                     -1.630649,
37065                                     50.695128
37066                                 ],
37067                                 [
37068                                     -1.663617,
37069                                     50.670508
37070                                 ],
37071                                 [
37072                                     -1.498021,
37073                                     50.40831
37074                                 ],
37075                                 [
37076                                     -4.097427,
37077                                     49.735486
37078                                 ],
37079                                 [
37080                                     -6.825199,
37081                                     49.700905
37082                                 ],
37083                                 [
37084                                     -5.541541,
37085                                     51.446591
37086                                 ],
37087                                 [
37088                                     -6.03361,
37089                                     51.732369
37090                                 ],
37091                                 [
37092                                     -4.791746,
37093                                     52.635365
37094                                 ],
37095                                 [
37096                                     -4.969244,
37097                                     52.637413
37098                                 ],
37099                                 [
37100                                     -5.049473,
37101                                     53.131209
37102                                 ],
37103                                 [
37104                                     -4.787393,
37105                                     53.409491
37106                                 ],
37107                                 [
37108                                     -4.734148,
37109                                     53.424866
37110                                 ],
37111                                 [
37112                                     -4.917096,
37113                                     53.508212
37114                                 ],
37115                                 [
37116                                     -4.839121,
37117                                     54.469789
37118                                 ]
37119                             ]
37120                         ]
37121                     ]
37122                 }
37123             },
37124             {
37125                 "type": "Feature",
37126                 "properties": {
37127                     "id": 0
37128                 },
37129                 "geometry": {
37130                     "type": "MultiPolygon",
37131                     "coordinates": [
37132                         [
37133                             [
37134                                 [
37135                                     -157.018938,
37136                                     19.300864
37137                                 ],
37138                                 [
37139                                     -179.437336,
37140                                     27.295312
37141                                 ],
37142                                 [
37143                                     -179.480084,
37144                                     28.991459
37145                                 ],
37146                                 [
37147                                     -168.707465,
37148                                     26.30325
37149                                 ],
37150                                 [
37151                                     -163.107414,
37152                                     24.60499
37153                                 ],
37154                                 [
37155                                     -153.841679,
37156                                     20.079306
37157                                 ],
37158                                 [
37159                                     -154.233846,
37160                                     19.433391
37161                                 ],
37162                                 [
37163                                     -153.61725,
37164                                     18.900587
37165                                 ],
37166                                 [
37167                                     -154.429471,
37168                                     18.171036
37169                                 ],
37170                                 [
37171                                     -156.780638,
37172                                     18.718492
37173                                 ],
37174                                 [
37175                                     -157.018938,
37176                                     19.300864
37177                                 ]
37178                             ]
37179                         ],
37180                         [
37181                             [
37182                                 [
37183                                     -78.91269,
37184                                     43.037032
37185                                 ],
37186                                 [
37187                                     -78.964351,
37188                                     42.976393
37189                                 ],
37190                                 [
37191                                     -78.981718,
37192                                     42.979043
37193                                 ],
37194                                 [
37195                                     -78.998055,
37196                                     42.991111
37197                                 ],
37198                                 [
37199                                     -79.01189,
37200                                     43.004358
37201                                 ],
37202                                 [
37203                                     -79.022046,
37204                                     43.010539
37205                                 ],
37206                                 [
37207                                     -79.023076,
37208                                     43.017015
37209                                 ],
37210                                 [
37211                                     -79.00983,
37212                                     43.050867
37213                                 ],
37214                                 [
37215                                     -79.011449,
37216                                     43.065291
37217                                 ],
37218                                 [
37219                                     -78.993051,
37220                                     43.066174
37221                                 ],
37222                                 [
37223                                     -78.975536,
37224                                     43.069707
37225                                 ],
37226                                 [
37227                                     -78.958905,
37228                                     43.070884
37229                                 ],
37230                                 [
37231                                     -78.943304,
37232                                     43.065291
37233                                 ],
37234                                 [
37235                                     -78.917399,
37236                                     43.058521
37237                                 ],
37238                                 [
37239                                     -78.908569,
37240                                     43.049396
37241                                 ],
37242                                 [
37243                                     -78.91269,
37244                                     43.037032
37245                                 ]
37246                             ]
37247                         ],
37248                         [
37249                             [
37250                                 [
37251                                     -123.03529,
37252                                     48.992515
37253                                 ],
37254                                 [
37255                                     -123.035308,
37256                                     48.992499
37257                                 ],
37258                                 [
37259                                     -123.045277,
37260                                     48.984361
37261                                 ],
37262                                 [
37263                                     -123.08849,
37264                                     48.972235
37265                                 ],
37266                                 [
37267                                     -123.089345,
37268                                     48.987982
37269                                 ],
37270                                 [
37271                                     -123.090484,
37272                                     48.992499
37273                                 ],
37274                                 [
37275                                     -123.090488,
37276                                     48.992515
37277                                 ],
37278                                 [
37279                                     -123.035306,
37280                                     48.992515
37281                                 ],
37282                                 [
37283                                     -123.03529,
37284                                     48.992515
37285                                 ]
37286                             ]
37287                         ],
37288                         [
37289                             [
37290                                 [
37291                                     -103.837038,
37292                                     29.279906
37293                                 ],
37294                                 [
37295                                     -103.864121,
37296                                     29.281366
37297                                 ],
37298                                 [
37299                                     -103.928122,
37300                                     29.293019
37301                                 ],
37302                                 [
37303                                     -104.01915,
37304                                     29.32033
37305                                 ],
37306                                 [
37307                                     -104.057313,
37308                                     29.339037
37309                                 ],
37310                                 [
37311                                     -104.105424,
37312                                     29.385675
37313                                 ],
37314                                 [
37315                                     -104.139789,
37316                                     29.400584
37317                                 ],
37318                                 [
37319                                     -104.161648,
37320                                     29.416759
37321                                 ],
37322                                 [
37323                                     -104.194514,
37324                                     29.448927
37325                                 ],
37326                                 [
37327                                     -104.212291,
37328                                     29.484661
37329                                 ],
37330                                 [
37331                                     -104.218698,
37332                                     29.489829
37333                                 ],
37334                                 [
37335                                     -104.227148,
37336                                     29.493033
37337                                 ],
37338                                 [
37339                                     -104.251022,
37340                                     29.508588
37341                                 ],
37342                                 [
37343                                     -104.267171,
37344                                     29.526571
37345                                 ],
37346                                 [
37347                                     -104.292751,
37348                                     29.532824
37349                                 ],
37350                                 [
37351                                     -104.320604,
37352                                     29.532255
37353                                 ],
37354                                 [
37355                                     -104.338484,
37356                                     29.524013
37357                                 ],
37358                                 [
37359                                     -104.349026,
37360                                     29.537578
37361                                 ],
37362                                 [
37363                                     -104.430443,
37364                                     29.582795
37365                                 ],
37366                                 [
37367                                     -104.437832,
37368                                     29.58543
37369                                 ],
37370                                 [
37371                                     -104.444008,
37372                                     29.589203
37373                                 ],
37374                                 [
37375                                     -104.448555,
37376                                     29.597678
37377                                 ],
37378                                 [
37379                                     -104.452069,
37380                                     29.607109
37381                                 ],
37382                                 [
37383                                     -104.455222,
37384                                     29.613387
37385                                 ],
37386                                 [
37387                                     -104.469381,
37388                                     29.625402
37389                                 ],
37390                                 [
37391                                     -104.516639,
37392                                     29.654315
37393                                 ],
37394                                 [
37395                                     -104.530824,
37396                                     29.667906
37397                                 ],
37398                                 [
37399                                     -104.535036,
37400                                     29.677802
37401                                 ],
37402                                 [
37403                                     -104.535191,
37404                                     29.687853
37405                                 ],
37406                                 [
37407                                     -104.537103,
37408                                     29.702116
37409                                 ],
37410                                 [
37411                                     -104.543666,
37412                                     29.71643
37413                                 ],
37414                                 [
37415                                     -104.561391,
37416                                     29.745421
37417                                 ],
37418                                 [
37419                                     -104.570279,
37420                                     29.787511
37421                                 ],
37422                                 [
37423                                     -104.583586,
37424                                     29.802575
37425                                 ],
37426                                 [
37427                                     -104.601207,
37428                                     29.81477
37429                                 ],
37430                                 [
37431                                     -104.619682,
37432                                     29.833064
37433                                 ],
37434                                 [
37435                                     -104.623764,
37436                                     29.841487
37437                                 ],
37438                                 [
37439                                     -104.637588,
37440                                     29.887996
37441                                 ],
37442                                 [
37443                                     -104.656346,
37444                                     29.908201
37445                                 ],
37446                                 [
37447                                     -104.660635,
37448                                     29.918433
37449                                 ],
37450                                 [
37451                                     -104.663478,
37452                                     29.923084
37453                                 ],
37454                                 [
37455                                     -104.676526,
37456                                     29.93683
37457                                 ],
37458                                 [
37459                                     -104.680479,
37460                                     29.942308
37461                                 ],
37462                                 [
37463                                     -104.682469,
37464                                     29.952126
37465                                 ],
37466                                 [
37467                                     -104.680117,
37468                                     29.967784
37469                                 ],
37470                                 [
37471                                     -104.680479,
37472                                     29.976466
37473                                 ],
37474                                 [
37475                                     -104.699108,
37476                                     30.03145
37477                                 ],
37478                                 [
37479                                     -104.701589,
37480                                     30.055324
37481                                 ],
37482                                 [
37483                                     -104.698592,
37484                                     30.075271
37485                                 ],
37486                                 [
37487                                     -104.684639,
37488                                     30.111135
37489                                 ],
37490                                 [
37491                                     -104.680479,
37492                                     30.134131
37493                                 ],
37494                                 [
37495                                     -104.67867,
37496                                     30.170356
37497                                 ],
37498                                 [
37499                                     -104.681564,
37500                                     30.192939
37501                                 ],
37502                                 [
37503                                     -104.695853,
37504                                     30.208441
37505                                 ],
37506                                 [
37507                                     -104.715231,
37508                                     30.243995
37509                                 ],
37510                                 [
37511                                     -104.724585,
37512                                     30.252211
37513                                 ],
37514                                 [
37515                                     -104.742155,
37516                                     30.25986
37517                                 ],
37518                                 [
37519                                     -104.74939,
37520                                     30.264459
37521                                 ],
37522                                 [
37523                                     -104.761689,
37524                                     30.284199
37525                                 ],
37526                                 [
37527                                     -104.774143,
37528                                     30.311588
37529                                 ],
37530                                 [
37531                                     -104.788767,
37532                                     30.335927
37533                                 ],
37534                                 [
37535                                     -104.807732,
37536                                     30.346418
37537                                 ],
37538                                 [
37539                                     -104.8129,
37540                                     30.350707
37541                                 ],
37542                                 [
37543                                     -104.814967,
37544                                     30.360577
37545                                 ],
37546                                 [
37547                                     -104.816001,
37548                                     30.371997
37549                                 ],
37550                                 [
37551                                     -104.818274,
37552                                     30.380524
37553                                 ],
37554                                 [
37555                                     -104.824269,
37556                                     30.38719
37557                                 ],
37558                                 [
37559                                     -104.83755,
37560                                     30.394063
37561                                 ],
37562                                 [
37563                                     -104.844939,
37564                                     30.40104
37565                                 ],
37566                                 [
37567                                     -104.853259,
37568                                     30.41215
37569                                 ],
37570                                 [
37571                                     -104.855016,
37572                                     30.417473
37573                                 ],
37574                                 [
37575                                     -104.853621,
37576                                     30.423984
37577                                 ],
37578                                 [
37579                                     -104.852432,
37580                                     30.438867
37581                                 ],
37582                                 [
37583                                     -104.854655,
37584                                     30.448737
37585                                 ],
37586                                 [
37587                                     -104.864473,
37588                                     30.462018
37589                                 ],
37590                                 [
37591                                     -104.866695,
37592                                     30.473025
37593                                 ],
37594                                 [
37595                                     -104.865248,
37596                                     30.479898
37597                                 ],
37598                                 [
37599                                     -104.859615,
37600                                     30.491112
37601                                 ],
37602                                 [
37603                                     -104.859254,
37604                                     30.497261
37605                                 ],
37606                                 [
37607                                     -104.863026,
37608                                     30.502377
37609                                 ],
37610                                 [
37611                                     -104.879718,
37612                                     30.510852
37613                                 ],
37614                                 [
37615                                     -104.882146,
37616                                     30.520929
37617                                 ],
37618                                 [
37619                                     -104.884007,
37620                                     30.541858
37621                                 ],
37622                                 [
37623                                     -104.886591,
37624                                     30.551883
37625                                 ],
37626                                 [
37627                                     -104.898166,
37628                                     30.569401
37629                                 ],
37630                                 [
37631                                     -104.928242,
37632                                     30.599529
37633                                 ],
37634                                 [
37635                                     -104.93434,
37636                                     30.610536
37637                                 ],
37638                                 [
37639                                     -104.941057,
37640                                     30.61405
37641                                 ],
37642                                 [
37643                                     -104.972735,
37644                                     30.618029
37645                                 ],
37646                                 [
37647                                     -104.98276,
37648                                     30.620716
37649                                 ],
37650                                 [
37651                                     -104.989117,
37652                                     30.629553
37653                                 ],
37654                                 [
37655                                     -104.991649,
37656                                     30.640301
37657                                 ],
37658                                 [
37659                                     -104.992941,
37660                                     30.651464
37661                                 ],
37662                                 [
37663                                     -104.995783,
37664                                     30.661747
37665                                 ],
37666                                 [
37667                                     -105.008495,
37668                                     30.676992
37669                                 ],
37670                                 [
37671                                     -105.027977,
37672                                     30.690117
37673                                 ],
37674                                 [
37675                                     -105.049475,
37676                                     30.699264
37677                                 ],
37678                                 [
37679                                     -105.06813,
37680                                     30.702675
37681                                 ],
37682                                 [
37683                                     -105.087043,
37684                                     30.709806
37685                                 ],
37686                                 [
37687                                     -105.133604,
37688                                     30.757917
37689                                 ],
37690                                 [
37691                                     -105.140425,
37692                                     30.750476
37693                                 ],
37694                                 [
37695                                     -105.153241,
37696                                     30.763188
37697                                 ],
37698                                 [
37699                                     -105.157788,
37700                                     30.76572
37701                                 ],
37702                                 [
37703                                     -105.160889,
37704                                     30.764118
37705                                 ],
37706                                 [
37707                                     -105.162698,
37708                                     30.774919
37709                                 ],
37710                                 [
37711                                     -105.167297,
37712                                     30.781171
37713                                 ],
37714                                 [
37715                                     -105.17479,
37716                                     30.783962
37717                                 ],
37718                                 [
37719                                     -105.185125,
37720                                     30.784634
37721                                 ],
37722                                 [
37723                                     -105.195306,
37724                                     30.787941
37725                                 ],
37726                                 [
37727                                     -105.204917,
37728                                     30.80241
37729                                 ],
37730                                 [
37731                                     -105.2121,
37732                                     30.805718
37733                                 ],
37734                                 [
37735                                     -105.21825,
37736                                     30.806803
37737                                 ],
37738                                 [
37739                                     -105.229257,
37740                                     30.810214
37741                                 ],
37742                                 [
37743                                     -105.232874,
37744                                     30.809128
37745                                 ],
37746                                 [
37747                                     -105.239851,
37748                                     30.801532
37749                                 ],
37750                                 [
37751                                     -105.243985,
37752                                     30.799103
37753                                 ],
37754                                 [
37755                                     -105.249049,
37756                                     30.798845
37757                                 ],
37758                                 [
37759                                     -105.259488,
37760                                     30.802979
37761                                 ],
37762                                 [
37763                                     -105.265844,
37764                                     30.808405
37765                                 ],
37766                                 [
37767                                     -105.270753,
37768                                     30.814348
37769                                 ],
37770                                 [
37771                                     -105.277006,
37772                                     30.819412
37773                                 ],
37774                                 [
37775                                     -105.334315,
37776                                     30.843803
37777                                 ],
37778                                 [
37779                                     -105.363771,
37780                                     30.850366
37781                                 ],
37782                                 [
37783                                     -105.376173,
37784                                     30.859565
37785                                 ],
37786                                 [
37787                                     -105.41555,
37788                                     30.902456
37789                                 ],
37790                                 [
37791                                     -105.496682,
37792                                     30.95651
37793                                 ],
37794                                 [
37795                                     -105.530789,
37796                                     30.991701
37797                                 ],
37798                                 [
37799                                     -105.555955,
37800                                     31.002605
37801                                 ],
37802                                 [
37803                                     -105.565722,
37804                                     31.016661
37805                                 ],
37806                                 [
37807                                     -105.578641,
37808                                     31.052163
37809                                 ],
37810                                 [
37811                                     -105.59094,
37812                                     31.071438
37813                                 ],
37814                                 [
37815                                     -105.605875,
37816                                     31.081928
37817                                 ],
37818                                 [
37819                                     -105.623496,
37820                                     31.090351
37821                                 ],
37822                                 [
37823                                     -105.643805,
37824                                     31.103684
37825                                 ],
37826                                 [
37827                                     -105.668042,
37828                                     31.127869
37829                                 ],
37830                                 [
37831                                     -105.675225,
37832                                     31.131951
37833                                 ],
37834                                 [
37835                                     -105.692278,
37836                                     31.137635
37837                                 ],
37838                                 [
37839                                     -105.76819,
37840                                     31.18001
37841                                 ],
37842                                 [
37843                                     -105.777854,
37844                                     31.192722
37845                                 ],
37846                                 [
37847                                     -105.78483,
37848                                     31.211016
37849                                 ],
37850                                 [
37851                                     -105.861983,
37852                                     31.288376
37853                                 ],
37854                                 [
37855                                     -105.880147,
37856                                     31.300881
37857                                 ],
37858                                 [
37859                                     -105.896994,
37860                                     31.305997
37861                                 ],
37862                                 [
37863                                     -105.897149,
37864                                     31.309511
37865                                 ],
37866                                 [
37867                                     -105.908802,
37868                                     31.317004
37869                                 ],
37870                                 [
37871                                     -105.928052,
37872                                     31.326461
37873                                 ],
37874                                 [
37875                                     -105.934563,
37876                                     31.335504
37877                                 ],
37878                                 [
37879                                     -105.941772,
37880                                     31.352351
37881                                 ],
37882                                 [
37883                                     -105.948515,
37884                                     31.361239
37885                                 ],
37886                                 [
37887                                     -105.961202,
37888                                     31.371006
37889                                 ],
37890                                 [
37891                                     -106.004739,
37892                                     31.396948
37893                                 ],
37894                                 [
37895                                     -106.021147,
37896                                     31.402167
37897                                 ],
37898                                 [
37899                                     -106.046261,
37900                                     31.404648
37901                                 ],
37902                                 [
37903                                     -106.065304,
37904                                     31.410952
37905                                 ],
37906                                 [
37907                                     -106.099385,
37908                                     31.428884
37909                                 ],
37910                                 [
37911                                     -106.141113,
37912                                     31.439167
37913                                 ],
37914                                 [
37915                                     -106.164316,
37916                                     31.447797
37917                                 ],
37918                                 [
37919                                     -106.174471,
37920                                     31.460251
37921                                 ],
37922                                 [
37923                                     -106.209249,
37924                                     31.477305
37925                                 ],
37926                                 [
37927                                     -106.215424,
37928                                     31.483919
37929                                 ],
37930                                 [
37931                                     -106.21744,
37932                                     31.488725
37933                                 ],
37934                                 [
37935                                     -106.218731,
37936                                     31.494616
37937                                 ],
37938                                 [
37939                                     -106.222891,
37940                                     31.50459
37941                                 ],
37942                                 [
37943                                     -106.232658,
37944                                     31.519938
37945                                 ],
37946                                 [
37947                                     -106.274749,
37948                                     31.562622
37949                                 ],
37950                                 [
37951                                     -106.286298,
37952                                     31.580141
37953                                 ],
37954                                 [
37955                                     -106.312292,
37956                                     31.648612
37957                                 ],
37958                                 [
37959                                     -106.331309,
37960                                     31.68215
37961                                 ],
37962                                 [
37963                                     -106.35849,
37964                                     31.717548
37965                                 ],
37966                                 [
37967                                     -106.39177,
37968                                     31.745919
37969                                 ],
37970                                 [
37971                                     -106.428951,
37972                                     31.758476
37973                                 ],
37974                                 [
37975                                     -106.473135,
37976                                     31.755065
37977                                 ],
37978                                 [
37979                                     -106.492797,
37980                                     31.759044
37981                                 ],
37982                                 [
37983                                     -106.501425,
37984                                     31.766344
37985                                 ],
37986                                 [
37987                                     -106.506052,
37988                                     31.770258
37989                                 ],
37990                                 [
37991                                     -106.517189,
37992                                     31.773824
37993                                 ],
37994                                 [
37995                                     -106.558969,
37996                                     31.773876
37997                                 ],
37998                                 [
37999                                     -106.584859,
38000                                     31.773927
38001                                 ],
38002                                 [
38003                                     -106.610697,
38004                                     31.773979
38005                                 ],
38006                                 [
38007                                     -106.636587,
38008                                     31.774082
38009                                 ],
38010                                 [
38011                                     -106.662477,
38012                                     31.774134
38013                                 ],
38014                                 [
38015                                     -106.688315,
38016                                     31.774237
38017                                 ],
38018                                 [
38019                                     -106.714205,
38020                                     31.774237
38021                                 ],
38022                                 [
38023                                     -106.740095,
38024                                     31.774289
38025                                 ],
38026                                 [
38027                                     -106.765933,
38028                                     31.774392
38029                                 ],
38030                                 [
38031                                     -106.791823,
38032                                     31.774444
38033                                 ],
38034                                 [
38035                                     -106.817713,
38036                                     31.774496
38037                                 ],
38038                                 [
38039                                     -106.843603,
38040                                     31.774547
38041                                 ],
38042                                 [
38043                                     -106.869441,
38044                                     31.774599
38045                                 ],
38046                                 [
38047                                     -106.895331,
38048                                     31.774702
38049                                 ],
38050                                 [
38051                                     -106.921221,
38052                                     31.774702
38053                                 ],
38054                                 [
38055                                     -106.947111,
38056                                     31.774754
38057                                 ],
38058                                 [
38059                                     -106.973001,
38060                                     31.774857
38061                                 ],
38062                                 [
38063                                     -106.998891,
38064                                     31.774909
38065                                 ],
38066                                 [
38067                                     -107.02478,
38068                                     31.774961
38069                                 ],
38070                                 [
38071                                     -107.05067,
38072                                     31.775013
38073                                 ],
38074                                 [
38075                                     -107.076509,
38076                                     31.775064
38077                                 ],
38078                                 [
38079                                     -107.102398,
38080                                     31.775168
38081                                 ],
38082                                 [
38083                                     -107.128288,
38084                                     31.775168
38085                                 ],
38086                                 [
38087                                     -107.154127,
38088                                     31.775219
38089                                 ],
38090                                 [
38091                                     -107.180016,
38092                                     31.775374
38093                                 ],
38094                                 [
38095                                     -107.205906,
38096                                     31.775374
38097                                 ],
38098                                 [
38099                                     -107.231796,
38100                                     31.775426
38101                                 ],
38102                                 [
38103                                     -107.257634,
38104                                     31.775478
38105                                 ],
38106                                 [
38107                                     -107.283524,
38108                                     31.775529
38109                                 ],
38110                                 [
38111                                     -107.309414,
38112                                     31.775633
38113                                 ],
38114                                 [
38115                                     -107.335252,
38116                                     31.775684
38117                                 ],
38118                                 [
38119                                     -107.361142,
38120                                     31.775788
38121                                 ],
38122                                 [
38123                                     -107.387032,
38124                                     31.775788
38125                                 ],
38126                                 [
38127                                     -107.412896,
38128                                     31.775839
38129                                 ],
38130                                 [
38131                                     -107.438786,
38132                                     31.775943
38133                                 ],
38134                                 [
38135                                     -107.464676,
38136                                     31.775994
38137                                 ],
38138                                 [
38139                                     -107.490566,
38140                                     31.776098
38141                                 ],
38142                                 [
38143                                     -107.516404,
38144                                     31.776149
38145                                 ],
38146                                 [
38147                                     -107.542294,
38148                                     31.776201
38149                                 ],
38150                                 [
38151                                     -107.568184,
38152                                     31.776253
38153                                 ],
38154                                 [
38155                                     -107.594074,
38156                                     31.776304
38157                                 ],
38158                                 [
38159                                     -107.619964,
38160                                     31.776408
38161                                 ],
38162                                 [
38163                                     -107.645854,
38164                                     31.776459
38165                                 ],
38166                                 [
38167                                     -107.671744,
38168                                     31.776459
38169                                 ],
38170                                 [
38171                                     -107.697633,
38172                                     31.776563
38173                                 ],
38174                                 [
38175                                     -107.723472,
38176                                     31.776614
38177                                 ],
38178                                 [
38179                                     -107.749362,
38180                                     31.776666
38181                                 ],
38182                                 [
38183                                     -107.775251,
38184                                     31.776718
38185                                 ],
38186                                 [
38187                                     -107.801141,
38188                                     31.77677
38189                                 ],
38190                                 [
38191                                     -107.82698,
38192                                     31.776873
38193                                 ],
38194                                 [
38195                                     -107.852869,
38196                                     31.776925
38197                                 ],
38198                                 [
38199                                     -107.878759,
38200                                     31.776925
38201                                 ],
38202                                 [
38203                                     -107.904598,
38204                                     31.777028
38205                                 ],
38206                                 [
38207                                     -107.930487,
38208                                     31.77708
38209                                 ],
38210                                 [
38211                                     -107.956377,
38212                                     31.777131
38213                                 ],
38214                                 [
38215                                     -107.982216,
38216                                     31.777183
38217                                 ],
38218                                 [
38219                                     -108.008105,
38220                                     31.777235
38221                                 ],
38222                                 [
38223                                     -108.033995,
38224                                     31.777338
38225                                 ],
38226                                 [
38227                                     -108.059885,
38228                                     31.77739
38229                                 ],
38230                                 [
38231                                     -108.085723,
38232                                     31.77739
38233                                 ],
38234                                 [
38235                                     -108.111613,
38236                                     31.777545
38237                                 ],
38238                                 [
38239                                     -108.137503,
38240                                     31.777545
38241                                 ],
38242                                 [
38243                                     -108.163341,
38244                                     31.777648
38245                                 ],
38246                                 [
38247                                     -108.189283,
38248                                     31.7777
38249                                 ],
38250                                 [
38251                                     -108.215121,
38252                                     31.777751
38253                                 ],
38254                                 [
38255                                     -108.215121,
38256                                     31.770723
38257                                 ],
38258                                 [
38259                                     -108.215121,
38260                                     31.763695
38261                                 ],
38262                                 [
38263                                     -108.215121,
38264                                     31.756667
38265                                 ],
38266                                 [
38267                                     -108.215121,
38268                                     31.749639
38269                                 ],
38270                                 [
38271                                     -108.215121,
38272                                     31.74256
38273                                 ],
38274                                 [
38275                                     -108.215121,
38276                                     31.735583
38277                                 ],
38278                                 [
38279                                     -108.215121,
38280                                     31.728555
38281                                 ],
38282                                 [
38283                                     -108.215121,
38284                                     31.721476
38285                                 ],
38286                                 [
38287                                     -108.215121,
38288                                     31.714396
38289                                 ],
38290                                 [
38291                                     -108.215121,
38292                                     31.70742
38293                                 ],
38294                                 [
38295                                     -108.215121,
38296                                     31.700392
38297                                 ],
38298                                 [
38299                                     -108.215121,
38300                                     31.693312
38301                                 ],
38302                                 [
38303                                     -108.215121,
38304                                     31.686284
38305                                 ],
38306                                 [
38307                                     -108.215121,
38308                                     31.679256
38309                                 ],
38310                                 [
38311                                     -108.215121,
38312                                     31.672176
38313                                 ],
38314                                 [
38315                                     -108.21507,
38316                                     31.665148
38317                                 ],
38318                                 [
38319                                     -108.215018,
38320                                     31.658172
38321                                 ],
38322                                 [
38323                                     -108.215018,
38324                                     31.651092
38325                                 ],
38326                                 [
38327                                     -108.215018,
38328                                     31.644064
38329                                 ],
38330                                 [
38331                                     -108.215018,
38332                                     31.637036
38333                                 ],
38334                                 [
38335                                     -108.215018,
38336                                     31.630008
38337                                 ],
38338                                 [
38339                                     -108.215018,
38340                                     31.62298
38341                                 ],
38342                                 [
38343                                     -108.215018,
38344                                     31.615952
38345                                 ],
38346                                 [
38347                                     -108.215018,
38348                                     31.608873
38349                                 ],
38350                                 [
38351                                     -108.215018,
38352                                     31.601845
38353                                 ],
38354                                 [
38355                                     -108.215018,
38356                                     31.594817
38357                                 ],
38358                                 [
38359                                     -108.215018,
38360                                     31.587789
38361                                 ],
38362                                 [
38363                                     -108.215018,
38364                                     31.580761
38365                                 ],
38366                                 [
38367                                     -108.215018,
38368                                     31.573733
38369                                 ],
38370                                 [
38371                                     -108.215018,
38372                                     31.566653
38373                                 ],
38374                                 [
38375                                     -108.215018,
38376                                     31.559625
38377                                 ],
38378                                 [
38379                                     -108.214966,
38380                                     31.552597
38381                                 ],
38382                                 [
38383                                     -108.214966,
38384                                     31.545569
38385                                 ],
38386                                 [
38387                                     -108.214966,
38388                                     31.538489
38389                                 ],
38390                                 [
38391                                     -108.214966,
38392                                     31.531461
38393                                 ],
38394                                 [
38395                                     -108.214966,
38396                                     31.524485
38397                                 ],
38398                                 [
38399                                     -108.214966,
38400                                     31.517405
38401                                 ],
38402                                 [
38403                                     -108.214966,
38404                                     31.510378
38405                                 ],
38406                                 [
38407                                     -108.214966,
38408                                     31.503401
38409                                 ],
38410                                 [
38411                                     -108.214966,
38412                                     31.496322
38413                                 ],
38414                                 [
38415                                     -108.214966,
38416                                     31.489242
38417                                 ],
38418                                 [
38419                                     -108.214966,
38420                                     31.482214
38421                                 ],
38422                                 [
38423                                     -108.214966,
38424                                     31.475238
38425                                 ],
38426                                 [
38427                                     -108.214966,
38428                                     31.468158
38429                                 ],
38430                                 [
38431                                     -108.214966,
38432                                     31.46113
38433                                 ],
38434                                 [
38435                                     -108.214966,
38436                                     31.454102
38437                                 ],
38438                                 [
38439                                     -108.214966,
38440                                     31.447074
38441                                 ],
38442                                 [
38443                                     -108.214915,
38444                                     31.440046
38445                                 ],
38446                                 [
38447                                     -108.214863,
38448                                     31.432966
38449                                 ],
38450                                 [
38451                                     -108.214863,
38452                                     31.425938
38453                                 ],
38454                                 [
38455                                     -108.214863,
38456                                     31.41891
38457                                 ],
38458                                 [
38459                                     -108.214863,
38460                                     31.411882
38461                                 ],
38462                                 [
38463                                     -108.214863,
38464                                     31.404803
38465                                 ],
38466                                 [
38467                                     -108.214863,
38468                                     31.397826
38469                                 ],
38470                                 [
38471                                     -108.214863,
38472                                     31.390798
38473                                 ],
38474                                 [
38475                                     -108.214863,
38476                                     31.383719
38477                                 ],
38478                                 [
38479                                     -108.214863,
38480                                     31.376639
38481                                 ],
38482                                 [
38483                                     -108.214863,
38484                                     31.369663
38485                                 ],
38486                                 [
38487                                     -108.214863,
38488                                     31.362635
38489                                 ],
38490                                 [
38491                                     -108.214863,
38492                                     31.355555
38493                                 ],
38494                                 [
38495                                     -108.214863,
38496                                     31.348527
38497                                 ],
38498                                 [
38499                                     -108.214863,
38500                                     31.341551
38501                                 ],
38502                                 [
38503                                     -108.214863,
38504                                     31.334471
38505                                 ],
38506                                 [
38507                                     -108.214811,
38508                                     31.327443
38509                                 ],
38510                                 [
38511                                     -108.257573,
38512                                     31.327391
38513                                 ],
38514                                 [
38515                                     -108.300336,
38516                                     31.327391
38517                                 ],
38518                                 [
38519                                     -108.34302,
38520                                     31.327391
38521                                 ],
38522                                 [
38523                                     -108.385731,
38524                                     31.327391
38525                                 ],
38526                                 [
38527                                     -108.428442,
38528                                     31.327391
38529                                 ],
38530                                 [
38531                                     -108.471152,
38532                                     31.327391
38533                                 ],
38534                                 [
38535                                     -108.513837,
38536                                     31.327391
38537                                 ],
38538                                 [
38539                                     -108.556547,
38540                                     31.327391
38541                                 ],
38542                                 [
38543                                     -108.59931,
38544                                     31.327391
38545                                 ],
38546                                 [
38547                                     -108.64202,
38548                                     31.327391
38549                                 ],
38550                                 [
38551                                     -108.684757,
38552                                     31.327391
38553                                 ],
38554                                 [
38555                                     -108.727467,
38556                                     31.327391
38557                                 ],
38558                                 [
38559                                     -108.770178,
38560                                     31.327391
38561                                 ],
38562                                 [
38563                                     -108.812914,
38564                                     31.327391
38565                                 ],
38566                                 [
38567                                     -108.855625,
38568                                     31.327391
38569                                 ],
38570                                 [
38571                                     -108.898335,
38572                                     31.327391
38573                                 ],
38574                                 [
38575                                     -108.941046,
38576                                     31.327391
38577                                 ],
38578                                 [
38579                                     -108.968282,
38580                                     31.327391
38581                                 ],
38582                                 [
38583                                     -108.983731,
38584                                     31.327391
38585                                 ],
38586                                 [
38587                                     -109.026493,
38588                                     31.327391
38589                                 ],
38590                                 [
38591                                     -109.04743,
38592                                     31.327391
38593                                 ],
38594                                 [
38595                                     -109.069203,
38596                                     31.327391
38597                                 ],
38598                                 [
38599                                     -109.111914,
38600                                     31.327391
38601                                 ],
38602                                 [
38603                                     -109.154599,
38604                                     31.327391
38605                                 ],
38606                                 [
38607                                     -109.197361,
38608                                     31.327391
38609                                 ],
38610                                 [
38611                                     -109.240072,
38612                                     31.32734
38613                                 ],
38614                                 [
38615                                     -109.282782,
38616                                     31.32734
38617                                 ],
38618                                 [
38619                                     -109.325519,
38620                                     31.32734
38621                                 ],
38622                                 [
38623                                     -109.368229,
38624                                     31.32734
38625                                 ],
38626                                 [
38627                                     -109.410914,
38628                                     31.32734
38629                                 ],
38630                                 [
38631                                     -109.45365,
38632                                     31.32734
38633                                 ],
38634                                 [
38635                                     -109.496387,
38636                                     31.32734
38637                                 ],
38638                                 [
38639                                     -109.539071,
38640                                     31.32734
38641                                 ],
38642                                 [
38643                                     -109.581808,
38644                                     31.32734
38645                                 ],
38646                                 [
38647                                     -109.624493,
38648                                     31.32734
38649                                 ],
38650                                 [
38651                                     -109.667177,
38652                                     31.32734
38653                                 ],
38654                                 [
38655                                     -109.709965,
38656                                     31.32734
38657                                 ],
38658                                 [
38659                                     -109.75265,
38660                                     31.32734
38661                                 ],
38662                                 [
38663                                     -109.795335,
38664                                     31.32734
38665                                 ],
38666                                 [
38667                                     -109.838123,
38668                                     31.32734
38669                                 ],
38670                                 [
38671                                     -109.880808,
38672                                     31.32734
38673                                 ],
38674                                 [
38675                                     -109.923596,
38676                                     31.327288
38677                                 ],
38678                                 [
38679                                     -109.96628,
38680                                     31.327236
38681                                 ],
38682                                 [
38683                                     -110.008965,
38684                                     31.327236
38685                                 ],
38686                                 [
38687                                     -110.051702,
38688                                     31.327236
38689                                 ],
38690                                 [
38691                                     -110.094386,
38692                                     31.327236
38693                                 ],
38694                                 [
38695                                     -110.137071,
38696                                     31.327236
38697                                 ],
38698                                 [
38699                                     -110.179807,
38700                                     31.327236
38701                                 ],
38702                                 [
38703                                     -110.222544,
38704                                     31.327236
38705                                 ],
38706                                 [
38707                                     -110.265229,
38708                                     31.327236
38709                                 ],
38710                                 [
38711                                     -110.308017,
38712                                     31.327236
38713                                 ],
38714                                 [
38715                                     -110.350753,
38716                                     31.327236
38717                                 ],
38718                                 [
38719                                     -110.39349,
38720                                     31.327236
38721                                 ],
38722                                 [
38723                                     -110.436174,
38724                                     31.327236
38725                                 ],
38726                                 [
38727                                     -110.478859,
38728                                     31.327236
38729                                 ],
38730                                 [
38731                                     -110.521595,
38732                                     31.327236
38733                                 ],
38734                                 [
38735                                     -110.56428,
38736                                     31.327236
38737                                 ],
38738                                 [
38739                                     -110.606965,
38740                                     31.327236
38741                                 ],
38742                                 [
38743                                     -110.649727,
38744                                     31.327236
38745                                 ],
38746                                 [
38747                                     -110.692438,
38748                                     31.327236
38749                                 ],
38750                                 [
38751                                     -110.7352,
38752                                     31.327236
38753                                 ],
38754                                 [
38755                                     -110.777885,
38756                                     31.327236
38757                                 ],
38758                                 [
38759                                     -110.820595,
38760                                     31.327236
38761                                 ],
38762                                 [
38763                                     -110.863358,
38764                                     31.327236
38765                                 ],
38766                                 [
38767                                     -110.906068,
38768                                     31.327236
38769                                 ],
38770                                 [
38771                                     -110.948753,
38772                                     31.327185
38773                                 ],
38774                                 [
38775                                     -111.006269,
38776                                     31.327185
38777                                 ],
38778                                 [
38779                                     -111.067118,
38780                                     31.333644
38781                                 ],
38782                                 [
38783                                     -111.094455,
38784                                     31.342532
38785                                 ],
38786                                 [
38787                                     -111.145924,
38788                                     31.359069
38789                                 ],
38790                                 [
38791                                     -111.197446,
38792                                     31.375554
38793                                 ],
38794                                 [
38795                                     -111.248864,
38796                                     31.392142
38797                                 ],
38798                                 [
38799                                     -111.300333,
38800                                     31.40873
38801                                 ],
38802                                 [
38803                                     -111.351803,
38804                                     31.425318
38805                                 ],
38806                                 [
38807                                     -111.403299,
38808                                     31.441855
38809                                 ],
38810                                 [
38811                                     -111.454768,
38812                                     31.458339
38813                                 ],
38814                                 [
38815                                     -111.506238,
38816                                     31.474979
38817                                 ],
38818                                 [
38819                                     -111.915464,
38820                                     31.601431
38821                                 ],
38822                                 [
38823                                     -112.324715,
38824                                     31.727987
38825                                 ],
38826                                 [
38827                                     -112.733967,
38828                                     31.854543
38829                                 ],
38830                                 [
38831                                     -113.143218,
38832                                     31.981046
38833                                 ],
38834                                 [
38835                                     -113.552444,
38836                                     32.107602
38837                                 ],
38838                                 [
38839                                     -113.961696,
38840                                     32.234132
38841                                 ],
38842                                 [
38843                                     -114.370921,
38844                                     32.360687
38845                                 ],
38846                                 [
38847                                     -114.780147,
38848                                     32.487243
38849                                 ],
38850                                 [
38851                                     -114.816785,
38852                                     32.498534
38853                                 ],
38854                                 [
38855                                     -114.819373,
38856                                     32.499363
38857                                 ],
38858                                 [
38859                                     -114.822108,
38860                                     32.50024
38861                                 ],
38862                                 [
38863                                     -114.809447,
38864                                     32.511324
38865                                 ],
38866                                 [
38867                                     -114.795546,
38868                                     32.552226
38869                                 ],
38870                                 [
38871                                     -114.794203,
38872                                     32.574111
38873                                 ],
38874                                 [
38875                                     -114.802678,
38876                                     32.594497
38877                                 ],
38878                                 [
38879                                     -114.786813,
38880                                     32.621033
38881                                 ],
38882                                 [
38883                                     -114.781542,
38884                                     32.628061
38885                                 ],
38886                                 [
38887                                     -114.758804,
38888                                     32.64483
38889                                 ],
38890                                 [
38891                                     -114.751156,
38892                                     32.65222
38893                                 ],
38894                                 [
38895                                     -114.739477,
38896                                     32.669066
38897                                 ],
38898                                 [
38899                                     -114.731209,
38900                                     32.686636
38901                                 ],
38902                                 [
38903                                     -114.723871,
38904                                     32.711519
38905                                 ],
38906                                 [
38907                                     -114.724284,
38908                                     32.712835
38909                                 ],
38910                                 [
38911                                     -114.724285,
38912                                     32.712836
38913                                 ],
38914                                 [
38915                                     -114.764541,
38916                                     32.709839
38917                                 ],
38918                                 [
38919                                     -114.838076,
38920                                     32.704206
38921                                 ],
38922                                 [
38923                                     -114.911612,
38924                                     32.698703
38925                                 ],
38926                                 [
38927                                     -114.985199,
38928                                     32.693122
38929                                 ],
38930                                 [
38931                                     -115.058734,
38932                                     32.687567
38933                                 ],
38934                                 [
38935                                     -115.13227,
38936                                     32.681986
38937                                 ],
38938                                 [
38939                                     -115.205806,
38940                                     32.676456
38941                                 ],
38942                                 [
38943                                     -115.27929,
38944                                     32.670823
38945                                 ],
38946                                 [
38947                                     -115.352851,
38948                                     32.665346
38949                                 ],
38950                                 [
38951                                     -115.426386,
38952                                     32.659765
38953                                 ],
38954                                 [
38955                                     -115.499922,
38956                                     32.654209
38957                                 ],
38958                                 [
38959                                     -115.573535,
38960                                     32.648654
38961                                 ],
38962                                 [
38963                                     -115.647019,
38964                                     32.643073
38965                                 ],
38966                                 [
38967                                     -115.720529,
38968                                     32.637518
38969                                 ],
38970                                 [
38971                                     -115.794064,
38972                                     32.631963
38973                                 ],
38974                                 [
38975                                     -115.8676,
38976                                     32.626408
38977                                 ],
38978                                 [
38979                                     -115.941213,
38980                                     32.620827
38981                                 ],
38982                                 [
38983                                     -116.014748,
38984                                     32.615271
38985                                 ],
38986                                 [
38987                                     -116.088232,
38988                                     32.609664
38989                                 ],
38990                                 [
38991                                     -116.161742,
38992                                     32.604161
38993                                 ],
38994                                 [
38995                                     -116.235329,
38996                                     32.598554
38997                                 ],
38998                                 [
38999                                     -116.308891,
39000                                     32.593025
39001                                 ],
39002                                 [
39003                                     -116.382426,
39004                                     32.587469
39005                                 ],
39006                                 [
39007                                     -116.455962,
39008                                     32.581888
39009                                 ],
39010                                 [
39011                                     -116.529472,
39012                                     32.576333
39013                                 ],
39014                                 [
39015                                     -116.603007,
39016                                     32.570804
39017                                 ],
39018                                 [
39019                                     -116.676543,
39020                                     32.565223
39021                                 ],
39022                                 [
39023                                     -116.750104,
39024                                     32.559667
39025                                 ],
39026                                 [
39027                                     -116.82364,
39028                                     32.554086
39029                                 ],
39030                                 [
39031                                     -116.897201,
39032                                     32.548531
39033                                 ],
39034                                 [
39035                                     -116.970737,
39036                                     32.542976
39037                                 ],
39038                                 [
39039                                     -117.044221,
39040                                     32.537421
39041                                 ],
39042                                 [
39043                                     -117.125121,
39044                                     32.531669
39045                                 ],
39046                                 [
39047                                     -117.125969,
39048                                     32.538258
39049                                 ],
39050                                 [
39051                                     -117.239623,
39052                                     32.531308
39053                                 ],
39054                                 [
39055                                     -120.274098,
39056                                     32.884264
39057                                 ],
39058                                 [
39059                                     -121.652736,
39060                                     34.467248
39061                                 ],
39062                                 [
39063                                     -124.367265,
39064                                     37.662798
39065                                 ],
39066                                 [
39067                                     -126.739806,
39068                                     41.37928
39069                                 ],
39070                                 [
39071                                     -126.996297,
39072                                     45.773888
39073                                 ],
39074                                 [
39075                                     -124.770704,
39076                                     48.44258
39077                                 ],
39078                                 [
39079                                     -123.734053,
39080                                     48.241906
39081                                 ],
39082                                 [
39083                                     -123.1663,
39084                                     48.27837
39085                                 ],
39086                                 [
39087                                     -123.193018,
39088                                     48.501035
39089                                 ],
39090                                 [
39091                                     -123.176987,
39092                                     48.65482
39093                                 ],
39094                                 [
39095                                     -122.912481,
39096                                     48.753561
39097                                 ],
39098                                 [
39099                                     -122.899122,
39100                                     48.897797
39101                                 ],
39102                                 [
39103                                     -122.837671,
39104                                     48.97502
39105                                 ],
39106                                 [
39107                                     -122.743986,
39108                                     48.980582
39109                                 ],
39110                                 [
39111                                     -122.753,
39112                                     48.992499
39113                                 ],
39114                                 [
39115                                     -122.753012,
39116                                     48.992515
39117                                 ],
39118                                 [
39119                                     -122.653258,
39120                                     48.992515
39121                                 ],
39122                                 [
39123                                     -122.433375,
39124                                     48.992515
39125                                 ],
39126                                 [
39127                                     -122.213517,
39128                                     48.992515
39129                                 ],
39130                                 [
39131                                     -121.993763,
39132                                     48.992515
39133                                 ],
39134                                 [
39135                                     -121.773958,
39136                                     48.992515
39137                                 ],
39138                                 [
39139                                     -121.554152,
39140                                     48.992515
39141                                 ],
39142                                 [
39143                                     -121.33432,
39144                                     48.992515
39145                                 ],
39146                                 [
39147                                     -121.114515,
39148                                     48.992515
39149                                 ],
39150                                 [
39151                                     -95.396937,
39152                                     48.99267
39153                                 ],
39154                                 [
39155                                     -95.177106,
39156                                     48.99267
39157                                 ],
39158                                 [
39159                                     -95.168527,
39160                                     48.995047
39161                                 ],
39162                                 [
39163                                     -95.161887,
39164                                     49.001145
39165                                 ],
39166                                 [
39167                                     -95.159329,
39168                                     49.01179
39169                                 ],
39170                                 [
39171                                     -95.159665,
39172                                     49.10951
39173                                 ],
39174                                 [
39175                                     -95.160027,
39176                                     49.223353
39177                                 ],
39178                                 [
39179                                     -95.160337,
39180                                     49.313012
39181                                 ],
39182                                 [
39183                                     -95.160569,
39184                                     49.369494
39185                                 ],
39186                                 [
39187                                     -95.102821,
39188                                     49.35394
39189                                 ],
39190                                 [
39191                                     -94.982518,
39192                                     49.356162
39193                                 ],
39194                                 [
39195                                     -94.926087,
39196                                     49.345568
39197                                 ],
39198                                 [
39199                                     -94.856195,
39200                                     49.318283
39201                                 ],
39202                                 [
39203                                     -94.839142,
39204                                     49.308878
39205                                 ],
39206                                 [
39207                                     -94.827256,
39208                                     49.292858
39209                                 ],
39210                                 [
39211                                     -94.819892,
39212                                     49.252034
39213                                 ],
39214                                 [
39215                                     -94.810358,
39216                                     49.229606
39217                                 ],
39218                                 [
39219                                     -94.806121,
39220                                     49.210899
39221                                 ],
39222                                 [
39223                                     -94.811185,
39224                                     49.166561
39225                                 ],
39226                                 [
39227                                     -94.803743,
39228                                     49.146407
39229                                 ],
39230                                 [
39231                                     -94.792039,
39232                                     49.12646
39233                                 ],
39234                                 [
39235                                     -94.753772,
39236                                     49.026156
39237                                 ],
39238                                 [
39239                                     -94.711217,
39240                                     48.914586
39241                                 ],
39242                                 [
39243                                     -94.711734,
39244                                     48.862755
39245                                 ],
39246                                 [
39247                                     -94.712147,
39248                                     48.842446
39249                                 ],
39250                                 [
39251                                     -94.713284,
39252                                     48.823843
39253                                 ],
39254                                 [
39255                                     -94.710907,
39256                                     48.807513
39257                                 ],
39258                                 [
39259                                     -94.701786,
39260                                     48.790098
39261                                 ],
39262                                 [
39263                                     -94.688893,
39264                                     48.778832
39265                                 ],
39266                                 [
39267                                     -94.592852,
39268                                     48.726433
39269                                 ],
39270                                 [
39271                                     -94.519161,
39272                                     48.70447
39273                                 ],
39274                                 [
39275                                     -94.4795,
39276                                     48.700698
39277                                 ],
39278                                 [
39279                                     -94.311577,
39280                                     48.713927
39281                                 ],
39282                                 [
39283                                     -94.292586,
39284                                     48.711912
39285                                 ],
39286                                 [
39287                                     -94.284034,
39288                                     48.709069
39289                                 ],
39290                                 [
39291                                     -94.274499,
39292                                     48.704108
39293                                 ],
39294                                 [
39295                                     -94.265482,
39296                                     48.697752
39297                                 ],
39298                                 [
39299                                     -94.258454,
39300                                     48.690828
39301                                 ],
39302                                 [
39303                                     -94.255767,
39304                                     48.683541
39305                                 ],
39306                                 [
39307                                     -94.252459,
39308                                     48.662405
39309                                 ],
39310                                 [
39311                                     -94.251038,
39312                                     48.65729
39313                                 ],
39314                                 [
39315                                     -94.23215,
39316                                     48.652019
39317                                 ],
39318                                 [
39319                                     -94.03485,
39320                                     48.643311
39321                                 ],
39322                                 [
39323                                     -93.874885,
39324                                     48.636206
39325                                 ],
39326                                 [
39327                                     -93.835741,
39328                                     48.617137
39329                                 ],
39330                                 [
39331                                     -93.809386,
39332                                     48.543576
39333                                 ],
39334                                 [
39335                                     -93.778664,
39336                                     48.519468
39337                                 ],
39338                                 [
39339                                     -93.756779,
39340                                     48.516549
39341                                 ],
39342                                 [
39343                                     -93.616297,
39344                                     48.531302
39345                                 ],
39346                                 [
39347                                     -93.599889,
39348                                     48.526341
39349                                 ],
39350                                 [
39351                                     -93.566584,
39352                                     48.538279
39353                                 ],
39354                                 [
39355                                     -93.491756,
39356                                     48.542309
39357                                 ],
39358                                 [
39359                                     -93.459924,
39360                                     48.557399
39361                                 ],
39362                                 [
39363                                     -93.45225,
39364                                     48.572721
39365                                 ],
39366                                 [
39367                                     -93.453774,
39368                                     48.586958
39369                                 ],
39370                                 [
39371                                     -93.451475,
39372                                     48.597422
39373                                 ],
39374                                 [
39375                                     -93.417316,
39376                                     48.604114
39377                                 ],
39378                                 [
39379                                     -93.385716,
39380                                     48.614863
39381                                 ],
39382                                 [
39383                                     -93.25774,
39384                                     48.630314
39385                                 ],
39386                                 [
39387                                     -93.131701,
39388                                     48.62463
39389                                 ],
39390                                 [
39391                                     -92.97972,
39392                                     48.61768
39393                                 ],
39394                                 [
39395                                     -92.955588,
39396                                     48.612228
39397                                 ],
39398                                 [
39399                                     -92.884197,
39400                                     48.579878
39401                                 ],
39402                                 [
39403                                     -92.72555,
39404                                     48.548692
39405                                 ],
39406                                 [
39407                                     -92.648604,
39408                                     48.536263
39409                                 ],
39410                                 [
39411                                     -92.630181,
39412                                     48.519468
39413                                 ],
39414                                 [
39415                                     -92.627468,
39416                                     48.502777
39417                                 ],
39418                                 [
39419                                     -92.646743,
39420                                     48.497428
39421                                 ],
39422                                 [
39423                                     -92.691366,
39424                                     48.489858
39425                                 ],
39426                                 [
39427                                     -92.710641,
39428                                     48.482882
39429                                 ],
39430                                 [
39431                                     -92.718909,
39432                                     48.459782
39433                                 ],
39434                                 [
39435                                     -92.704052,
39436                                     48.445158
39437                                 ],
39438                                 [
39439                                     -92.677129,
39440                                     48.441747
39441                                 ],
39442                                 [
39443                                     -92.657053,
39444                                     48.438233
39445                                 ],
39446                                 [
39447                                     -92.570521,
39448                                     48.446656
39449                                 ],
39450                                 [
39451                                     -92.526932,
39452                                     48.445623
39453                                 ],
39454                                 [
39455                                     -92.490629,
39456                                     48.433117
39457                                 ],
39458                                 [
39459                                     -92.474532,
39460                                     48.410483
39461                                 ],
39462                                 [
39463                                     -92.467581,
39464                                     48.394282
39465                                 ],
39466                                 [
39467                                     -92.467064,
39468                                     48.353225
39469                                 ],
39470                                 [
39471                                     -92.462465,
39472                                     48.329299
39473                                 ],
39474                                 [
39475                                     -92.451381,
39476                                     48.312685
39477                                 ],
39478                                 [
39479                                     -92.41823,
39480                                     48.282041
39481                                 ],
39482                                 [
39483                                     -92.38464,
39484                                     48.232406
39485                                 ],
39486                                 [
39487                                     -92.371851,
39488                                     48.222587
39489                                 ],
39490                                 [
39491                                     -92.353815,
39492                                     48.222897
39493                                 ],
39494                                 [
39495                                     -92.327874,
39496                                     48.229435
39497                                 ],
39498                                 [
39499                                     -92.303663,
39500                                     48.239279
39501                                 ],
39502                                 [
39503                                     -92.291029,
39504                                     48.249562
39505                                 ],
39506                                 [
39507                                     -92.292062,
39508                                     48.270336
39509                                 ],
39510                                 [
39511                                     -92.301416,
39512                                     48.290645
39513                                 ],
39514                                 [
39515                                     -92.303095,
39516                                     48.310928
39517                                 ],
39518                                 [
39519                                     -92.281598,
39520                                     48.33178
39521                                 ],
39522                                 [
39523                                     -92.259118,
39524                                     48.339635
39525                                 ],
39526                                 [
39527                                     -92.154732,
39528                                     48.350125
39529                                 ],
39530                                 [
39531                                     -92.070499,
39532                                     48.346714
39533                                 ],
39534                                 [
39535                                     -92.043421,
39536                                     48.334596
39537                                 ],
39538                                 [
39539                                     -92.030114,
39540                                     48.313176
39541                                 ],
39542                                 [
39543                                     -92.021355,
39544                                     48.287441
39545                                 ],
39546                                 [
39547                                     -92.007997,
39548                                     48.262482
39549                                 ],
39550                                 [
39551                                     -91.992158,
39552                                     48.247909
39553                                 ],
39554                                 [
39555                                     -91.975492,
39556                                     48.236566
39557                                 ],
39558                                 [
39559                                     -91.957302,
39560                                     48.228323
39561                                 ],
39562                                 [
39563                                     -91.852244,
39564                                     48.195974
39565                                 ],
39566                                 [
39567                                     -91.764988,
39568                                     48.187344
39569                                 ],
39570                                 [
39571                                     -91.744137,
39572                                     48.179593
39573                                 ],
39574                                 [
39575                                     -91.727575,
39576                                     48.168327
39577                                 ],
39578                                 [
39579                                     -91.695509,
39580                                     48.13758
39581                                 ],
39582                                 [
39583                                     -91.716438,
39584                                     48.112051
39585                                 ],
39586                                 [
39587                                     -91.692512,
39588                                     48.097866
39589                                 ],
39590                                 [
39591                                     -91.618615,
39592                                     48.089572
39593                                 ],
39594                                 [
39595                                     -91.597479,
39596                                     48.090399
39597                                 ],
39598                                 [
39599                                     -91.589676,
39600                                     48.088332
39601                                 ],
39602                                 [
39603                                     -91.581098,
39604                                     48.080942
39605                                 ],
39606                                 [
39607                                     -91.579806,
39608                                     48.070969
39609                                 ],
39610                                 [
39611                                     -91.585129,
39612                                     48.06084
39613                                 ],
39614                                 [
39615                                     -91.586989,
39616                                     48.052572
39617                                 ],
39618                                 [
39619                                     -91.574845,
39620                                     48.048205
39621                                 ],
39622                                 [
39623                                     -91.487098,
39624                                     48.053476
39625                                 ],
39626                                 [
39627                                     -91.464722,
39628                                     48.048955
39629                                 ],
39630                                 [
39631                                     -91.446274,
39632                                     48.040738
39633                                 ],
39634                                 [
39635                                     -91.427929,
39636                                     48.036449
39637                                 ],
39638                                 [
39639                                     -91.3654,
39640                                     48.057843
39641                                 ],
39642                                 [
39643                                     -91.276362,
39644                                     48.064768
39645                                 ],
39646                                 [
39647                                     -91.23807,
39648                                     48.082648
39649                                 ],
39650                                 [
39651                                     -91.203963,
39652                                     48.107659
39653                                 ],
39654                                 [
39655                                     -91.071103,
39656                                     48.170859
39657                                 ],
39658                                 [
39659                                     -91.02816,
39660                                     48.184838
39661                                 ],
39662                                 [
39663                                     -91.008109,
39664                                     48.194372
39665                                 ],
39666                                 [
39667                                     -90.923153,
39668                                     48.227109
39669                                 ],
39670                                 [
39671                                     -90.873802,
39672                                     48.234344
39673                                 ],
39674                                 [
39675                                     -90.840678,
39676                                     48.220107
39677                                 ],
39678                                 [
39679                                     -90.837939,
39680                                     48.210547
39681                                 ],
39682                                 [
39683                                     -90.848843,
39684                                     48.198713
39685                                 ],
39686                                 [
39687                                     -90.849721,
39688                                     48.189566
39689                                 ],
39690                                 [
39691                                     -90.843003,
39692                                     48.176983
39693                                 ],
39694                                 [
39695                                     -90.83427,
39696                                     48.171789
39697                                 ],
39698                                 [
39699                                     -90.823883,
39700                                     48.168327
39701                                 ],
39702                                 [
39703                                     -90.812307,
39704                                     48.160989
39705                                 ],
39706                                 [
39707                                     -90.803057,
39708                                     48.147166
39709                                 ],
39710                                 [
39711                                     -90.796701,
39712                                     48.117064
39713                                 ],
39714                                 [
39715                                     -90.786469,
39716                                     48.10045
39717                                 ],
39718                                 [
39719                                     -90.750347,
39720                                     48.083991
39721                                 ],
39722                                 [
39723                                     -90.701307,
39724                                     48.08456
39725                                 ],
39726                                 [
39727                                     -90.611079,
39728                                     48.103499
39729                                 ],
39730                                 [
39731                                     -90.586843,
39732                                     48.104817
39733                                 ],
39734                                 [
39735                                     -90.573872,
39736                                     48.097892
39737                                 ],
39738                                 [
39739                                     -90.562194,
39740                                     48.088849
39741                                 ],
39742                                 [
39743                                     -90.542014,
39744                                     48.083733
39745                                 ],
39746                                 [
39747                                     -90.531601,
39748                                     48.08456
39749                                 ],
39750                                 [
39751                                     -90.501887,
39752                                     48.094275
39753                                 ],
39754                                 [
39755                                     -90.490493,
39756                                     48.096239
39757                                 ],
39758                                 [
39759                                     -90.483465,
39760                                     48.094482
39761                                 ],
39762                                 [
39763                                     -90.477858,
39764                                     48.091536
39765                                 ],
39766                                 [
39767                                     -90.470623,
39768                                     48.089882
39769                                 ],
39770                                 [
39771                                     -90.178625,
39772                                     48.116444
39773                                 ],
39774                                 [
39775                                     -90.120386,
39776                                     48.115359
39777                                 ],
39778                                 [
39779                                     -90.073257,
39780                                     48.101199
39781                                 ],
39782                                 [
39783                                     -90.061036,
39784                                     48.091019
39785                                 ],
39786                                 [
39787                                     -90.008222,
39788                                     48.029731
39789                                 ],
39790                                 [
39791                                     -89.995329,
39792                                     48.018595
39793                                 ],
39794                                 [
39795                                     -89.980317,
39796                                     48.010094
39797                                 ],
39798                                 [
39799                                     -89.92045,
39800                                     47.98746
39801                                 ],
39802                                 [
39803                                     -89.902441,
39804                                     47.985909
39805                                 ],
39806                                 [
39807                                     -89.803454,
39808                                     48.013763
39809                                 ],
39810                                 [
39811                                     -89.780975,
39812                                     48.017199
39813                                 ],
39814                                 [
39815                                     -89.763302,
39816                                     48.017303
39817                                 ],
39818                                 [
39819                                     -89.745964,
39820                                     48.013763
39821                                 ],
39822                                 [
39823                                     -89.724596,
39824                                     48.005908
39825                                 ],
39826                                 [
39827                                     -89.712788,
39828                                     48.003376
39829                                 ],
39830                                 [
39831                                     -89.678656,
39832                                     48.008699
39833                                 ],
39834                                 [
39835                                     -89.65659,
39836                                     48.007975
39837                                 ],
39838                                 [
39839                                     -89.593105,
39840                                     47.996503
39841                                 ],
39842                                 [
39843                                     -89.581753,
39844                                     47.996333
39845                                 ],
39846                                 [
39847                                     -89.586724,
39848                                     47.992938
39849                                 ],
39850                                 [
39851                                     -89.310872,
39852                                     47.981097
39853                                 ],
39854                                 [
39855                                     -89.072861,
39856                                     48.046842
39857                                 ],
39858                                 [
39859                                     -88.49789,
39860                                     48.212841
39861                                 ],
39862                                 [
39863                                     -88.286621,
39864                                     48.156675
39865                                 ],
39866                                 [
39867                                     -85.939935,
39868                                     47.280501
39869                                 ],
39870                                 [
39871                                     -84.784644,
39872                                     46.770068
39873                                 ],
39874                                 [
39875                                     -84.516909,
39876                                     46.435083
39877                                 ],
39878                                 [
39879                                     -84.489712,
39880                                     46.446652
39881                                 ],
39882                                 [
39883                                     -84.491052,
39884                                     46.457658
39885                                 ],
39886                                 [
39887                                     -84.478301,
39888                                     46.466467
39889                                 ],
39890                                 [
39891                                     -84.465408,
39892                                     46.478172
39893                                 ],
39894                                 [
39895                                     -84.448096,
39896                                     46.489722
39897                                 ],
39898                                 [
39899                                     -84.42324,
39900                                     46.511581
39901                                 ],
39902                                 [
39903                                     -84.389702,
39904                                     46.520262
39905                                 ],
39906                                 [
39907                                     -84.352469,
39908                                     46.522743
39909                                 ],
39910                                 [
39911                                     -84.30534,
39912                                     46.501607
39913                                 ],
39914                                 [
39915                                     -84.242011,
39916                                     46.526464
39917                                 ],
39918                                 [
39919                                     -84.197285,
39920                                     46.546359
39921                                 ],
39922                                 [
39923                                     -84.147676,
39924                                     46.541346
39925                                 ],
39926                                 [
39927                                     -84.110443,
39928                                     46.526464
39929                                 ],
39930                                 [
39931                                     -84.158812,
39932                                     46.433343
39933                                 ],
39934                                 [
39935                                     -84.147676,
39936                                     46.399882
39937                                 ],
39938                                 [
39939                                     -84.129046,
39940                                     46.375026
39941                                 ],
39942                                 [
39943                                     -84.10543,
39944                                     46.347741
39945                                 ],
39946                                 [
39947                                     -84.105944,
39948                                     46.346374
39949                                 ],
39950                                 [
39951                                     -84.117195,
39952                                     46.347157
39953                                 ],
39954                                 [
39955                                     -84.117489,
39956                                     46.338326
39957                                 ],
39958                                 [
39959                                     -84.122361,
39960                                     46.331922
39961                                 ],
39962                                 [
39963                                     -84.112061,
39964                                     46.287102
39965                                 ],
39966                                 [
39967                                     -84.092672,
39968                                     46.227469
39969                                 ],
39970                                 [
39971                                     -84.111983,
39972                                     46.20337
39973                                 ],
39974                                 [
39975                                     -84.015118,
39976                                     46.149712
39977                                 ],
39978                                 [
39979                                     -83.957038,
39980                                     46.045736
39981                                 ],
39982                                 [
39983                                     -83.676821,
39984                                     46.15388
39985                                 ],
39986                                 [
39987                                     -83.429449,
39988                                     46.086221
39989                                 ],
39990                                 [
39991                                     -83.523049,
39992                                     45.892052
39993                                 ],
39994                                 [
39995                                     -83.574563,
39996                                     45.890259
39997                                 ],
39998                                 [
39999                                     -82.551615,
40000                                     44.857931
40001                                 ],
40002                                 [
40003                                     -82.655591,
40004                                     43.968545
40005                                 ],
40006                                 [
40007                                     -82.440632,
40008                                     43.096285
40009                                 ],
40010                                 [
40011                                     -82.460131,
40012                                     43.084392
40013                                 ],
40014                                 [
40015                                     -82.458894,
40016                                     43.083247
40017                                 ],
40018                                 [
40019                                     -82.431813,
40020                                     43.039387
40021                                 ],
40022                                 [
40023                                     -82.424748,
40024                                     43.02408
40025                                 ],
40026                                 [
40027                                     -82.417242,
40028                                     43.01731
40029                                 ],
40030                                 [
40031                                     -82.416369,
40032                                     43.01742
40033                                 ],
40034                                 [
40035                                     -82.416412,
40036                                     43.017143
40037                                 ],
40038                                 [
40039                                     -82.414603,
40040                                     42.983243
40041                                 ],
40042                                 [
40043                                     -82.430442,
40044                                     42.951307
40045                                 ],
40046                                 [
40047                                     -82.453179,
40048                                     42.918983
40049                                 ],
40050                                 [
40051                                     -82.464781,
40052                                     42.883637
40053                                 ],
40054                                 [
40055                                     -82.468036,
40056                                     42.863974
40057                                 ],
40058                                 [
40059                                     -82.482325,
40060                                     42.835113
40061                                 ],
40062                                 [
40063                                     -82.485271,
40064                                     42.818524
40065                                 ],
40066                                 [
40067                                     -82.473618,
40068                                     42.798164
40069                                 ],
40070                                 [
40071                                     -82.470982,
40072                                     42.790568
40073                                 ],
40074                                 [
40075                                     -82.471344,
40076                                     42.779845
40077                                 ],
40078                                 [
40079                                     -82.476951,
40080                                     42.761474
40081                                 ],
40082                                 [
40083                                     -82.48341,
40084                                     42.719254
40085                                 ],
40086                                 [
40087                                     -82.511264,
40088                                     42.646675
40089                                 ],
40090                                 [
40091                                     -82.526224,
40092                                     42.619906
40093                                 ],
40094                                 [
40095                                     -82.549246,
40096                                     42.590941
40097                                 ],
40098                                 [
40099                                     -82.575833,
40100                                     42.571795
40101                                 ],
40102                                 [
40103                                     -82.608467,
40104                                     42.561098
40105                                 ],
40106                                 [
40107                                     -82.644331,
40108                                     42.557817
40109                                 ],
40110                                 [
40111                                     -82.644698,
40112                                     42.557533
40113                                 ],
40114                                 [
40115                                     -82.644932,
40116                                     42.561634
40117                                 ],
40118                                 [
40119                                     -82.637132,
40120                                     42.568405
40121                                 ],
40122                                 [
40123                                     -82.60902,
40124                                     42.579296
40125                                 ],
40126                                 [
40127                                     -82.616673,
40128                                     42.582828
40129                                 ],
40130                                 [
40131                                     -82.636985,
40132                                     42.599607
40133                                 ],
40134                                 [
40135                                     -82.625357,
40136                                     42.616092
40137                                 ],
40138                                 [
40139                                     -82.629331,
40140                                     42.626394
40141                                 ],
40142                                 [
40143                                     -82.638751,
40144                                     42.633459
40145                                 ],
40146                                 [
40147                                     -82.644344,
40148                                     42.640524
40149                                 ],
40150                                 [
40151                                     -82.644166,
40152                                     42.641056
40153                                 ],
40154                                 [
40155                                     -82.716083,
40156                                     42.617461
40157                                 ],
40158                                 [
40159                                     -82.777592,
40160                                     42.408506
40161                                 ],
40162                                 [
40163                                     -82.888693,
40164                                     42.406093
40165                                 ],
40166                                 [
40167                                     -82.889991,
40168                                     42.403266
40169                                 ],
40170                                 [
40171                                     -82.905739,
40172                                     42.387665
40173                                 ],
40174                                 [
40175                                     -82.923842,
40176                                     42.374419
40177                                 ],
40178                                 [
40179                                     -82.937972,
40180                                     42.366176
40181                                 ],
40182                                 [
40183                                     -82.947686,
40184                                     42.363527
40185                                 ],
40186                                 [
40187                                     -82.979624,
40188                                     42.359406
40189                                 ],
40190                                 [
40191                                     -83.042618,
40192                                     42.340861
40193                                 ],
40194                                 [
40195                                     -83.061899,
40196                                     42.32732
40197                                 ],
40198                                 [
40199                                     -83.081622,
40200                                     42.30907
40201                                 ],
40202                                 [
40203                                     -83.11342,
40204                                     42.279619
40205                                 ],
40206                                 [
40207                                     -83.145306,
40208                                     42.066968
40209                                 ],
40210                                 [
40211                                     -83.177398,
40212                                     41.960666
40213                                 ],
40214                                 [
40215                                     -83.21512,
40216                                     41.794493
40217                                 ],
40218                                 [
40219                                     -82.219051,
40220                                     41.516445
40221                                 ],
40222                                 [
40223                                     -80.345329,
40224                                     42.13344
40225                                 ],
40226                                 [
40227                                     -80.316455,
40228                                     42.123137
40229                                 ],
40230                                 [
40231                                     -79.270266,
40232                                     42.591872
40233                                 ],
40234                                 [
40235                                     -79.221058,
40236                                     42.582892
40237                                 ],
40238                                 [
40239                                     -78.871842,
40240                                     42.860012
40241                                 ],
40242                                 [
40243                                     -78.875011,
40244                                     42.867184
40245                                 ],
40246                                 [
40247                                     -78.896205,
40248                                     42.897209
40249                                 ],
40250                                 [
40251                                     -78.901651,
40252                                     42.908101
40253                                 ],
40254                                 [
40255                                     -78.90901,
40256                                     42.952255
40257                                 ],
40258                                 [
40259                                     -78.913426,
40260                                     42.957848
40261                                 ],
40262                                 [
40263                                     -78.932118,
40264                                     42.9708
40265                                 ],
40266                                 [
40267                                     -78.936386,
40268                                     42.979631
40269                                 ],
40270                                 [
40271                                     -78.927997,
40272                                     43.002003
40273                                 ],
40274                                 [
40275                                     -78.893114,
40276                                     43.029379
40277                                 ],
40278                                 [
40279                                     -78.887963,
40280                                     43.051456
40281                                 ],
40282                                 [
40283                                     -78.914897,
40284                                     43.076477
40285                                 ],
40286                                 [
40287                                     -79.026167,
40288                                     43.086485
40289                                 ],
40290                                 [
40291                                     -79.065231,
40292                                     43.10573
40293                                 ],
40294                                 [
40295                                     -79.065273,
40296                                     43.105897
40297                                 ],
40298                                 [
40299                                     -79.065738,
40300                                     43.120237
40301                                 ],
40302                                 [
40303                                     -79.061423,
40304                                     43.130288
40305                                 ],
40306                                 [
40307                                     -79.055583,
40308                                     43.138427
40309                                 ],
40310                                 [
40311                                     -79.051604,
40312                                     43.146851
40313                                 ],
40314                                 [
40315                                     -79.04933,
40316                                     43.159847
40317                                 ],
40318                                 [
40319                                     -79.048607,
40320                                     43.170622
40321                                 ],
40322                                 [
40323                                     -79.053775,
40324                                     43.260358
40325                                 ],
40326                                 [
40327                                     -79.058425,
40328                                     43.277799
40329                                 ],
40330                                 [
40331                                     -79.058631,
40332                                     43.2782
40333                                 ],
40334                                 [
40335                                     -78.990696,
40336                                     43.286947
40337                                 ],
40338                                 [
40339                                     -78.862059,
40340                                     43.324332
40341                                 ],
40342                                 [
40343                                     -78.767813,
40344                                     43.336418
40345                                 ],
40346                                 [
40347                                     -78.516117,
40348                                     43.50645
40349                                 ],
40350                                 [
40351                                     -76.363317,
40352                                     43.943219
40353                                 ],
40354                                 [
40355                                     -76.396746,
40356                                     44.106667
40357                                 ],
40358                                 [
40359                                     -76.364697,
40360                                     44.111631
40361                                 ],
40362                                 [
40363                                     -76.366146,
40364                                     44.117349
40365                                 ],
40366                                 [
40367                                     -76.357462,
40368                                     44.131478
40369                                 ],
40370                                 [
40371                                     -76.183493,
40372                                     44.223025
40373                                 ],
40374                                 [
40375                                     -76.162644,
40376                                     44.229888
40377                                 ],
40378                                 [
40379                                     -76.176117,
40380                                     44.30795
40381                                 ],
40382                                 [
40383                                     -76.046414,
40384                                     44.354817
40385                                 ],
40386                                 [
40387                                     -75.928746,
40388                                     44.391137
40389                                 ],
40390                                 [
40391                                     -75.852508,
40392                                     44.381639
40393                                 ],
40394                                 [
40395                                     -75.849095,
40396                                     44.386103
40397                                 ],
40398                                 [
40399                                     -75.847623,
40400                                     44.392579
40401                                 ],
40402                                 [
40403                                     -75.84674,
40404                                     44.398172
40405                                 ],
40406                                 [
40407                                     -75.845415,
40408                                     44.40141
40409                                 ],
40410                                 [
40411                                     -75.780803,
40412                                     44.432318
40413                                 ],
40414                                 [
40415                                     -75.770205,
40416                                     44.446153
40417                                 ],
40418                                 [
40419                                     -75.772266,
40420                                     44.463815
40421                                 ],
40422                                 [
40423                                     -75.779184,
40424                                     44.48236
40425                                 ],
40426                                 [
40427                                     -75.791496,
40428                                     44.496513
40429                                 ],
40430                                 [
40431                                     -75.791183,
40432                                     44.496768
40433                                 ],
40434                                 [
40435                                     -75.754622,
40436                                     44.527567
40437                                 ],
40438                                 [
40439                                     -75.69969,
40440                                     44.581673
40441                                 ],
40442                                 [
40443                                     -75.578199,
40444                                     44.661513
40445                                 ],
40446                                 [
40447                                     -75.455958,
40448                                     44.741766
40449                                 ],
40450                                 [
40451                                     -75.341831,
40452                                     44.816749
40453                                 ],
40454                                 [
40455                                     -75.270233,
40456                                     44.863774
40457                                 ],
40458                                 [
40459                                     -75.129647,
40460                                     44.925166
40461                                 ],
40462                                 [
40463                                     -75.075594,
40464                                     44.935501
40465                                 ],
40466                                 [
40467                                     -75.058721,
40468                                     44.941031
40469                                 ],
40470                                 [
40471                                     -75.0149,
40472                                     44.96599
40473                                 ],
40474                                 [
40475                                     -74.998647,
40476                                     44.972398
40477                                 ],
40478                                 [
40479                                     -74.940201,
40480                                     44.987746
40481                                 ],
40482                                 [
40483                                     -74.903744,
40484                                     45.005213
40485                                 ],
40486                                 [
40487                                     -74.88651,
40488                                     45.009398
40489                                 ],
40490                                 [
40491                                     -74.868474,
40492                                     45.010122
40493                                 ],
40494                                 [
40495                                     -74.741557,
40496                                     44.998857
40497                                 ],
40498                                 [
40499                                     -74.712961,
40500                                     44.999254
40501                                 ],
40502                                 [
40503                                     -74.695875,
40504                                     44.99803
40505                                 ],
40506                                 [
40507                                     -74.596114,
40508                                     44.998495
40509                                 ],
40510                                 [
40511                                     -74.496352,
40512                                     44.999012
40513                                 ],
40514                                 [
40515                                     -74.197146,
40516                                     45.000458
40517                                 ],
40518                                 [
40519                                     -71.703551,
40520                                     45.012757
40521                                 ],
40522                                 [
40523                                     -71.603816,
40524                                     45.013274
40525                                 ],
40526                                 [
40527                                     -71.505848,
40528                                     45.013731
40529                                 ],
40530                                 [
40531                                     -71.50408,
40532                                     45.013739
40533                                 ],
40534                                 [
40535                                     -71.506613,
40536                                     45.037045
40537                                 ],
40538                                 [
40539                                     -71.504752,
40540                                     45.052962
40541                                 ],
40542                                 [
40543                                     -71.497259,
40544                                     45.066553
40545                                 ],
40546                                 [
40547                                     -71.45659,
40548                                     45.110994
40549                                 ],
40550                                 [
40551                                     -71.451215,
40552                                     45.121691
40553                                 ],
40554                                 [
40555                                     -71.445996,
40556                                     45.140295
40557                                 ],
40558                                 [
40559                                     -71.441604,
40560                                     45.150682
40561                                 ],
40562                                 [
40563                                     -71.413026,
40564                                     45.186184
40565                                 ],
40566                                 [
40567                                     -71.406567,
40568                                     45.204942
40569                                 ],
40570                                 [
40571                                     -71.42269,
40572                                     45.217189
40573                                 ],
40574                                 [
40575                                     -71.449045,
40576                                     45.226905
40577                                 ],
40578                                 [
40579                                     -71.438813,
40580                                     45.233468
40581                                 ],
40582                                 [
40583                                     -71.394888,
40584                                     45.241529
40585                                 ],
40586                                 [
40587                                     -71.381245,
40588                                     45.250779
40589                                 ],
40590                                 [
40591                                     -71.3521,
40592                                     45.278323
40593                                 ],
40594                                 [
40595                                     -71.334323,
40596                                     45.28871
40597                                 ],
40598                                 [
40599                                     -71.311534,
40600                                     45.294136
40601                                 ],
40602                                 [
40603                                     -71.293396,
40604                                     45.292327
40605                                 ],
40606                                 [
40607                                     -71.20937,
40608                                     45.254758
40609                                 ],
40610                                 [
40611                                     -71.185133,
40612                                     45.248557
40613                                 ],
40614                                 [
40615                                     -71.160329,
40616                                     45.245767
40617                                 ],
40618                                 [
40619                                     -71.141725,
40620                                     45.252329
40621                                 ],
40622                                 [
40623                                     -71.111029,
40624                                     45.287108
40625                                 ],
40626                                 [
40627                                     -71.095242,
40628                                     45.300905
40629                                 ],
40630                                 [
40631                                     -71.085553,
40632                                     45.304213
40633                                 ],
40634                                 [
40635                                     -71.084952,
40636                                     45.304293
40637                                 ],
40638                                 [
40639                                     -71.064211,
40640                                     45.307055
40641                                 ],
40642                                 [
40643                                     -71.054418,
40644                                     45.310362
40645                                 ],
40646                                 [
40647                                     -71.036667,
40648                                     45.323385
40649                                 ],
40650                                 [
40651                                     -71.027598,
40652                                     45.33465
40653                                 ],
40654                                 [
40655                                     -71.016539,
40656                                     45.343125
40657                                 ],
40658                                 [
40659                                     -70.993155,
40660                                     45.347827
40661                                 ],
40662                                 [
40663                                     -70.968118,
40664                                     45.34452
40665                                 ],
40666                                 [
40667                                     -70.951608,
40668                                     45.332014
40669                                 ],
40670                                 [
40671                                     -70.906908,
40672                                     45.246232
40673                                 ],
40674                                 [
40675                                     -70.892412,
40676                                     45.234604
40677                                 ],
40678                                 [
40679                                     -70.874351,
40680                                     45.245663
40681                                 ],
40682                                 [
40683                                     -70.870605,
40684                                     45.255275
40685                                 ],
40686                                 [
40687                                     -70.872491,
40688                                     45.274189
40689                                 ],
40690                                 [
40691                                     -70.870243,
40692                                     45.283129
40693                                 ],
40694                                 [
40695                                     -70.862621,
40696                                     45.290363
40697                                 ],
40698                                 [
40699                                     -70.842389,
40700                                     45.301215
40701                                 ],
40702                                 [
40703                                     -70.835258,
40704                                     45.309794
40705                                 ],
40706                                 [
40707                                     -70.83208,
40708                                     45.328552
40709                                 ],
40710                                 [
40711                                     -70.835465,
40712                                     45.373097
40713                                 ],
40714                                 [
40715                                     -70.833837,
40716                                     45.393096
40717                                 ],
40718                                 [
40719                                     -70.825982,
40720                                     45.410459
40721                                 ],
40722                                 [
40723                                     -70.812986,
40724                                     45.42343
40725                                 ],
40726                                 [
40727                                     -70.794873,
40728                                     45.430406
40729                                 ],
40730                                 [
40731                                     -70.771877,
40732                                     45.430045
40733                                 ],
40734                                 [
40735                                     -70.75255,
40736                                     45.422345
40737                                 ],
40738                                 [
40739                                     -70.718004,
40740                                     45.397282
40741                                 ],
40742                                 [
40743                                     -70.696739,
40744                                     45.388652
40745                                 ],
40746                                 [
40747                                     -70.675785,
40748                                     45.388704
40749                                 ],
40750                                 [
40751                                     -70.65359,
40752                                     45.395473
40753                                 ],
40754                                 [
40755                                     -70.641316,
40756                                     45.408496
40757                                 ],
40758                                 [
40759                                     -70.650257,
40760                                     45.427461
40761                                 ],
40762                                 [
40763                                     -70.668162,
40764                                     45.439036
40765                                 ],
40766                                 [
40767                                     -70.707385,
40768                                     45.4564
40769                                 ],
40770                                 [
40771                                     -70.722836,
40772                                     45.470921
40773                                 ],
40774                                 [
40775                                     -70.732009,
40776                                     45.491591
40777                                 ],
40778                                 [
40779                                     -70.730329,
40780                                     45.507973
40781                                 ],
40782                                 [
40783                                     -70.686792,
40784                                     45.572723
40785                                 ],
40786                                 [
40787                                     -70.589614,
40788                                     45.651788
40789                                 ],
40790                                 [
40791                                     -70.572406,
40792                                     45.662279
40793                                 ],
40794                                 [
40795                                     -70.514735,
40796                                     45.681709
40797                                 ],
40798                                 [
40799                                     -70.484763,
40800                                     45.699641
40801                                 ],
40802                                 [
40803                                     -70.4728,
40804                                     45.703568
40805                                 ],
40806                                 [
40807                                     -70.450424,
40808                                     45.703723
40809                                 ],
40810                                 [
40811                                     -70.439132,
40812                                     45.705893
40813                                 ],
40814                                 [
40815                                     -70.419315,
40816                                     45.716901
40817                                 ],
40818                                 [
40819                                     -70.407351,
40820                                     45.731525
40821                                 ],
40822                                 [
40823                                     -70.402442,
40824                                     45.749663
40825                                 ],
40826                                 [
40827                                     -70.403941,
40828                                     45.771161
40829                                 ],
40830                                 [
40831                                     -70.408282,
40832                                     45.781651
40833                                 ],
40834                                 [
40835                                     -70.413682,
40836                                     45.787697
40837                                 ],
40838                                 [
40839                                     -70.41717,
40840                                     45.793795
40841                                 ],
40842                                 [
40843                                     -70.415232,
40844                                     45.804389
40845                                 ],
40846                                 [
40847                                     -70.409935,
40848                                     45.810745
40849                                 ],
40850                                 [
40851                                     -70.389807,
40852                                     45.825059
40853                                 ],
40854                                 [
40855                                     -70.312654,
40856                                     45.867641
40857                                 ],
40858                                 [
40859                                     -70.283173,
40860                                     45.890482
40861                                 ],
40862                                 [
40863                                     -70.262528,
40864                                     45.923038
40865                                 ],
40866                                 [
40867                                     -70.255939,
40868                                     45.948876
40869                                 ],
40870                                 [
40871                                     -70.263148,
40872                                     45.956834
40873                                 ],
40874                                 [
40875                                     -70.280434,
40876                                     45.959315
40877                                 ],
40878                                 [
40879                                     -70.303947,
40880                                     45.968616
40881                                 ],
40882                                 [
40883                                     -70.316298,
40884                                     45.982982
40885                                 ],
40886                                 [
40887                                     -70.316892,
40888                                     45.999002
40889                                 ],
40890                                 [
40891                                     -70.306143,
40892                                     46.035331
40893                                 ],
40894                                 [
40895                                     -70.303637,
40896                                     46.038483
40897                                 ],
40898                                 [
40899                                     -70.294309,
40900                                     46.044943
40901                                 ],
40902                                 [
40903                                     -70.29201,
40904                                     46.048663
40905                                 ],
40906                                 [
40907                                     -70.293017,
40908                                     46.054038
40909                                 ],
40910                                 [
40911                                     -70.296092,
40912                                     46.057862
40913                                 ],
40914                                 [
40915                                     -70.300795,
40916                                     46.061737
40917                                 ],
40918                                 [
40919                                     -70.304774,
40920                                     46.065975
40921                                 ],
40922                                 [
40923                                     -70.311362,
40924                                     46.071866
40925                                 ],
40926                                 [
40927                                     -70.312629,
40928                                     46.079566
40929                                 ],
40930                                 [
40931                                     -70.30033,
40932                                     46.089281
40933                                 ],
40934                                 [
40935                                     -70.26444,
40936                                     46.106593
40937                                 ],
40938                                 [
40939                                     -70.24948,
40940                                     46.120597
40941                                 ],
40942                                 [
40943                                     -70.244002,
40944                                     46.141009
40945                                 ],
40946                                 [
40947                                     -70.249247,
40948                                     46.162765
40949                                 ],
40950                                 [
40951                                     -70.263329,
40952                                     46.183229
40953                                 ],
40954                                 [
40955                                     -70.284801,
40956                                     46.191859
40957                                 ],
40958                                 [
40959                                     -70.280899,
40960                                     46.211857
40961                                 ],
40962                                 [
40963                                     -70.253407,
40964                                     46.251493
40965                                 ],
40966                                 [
40967                                     -70.236173,
40968                                     46.288339
40969                                 ],
40970                                 [
40971                                     -70.223693,
40972                                     46.300793
40973                                 ],
40974                                 [
40975                                     -70.201886,
40976                                     46.305495
40977                                 ],
40978                                 [
40979                                     -70.199509,
40980                                     46.315262
40981                                 ],
40982                                 [
40983                                     -70.197028,
40984                                     46.336863
40985                                 ],
40986                                 [
40987                                     -70.188398,
40988                                     46.358412
40989                                 ],
40990                                 [
40991                                     -70.167418,
40992                                     46.368179
40993                                 ],
40994                                 [
40995                                     -70.153052,
40996                                     46.372829
40997                                 ],
40998                                 [
40999                                     -70.074323,
41000                                     46.419545
41001                                 ],
41002                                 [
41003                                     -70.061817,
41004                                     46.445409
41005                                 ],
41006                                 [
41007                                     -70.050086,
41008                                     46.511271
41009                                 ],
41010                                 [
41011                                     -70.032723,
41012                                     46.609766
41013                                 ],
41014                                 [
41015                                     -70.023628,
41016                                     46.661287
41017                                 ],
41018                                 [
41019                                     -70.007763,
41020                                     46.704075
41021                                 ],
41022                                 [
41023                                     -69.989961,
41024                                     46.721697
41025                                 ],
41026                                 [
41027                                     -69.899708,
41028                                     46.811562
41029                                 ],
41030                                 [
41031                                     -69.809403,
41032                                     46.901299
41033                                 ],
41034                                 [
41035                                     -69.719099,
41036                                     46.991086
41037                                 ],
41038                                 [
41039                                     -69.628794,
41040                                     47.080797
41041                                 ],
41042                                 [
41043                                     -69.538464,
41044                                     47.17061
41045                                 ],
41046                                 [
41047                                     -69.448159,
41048                                     47.260346
41049                                 ],
41050                                 [
41051                                     -69.357906,
41052                                     47.350134
41053                                 ],
41054                                 [
41055                                     -69.267628,
41056                                     47.439844
41057                                 ],
41058                                 [
41059                                     -69.25091,
41060                                     47.452919
41061                                 ],
41062                                 [
41063                                     -69.237268,
41064                                     47.45881
41065                                 ],
41066                                 [
41067                                     -69.221972,
41068                                     47.459688
41069                                 ],
41070                                 [
41071                                     -69.069655,
41072                                     47.431886
41073                                 ],
41074                                 [
41075                                     -69.054023,
41076                                     47.418399
41077                                 ],
41078                                 [
41079                                     -69.054333,
41080                                     47.389253
41081                                 ],
41082                                 [
41083                                     -69.066193,
41084                                     47.32967
41085                                 ],
41086                                 [
41087                                     -69.065134,
41088                                     47.296339
41089                                 ],
41090                                 [
41091                                     -69.06356,
41092                                     47.290809
41093                                 ],
41094                                 [
41095                                     -69.057486,
41096                                     47.269467
41097                                 ],
41098                                 [
41099                                     -69.0402,
41100                                     47.249055
41101                                 ],
41102                                 [
41103                                     -68.906229,
41104                                     47.190221
41105                                 ],
41106                                 [
41107                                     -68.889718,
41108                                     47.190609
41109                                 ],
41110                                 [
41111                                     -68.761819,
41112                                     47.23704
41113                                 ],
41114                                 [
41115                                     -68.71779,
41116                                     47.245231
41117                                 ],
41118                                 [
41119                                     -68.668801,
41120                                     47.243422
41121                                 ],
41122                                 [
41123                                     -68.644203,
41124                                     47.245283
41125                                 ],
41126                                 [
41127                                     -68.6256,
41128                                     47.255205
41129                                 ],
41130                                 [
41131                                     -68.607926,
41132                                     47.269829
41133                                 ],
41134                                 [
41135                                     -68.58524,
41136                                     47.28249
41137                                 ],
41138                                 [
41139                                     -68.539662,
41140                                     47.299853
41141                                 ],
41142                                 [
41143                                     -68.518009,
41144                                     47.304762
41145                                 ],
41146                                 [
41147                                     -68.492016,
41148                                     47.307553
41149                                 ],
41150                                 [
41151                                     -68.466746,
41152                                     47.305692
41153                                 ],
41154                                 [
41155                                     -68.435327,
41156                                     47.291275
41157                                 ],
41158                                 [
41159                                     -68.422563,
41160                                     47.293109
41161                                 ],
41162                                 [
41163                                     -68.410212,
41164                                     47.297424
41165                                 ],
41166                                 [
41167                                     -68.385614,
41168                                     47.301713
41169                                 ],
41170                                 [
41171                                     -68.383392,
41172                                     47.307139
41173                                 ],
41174                                 [
41175                                     -68.384839,
41176                                     47.315873
41177                                 ],
41178                                 [
41179                                     -68.382049,
41180                                     47.32781
41181                                 ],
41182                                 [
41183                                     -68.347839,
41184                                     47.358506
41185                                 ],
41186                                 [
41187                                     -68.299728,
41188                                     47.367833
41189                                 ],
41190                                 [
41191                                     -68.24645,
41192                                     47.360573
41193                                 ],
41194                                 [
41195                                     -68.197047,
41196                                     47.341401
41197                                 ],
41198                                 [
41199                                     -68.184335,
41200                                     47.333133
41201                                 ],
41202                                 [
41203                                     -68.156068,
41204                                     47.306674
41205                                 ],
41206                                 [
41207                                     -68.145061,
41208                                     47.301455
41209                                 ],
41210                                 [
41211                                     -68.115398,
41212                                     47.292282
41213                                 ],
41214                                 [
41215                                     -68.101446,
41216                                     47.286185
41217                                 ],
41218                                 [
41219                                     -68.039382,
41220                                     47.245231
41221                                 ],
41222                                 [
41223                                     -67.993184,
41224                                     47.223217
41225                                 ],
41226                                 [
41227                                     -67.962436,
41228                                     47.197689
41229                                 ],
41230                                 [
41231                                     -67.953703,
41232                                     47.18663
41233                                 ],
41234                                 [
41235                                     -67.949982,
41236                                     47.172936
41237                                 ],
41238                                 [
41239                                     -67.943419,
41240                                     47.164538
41241                                 ],
41242                                 [
41243                                     -67.899132,
41244                                     47.138778
41245                                 ],
41246                                 [
41247                                     -67.870607,
41248                                     47.107358
41249                                 ],
41250                                 [
41251                                     -67.854742,
41252                                     47.09785
41253                                 ],
41254                                 [
41255                                     -67.813556,
41256                                     47.081908
41257                                 ],
41258                                 [
41259                                     -67.808699,
41260                                     47.075138
41261                                 ],
41262                                 [
41263                                     -67.805185,
41264                                     47.035631
41265                                 ],
41266                                 [
41267                                     -67.802549,
41268                                     46.901247
41269                                 ],
41270                                 [
41271                                     -67.800017,
41272                                     46.766785
41273                                 ],
41274                                 [
41275                                     -67.797433,
41276                                     46.632297
41277                                 ],
41278                                 [
41279                                     -67.794849,
41280                                     46.497861
41281                                 ],
41282                                 [
41283                                     -67.792317,
41284                                     46.363476
41285                                 ],
41286                                 [
41287                                     -67.789733,
41288                                     46.229014
41289                                 ],
41290                                 [
41291                                     -67.78715,
41292                                     46.094552
41293                                 ],
41294                                 [
41295                                     -67.784566,
41296                                     45.960142
41297                                 ],
41298                                 [
41299                                     -67.782757,
41300                                     45.95053
41301                                 ],
41302                                 [
41303                                     -67.776556,
41304                                     45.942933
41305                                 ],
41306                                 [
41307                                     -67.767461,
41308                                     45.935957
41309                                 ],
41310                                 [
41311                                     -67.759658,
41312                                     45.928567
41313                                 ],
41314                                 [
41315                                     -67.757849,
41316                                     45.919472
41317                                 ],
41318                                 [
41319                                     -67.769425,
41320                                     45.903969
41321                                 ],
41322                                 [
41323                                     -67.787356,
41324                                     45.890017
41325                                 ],
41326                                 [
41327                                     -67.799242,
41328                                     45.875651
41329                                 ],
41330                                 [
41331                                     -67.792627,
41332                                     45.858907
41333                                 ],
41334                                 [
41335                                     -67.776091,
41336                                     45.840821
41337                                 ],
41338                                 [
41339                                     -67.772835,
41340                                     45.828057
41341                                 ],
41342                                 [
41343                                     -67.779863,
41344                                     45.815706
41345                                 ],
41346                                 [
41347                                     -67.794126,
41348                                     45.799169
41349                                 ],
41350                                 [
41351                                     -67.80627,
41352                                     45.781754
41353                                 ],
41354                                 [
41355                                     -67.811127,
41356                                     45.76651
41357                                 ],
41358                                 [
41359                                     -67.810816,
41360                                     45.762414
41361                                 ],
41362                                 [
41363                                     -67.817811,
41364                                     45.754896
41365                                 ],
41366                                 [
41367                                     -67.821785,
41368                                     45.740767
41369                                 ],
41370                                 [
41371                                     -67.827673,
41372                                     45.739001
41373                                 ],
41374                                 [
41375                                     -67.868884,
41376                                     45.744593
41377                                 ],
41378                                 [
41379                                     -67.856815,
41380                                     45.723694
41381                                 ],
41382                                 [
41383                                     -67.835768,
41384                                     45.703971
41385                                 ],
41386                                 [
41387                                     -67.793821,
41388                                     45.676301
41389                                 ],
41390                                 [
41391                                     -67.733034,
41392                                     45.651869
41393                                 ],
41394                                 [
41395                                     -67.723173,
41396                                     45.645393
41397                                 ],
41398                                 [
41399                                     -67.711546,
41400                                     45.642155
41401                                 ],
41402                                 [
41403                                     -67.697564,
41404                                     45.64922
41405                                 ],
41406                                 [
41407                                     -67.66695,
41408                                     45.620077
41409                                 ],
41410                                 [
41411                                     -67.649435,
41412                                     45.611247
41413                                 ],
41414                                 [
41415                                     -67.603073,
41416                                     45.605948
41417                                 ],
41418                                 [
41419                                     -67.561862,
41420                                     45.596234
41421                                 ],
41422                                 [
41423                                     -67.54052,
41424                                     45.593879
41425                                 ],
41426                                 [
41427                                     -67.442056,
41428                                     45.603593
41429                                 ],
41430                                 [
41431                                     -67.440939,
41432                                     45.604586
41433                                 ],
41434                                 [
41435                                     -67.431306,
41436                                     45.597941
41437                                 ],
41438                                 [
41439                                     -67.422107,
41440                                     45.568796
41441                                 ],
41442                                 [
41443                                     -67.42619,
41444                                     45.533449
41445                                 ],
41446                                 [
41447                                     -67.443036,
41448                                     45.522184
41449                                 ],
41450                                 [
41451                                     -67.467531,
41452                                     45.508283
41453                                 ],
41454                                 [
41455                                     -67.493214,
41456                                     45.493142
41457                                 ],
41458                                 [
41459                                     -67.48231,
41460                                     45.455521
41461                                 ],
41462                                 [
41463                                     -67.428825,
41464                                     45.38705
41465                                 ],
41466                                 [
41467                                     -67.434561,
41468                                     45.350308
41469                                 ],
41470                                 [
41471                                     -67.459056,
41472                                     45.318424
41473                                 ],
41474                                 [
41475                                     -67.468668,
41476                                     45.301835
41477                                 ],
41478                                 [
41479                                     -67.475024,
41480                                     45.282353
41481                                 ],
41482                                 [
41483                                     -67.471303,
41484                                     45.266282
41485                                 ],
41486                                 [
41487                                     -67.427585,
41488                                     45.236568
41489                                 ],
41490                                 [
41491                                     -67.390533,
41492                                     45.193108
41493                                 ],
41494                                 [
41495                                     -67.356272,
41496                                     45.165926
41497                                 ],
41498                                 [
41499                                     -67.31922,
41500                                     45.153886
41501                                 ],
41502                                 [
41503                                     -67.284648,
41504                                     45.169699
41505                                 ],
41506                                 [
41507                                     -67.279584,
41508                                     45.179052
41509                                 ],
41510                                 [
41511                                     -67.279222,
41512                                     45.187372
41513                                 ],
41514                                 [
41515                                     -67.277207,
41516                                     45.195072
41517                                 ],
41518                                 [
41519                                     -67.267336,
41520                                     45.202513
41521                                 ],
41522                                 [
41523                                     -67.254986,
41524                                     45.205045
41525                                 ],
41526                                 [
41527                                     -67.242428,
41528                                     45.202565
41529                                 ],
41530                                 [
41531                                     -67.219071,
41532                                     45.192126
41533                                 ],
41534                                 [
41535                                     -67.206166,
41536                                     45.189401
41537                                 ],
41538                                 [
41539                                     -67.176015,
41540                                     45.178656
41541                                 ],
41542                                 [
41543                                     -67.191274,
41544                                     45.180365
41545                                 ],
41546                                 [
41547                                     -67.204376,
41548                                     45.178209
41549                                 ],
41550                                 [
41551                                     -67.204724,
41552                                     45.177791
41553                                 ],
41554                                 [
41555                                     -67.152423,
41556                                     45.148932
41557                                 ],
41558                                 [
41559                                     -67.048033,
41560                                     45.043407
41561                                 ],
41562                                 [
41563                                     -66.962727,
41564                                     45.047088
41565                                 ],
41566                                 [
41567                                     -66.857192,
41568                                     44.968696
41569                                 ],
41570                                 [
41571                                     -66.897268,
41572                                     44.817275
41573                                 ],
41574                                 [
41575                                     -67.2159,
41576                                     44.593511
41577                                 ],
41578                                 [
41579                                     -67.122366,
41580                                     44.423624
41581                                 ],
41582                                 [
41583                                     -67.68447,
41584                                     44.192544
41585                                 ],
41586                                 [
41587                                     -67.459678,
41588                                     40.781645
41589                                 ],
41590                                 [
41591                                     -76.607854,
41592                                     32.495823
41593                                 ],
41594                                 [
41595                                     -76.798479,
41596                                     32.713735
41597                                 ],
41598                                 [
41599                                     -78.561892,
41600                                     29.037718
41601                                 ],
41602                                 [
41603                                     -78.892446,
41604                                     29.039659
41605                                 ],
41606                                 [
41607                                     -79.762295,
41608                                     26.719312
41609                                 ],
41610                                 [
41611                                     -80.026352,
41612                                     24.932961
41613                                 ],
41614                                 [
41615                                     -82.368794,
41616                                     23.994833
41617                                 ],
41618                                 [
41619                                     -83.806281,
41620                                     29.068506
41621                                 ],
41622                                 [
41623                                     -87.460772,
41624                                     29.089961
41625                                 ],
41626                                 [
41627                                     -87.922646,
41628                                     28.666131
41629                                 ],
41630                                 [
41631                                     -90.461001,
41632                                     28.246758
41633                                 ],
41634                                 [
41635                                     -91.787336,
41636                                     29.11536
41637                                 ],
41638                                 [
41639                                     -93.311871,
41640                                     29.12431
41641                                 ],
41642                                 [
41643                                     -96.423449,
41644                                     26.057857
41645                                 ],
41646                                 [
41647                                     -97.129057,
41648                                     25.991017
41649                                 ],
41650                                 [
41651                                     -97.129509,
41652                                     25.966833
41653                                 ],
41654                                 [
41655                                     -97.139358,
41656                                     25.965876
41657                                 ],
41658                                 [
41659                                     -97.202171,
41660                                     25.960893
41661                                 ],
41662                                 [
41663                                     -97.202176,
41664                                     25.960857
41665                                 ],
41666                                 [
41667                                     -97.204941,
41668                                     25.960639
41669                                 ],
41670                                 [
41671                                     -97.253051,
41672                                     25.963481
41673                                 ],
41674                                 [
41675                                     -97.266358,
41676                                     25.960639
41677                                 ],
41678                                 [
41679                                     -97.2692,
41680                                     25.944361
41681                                 ],
41682                                 [
41683                                     -97.287649,
41684                                     25.928651
41685                                 ],
41686                                 [
41687                                     -97.310981,
41688                                     25.922088
41689                                 ],
41690                                 [
41691                                     -97.328447,
41692                                     25.933302
41693                                 ],
41694                                 [
41695                                     -97.351107,
41696                                     25.918419
41697                                 ],
41698                                 [
41699                                     -97.355112,
41700                                     25.912786
41701                                 ],
41702                                 [
41703                                     -97.35227,
41704                                     25.894493
41705                                 ],
41706                                 [
41707                                     -97.345165,
41708                                     25.871704
41709                                 ],
41710                                 [
41711                                     -97.345733,
41712                                     25.852222
41713                                 ],
41714                                 [
41715                                     -97.36599,
41716                                     25.843902
41717                                 ],
41718                                 [
41719                                     -97.376015,
41720                                     25.846744
41721                                 ],
41722                                 [
41723                                     -97.380124,
41724                                     25.853203
41725                                 ],
41726                                 [
41727                                     -97.383121,
41728                                     25.860541
41729                                 ],
41730                                 [
41731                                     -97.389891,
41732                                     25.865657
41733                                 ],
41734                                 [
41735                                     -97.397823,
41736                                     25.865812
41737                                 ],
41738                                 [
41739                                     -97.399476,
41740                                     25.861162
41741                                 ],
41742                                 [
41743                                     -97.39989,
41744                                     25.855115
41745                                 ],
41746                                 [
41747                                     -97.404179,
41748                                     25.851395
41749                                 ],
41750                                 [
41751                                     -97.425418,
41752                                     25.854857
41753                                 ],
41754                                 [
41755                                     -97.435727,
41756                                     25.869275
41757                                 ],
41758                                 [
41759                                     -97.441309,
41760                                     25.884933
41761                                 ],
41762                                 [
41763                                     -97.448259,
41764                                     25.892322
41765                                 ],
41766                                 [
41767                                     -97.469421,
41768                                     25.892943
41769                                 ],
41770                                 [
41771                                     -97.486319,
41772                                     25.895733
41773                                 ],
41774                                 [
41775                                     -97.502209,
41776                                     25.901883
41777                                 ],
41778                                 [
41779                                     -97.52027,
41780                                     25.912786
41781                                 ],
41782                                 [
41783                                     -97.565177,
41784                                     25.954748
41785                                 ],
41786                                 [
41787                                     -97.594322,
41788                                     25.966375
41789                                 ],
41790                                 [
41791                                     -97.604787,
41792                                     25.979966
41793                                 ],
41794                                 [
41795                                     -97.613055,
41796                                     25.995985
41797                                 ],
41798                                 [
41799                                     -97.622641,
41800                                     26.00906
41801                                 ],
41802                                 [
41803                                     -97.641451,
41804                                     26.022495
41805                                 ],
41806                                 [
41807                                     -97.659874,
41808                                     26.03066
41809                                 ],
41810                                 [
41811                                     -97.679614,
41812                                     26.034639
41813                                 ],
41814                                 [
41815                                     -97.766948,
41816                                     26.039652
41817                                 ],
41818                                 [
41819                                     -97.780306,
41820                                     26.043218
41821                                 ],
41822                                 [
41823                                     -97.782321,
41824                                     26.058617
41825                                 ],
41826                                 [
41827                                     -97.80201,
41828                                     26.063733
41829                                 ],
41830                                 [
41831                                     -97.878181,
41832                                     26.063733
41833                                 ],
41834                                 [
41835                                     -97.941666,
41836                                     26.056809
41837                                 ],
41838                                 [
41839                                     -97.999233,
41840                                     26.064302
41841                                 ],
41842                                 [
41843                                     -98.013057,
41844                                     26.063682
41845                                 ],
41846                                 [
41847                                     -98.044166,
41848                                     26.048799
41849                                 ],
41850                                 [
41851                                     -98.065457,
41852                                     26.042184
41853                                 ],
41854                                 [
41855                                     -98.075146,
41856                                     26.046628
41857                                 ],
41858                                 [
41859                                     -98.083311,
41860                                     26.070916
41861                                 ],
41862                                 [
41863                                     -98.103103,
41864                                     26.074947
41865                                 ],
41866                                 [
41867                                     -98.150232,
41868                                     26.063682
41869                                 ],
41870                                 [
41871                                     -98.185062,
41872                                     26.065232
41873                                 ],
41874                                 [
41875                                     -98.222656,
41876                                     26.075412
41877                                 ],
41878                                 [
41879                                     -98.300429,
41880                                     26.111431
41881                                 ],
41882                                 [
41883                                     -98.309809,
41884                                     26.121094
41885                                 ],
41886                                 [
41887                                     -98.333037,
41888                                     26.15303
41889                                 ],
41890                                 [
41891                                     -98.339264,
41892                                     26.159851
41893                                 ],
41894                                 [
41895                                     -98.365774,
41896                                     26.160161
41897                                 ],
41898                                 [
41899                                     -98.377272,
41900                                     26.163572
41901                                 ],
41902                                 [
41903                                     -98.377272,
41904                                     26.173649
41905                                 ],
41906                                 [
41907                                     -98.36934,
41908                                     26.19401
41909                                 ],
41910                                 [
41911                                     -98.397193,
41912                                     26.201141
41913                                 ],
41914                                 [
41915                                     -98.428845,
41916                                     26.217729
41917                                 ],
41918                                 [
41919                                     -98.456544,
41920                                     26.225946
41921                                 ],
41922                                 [
41923                                     -98.472383,
41924                                     26.207652
41925                                 ],
41926                                 [
41927                                     -98.49295,
41928                                     26.230596
41929                                 ],
41930                                 [
41931                                     -98.521527,
41932                                     26.240932
41933                                 ],
41934                                 [
41935                                     -98.552791,
41936                                     26.248321
41937                                 ],
41938                                 [
41939                                     -98.581627,
41940                                     26.262274
41941                                 ],
41942                                 [
41943                                     -98.640564,
41944                                     26.24181
41945                                 ],
41946                                 [
41947                                     -98.653663,
41948                                     26.244291
41949                                 ],
41950                                 [
41951                                     -98.664696,
41952                                     26.250647
41953                                 ],
41954                                 [
41955                                     -98.685289,
41956                                     26.268475
41957                                 ],
41958                                 [
41959                                     -98.693325,
41960                                     26.270542
41961                                 ],
41962                                 [
41963                                     -98.702239,
41964                                     26.271628
41965                                 ],
41966                                 [
41967                                     -98.704255,
41968                                     26.27664
41969                                 ],
41970                                 [
41971                                     -98.691465,
41972                                     26.290231
41973                                 ],
41974                                 [
41975                                     -98.701413,
41976                                     26.299119
41977                                 ],
41978                                 [
41979                                     -98.713169,
41980                                     26.303357
41981                                 ],
41982                                 [
41983                                     -98.726217,
41984                                     26.30439
41985                                 ],
41986                                 [
41987                                     -98.739911,
41988                                     26.303253
41989                                 ],
41990                                 [
41991                                     -98.735932,
41992                                     26.320048
41993                                 ],
41994                                 [
41995                                     -98.746397,
41996                                     26.332141
41997                                 ],
41998                                 [
41999                                     -98.780839,
42000                                     26.351674
42001                                 ],
42002                                 [
42003                                     -98.795851,
42004                                     26.368314
42005                                 ],
42006                                 [
42007                                     -98.801329,
42008                                     26.372138
42009                                 ],
42010                                 [
42011                                     -98.810295,
42012                                     26.372448
42013                                 ],
42014                                 [
42015                                     -98.817323,
42016                                     26.368521
42017                                 ],
42018                                 [
42019                                     -98.825023,
42020                                     26.366454
42021                                 ],
42022                                 [
42023                                     -98.836081,
42024                                     26.372138
42025                                 ],
42026                                 [
42027                                     -98.842334,
42028                                     26.365834
42029                                 ],
42030                                 [
42031                                     -98.850835,
42032                                     26.364077
42033                                 ],
42034                                 [
42035                                     -98.860524,
42036                                     26.366299
42037                                 ],
42038                                 [
42039                                     -98.870214,
42040                                     26.372138
42041                                 ],
42042                                 [
42043                                     -98.893029,
42044                                     26.367849
42045                                 ],
42046                                 [
42047                                     -98.9299,
42048                                     26.39224
42049                                 ],
42050                                 [
42051                                     -98.945377,
42052                                     26.378288
42053                                 ],
42054                                 [
42055                                     -98.954136,
42056                                     26.393946
42057                                 ],
42058                                 [
42059                                     -98.962844,
42060                                     26.399527
42061                                 ],
42062                                 [
42063                                     -98.986951,
42064                                     26.400095
42065                                 ],
42066                                 [
42067                                     -99.004056,
42068                                     26.393842
42069                                 ],
42070                                 [
42071                                     -99.010515,
42072                                     26.392602
42073                                 ],
42074                                 [
42075                                     -99.016432,
42076                                     26.394462
42077                                 ],
42078                                 [
42079                                     -99.022995,
42080                                     26.403351
42081                                 ],
42082                                 [
42083                                     -99.027878,
42084                                     26.406245
42085                                 ],
42086                                 [
42087                                     -99.047645,
42088                                     26.406968
42089                                 ],
42090                                 [
42091                                     -99.066351,
42092                                     26.404746
42093                                 ],
42094                                 [
42095                                     -99.085498,
42096                                     26.40764
42097                                 ],
42098                                 [
42099                                     -99.106427,
42100                                     26.423039
42101                                 ],
42102                                 [
42103                                     -99.108907,
42104                                     26.434253
42105                                 ],
42106                                 [
42107                                     -99.102525,
42108                                     26.446966
42109                                 ],
42110                                 [
42111                                     -99.09374,
42112                                     26.459781
42113                                 ],
42114                                 [
42115                                     -99.089373,
42116                                     26.47115
42117                                 ],
42118                                 [
42119                                     -99.091492,
42120                                     26.484018
42121                                 ],
42122                                 [
42123                                     -99.10299,
42124                                     26.512078
42125                                 ],
42126                                 [
42127                                     -99.115108,
42128                                     26.525617
42129                                 ],
42130                                 [
42131                                     -99.140946,
42132                                     26.531405
42133                                 ],
42134                                 [
42135                                     -99.164873,
42136                                     26.540448
42137                                 ],
42138                                 [
42139                                     -99.17128,
42140                                     26.563961
42141                                 ],
42142                                 [
42143                                     -99.171548,
42144                                     26.56583
42145                                 ],
42146                                 [
42147                                     -99.213953,
42148                                     26.568537
42149                                 ],
42150                                 [
42151                                     -99.242801,
42152                                     26.579723
42153                                 ],
42154                                 [
42155                                     -99.254575,
42156                                     26.6018
42157                                 ],
42158                                 [
42159                                     -99.258844,
42160                                     26.614752
42161                                 ],
42162                                 [
42163                                     -99.277683,
42164                                     26.638007
42165                                 ],
42166                                 [
42167                                     -99.281951,
42168                                     26.649781
42169                                 ],
42170                                 [
42171                                     -99.277389,
42172                                     26.657729
42173                                 ],
42174                                 [
42175                                     -99.26635,
42176                                     26.653314
42177                                 ],
42178                                 [
42179                                     -99.252662,
42180                                     26.644483
42181                                 ],
42182                                 [
42183                                     -99.240299,
42184                                     26.639184
42185                                 ],
42186                                 [
42187                                     -99.244861,
42188                                     26.652431
42189                                 ],
42190                                 [
42191                                     -99.240299,
42192                                     26.697763
42193                                 ],
42194                                 [
42195                                     -99.242507,
42196                                     26.713658
42197                                 ],
42198                                 [
42199                                     -99.252368,
42200                                     26.743683
42201                                 ],
42202                                 [
42203                                     -99.254575,
42204                                     26.75899
42205                                 ],
42206                                 [
42207                                     -99.252368,
42208                                     26.799024
42209                                 ],
42210                                 [
42211                                     -99.254575,
42212                                     26.810504
42213                                 ],
42214                                 [
42215                                     -99.257666,
42216                                     26.813153
42217                                 ],
42218                                 [
42219                                     -99.262229,
42220                                     26.814036
42221                                 ],
42222                                 [
42223                                     -99.266497,
42224                                     26.817863
42225                                 ],
42226                                 [
42227                                     -99.268263,
42228                                     26.827872
42229                                 ],
42230                                 [
42231                                     -99.271649,
42232                                     26.832876
42233                                 ],
42234                                 [
42235                                     -99.289458,
42236                                     26.84465
42237                                 ],
42238                                 [
42239                                     -99.308444,
42240                                     26.830521
42241                                 ],
42242                                 [
42243                                     -99.316539,
42244                                     26.822279
42245                                 ],
42246                                 [
42247                                     -99.323457,
42248                                     26.810504
42249                                 ],
42250                                 [
42251                                     -99.328166,
42252                                     26.797258
42253                                 ],
42254                                 [
42255                                     -99.329197,
42256                                     26.789016
42257                                 ],
42258                                 [
42259                                     -99.331699,
42260                                     26.78254
42261                                 ],
42262                                 [
42263                                     -99.340383,
42264                                     26.77312
42265                                 ],
42266                                 [
42267                                     -99.366728,
42268                                     26.761345
42269                                 ],
42270                                 [
42271                                     -99.380269,
42272                                     26.777241
42273                                 ],
42274                                 [
42275                                     -99.391896,
42276                                     26.796963
42277                                 ],
42278                                 [
42279                                     -99.412207,
42280                                     26.796963
42281                                 ],
42282                                 [
42283                                     -99.410883,
42284                                     26.808149
42285                                 ],
42286                                 [
42287                                     -99.405437,
42288                                     26.818452
42289                                 ],
42290                                 [
42291                                     -99.396606,
42292                                     26.824928
42293                                 ],
42294                                 [
42295                                     -99.384979,
42296                                     26.824928
42297                                 ],
42298                                 [
42299                                     -99.377178,
42300                                     26.816686
42301                                 ],
42302                                 [
42303                                     -99.374823,
42304                                     26.804028
42305                                 ],
42306                                 [
42307                                     -99.374234,
42308                                     26.791076
42309                                 ],
42310                                 [
42311                                     -99.371291,
42312                                     26.783128
42313                                 ],
42314                                 [
42315                                     -99.360694,
42316                                     26.780479
42317                                 ],
42318                                 [
42319                                     -99.359369,
42320                                     26.790487
42321                                 ],
42322                                 [
42323                                     -99.36452,
42324                                     26.810504
42325                                 ],
42326                                 [
42327                                     -99.357897,
42328                                     26.822279
42329                                 ],
42330                                 [
42331                                     -99.351274,
42332                                     26.83111
42333                                 ],
42334                                 [
42335                                     -99.346123,
42336                                     26.840824
42337                                 ],
42338                                 [
42339                                     -99.344062,
42340                                     26.855247
42341                                 ],
42342                                 [
42343                                     -99.348772,
42344                                     26.899696
42345                                 ],
42346                                 [
42347                                     -99.355101,
42348                                     26.920302
42349                                 ],
42350                                 [
42351                                     -99.36452,
42352                                     26.934726
42353                                 ],
42354                                 [
42355                                     -99.403377,
42356                                     26.952093
42357                                 ],
42358                                 [
42359                                     -99.413974,
42360                                     26.964162
42361                                 ],
42362                                 [
42363                                     -99.401758,
42364                                     26.985651
42365                                 ],
42366                                 [
42367                                     -99.399991,
42368                                     26.999192
42369                                 ],
42370                                 [
42371                                     -99.418831,
42372                                     27.007728
42373                                 ],
42374                                 [
42375                                     -99.441938,
42376                                     27.013615
42377                                 ],
42378                                 [
42379                                     -99.453271,
42380                                     27.019797
42381                                 ],
42382                                 [
42383                                     -99.455332,
42384                                     27.025979
42385                                 ],
42386                                 [
42387                                     -99.464751,
42388                                     27.039225
42389                                 ],
42390                                 [
42391                                     -99.466959,
42392                                     27.047467
42393                                 ],
42394                                 [
42395                                     -99.462544,
42396                                     27.057181
42397                                 ],
42398                                 [
42399                                     -99.461635,
42400                                     27.056839
42401                                 ],
42402                                 [
42403                                     -99.461728,
42404                                     27.056954
42405                                 ],
42406                                 [
42407                                     -99.442039,
42408                                     27.089614
42409                                 ],
42410                                 [
42411                                     -99.439404,
42412                                     27.098347
42413                                 ],
42414                                 [
42415                                     -99.441419,
42416                                     27.107494
42417                                 ],
42418                                 [
42419                                     -99.445734,
42420                                     27.114728
42421                                 ],
42422                                 [
42423                                     -99.450178,
42424                                     27.120465
42425                                 ],
42426                                 [
42427                                     -99.452452,
42428                                     27.125012
42429                                 ],
42430                                 [
42431                                     -99.450333,
42432                                     27.145166
42433                                 ],
42434                                 [
42435                                     -99.435786,
42436                                     27.188419
42437                                 ],
42438                                 [
42439                                     -99.431988,
42440                                     27.207591
42441                                 ],
42442                                 [
42443                                     -99.434029,
42444                                     27.22697
42445                                 ],
42446                                 [
42447                                     -99.440902,
42448                                     27.244798
42449                                 ],
42450                                 [
42451                                     -99.451832,
42452                                     27.26118
42453                                 ],
42454                                 [
42455                                     -99.46612,
42456                                     27.276527
42457                                 ],
42458                                 [
42459                                     -99.468963,
42460                                     27.278233
42461                                 ],
42462                                 [
42463                                     -99.480409,
42464                                     27.283297
42465                                 ],
42466                                 [
42467                                     -99.482941,
42468                                     27.286708
42469                                 ],
42470                                 [
42471                                     -99.484879,
42472                                     27.294821
42473                                 ],
42474                                 [
42475                                     -99.486584,
42476                                     27.297611
42477                                 ],
42478                                 [
42479                                     -99.493199,
42480                                     27.30128
42481                                 ],
42482                                 [
42483                                     -99.521362,
42484                                     27.311254
42485                                 ],
42486                                 [
42487                                     -99.5148,
42488                                     27.321796
42489                                 ],
42490                                 [
42491                                     -99.497591,
42492                                     27.338798
42493                                 ],
42494                                 [
42495                                     -99.494026,
42496                                     27.348203
42497                                 ],
42498                                 [
42499                                     -99.492889,
42500                                     27.358848
42501                                 ],
42502                                 [
42503                                     -99.487721,
42504                                     27.37187
42505                                 ],
42506                                 [
42507                                     -99.484621,
42508                                     27.391766
42509                                 ],
42510                                 [
42511                                     -99.475706,
42512                                     27.414762
42513                                 ],
42514                                 [
42515                                     -99.472916,
42516                                     27.426647
42517                                 ],
42518                                 [
42519                                     -99.473639,
42520                                     27.463803
42521                                 ],
42522                                 [
42523                                     -99.472916,
42524                                     27.468299
42525                                 ],
42526                                 [
42527                                     -99.47643,
42528                                     27.48251
42529                                 ],
42530                                 [
42531                                     -99.480409,
42532                                     27.490778
42533                                 ],
42534                                 [
42535                                     -99.48829,
42536                                     27.494654
42537                                 ],
42538                                 [
42539                                     -99.503689,
42540                                     27.495584
42541                                 ],
42542                                 [
42543                                     -99.509503,
42544                                     27.500028
42545                                 ],
42546                                 [
42547                                     -99.510071,
42548                                     27.510518
42549                                 ],
42550                                 [
42551                                     -99.507074,
42552                                     27.533437
42553                                 ],
42554                                 [
42555                                     -99.507203,
42556                                     27.57377
42557                                 ],
42558                                 [
42559                                     -99.515006,
42560                                     27.588601
42561                                 ],
42562                                 [
42563                                     -99.535031,
42564                                     27.604828
42565                                 ],
42566                                 [
42567                                     -99.55503,
42568                                     27.613509
42569                                 ],
42570                                 [
42571                                     -99.572264,
42572                                     27.61847
42573                                 ],
42574                                 [
42575                                     -99.578232,
42576                                     27.622811
42577                                 ],
42578                                 [
42579                                     -99.590247,
42580                                     27.642061
42581                                 ],
42582                                 [
42583                                     -99.600169,
42584                                     27.646427
42585                                 ],
42586                                 [
42587                                     -99.612442,
42588                                     27.643637
42589                                 ],
42590                                 [
42591                                     -99.633526,
42592                                     27.633069
42593                                 ],
42594                                 [
42595                                     -99.644869,
42596                                     27.632733
42597                                 ],
42598                                 [
42599                                     -99.648642,
42600                                     27.636919
42601                                 ],
42602                                 [
42603                                     -99.658693,
42604                                     27.654024
42605                                 ],
42606                                 [
42607                                     -99.664739,
42608                                     27.659398
42609                                 ],
42610                                 [
42611                                     -99.70037,
42612                                     27.659191
42613                                 ],
42614                                 [
42615                                     -99.705692,
42616                                     27.66317
42617                                 ],
42618                                 [
42619                                     -99.710674,
42620                                     27.670116
42621                                 ],
42622                                 [
42623                                     -99.723056,
42624                                     27.687381
42625                                 ],
42626                                 [
42627                                     -99.730652,
42628                                     27.691825
42629                                 ],
42630                                 [
42631                                     -99.734037,
42632                                     27.702031
42633                                 ],
42634                                 [
42635                                     -99.736311,
42636                                     27.713607
42637                                 ],
42638                                 [
42639                                     -99.740445,
42640                                     27.722159
42641                                 ],
42642                                 [
42643                                     -99.747344,
42644                                     27.726009
42645                                 ],
42646                                 [
42647                                     -99.765198,
42648                                     27.731177
42649                                 ],
42650                                 [
42651                                     -99.774577,
42652                                     27.735828
42653                                 ],
42654                                 [
42655                                     -99.78685,
42656                                     27.748488
42657                                 ],
42658                                 [
42659                                     -99.795428,
42660                                     27.761924
42661                                 ],
42662                                 [
42663                                     -99.806963,
42664                                     27.771423
42665                                 ],
42666                                 [
42667                                     -99.808167,
42668                                     27.772414
42669                                 ],
42670                                 [
42671                                     -99.83292,
42672                                     27.776755
42673                                 ],
42674                                 [
42675                                     -99.832971,
42676                                     27.782181
42677                                 ],
42678                                 [
42679                                     -99.844779,
42680                                     27.793576
42681                                 ],
42682                                 [
42683                                     -99.858241,
42684                                     27.803524
42685                                 ],
42686                                 [
42687                                     -99.863357,
42688                                     27.804661
42689                                 ],
42690                                 [
42691                                     -99.864727,
42692                                     27.814324
42693                                 ],
42694                                 [
42695                                     -99.861858,
42696                                     27.83608
42697                                 ],
42698                                 [
42699                                     -99.863357,
42700                                     27.845666
42701                                 ],
42702                                 [
42703                                     -99.870928,
42704                                     27.854477
42705                                 ],
42706                                 [
42707                                     -99.880204,
42708                                     27.859231
42709                                 ],
42710                                 [
42711                                     -99.888007,
42712                                     27.864812
42713                                 ],
42714                                 [
42715                                     -99.891288,
42716                                     27.876026
42717                                 ],
42718                                 [
42719                                     -99.882684,
42720                                     27.89158
42721                                 ],
42722                                 [
42723                                     -99.878808,
42724                                     27.901838
42725                                 ],
42726                                 [
42727                                     -99.88134,
42728                                     27.906463
42729                                 ],
42730                                 [
42731                                     -99.896766,
42732                                     27.912923
42733                                 ],
42734                                 [
42735                                     -99.914336,
42736                                     27.928245
42737                                 ],
42738                                 [
42739                                     -99.929916,
42740                                     27.946331
42741                                 ],
42742                                 [
42743                                     -99.939683,
42744                                     27.961085
42745                                 ],
42746                                 [
42747                                     -99.928289,
42748                                     27.975761
42749                                 ],
42750                                 [
42751                                     -99.940717,
42752                                     27.983254
42753                                 ],
42754                                 [
42755                                     -99.961852,
42756                                     27.987492
42757                                 ],
42758                                 [
42759                                     -99.976606,
42760                                     27.992453
42761                                 ],
42762                                 [
42763                                     -99.991127,
42764                                     28.007801
42765                                 ],
42766                                 [
42767                                     -100.000584,
42768                                     28.02041
42769                                 ],
42770                                 [
42771                                     -100.007457,
42772                                     28.033561
42773                                 ],
42774                                 [
42775                                     -100.014123,
42776                                     28.050459
42777                                 ],
42778                                 [
42779                                     -100.013503,
42780                                     28.056971
42781                                 ],
42782                                 [
42783                                     -100.010506,
42784                                     28.063611
42785                                 ],
42786                                 [
42787                                     -100.010196,
42788                                     28.068882
42789                                 ],
42790                                 [
42791                                     -100.017585,
42792                                     28.070949
42793                                 ],
42794                                 [
42795                                     -100.031538,
42796                                     28.081801
42797                                 ],
42798                                 [
42799                                     -100.045077,
42800                                     28.095289
42801                                 ],
42802                                 [
42803                                     -100.048023,
42804                                     28.102523
42805                                 ],
42806                                 [
42807                                     -100.048901,
42808                                     28.115959
42809                                 ],
42810                                 [
42811                                     -100.056498,
42812                                     28.137922
42813                                 ],
42814                                 [
42815                                     -100.074895,
42816                                     28.154407
42817                                 ],
42818                                 [
42819                                     -100.172873,
42820                                     28.198538
42821                                 ],
42822                                 [
42823                                     -100.189203,
42824                                     28.201329
42825                                 ],
42826                                 [
42827                                     -100.197626,
42828                                     28.207168
42829                                 ],
42830                                 [
42831                                     -100.201192,
42832                                     28.220346
42833                                 ],
42834                                 [
42835                                     -100.202949,
42836                                     28.234428
42837                                 ],
42838                                 [
42839                                     -100.205946,
42840                                     28.242877
42841                                 ],
42842                                 [
42843                                     -100.212819,
42844                                     28.245073
42845                                 ],
42846                                 [
42847                                     -100.240724,
42848                                     28.249698
42849                                 ],
42850                                 [
42851                                     -100.257932,
42852                                     28.260524
42853                                 ],
42854                                 [
42855                                     -100.275089,
42856                                     28.277242
42857                                 ],
42858                                 [
42859                                     -100.284339,
42860                                     28.296517
42861                                 ],
42862                                 [
42863                                     -100.277931,
42864                                     28.314888
42865                                 ],
42866                                 [
42867                                     -100.278551,
42868                                     28.331088
42869                                 ],
42870                                 [
42871                                     -100.293899,
42872                                     28.353413
42873                                 ],
42874                                 [
42875                                     -100.322631,
42876                                     28.386899
42877                                 ],
42878                                 [
42879                                     -100.331675,
42880                                     28.422013
42881                                 ],
42882                                 [
42883                                     -100.336326,
42884                                     28.458574
42885                                 ],
42886                                 [
42887                                     -100.340201,
42888                                     28.464259
42889                                 ],
42890                                 [
42891                                     -100.348315,
42892                                     28.470253
42893                                 ],
42894                                 [
42895                                     -100.355549,
42896                                     28.478185
42897                                 ],
42898                                 [
42899                                     -100.35679,
42900                                     28.489322
42901                                 ],
42902                                 [
42903                                     -100.351622,
42904                                     28.496711
42905                                 ],
42906                                 [
42907                                     -100.322631,
42908                                     28.510406
42909                                 ],
42910                                 [
42911                                     -100.364024,
42912                                     28.524797
42913                                 ],
42914                                 [
42915                                     -100.38423,
42916                                     28.537174
42917                                 ],
42918                                 [
42919                                     -100.397769,
42920                                     28.557586
42921                                 ],
42922                                 [
42923                                     -100.398751,
42924                                     28.568645
42925                                 ],
42926                                 [
42927                                     -100.397097,
42928                                     28.592726
42929                                 ],
42930                                 [
42931                                     -100.401438,
42932                                     28.60226
42933                                 ],
42934                                 [
42935                                     -100.411463,
42936                                     28.609314
42937                                 ],
42938                                 [
42939                                     -100.434821,
42940                                     28.619133
42941                                 ],
42942                                 [
42943                                     -100.44619,
42944                                     28.626497
42945                                 ],
42946                                 [
42947                                     -100.444898,
42948                                     28.643782
42949                                 ],
42950                                 [
42951                                     -100.481381,
42952                                     28.686054
42953                                 ],
42954                                 [
42955                                     -100.493939,
42956                                     28.708378
42957                                 ],
42958                                 [
42959                                     -100.519054,
42960                                     28.804961
42961                                 ],
42962                                 [
42963                                     -100.524996,
42964                                     28.814831
42965                                 ],
42966                                 [
42967                                     -100.529285,
42968                                     28.819947
42969                                 ],
42970                                 [
42971                                     -100.534453,
42972                                     28.830231
42973                                 ],
42974                                 [
42975                                     -100.538639,
42976                                     28.835631
42977                                 ],
42978                                 [
42979                                     -100.54515,
42980                                     28.83899
42981                                 ],
42982                                 [
42983                                     -100.559671,
42984                                     28.839378
42985                                 ],
42986                                 [
42987                                     -100.566234,
42988                                     28.842504
42989                                 ],
42990                                 [
42991                                     -100.569696,
42992                                     28.84961
42993                                 ],
42994                                 [
42995                                     -100.56334,
42996                                     28.86209
42997                                 ],
42998                                 [
42999                                     -100.566234,
43000                                     28.869789
43001                                 ],
43002                                 [
43003                                     -100.571763,
43004                                     28.8732
43005                                 ],
43006                                 [
43007                                     -100.586543,
43008                                     28.879789
43009                                 ],
43010                                 [
43011                                     -100.58954,
43012                                     28.883458
43013                                 ],
43014                                 [
43015                                     -100.594966,
43016                                     28.899322
43017                                 ],
43018                                 [
43019                                     -100.606955,
43020                                     28.910123
43021                                 ],
43022                                 [
43023                                     -100.618841,
43024                                     28.917926
43025                                 ],
43026                                 [
43027                                     -100.624318,
43028                                     28.924721
43029                                 ],
43030                                 [
43031                                     -100.624783,
43032                                     28.93777
43033                                 ],
43034                                 [
43035                                     -100.626696,
43036                                     28.948338
43037                                 ],
43038                                 [
43039                                     -100.630778,
43040                                     28.956683
43041                                 ],
43042                                 [
43043                                     -100.637909,
43044                                     28.962884
43045                                 ],
43046                                 [
43047                                     -100.628918,
43048                                     28.98433
43049                                 ],
43050                                 [
43051                                     -100.632793,
43052                                     29.005156
43053                                 ],
43054                                 [
43055                                     -100.652224,
43056                                     29.044817
43057                                 ],
43058                                 [
43059                                     -100.660854,
43060                                     29.102669
43061                                 ],
43062                                 [
43063                                     -100.668967,
43064                                     29.116208
43065                                 ],
43066                                 [
43067                                     -100.678165,
43068                                     29.119412
43069                                 ],
43070                                 [
43071                                     -100.690826,
43072                                     29.121014
43073                                 ],
43074                                 [
43075                                     -100.70204,
43076                                     29.12365
43077                                 ],
43078                                 [
43079                                     -100.706846,
43080                                     29.130187
43081                                 ],
43082                                 [
43083                                     -100.70974,
43084                                     29.135561
43085                                 ],
43086                                 [
43087                                     -100.762501,
43088                                     29.173776
43089                                 ],
43090                                 [
43091                                     -100.770098,
43092                                     29.187289
43093                                 ],
43094                                 [
43095                                     -100.762088,
43096                                     29.208658
43097                                 ],
43098                                 [
43099                                     -100.783172,
43100                                     29.243074
43101                                 ],
43102                                 [
43103                                     -100.796143,
43104                                     29.257673
43105                                 ],
43106                                 [
43107                                     -100.81609,
43108                                     29.270773
43109                                 ],
43110                                 [
43111                                     -100.86389,
43112                                     29.290616
43113                                 ],
43114                                 [
43115                                     -100.871797,
43116                                     29.296456
43117                                 ],
43118                                 [
43119                                     -100.891227,
43120                                     29.318547
43121                                 ],
43122                                 [
43123                                     -100.91474,
43124                                     29.337048
43125                                 ],
43126                                 [
43127                                     -100.987397,
43128                                     29.366322
43129                                 ],
43130                                 [
43131                                     -100.998301,
43132                                     29.372472
43133                                 ],
43134                                 [
43135                                     -101.008068,
43136                                     29.380585
43137                                 ],
43138                                 [
43139                                     -101.016232,
43140                                     29.390068
43141                                 ],
43142                                 [
43143                                     -101.022175,
43144                                     29.40048
43145                                 ],
43146                                 [
43147                                     -101.025948,
43148                                     29.414356
43149                                 ],
43150                                 [
43151                                     -101.029617,
43152                                     29.442984
43153                                 ],
43154                                 [
43155                                     -101.037782,
43156                                     29.460063
43157                                 ],
43158                                 [
43159                                     -101.039026,
43160                                     29.460452
43161                                 ],
43162                                 [
43163                                     -101.040188,
43164                                     29.457132
43165                                 ],
43166                                 [
43167                                     -101.045487,
43168                                     29.451245
43169                                 ],
43170                                 [
43171                                     -101.060205,
43172                                     29.449184
43173                                 ],
43174                                 [
43175                                     -101.067711,
43176                                     29.45095
43177                                 ],
43178                                 [
43179                                     -101.076101,
43180                                     29.453894
43181                                 ],
43182                                 [
43183                                     -101.085962,
43184                                     29.454483
43185                                 ],
43186                                 [
43187                                     -101.098031,
43188                                     29.449184
43189                                 ],
43190                                 [
43191                                     -101.113043,
43192                                     29.466552
43193                                 ],
43194                                 [
43195                                     -101.142774,
43196                                     29.475383
43197                                 ],
43198                                 [
43199                                     -101.174124,
43200                                     29.475971
43201                                 ],
43202                                 [
43203                                     -101.193699,
43204                                     29.469495
43205                                 ],
43206                                 [
43207                                     -101.198703,
43208                                     29.473911
43209                                 ],
43210                                 [
43211                                     -101.198851,
43212                                     29.476854
43213                                 ],
43214                                 [
43215                                     -101.184132,
43216                                     29.497754
43217                                 ],
43218                                 [
43219                                     -101.184868,
43220                                     29.512767
43221                                 ],
43222                                 [
43223                                     -101.195171,
43224                                     29.521892
43225                                 ],
43226                                 [
43227                                     -101.214157,
43228                                     29.518065
43229                                 ],
43230                                 [
43231                                     -101.245213,
43232                                     29.493044
43233                                 ],
43234                                 [
43235                                     -101.265818,
43236                                     29.487157
43237                                 ],
43238                                 [
43239                                     -101.290545,
43240                                     29.49746
43241                                 ],
43242                                 [
43243                                     -101.297315,
43244                                     29.503936
43245                                 ],
43246                                 [
43247                                     -101.300995,
43248                                     29.512767
43249                                 ],
43250                                 [
43251                                     -101.294372,
43252                                     29.520715
43253                                 ],
43254                                 [
43255                                     -101.273177,
43256                                     29.524247
43257                                 ],
43258                                 [
43259                                     -101.259195,
43260                                     29.533372
43261                                 ],
43262                                 [
43263                                     -101.243888,
43264                                     29.554861
43265                                 ],
43266                                 [
43267                                     -101.231966,
43268                                     29.580176
43269                                 ],
43270                                 [
43271                                     -101.227845,
43272                                     29.599899
43273                                 ],
43274                                 [
43275                                     -101.239178,
43276                                     29.616677
43277                                 ],
43278                                 [
43279                                     -101.26052,
43280                                     29.613439
43281                                 ],
43282                                 [
43283                                     -101.281272,
43284                                     29.597249
43285                                 ],
43286                                 [
43287                                     -101.290545,
43288                                     29.575761
43289                                 ],
43290                                 [
43291                                     -101.295255,
43292                                     29.570168
43293                                 ],
43294                                 [
43295                                     -101.306146,
43296                                     29.574583
43297                                 ],
43298                                 [
43299                                     -101.317626,
43300                                     29.584003
43301                                 ],
43302                                 [
43303                                     -101.323955,
43304                                     29.592539
43305                                 ],
43306                                 [
43307                                     -101.323661,
43308                                     29.603137
43309                                 ],
43310                                 [
43311                                     -101.318804,
43312                                     29.616383
43313                                 ],
43314                                 [
43315                                     -101.311445,
43316                                     29.628158
43317                                 ],
43318                                 [
43319                                     -101.303497,
43320                                     29.634045
43321                                 ],
43322                                 [
43323                                     -101.303669,
43324                                     29.631411
43325                                 ],
43326                                 [
43327                                     -101.302727,
43328                                     29.633851
43329                                 ],
43330                                 [
43331                                     -101.301073,
43332                                     29.649509
43333                                 ],
43334                                 [
43335                                     -101.30978,
43336                                     29.654548
43337                                 ],
43338                                 [
43339                                     -101.336239,
43340                                     29.654315
43341                                 ],
43342                                 [
43343                                     -101.349029,
43344                                     29.660103
43345                                 ],
43346                                 [
43347                                     -101.357684,
43348                                     29.667441
43349                                 ],
43350                                 [
43351                                     -101.364351,
43352                                     29.676665
43353                                 ],
43354                                 [
43355                                     -101.376624,
43356                                     29.700643
43357                                 ],
43358                                 [
43359                                     -101.383368,
43360                                     29.718497
43361                                 ],
43362                                 [
43363                                     -101.39962,
43364                                     29.740718
43365                                 ],
43366                                 [
43367                                     -101.406545,
43368                                     29.752888
43369                                 ],
43370                                 [
43371                                     -101.409309,
43372                                     29.765781
43373                                 ],
43374                                 [
43375                                     -101.405098,
43376                                     29.778442
43377                                 ],
43378                                 [
43379                                     -101.414012,
43380                                     29.774411
43381                                 ],
43382                                 [
43383                                     -101.424218,
43384                                     29.771414
43385                                 ],
43386                                 [
43387                                     -101.435096,
43388                                     29.770122
43389                                 ],
43390                                 [
43391                                     -101.446103,
43392                                     29.771052
43393                                 ],
43394                                 [
43395                                     -101.455689,
43396                                     29.77591
43397                                 ],
43398                                 [
43399                                     -101.462433,
43400                                     29.788932
43401                                 ],
43402                                 [
43403                                     -101.470908,
43404                                     29.791516
43405                                 ],
43406                                 [
43407                                     -101.490286,
43408                                     29.785547
43409                                 ],
43410                                 [
43411                                     -101.505763,
43412                                     29.773894
43413                                 ],
43414                                 [
43415                                     -101.521809,
43416                                     29.765936
43417                                 ],
43418                                 [
43419                                     -101.542893,
43420                                     29.771052
43421                                 ],
43422                                 [
43423                                     -101.539689,
43424                                     29.779191
43425                                 ],
43426                                 [
43427                                     -101.530516,
43428                                     29.796477
43429                                 ],
43430                                 [
43431                                     -101.528604,
43432                                     29.801438
43433                                 ],
43434                                 [
43435                                     -101.531912,
43436                                     29.811101
43437                                 ],
43438                                 [
43439                                     -101.539172,
43440                                     29.817974
43441                                 ],
43442                                 [
43443                                     -101.546458,
43444                                     29.820145
43445                                 ],
43446                                 [
43447                                     -101.549766,
43448                                     29.815701
43449                                 ],
43450                                 [
43451                                     -101.553977,
43452                                     29.796684
43453                                 ],
43454                                 [
43455                                     -101.564907,
43456                                     29.786478
43457                                 ],
43458                                 [
43459                                     -101.580281,
43460                                     29.781568
43461                                 ],
43462                                 [
43463                                     -101.632216,
43464                                     29.775651
43465                                 ],
43466                                 [
43467                                     -101.794531,
43468                                     29.795857
43469                                 ],
43470                                 [
43471                                     -101.80298,
43472                                     29.801438
43473                                 ],
43474                                 [
43475                                     -101.805978,
43476                                     29.811928
43477                                 ],
43478                                 [
43479                                     -101.812695,
43480                                     29.812032
43481                                 ],
43482                                 [
43483                                     -101.82409,
43484                                     29.805184
43485                                 ],
43486                                 [
43487                                     -101.857602,
43488                                     29.805184
43489                                 ],
43490                                 [
43491                                     -101.877524,
43492                                     29.810843
43493                                 ],
43494                                 [
43495                                     -101.88742,
43496                                     29.81229
43497                                 ],
43498                                 [
43499                                     -101.895455,
43500                                     29.808621
43501                                 ],
43502                                 [
43503                                     -101.90238,
43504                                     29.803247
43505                                 ],
43506                                 [
43507                                     -101.910881,
43508                                     29.799888
43509                                 ],
43510                                 [
43511                                     -101.920157,
43512                                     29.798182
43513                                 ],
43514                                 [
43515                                     -101.929613,
43516                                     29.797717
43517                                 ],
43518                                 [
43519                                     -101.942662,
43520                                     29.803608
43521                                 ],
43522                                 [
43523                                     -101.957054,
43524                                     29.814047
43525                                 ],
43526                                 [
43527                                     -101.972246,
43528                                     29.818181
43529                                 ],
43530                                 [
43531                                     -101.98793,
43532                                     29.805184
43533                                 ],
43534                                 [
43535                                     -102.014595,
43536                                     29.810998
43537                                 ],
43538                                 [
43539                                     -102.109344,
43540                                     29.80211
43541                                 ],
43542                                 [
43543                                     -102.145647,
43544                                     29.815701
43545                                 ],
43546                                 [
43547                                     -102.157248,
43548                                     29.824537
43549                                 ],
43550                                 [
43551                                     -102.203679,
43552                                     29.846138
43553                                 ],
43554                                 [
43555                                     -102.239775,
43556                                     29.849135
43557                                 ],
43558                                 [
43559                                     -102.253444,
43560                                     29.855285
43561                                 ],
43562                                 [
43563                                     -102.258276,
43564                                     29.873475
43565                                 ],
43566                                 [
43567                                     -102.276181,
43568                                     29.869547
43569                                 ],
43570                                 [
43571                                     -102.289023,
43572                                     29.878126
43573                                 ],
43574                                 [
43575                                     -102.302175,
43576                                     29.889391
43577                                 ],
43578                                 [
43579                                     -102.321011,
43580                                     29.893939
43581                                 ],
43582                                 [
43583                                     -102.330235,
43584                                     29.888926
43585                                 ],
43586                                 [
43587                                     -102.339769,
43588                                     29.870633
43589                                 ],
43590                                 [
43591                                     -102.351061,
43592                                     29.866602
43593                                 ],
43594                                 [
43595                                     -102.36323,
43596                                     29.864276
43597                                 ],
43598                                 [
43599                                     -102.370723,
43600                                     29.857765
43601                                 ],
43602                                 [
43603                                     -102.374547,
43604                                     29.848102
43605                                 ],
43606                                 [
43607                                     -102.376589,
43608                                     29.821488
43609                                 ],
43610                                 [
43611                                     -102.380051,
43612                                     29.811386
43613                                 ],
43614                                 [
43615                                     -102.404132,
43616                                     29.780793
43617                                 ],
43618                                 [
43619                                     -102.406096,
43620                                     29.777279
43621                                 ],
43622                                 [
43623                                     -102.515288,
43624                                     29.784721
43625                                 ],
43626                                 [
43627                                     -102.523066,
43628                                     29.782318
43629                                 ],
43630                                 [
43631                                     -102.531127,
43632                                     29.769915
43633                                 ],
43634                                 [
43635                                     -102.54154,
43636                                     29.762474
43637                                 ],
43638                                 [
43639                                     -102.543349,
43640                                     29.760123
43641                                 ],
43642                                 [
43643                                     -102.546578,
43644                                     29.757875
43645                                 ],
43646                                 [
43647                                     -102.553141,
43648                                     29.756738
43649                                 ],
43650                                 [
43651                                     -102.558309,
43652                                     29.759089
43653                                 ],
43654                                 [
43655                                     -102.562882,
43656                                     29.769347
43657                                 ],
43658                                 [
43659                                     -102.566758,
43660                                     29.771052
43661                                 ],
43662                                 [
43663                                     -102.58531,
43664                                     29.764696
43665                                 ],
43666                                 [
43667                                     -102.621225,
43668                                     29.747281
43669                                 ],
43670                                 [
43671                                     -102.638743,
43672                                     29.743715
43673                                 ],
43674                                 [
43675                                     -102.676054,
43676                                     29.74449
43677                                 ],
43678                                 [
43679                                     -102.683469,
43680                                     29.743715
43681                                 ],
43682                                 [
43683                                     -102.69104,
43684                                     29.736817
43685                                 ],
43686                                 [
43687                                     -102.693624,
43688                                     29.729401
43689                                 ],
43690                                 [
43691                                     -102.694709,
43692                                     29.720616
43693                                 ],
43694                                 [
43695                                     -102.697758,
43696                                     29.709557
43697                                 ],
43698                                 [
43699                                     -102.726748,
43700                                     29.664495
43701                                 ],
43702                                 [
43703                                     -102.73127,
43704                                     29.650594
43705                                 ],
43706                                 [
43707                                     -102.735507,
43708                                     29.649509
43709                                 ],
43710                                 [
43711                                     -102.751656,
43712                                     29.622457
43713                                 ],
43714                                 [
43715                                     -102.75176,
43716                                     29.620157
43717                                 ],
43718                                 [
43719                                     -102.761346,
43720                                     29.603414
43721                                 ],
43722                                 [
43723                                     -102.767598,
43724                                     29.59729
43725                                 ],
43726                                 [
43727                                     -102.779665,
43728                                     29.592303
43729                                 ],
43730                                 [
43731                                     -102.774084,
43732                                     29.579617
43733                                 ],
43734                                 [
43735                                     -102.776461,
43736                                     29.575948
43737                                 ],
43738                                 [
43739                                     -102.785892,
43740                                     29.571814
43741                                 ],
43742                                 [
43743                                     -102.78075,
43744                                     29.558249
43745                                 ],
43746                                 [
43747                                     -102.786512,
43748                                     29.550497
43749                                 ],
43750                                 [
43751                                     -102.795478,
43752                                     29.54427
43753                                 ],
43754                                 [
43755                                     -102.827311,
43756                                     29.470502
43757                                 ],
43758                                 [
43759                                     -102.833951,
43760                                     29.461355
43761                                 ],
43762                                 [
43763                                     -102.839067,
43764                                     29.45195
43765                                 ],
43766                                 [
43767                                     -102.841134,
43768                                     29.438308
43769                                 ],
43770                                 [
43771                                     -102.838705,
43772                                     29.426939
43773                                 ],
43774                                 [
43775                                     -102.834984,
43776                                     29.415699
43777                                 ],
43778                                 [
43779                                     -102.835191,
43780                                     29.403839
43781                                 ],
43782                                 [
43783                                     -102.844545,
43784                                     29.390533
43785                                 ],
43786                                 [
43787                                     -102.845578,
43788                                     29.384719
43789                                 ],
43790                                 [
43791                                     -102.838033,
43792                                     29.370534
43793                                 ],
43794                                 [
43795                                     -102.837672,
43796                                     29.366322
43797                                 ],
43798                                 [
43799                                     -102.84656,
43800                                     29.361749
43801                                 ],
43802                                 [
43803                                     -102.853872,
43804                                     29.361
43805                                 ],
43806                                 [
43807                                     -102.859867,
43808                                     29.361155
43809                                 ],
43810                                 [
43811                                     -102.864957,
43812                                     29.359527
43813                                 ],
43814                                 [
43815                                     -102.876972,
43816                                     29.350871
43817                                 ],
43818                                 [
43819                                     -102.883069,
43820                                     29.343766
43821                                 ],
43822                                 [
43823                                     -102.885188,
43824                                     29.333379
43825                                 ],
43826                                 [
43827                                     -102.885498,
43828                                     29.314801
43829                                 ],
43830                                 [
43831                                     -102.899399,
43832                                     29.276095
43833                                 ],
43834                                 [
43835                                     -102.899709,
43836                                     29.2639
43837                                 ],
43838                                 [
43839                                     -102.892139,
43840                                     29.254391
43841                                 ],
43842                                 [
43843                                     -102.867954,
43844                                     29.240387
43845                                 ],
43846                                 [
43847                                     -102.858781,
43848                                     29.229147
43849                                 ],
43850                                 [
43851                                     -102.869866,
43852                                     29.224781
43853                                 ],
43854                                 [
43855                                     -102.896893,
43856                                     29.220285
43857                                 ],
43858                                 [
43859                                     -102.942265,
43860                                     29.190209
43861                                 ],
43862                                 [
43863                                     -102.947536,
43864                                     29.182018
43865                                 ],
43866                                 [
43867                                     -102.969757,
43868                                     29.192845
43869                                 ],
43870                                 [
43871                                     -102.988386,
43872                                     29.177135
43873                                 ],
43874                                 [
43875                                     -103.015826,
43876                                     29.126776
43877                                 ],
43878                                 [
43879                                     -103.024275,
43880                                     29.116157
43881                                 ],
43882                                 [
43883                                     -103.032621,
43884                                     29.110214
43885                                 ],
43886                                 [
43887                                     -103.072541,
43888                                     29.091404
43889                                 ],
43890                                 [
43891                                     -103.080758,
43892                                     29.085203
43893                                 ],
43894                                 [
43895                                     -103.085589,
43896                                     29.07572
43897                                 ],
43898                                 [
43899                                     -103.091532,
43900                                     29.057866
43901                                 ],
43902                                 [
43903                                     -103.095356,
43904                                     29.060294
43905                                 ],
43906                                 [
43907                                     -103.104684,
43908                                     29.057866
43909                                 ],
43910                                 [
43911                                     -103.109205,
43912                                     29.023372
43913                                 ],
43914                                 [
43915                                     -103.122771,
43916                                     28.996474
43917                                 ],
43918                                 [
43919                                     -103.147989,
43920                                     28.985105
43921                                 ],
43922                                 [
43923                                     -103.187108,
43924                                     28.990221
43925                                 ],
43926                                 [
43927                                     -103.241756,
43928                                     29.003502
43929                                 ],
43930                                 [
43931                                     -103.301545,
43932                                     29.002365
43933                                 ],
43934                                 [
43935                                     -103.316247,
43936                                     29.010065
43937                                 ],
43938                                 [
43939                                     -103.311514,
43940                                     29.026043
43941                                 ],
43942                                 [
43943                                     -103.309994,
43944                                     29.031175
43945                                 ],
43946                                 [
43947                                     -103.3248,
43948                                     29.026808
43949                                 ],
43950                                 [
43951                                     -103.330484,
43952                                     29.023733
43953                                 ],
43954                                 [
43955                                     -103.342602,
43956                                     29.041226
43957                                 ],
43958                                 [
43959                                     -103.351671,
43960                                     29.039417
43961                                 ],
43962                                 [
43963                                     -103.360534,
43964                                     29.029831
43965                                 ],
43966                                 [
43967                                     -103.372083,
43968                                     29.023733
43969                                 ],
43970                                 [
43971                                     -103.38663,
43972                                     29.028798
43973                                 ],
43974                                 [
43975                                     -103.414639,
43976                                     29.052414
43977                                 ],
43978                                 [
43979                                     -103.423605,
43980                                     29.057866
43981                                 ],
43982                                 [
43983                                     -103.435697,
43984                                     29.061121
43985                                 ],
43986                                 [
43987                                     -103.478537,
43988                                     29.08205
43989                                 ],
43990                                 [
43991                                     -103.529748,
43992                                     29.126776
43993                                 ],
43994                                 [
43995                                     -103.535588,
43996                                     29.135122
43997                                 ],
43998                                 [
43999                                     -103.538223,
44000                                     29.142408
44001                                 ],
44002                                 [
44003                                     -103.541711,
44004                                     29.148816
44005                                 ],
44006                                 [
44007                                     -103.550238,
44008                                     29.154656
44009                                 ],
44010                                 [
44011                                     -103.558015,
44012                                     29.156206
44013                                 ],
44014                                 [
44015                                     -103.58499,
44016                                     29.154656
44017                                 ],
44018                                 [
44019                                     -103.673125,
44020                                     29.173569
44021                                 ],
44022                                 [
44023                                     -103.702477,
44024                                     29.187858
44025                                 ],
44026                                 [
44027                                     -103.749476,
44028                                     29.222972
44029                                 ],
44030                                 [
44031                                     -103.759062,
44032                                     29.226848
44033                                 ],
44034                                 [
44035                                     -103.770767,
44036                                     29.229845
44037                                 ],
44038                                 [
44039                                     -103.777718,
44040                                     29.235297
44041                                 ],
44042                                 [
44043                                     -103.769424,
44044                                     29.257543
44045                                 ],
44046                                 [
44047                                     -103.774229,
44048                                     29.267517
44049                                 ],
44050                                 [
44051                                     -103.78366,
44052                                     29.274803
44053                                 ],
44054                                 [
44055                                     -103.794177,
44056                                     29.277594
44057                                 ],
44058                                 [
44059                                     -103.837038,
44060                                     29.279906
44061                                 ]
44062                             ]
44063                         ],
44064                         [
44065                             [
44066                                 [
44067                                     178.301106,
44068                                     52.056551
44069                                 ],
44070                                 [
44071                                     179.595462,
44072                                     52.142083
44073                                 ],
44074                                 [
44075                                     179.825447,
44076                                     51.992849
44077                                 ],
44078                                 [
44079                                     179.661729,
44080                                     51.485763
44081                                 ],
44082                                 [
44083                                     179.723231,
44084                                     51.459963
44085                                 ],
44086                                 [
44087                                     179.408066,
44088                                     51.209841
44089                                 ],
44090                                 [
44091                                     178.411463,
44092                                     51.523605
44093                                 ],
44094                                 [
44095                                     177.698335,
44096                                     51.877899
44097                                 ],
44098                                 [
44099                                     177.16784,
44100                                     51.581866
44101                                 ],
44102                                 [
44103                                     176.487008,
44104                                     52.175325
44105                                 ],
44106                                 [
44107                                     174.484678,
44108                                     52.08716
44109                                 ],
44110                                 [
44111                                     172.866263,
44112                                     52.207379
44113                                 ],
44114                                 [
44115                                     172.825506,
44116                                     52.716846
44117                                 ],
44118                                 [
44119                                     172.747012,
44120                                     52.654022
44121                                 ],
44122                                 [
44123                                     172.08261,
44124                                     52.952695
44125                                 ],
44126                                 [
44127                                     172.942925,
44128                                     53.183013
44129                                 ],
44130                                 [
44131                                     173.029416,
44132                                     52.993628
44133                                 ],
44134                                 [
44135                                     173.127208,
44136                                     52.99494
44137                                 ],
44138                                 [
44139                                     173.143321,
44140                                     52.990383
44141                                 ],
44142                                 [
44143                                     173.175059,
44144                                     52.971747
44145                                 ],
44146                                 [
44147                                     173.182932,
44148                                     52.968373
44149                                 ],
44150                                 [
44151                                     176.45233,
44152                                     52.628178
44153                                 ],
44154                                 [
44155                                     176.468135,
44156                                     52.488358
44157                                 ],
44158                                 [
44159                                     177.900385,
44160                                     52.488358
44161                                 ],
44162                                 [
44163                                     178.007601,
44164                                     52.179677
44165                                 ],
44166                                 [
44167                                     178.301106,
44168                                     52.056551
44169                                 ]
44170                             ]
44171                         ],
44172                         [
44173                             [
44174                                 [
44175                                     -168.899607,
44176                                     65.747626
44177                                 ],
44178                                 [
44179                                     -168.909861,
44180                                     65.739569
44181                                 ],
44182                                 [
44183                                     -168.926218,
44184                                     65.739895
44185                                 ],
44186                                 [
44187                                     -168.942128,
44188                                     65.74372
44189                                 ],
44190                                 [
44191                                     -168.951731,
44192                                     65.75316
44193                                 ],
44194                                 [
44195                                     -168.942983,
44196                                     65.764716
44197                                 ],
44198                                 [
44199                                     -168.920115,
44200                                     65.768866
44201                                 ],
44202                                 [
44203                                     -168.907908,
44204                                     65.768297
44205                                 ],
44206                                 [
44207                                     -168.902781,
44208                                     65.761542
44209                                 ],
44210                                 [
44211                                     -168.899607,
44212                                     65.747626
44213                                 ]
44214                             ]
44215                         ],
44216                         [
44217                             [
44218                                 [
44219                                     -131.160718,
44220                                     54.787192
44221                                 ],
44222                                 [
44223                                     -132.853508,
44224                                     54.482536
44225                                 ],
44226                                 [
44227                                     -134.77719,
44228                                     54.717786
44229                                 ],
44230                                 [
44231                                     -142.6966,
44232                                     55.845503
44233                                 ],
44234                                 [
44235                                     -142.861997,
44236                                     49.948308
44237                                 ],
44238                                 [
44239                                     -155.675916,
44240                                     51.109976
44241                                 ],
44242                                 [
44243                                     -164.492732,
44244                                     50.603976
44245                                 ],
44246                                 [
44247                                     -164.691217,
44248                                     50.997975
44249                                 ],
44250                                 [
44251                                     -171.246993,
44252                                     49.948308
44253                                 ],
44254                                 [
44255                                     -171.215436,
44256                                     50.576636
44257                                 ],
44258                                 [
44259                                     -173.341669,
44260                                     50.968826
44261                                 ],
44262                                 [
44263                                     -173.362022,
44264                                     51.082198
44265                                 ],
44266                                 [
44267                                     -177.799603,
44268                                     51.272899
44269                                 ],
44270                                 [
44271                                     -179.155463,
44272                                     50.982285
44273                                 ],
44274                                 [
44275                                     -179.476076,
44276                                     52.072632
44277                                 ],
44278                                 [
44279                                     -177.11459,
44280                                     52.248701
44281                                 ],
44282                                 [
44283                                     -177.146284,
44284                                     52.789384
44285                                 ],
44286                                 [
44287                                     -174.777218,
44288                                     52.443779
44289                                 ],
44290                                 [
44291                                     -174.773743,
44292                                     52.685853
44293                                 ],
44294                                 [
44295                                     -173.653194,
44296                                     52.704099
44297                                 ],
44298                                 [
44299                                     -173.790528,
44300                                     53.469081
44301                                 ],
44302                                 [
44303                                     -171.063371,
44304                                     53.604473
44305                                 ],
44306                                 [
44307                                     -170.777733,
44308                                     59.291898
44309                                 ],
44310                                 [
44311                                     -174.324884,
44312                                     60.332184
44313                                 ],
44314                                 [
44315                                     -171.736408,
44316                                     62.68026
44317                                 ],
44318                                 [
44319                                     -172.315705,
44320                                     62.725352
44321                                 ],
44322                                 [
44323                                     -171.995091,
44324                                     63.999658
44325                                 ],
44326                                 [
44327                                     -168.501424,
44328                                     65.565173
44329                                 ],
44330                                 [
44331                                     -168.714145,
44332                                     65.546708
44333                                 ],
44334                                 [
44335                                     -168.853077,
44336                                     68.370871
44337                                 ],
44338                                 [
44339                                     -161.115601,
44340                                     72.416214
44341                                 ],
44342                                 [
44343                                     -146.132257,
44344                                     70.607941
44345                                 ],
44346                                 [
44347                                     -140.692512,
44348                                     69.955349
44349                                 ],
44350                                 [
44351                                     -141.145395,
44352                                     69.671641
44353                                 ],
44354                                 [
44355                                     -141.015207,
44356                                     69.654202
44357                                 ],
44358                                 [
44359                                     -141.006459,
44360                                     69.651272
44361                                 ],
44362                                 [
44363                                     -141.005564,
44364                                     69.650946
44365                                 ],
44366                                 [
44367                                     -141.005549,
44368                                     69.650941
44369                                 ],
44370                                 [
44371                                     -141.005471,
44372                                     69.505164
44373                                 ],
44374                                 [
44375                                     -141.001208,
44376                                     60.466879
44377                                 ],
44378                                 [
44379                                     -141.001156,
44380                                     60.321074
44381                                 ],
44382                                 [
44383                                     -140.994929,
44384                                     60.304382
44385                                 ],
44386                                 [
44387                                     -140.979555,
44388                                     60.295804
44389                                 ],
44390                                 [
44391                                     -140.909146,
44392                                     60.28366
44393                                 ],
44394                                 [
44395                                     -140.768457,
44396                                     60.259269
44397                                 ],
44398                                 [
44399                                     -140.660505,
44400                                     60.24051
44401                                 ],
44402                                 [
44403                                     -140.533743,
44404                                     60.218548
44405                                 ],
44406                                 [
44407                                     -140.518705,
44408                                     60.22387
44409                                 ],
44410                                 [
44411                                     -140.506664,
44412                                     60.236324
44413                                 ],
44414                                 [
44415                                     -140.475323,
44416                                     60.276477
44417                                 ],
44418                                 [
44419                                     -140.462791,
44420                                     60.289138
44421                                 ],
44422                                 [
44423                                     -140.447805,
44424                                     60.29446
44425                                 ],
44426                                 [
44427                                     -140.424111,
44428                                     60.293168
44429                                 ],
44430                                 [
44431                                     -140.32497,
44432                                     60.267537
44433                                 ],
44434                                 [
44435                                     -140.169243,
44436                                     60.227229
44437                                 ],
44438                                 [
44439                                     -140.01579,
44440                                     60.187387
44441                                 ],
44442                                 [
44443                                     -139.967757,
44444                                     60.188369
44445                                 ],
44446                                 [
44447                                     -139.916933,
44448                                     60.207851
44449                                 ],
44450                                 [
44451                                     -139.826318,
44452                                     60.256478
44453                                 ],
44454                                 [
44455                                     -139.728417,
44456                                     60.309033
44457                                 ],
44458                                 [
44459                                     -139.679816,
44460                                     60.32681
44461                                 ],
44462                                 [
44463                                     -139.628346,
44464                                     60.334096
44465                                 ],
44466                                 [
44467                                     -139.517965,
44468                                     60.336732
44469                                 ],
44470                                 [
44471                                     -139.413992,
44472                                     60.339212
44473                                 ],
44474                                 [
44475                                     -139.262193,
44476                                     60.342778
44477                                 ],
44478                                 [
44479                                     -139.101608,
44480                                     60.346602
44481                                 ],
44482                                 [
44483                                     -139.079465,
44484                                     60.341021
44485                                 ],
44486                                 [
44487                                     -139.06869,
44488                                     60.322056
44489                                 ],
44490                                 [
44491                                     -139.073186,
44492                                     60.299835
44493                                 ],
44494                                 [
44495                                     -139.113468,
44496                                     60.226816
44497                                 ],
44498                                 [
44499                                     -139.149615,
44500                                     60.161187
44501                                 ],
44502                                 [
44503                                     -139.183231,
44504                                     60.100157
44505                                 ],
44506                                 [
44507                                     -139.182146,
44508                                     60.073389
44509                                 ],
44510                                 [
44511                                     -139.112305,
44512                                     60.031376
44513                                 ],
44514                                 [
44515                                     -139.060207,
44516                                     60.000059
44517                                 ],
44518                                 [
44519                                     -139.051611,
44520                                     59.994892
44521                                 ],
44522                                 [
44523                                     -139.003759,
44524                                     59.977219
44525                                 ],
44526                                 [
44527                                     -138.842425,
44528                                     59.937686
44529                                 ],
44530                                 [
44531                                     -138.742586,
44532                                     59.913192
44533                                 ],
44534                                 [
44535                                     -138.704888,
44536                                     59.898464
44537                                 ],
44538                                 [
44539                                     -138.697188,
44540                                     59.89371
44541                                 ],
44542                                 [
44543                                     -138.692098,
44544                                     59.886888
44545                                 ],
44546                                 [
44547                                     -138.654349,
44548                                     59.805498
44549                                 ],
44550                                 [
44551                                     -138.63745,
44552                                     59.784052
44553                                 ],
44554                                 [
44555                                     -138.59921,
44556                                     59.753822
44557                                 ],
44558                                 [
44559                                     -138.488881,
44560                                     59.696357
44561                                 ],
44562                                 [
44563                                     -138.363617,
44564                                     59.631142
44565                                 ],
44566                                 [
44567                                     -138.219543,
44568                                     59.556004
44569                                 ],
44570                                 [
44571                                     -138.067614,
44572                                     59.476991
44573                                 ],
44574                                 [
44575                                     -137.91057,
44576                                     59.395187
44577                                 ],
44578                                 [
44579                                     -137.758305,
44580                                     59.315915
44581                                 ],
44582                                 [
44583                                     -137.611363,
44584                                     59.239331
44585                                 ],
44586                                 [
44587                                     -137.594181,
44588                                     59.225275
44589                                 ],
44590                                 [
44591                                     -137.582088,
44592                                     59.206568
44593                                 ],
44594                                 [
44595                                     -137.5493,
44596                                     59.134531
44597                                 ],
44598                                 [
44599                                     -137.521007,
44600                                     59.072364
44601                                 ],
44602                                 [
44603                                     -137.484394,
44604                                     58.991904
44605                                 ],
44606                                 [
44607                                     -137.507752,
44608                                     58.939969
44609                                 ],
44610                                 [
44611                                     -137.50876,
44612                                     58.914906
44613                                 ],
44614                                 [
44615                                     -137.486875,
44616                                     58.900075
44617                                 ],
44618                                 [
44619                                     -137.453466,
44620                                     58.899145
44621                                 ],
44622                                 [
44623                                     -137.423106,
44624                                     58.907723
44625                                 ],
44626                                 [
44627                                     -137.338098,
44628                                     58.955472
44629                                 ],
44630                                 [
44631                                     -137.2819,
44632                                     58.98715
44633                                 ],
44634                                 [
44635                                     -137.172346,
44636                                     59.027148
44637                                 ],
44638                                 [
44639                                     -137.062367,
44640                                     59.067572
44641                                 ],
44642                                 [
44643                                     -137.047109,
44644                                     59.07331
44645                                 ],
44646                                 [
44647                                     -136.942282,
44648                                     59.11107
44649                                 ],
44650                                 [
44651                                     -136.840816,
44652                                     59.148174
44653                                 ],
44654                                 [
44655                                     -136.785496,
44656                                     59.157217
44657                                 ],
44658                                 [
44659                                     -136.671911,
44660                                     59.150809
44661                                 ],
44662                                 [
44663                                     -136.613491,
44664                                     59.15422
44665                                 ],
44666                                 [
44667                                     -136.569489,
44668                                     59.172152
44669                                 ],
44670                                 [
44671                                     -136.484791,
44672                                     59.2538
44673                                 ],
44674                                 [
44675                                     -136.483551,
44676                                     59.257469
44677                                 ],
44678                                 [
44679                                     -136.466549,
44680                                     59.287803
44681                                 ],
44682                                 [
44683                                     -136.467092,
44684                                     59.38449
44685                                 ],
44686                                 [
44687                                     -136.467557,
44688                                     59.461643
44689                                 ],
44690                                 [
44691                                     -136.415958,
44692                                     59.452238
44693                                 ],
44694                                 [
44695                                     -136.36684,
44696                                     59.449551
44697                                 ],
44698                                 [
44699                                     -136.319995,
44700                                     59.459059
44701                                 ],
44702                                 [
44703                                     -136.275036,
44704                                     59.486448
44705                                 ],
44706                                 [
44707                                     -136.244728,
44708                                     59.528202
44709                                 ],
44710                                 [
44711                                     -136.258474,
44712                                     59.556107
44713                                 ],
44714                                 [
44715                                     -136.29935,
44716                                     59.575745
44717                                 ],
44718                                 [
44719                                     -136.350329,
44720                                     59.592384
44721                                 ],
44722                                 [
44723                                     -136.2585,
44724                                     59.621582
44725                                 ],
44726                                 [
44727                                     -136.145406,
44728                                     59.636826
44729                                 ],
44730                                 [
44731                                     -136.02686,
44732                                     59.652846
44733                                 ],
44734                                 [
44735                                     -135.923818,
44736                                     59.666747
44737                                 ],
44738                                 [
44739                                     -135.830955,
44740                                     59.693257
44741                                 ],
44742                                 [
44743                                     -135.641251,
44744                                     59.747362
44745                                 ],
44746                                 [
44747                                     -135.482759,
44748                                     59.792475
44749                                 ],
44750                                 [
44751                                     -135.465137,
44752                                     59.789685
44753                                 ],
44754                                 [
44755                                     -135.404392,
44756                                     59.753305
44757                                 ],
44758                                 [
44759                                     -135.345791,
44760                                     59.731032
44761                                 ],
44762                                 [
44763                                     -135.259879,
44764                                     59.698218
44765                                 ],
44766                                 [
44767                                     -135.221897,
44768                                     59.675273
44769                                 ],
44770                                 [
44771                                     -135.192028,
44772                                     59.64711
44773                                 ],
44774                                 [
44775                                     -135.157792,
44776                                     59.623287
44777                                 ],
44778                                 [
44779                                     -135.106684,
44780                                     59.613158
44781                                 ],
44782                                 [
44783                                     -135.087874,
44784                                     59.606544
44785                                 ],
44786                                 [
44787                                     -135.032942,
44788                                     59.573109
44789                                 ],
44790                                 [
44791                                     -135.018524,
44792                                     59.559363
44793                                 ],
44794                                 [
44795                                     -135.016198,
44796                                     59.543447
44797                                 ],
44798                                 [
44799                                     -135.01948,
44800                                     59.493166
44801                                 ],
44802                                 [
44803                                     -135.023252,
44804                                     59.477146
44805                                 ],
44806                                 [
44807                                     -135.037489,
44808                                     59.461591
44809                                 ],
44810                                 [
44811                                     -135.078598,
44812                                     59.438337
44813                                 ],
44814                                 [
44815                                     -135.095754,
44816                                     59.418855
44817                                 ],
44818                                 [
44819                                     -134.993254,
44820                                     59.381906
44821                                 ],
44822                                 [
44823                                     -135.00483,
44824                                     59.367127
44825                                 ],
44826                                 [
44827                                     -135.014441,
44828                                     59.35152
44829                                 ],
44830                                 [
44831                                     -135.016198,
44832                                     59.336173
44833                                 ],
44834                                 [
44835                                     -134.979973,
44836                                     59.297415
44837                                 ],
44838                                 [
44839                                     -134.95783,
44840                                     59.280982
44841                                 ],
44842                                 [
44843                                     -134.932431,
44844                                     59.270647
44845                                 ],
44846                                 [
44847                                     -134.839465,
44848                                     59.258141
44849                                 ],
44850                                 [
44851                                     -134.74345,
44852                                     59.245119
44853                                 ],
44854                                 [
44855                                     -134.70552,
44856                                     59.240106
44857                                 ],
44858                                 [
44859                                     -134.692084,
44860                                     59.235249
44861                                 ],
44862                                 [
44863                                     -134.68286,
44864                                     59.223001
44865                                 ],
44866                                 [
44867                                     -134.671439,
44868                                     59.193752
44869                                 ],
44870                                 [
44871                                     -134.66038,
44872                                     59.181298
44873                                 ],
44874                                 [
44875                                     -134.610771,
44876                                     59.144556
44877                                 ],
44878                                 [
44879                                     -134.582788,
44880                                     59.128847
44881                                 ],
44882                                 [
44883                                     -134.556717,
44884                                     59.123059
44885                                 ],
44886                                 [
44887                                     -134.509072,
44888                                     59.122801
44889                                 ],
44890                                 [
44891                                     -134.477575,
44892                                     59.114946
44893                                 ],
44894                                 [
44895                                     -134.451013,
44896                                     59.097893
44897                                 ],
44898                                 [
44899                                     -134.398019,
44900                                     59.051952
44901                                 ],
44902                                 [
44903                                     -134.387167,
44904                                     59.036863
44905                                 ],
44906                                 [
44907                                     -134.385591,
44908                                     59.018828
44909                                 ],
44910                                 [
44911                                     -134.399389,
44912                                     58.974954
44913                                 ],
44914                                 [
44915                                     -134.343423,
44916                                     58.968857
44917                                 ],
44918                                 [
44919                                     -134.329651,
44920                                     58.963017
44921                                 ],
44922                                 [
44923                                     -134.320039,
44924                                     58.952682
44925                                 ],
44926                                 [
44927                                     -134.32314,
44928                                     58.949168
44929                                 ],
44930                                 [
44931                                     -134.330323,
44932                                     58.945344
44933                                 ],
44934                                 [
44935                                     -134.333036,
44936                                     58.93413
44937                                 ],
44938                                 [
44939                                     -134.327403,
44940                                     58.916457
44941                                 ],
44942                                 [
44943                                     -134.316939,
44944                                     58.903796
44945                                 ],
44946                                 [
44947                                     -134.22219,
44948                                     58.842714
44949                                 ],
44950                                 [
44951                                     -134.108838,
44952                                     58.808246
44953                                 ],
44954                                 [
44955                                     -133.983109,
44956                                     58.769902
44957                                 ],
44958                                 [
44959                                     -133.87123,
44960                                     58.735899
44961                                 ],
44962                                 [
44963                                     -133.831129,
44964                                     58.718019
44965                                 ],
44966                                 [
44967                                     -133.796402,
44968                                     58.693421
44969                                 ],
44970                                 [
44971                                     -133.700077,
44972                                     58.59937
44973                                 ],
44974                                 [
44975                                     -133.626283,
44976                                     58.546402
44977                                 ],
44978                                 [
44979                                     -133.547063,
44980                                     58.505577
44981                                 ],
44982                                 [
44983                                     -133.463089,
44984                                     58.462221
44985                                 ],
44986                                 [
44987                                     -133.392241,
44988                                     58.403878
44989                                 ],
44990                                 [
44991                                     -133.43012,
44992                                     58.372097
44993                                 ],
44994                                 [
44995                                     -133.41503,
44996                                     58.330549
44997                                 ],
44998                                 [
44999                                     -133.374567,
45000                                     58.290965
45001                                 ],
45002                                 [
45003                                     -133.257262,
45004                                     58.210298
45005                                 ],
45006                                 [
45007                                     -133.165588,
45008                                     58.147305
45009                                 ],
45010                                 [
45011                                     -133.142127,
45012                                     58.120588
45013                                 ],
45014                                 [
45015                                     -133.094843,
45016                                     58.0331
45017                                 ],
45018                                 [
45019                                     -133.075154,
45020                                     58.007882
45021                                 ],
45022                                 [
45023                                     -132.99335,
45024                                     57.941917
45025                                 ],
45026                                 [
45027                                     -132.917153,
45028                                     57.880499
45029                                 ],
45030                                 [
45031                                     -132.83212,
45032                                     57.791564
45033                                 ],
45034                                 [
45035                                     -132.70944,
45036                                     57.663303
45037                                 ],
45038                                 [
45039                                     -132.629057,
45040                                     57.579277
45041                                 ],
45042                                 [
45043                                     -132.552447,
45044                                     57.499075
45045                                 ],
45046                                 [
45047                                     -132.455735,
45048                                     57.420992
45049                                 ],
45050                                 [
45051                                     -132.362304,
45052                                     57.3457
45053                                 ],
45054                                 [
45055                                     -132.304684,
45056                                     57.280355
45057                                 ],
45058                                 [
45059                                     -132.230994,
45060                                     57.19682
45061                                 ],
45062                                 [
45063                                     -132.276366,
45064                                     57.14889
45065                                 ],
45066                                 [
45067                                     -132.34122,
45068                                     57.080393
45069                                 ],
45070                                 [
45071                                     -132.16229,
45072                                     57.050317
45073                                 ],
45074                                 [
45075                                     -132.031859,
45076                                     57.028406
45077                                 ],
45078                                 [
45079                                     -132.107384,
45080                                     56.858753
45081                                 ],
45082                                 [
45083                                     -131.871558,
45084                                     56.79346
45085                                 ],
45086                                 [
45087                                     -131.865874,
45088                                     56.785708
45089                                 ],
45090                                 [
45091                                     -131.872411,
45092                                     56.77297
45093                                 ],
45094                                 [
45095                                     -131.882617,
45096                                     56.759146
45097                                 ],
45098                                 [
45099                                     -131.887966,
45100                                     56.747958
45101                                 ],
45102                                 [
45103                                     -131.886028,
45104                                     56.737055
45105                                 ],
45106                                 [
45107                                     -131.880705,
45108                                     56.728838
45109                                 ],
45110                                 [
45111                                     -131.864789,
45112                                     56.71349
45113                                 ],
45114                                 [
45115                                     -131.838976,
45116                                     56.682278
45117                                 ],
45118                                 [
45119                                     -131.830424,
45120                                     56.664759
45121                                 ],
45122                                 [
45123                                     -131.826574,
45124                                     56.644606
45125                                 ],
45126                                 [
45127                                     -131.832103,
45128                                     56.603368
45129                                 ],
45130                                 [
45131                                     -131.825592,
45132                                     56.593343
45133                                 ],
45134                                 [
45135                                     -131.799108,
45136                                     56.587658
45137                                 ],
45138                                 [
45139                                     -131.692293,
45140                                     56.585074
45141                                 ],
45142                                 [
45143                                     -131.585891,
45144                                     56.595048
45145                                 ],
45146                                 [
45147                                     -131.560363,
45148                                     56.594066
45149                                 ],
45150                                 [
45151                                     -131.536437,
45152                                     56.585229
45153                                 ],
45154                                 [
45155                                     -131.491659,
45156                                     56.560166
45157                                 ],
45158                                 [
45159                                     -131.345699,
45160                                     56.503271
45161                                 ],
45162                                 [
45163                                     -131.215604,
45164                                     56.45255
45165                                 ],
45166                                 [
45167                                     -131.100546,
45168                                     56.407669
45169                                 ],
45170                                 [
45171                                     -131.016934,
45172                                     56.38705
45173                                 ],
45174                                 [
45175                                     -130.839089,
45176                                     56.372452
45177                                 ],
45178                                 [
45179                                     -130.760334,
45180                                     56.345192
45181                                 ],
45182                                 [
45183                                     -130.645768,
45184                                     56.261942
45185                                 ],
45186                                 [
45187                                     -130.602256,
45188                                     56.247059
45189                                 ],
45190                                 [
45191                                     -130.495518,
45192                                     56.232434
45193                                 ],
45194                                 [
45195                                     -130.47229,
45196                                     56.22489
45197                                 ],
45198                                 [
45199                                     -130.458053,
45200                                     56.210653
45201                                 ],
45202                                 [
45203                                     -130.427926,
45204                                     56.143964
45205                                 ],
45206                                 [
45207                                     -130.418159,
45208                                     56.129702
45209                                 ],
45210                                 [
45211                                     -130.403974,
45212                                     56.121898
45213                                 ],
45214                                 [
45215                                     -130.290311,
45216                                     56.10097
45217                                 ],
45218                                 [
45219                                     -130.243156,
45220                                     56.092391
45221                                 ],
45222                                 [
45223                                     -130.211246,
45224                                     56.089962
45225                                 ],
45226                                 [
45227                                     -130.116756,
45228                                     56.105646
45229                                 ],
45230                                 [
45231                                     -130.094328,
45232                                     56.101486
45233                                 ],
45234                                 [
45235                                     -130.071539,
45236                                     56.084123
45237                                 ],
45238                                 [
45239                                     -130.039319,
45240                                     56.045521
45241                                 ],
45242                                 [
45243                                     -130.026632,
45244                                     56.024101
45245                                 ],
45246                                 [
45247                                     -130.01901,
45248                                     56.002216
45249                                 ],
45250                                 [
45251                                     -130.014695,
45252                                     55.963252
45253                                 ],
45254                                 [
45255                                     -130.016788,
45256                                     55.918913
45257                                 ],
45258                                 [
45259                                     -130.019612,
45260                                     55.907978
45261                                 ],
45262                                 [
45263                                     -130.019618,
45264                                     55.907952
45265                                 ],
45266                                 [
45267                                     -130.022817,
45268                                     55.901353
45269                                 ],
45270                                 [
45271                                     -130.049387,
45272                                     55.871405
45273                                 ],
45274                                 [
45275                                     -130.104726,
45276                                     55.825263
45277                                 ],
45278                                 [
45279                                     -130.136627,
45280                                     55.806464
45281                                 ],
45282                                 [
45283                                     -130.148834,
45284                                     55.795356
45285                                 ],
45286                                 [
45287                                     -130.163482,
45288                                     55.771145
45289                                 ],
45290                                 [
45291                                     -130.167307,
45292                                     55.766262
45293                                 ],
45294                                 [
45295                                     -130.170806,
45296                                     55.759833
45297                                 ],
45298                                 [
45299                                     -130.173655,
45300                                     55.749498
45301                                 ],
45302                                 [
45303                                     -130.170806,
45304                                     55.740953
45305                                 ],
45306                                 [
45307                                     -130.163808,
45308                                     55.734565
45309                                 ],
45310                                 [
45311                                     -130.160064,
45312                                     55.727118
45313                                 ],
45314                                 [
45315                                     -130.167388,
45316                                     55.715399
45317                                 ],
45318                                 [
45319                                     -130.155914,
45320                                     55.700141
45321                                 ],
45322                                 [
45323                                     -130.142893,
45324                                     55.689521
45325                                 ],
45326                                 [
45327                                     -130.131825,
45328                                     55.676581
45329                                 ],
45330                                 [
45331                                     -130.126454,
45332                                     55.653998
45333                                 ],
45334                                 [
45335                                     -130.12857,
45336                                     55.63642
45337                                 ],
45338                                 [
45339                                     -130.135121,
45340                                     55.619127
45341                                 ],
45342                                 [
45343                                     -130.153147,
45344                                     55.58511
45345                                 ],
45346                                 [
45347                                     -130.148671,
45348                                     55.578192
45349                                 ],
45350                                 [
45351                                     -130.146881,
45352                                     55.569322
45353                                 ],
45354                                 [
45355                                     -130.146962,
45356                                     55.547187
45357                                 ],
45358                                 [
45359                                     -130.112172,
45360                                     55.509345
45361                                 ],
45362                                 [
45363                                     -130.101674,
45364                                     55.481147
45365                                 ],
45366                                 [
45367                                     -130.095082,
45368                                     55.472113
45369                                 ],
45370                                 [
45371                                     -130.065419,
45372                                     55.446112
45373                                 ],
45374                                 [
45375                                     -130.057525,
45376                                     55.434882
45377                                 ],
45378                                 [
45379                                     -130.052561,
45380                                     55.414008
45381                                 ],
45382                                 [
45383                                     -130.054311,
45384                                     55.366645
45385                                 ],
45386                                 [
45387                                     -130.05012,
45388                                     55.345445
45389                                 ],
45390                                 [
45391                                     -130.039296,
45392                                     55.330756
45393                                 ],
45394                                 [
45395                                     -129.989247,
45396                                     55.284003
45397                                 ],
45398                                 [
45399                                     -130.031239,
45400                                     55.26435
45401                                 ],
45402                                 [
45403                                     -130.050038,
45404                                     55.252875
45405                                 ],
45406                                 [
45407                                     -130.067494,
45408                                     55.239
45409                                 ],
45410                                 [
45411                                     -130.078236,
45412                                     55.233791
45413                                 ],
45414                                 [
45415                                     -130.100494,
45416                                     55.230292
45417                                 ],
45418                                 [
45419                                     -130.104726,
45420                                     55.225653
45421                                 ],
45422                                 [
45423                                     -130.105702,
45424                                     55.211127
45425                                 ],
45426                                 [
45427                                     -130.10912,
45428                                     55.200751
45429                                 ],
45430                                 [
45431                                     -130.115793,
45432                                     55.191596
45433                                 ],
45434                                 [
45435                                     -130.126454,
45436                                     55.180976
45437                                 ],
45438                                 [
45439                                     -130.151967,
45440                                     55.163275
45441                                 ],
45442                                 [
45443                                     -130.159983,
45444                                     55.153713
45445                                 ],
45446                                 [
45447                                     -130.167592,
45448                                     55.129584
45449                                 ],
45450                                 [
45451                                     -130.173695,
45452                                     55.117743
45453                                 ],
45454                                 [
45455                                     -130.200266,
45456                                     55.104153
45457                                 ],
45458                                 [
45459                                     -130.211781,
45460                                     55.084133
45461                                 ],
45462                                 [
45463                                     -130.228871,
45464                                     55.04385
45465                                 ],
45466                                 [
45467                                     -130.238678,
45468                                     55.03441
45469                                 ],
45470                                 [
45471                                     -130.261342,
45472                                     55.022895
45473                                 ],
45474                                 [
45475                                     -130.269846,
45476                                     55.016547
45477                                 ],
45478                                 [
45479                                     -130.275706,
45480                                     55.006985
45481                                 ],
45482                                 [
45483                                     -130.286366,
45484                                     54.983222
45485                                 ],
45486                                 [
45487                                     -130.294342,
45488                                     54.971869
45489                                 ],
45490                                 [
45491                                     -130.326568,
45492                                     54.952094
45493                                 ],
45494                                 [
45495                                     -130.335561,
45496                                     54.938707
45497                                 ],
45498                                 [
45499                                     -130.365387,
45500                                     54.907294
45501                                 ],
45502                                 [
45503                                     -130.385243,
45504                                     54.896552
45505                                 ],
45506                                 [
45507                                     -130.430816,
45508                                     54.881252
45509                                 ],
45510                                 [
45511                                     -130.488759,
45512                                     54.844184
45513                                 ],
45514                                 [
45515                                     -130.580312,
45516                                     54.806383
45517                                 ],
45518                                 [
45519                                     -130.597485,
45520                                     54.803391
45521                                 ],
45522                                 [
45523                                     -130.71074,
45524                                     54.733215
45525                                 ],
45526                                 [
45527                                     -131.160718,
45528                                     54.787192
45529                                 ]
45530                             ]
45531                         ]
45532                     ]
45533                 }
45534             }
45535         ]
45536     },
45537     "featureIcons": {
45538         "circle-stroked": {
45539             "12": [
45540                 42,
45541                 0
45542             ],
45543             "18": [
45544                 24,
45545                 0
45546             ],
45547             "24": [
45548                 0,
45549                 0
45550             ]
45551         },
45552         "circle": {
45553             "12": [
45554                 96,
45555                 0
45556             ],
45557             "18": [
45558                 78,
45559                 0
45560             ],
45561             "24": [
45562                 54,
45563                 0
45564             ]
45565         },
45566         "square-stroked": {
45567             "12": [
45568                 150,
45569                 0
45570             ],
45571             "18": [
45572                 132,
45573                 0
45574             ],
45575             "24": [
45576                 108,
45577                 0
45578             ]
45579         },
45580         "square": {
45581             "12": [
45582                 204,
45583                 0
45584             ],
45585             "18": [
45586                 186,
45587                 0
45588             ],
45589             "24": [
45590                 162,
45591                 0
45592             ]
45593         },
45594         "triangle-stroked": {
45595             "12": [
45596                 258,
45597                 0
45598             ],
45599             "18": [
45600                 240,
45601                 0
45602             ],
45603             "24": [
45604                 216,
45605                 0
45606             ]
45607         },
45608         "triangle": {
45609             "12": [
45610                 42,
45611                 24
45612             ],
45613             "18": [
45614                 24,
45615                 24
45616             ],
45617             "24": [
45618                 0,
45619                 24
45620             ]
45621         },
45622         "star-stroked": {
45623             "12": [
45624                 96,
45625                 24
45626             ],
45627             "18": [
45628                 78,
45629                 24
45630             ],
45631             "24": [
45632                 54,
45633                 24
45634             ]
45635         },
45636         "star": {
45637             "12": [
45638                 150,
45639                 24
45640             ],
45641             "18": [
45642                 132,
45643                 24
45644             ],
45645             "24": [
45646                 108,
45647                 24
45648             ]
45649         },
45650         "cross": {
45651             "12": [
45652                 204,
45653                 24
45654             ],
45655             "18": [
45656                 186,
45657                 24
45658             ],
45659             "24": [
45660                 162,
45661                 24
45662             ]
45663         },
45664         "marker-stroked": {
45665             "12": [
45666                 258,
45667                 24
45668             ],
45669             "18": [
45670                 240,
45671                 24
45672             ],
45673             "24": [
45674                 216,
45675                 24
45676             ]
45677         },
45678         "marker": {
45679             "12": [
45680                 42,
45681                 48
45682             ],
45683             "18": [
45684                 24,
45685                 48
45686             ],
45687             "24": [
45688                 0,
45689                 48
45690             ]
45691         },
45692         "religious-jewish": {
45693             "12": [
45694                 96,
45695                 48
45696             ],
45697             "18": [
45698                 78,
45699                 48
45700             ],
45701             "24": [
45702                 54,
45703                 48
45704             ]
45705         },
45706         "religious-christian": {
45707             "12": [
45708                 150,
45709                 48
45710             ],
45711             "18": [
45712                 132,
45713                 48
45714             ],
45715             "24": [
45716                 108,
45717                 48
45718             ]
45719         },
45720         "religious-muslim": {
45721             "12": [
45722                 204,
45723                 48
45724             ],
45725             "18": [
45726                 186,
45727                 48
45728             ],
45729             "24": [
45730                 162,
45731                 48
45732             ]
45733         },
45734         "cemetery": {
45735             "12": [
45736                 258,
45737                 48
45738             ],
45739             "18": [
45740                 240,
45741                 48
45742             ],
45743             "24": [
45744                 216,
45745                 48
45746             ]
45747         },
45748         "rocket": {
45749             "12": [
45750                 42,
45751                 72
45752             ],
45753             "18": [
45754                 24,
45755                 72
45756             ],
45757             "24": [
45758                 0,
45759                 72
45760             ]
45761         },
45762         "airport": {
45763             "12": [
45764                 96,
45765                 72
45766             ],
45767             "18": [
45768                 78,
45769                 72
45770             ],
45771             "24": [
45772                 54,
45773                 72
45774             ]
45775         },
45776         "heliport": {
45777             "12": [
45778                 150,
45779                 72
45780             ],
45781             "18": [
45782                 132,
45783                 72
45784             ],
45785             "24": [
45786                 108,
45787                 72
45788             ]
45789         },
45790         "rail": {
45791             "12": [
45792                 204,
45793                 72
45794             ],
45795             "18": [
45796                 186,
45797                 72
45798             ],
45799             "24": [
45800                 162,
45801                 72
45802             ]
45803         },
45804         "rail-metro": {
45805             "12": [
45806                 258,
45807                 72
45808             ],
45809             "18": [
45810                 240,
45811                 72
45812             ],
45813             "24": [
45814                 216,
45815                 72
45816             ]
45817         },
45818         "rail-light": {
45819             "12": [
45820                 42,
45821                 96
45822             ],
45823             "18": [
45824                 24,
45825                 96
45826             ],
45827             "24": [
45828                 0,
45829                 96
45830             ]
45831         },
45832         "bus": {
45833             "12": [
45834                 96,
45835                 96
45836             ],
45837             "18": [
45838                 78,
45839                 96
45840             ],
45841             "24": [
45842                 54,
45843                 96
45844             ]
45845         },
45846         "fuel": {
45847             "12": [
45848                 150,
45849                 96
45850             ],
45851             "18": [
45852                 132,
45853                 96
45854             ],
45855             "24": [
45856                 108,
45857                 96
45858             ]
45859         },
45860         "parking": {
45861             "12": [
45862                 204,
45863                 96
45864             ],
45865             "18": [
45866                 186,
45867                 96
45868             ],
45869             "24": [
45870                 162,
45871                 96
45872             ]
45873         },
45874         "parking-garage": {
45875             "12": [
45876                 258,
45877                 96
45878             ],
45879             "18": [
45880                 240,
45881                 96
45882             ],
45883             "24": [
45884                 216,
45885                 96
45886             ]
45887         },
45888         "airfield": {
45889             "12": [
45890                 42,
45891                 120
45892             ],
45893             "18": [
45894                 24,
45895                 120
45896             ],
45897             "24": [
45898                 0,
45899                 120
45900             ]
45901         },
45902         "roadblock": {
45903             "12": [
45904                 96,
45905                 120
45906             ],
45907             "18": [
45908                 78,
45909                 120
45910             ],
45911             "24": [
45912                 54,
45913                 120
45914             ]
45915         },
45916         "ferry": {
45917             "12": [
45918                 150,
45919                 120
45920             ],
45921             "18": [
45922                 132,
45923                 120
45924             ],
45925             "24": [
45926                 108,
45927                 120
45928             ],
45929             "line": [
45930                 2240,
45931                 25
45932             ]
45933         },
45934         "harbor": {
45935             "12": [
45936                 204,
45937                 120
45938             ],
45939             "18": [
45940                 186,
45941                 120
45942             ],
45943             "24": [
45944                 162,
45945                 120
45946             ]
45947         },
45948         "bicycle": {
45949             "12": [
45950                 258,
45951                 120
45952             ],
45953             "18": [
45954                 240,
45955                 120
45956             ],
45957             "24": [
45958                 216,
45959                 120
45960             ]
45961         },
45962         "park": {
45963             "12": [
45964                 42,
45965                 144
45966             ],
45967             "18": [
45968                 24,
45969                 144
45970             ],
45971             "24": [
45972                 0,
45973                 144
45974             ]
45975         },
45976         "park2": {
45977             "12": [
45978                 96,
45979                 144
45980             ],
45981             "18": [
45982                 78,
45983                 144
45984             ],
45985             "24": [
45986                 54,
45987                 144
45988             ]
45989         },
45990         "museum": {
45991             "12": [
45992                 150,
45993                 144
45994             ],
45995             "18": [
45996                 132,
45997                 144
45998             ],
45999             "24": [
46000                 108,
46001                 144
46002             ]
46003         },
46004         "lodging": {
46005             "12": [
46006                 204,
46007                 144
46008             ],
46009             "18": [
46010                 186,
46011                 144
46012             ],
46013             "24": [
46014                 162,
46015                 144
46016             ]
46017         },
46018         "monument": {
46019             "12": [
46020                 258,
46021                 144
46022             ],
46023             "18": [
46024                 240,
46025                 144
46026             ],
46027             "24": [
46028                 216,
46029                 144
46030             ]
46031         },
46032         "zoo": {
46033             "12": [
46034                 42,
46035                 168
46036             ],
46037             "18": [
46038                 24,
46039                 168
46040             ],
46041             "24": [
46042                 0,
46043                 168
46044             ]
46045         },
46046         "garden": {
46047             "12": [
46048                 96,
46049                 168
46050             ],
46051             "18": [
46052                 78,
46053                 168
46054             ],
46055             "24": [
46056                 54,
46057                 168
46058             ]
46059         },
46060         "campsite": {
46061             "12": [
46062                 150,
46063                 168
46064             ],
46065             "18": [
46066                 132,
46067                 168
46068             ],
46069             "24": [
46070                 108,
46071                 168
46072             ]
46073         },
46074         "theatre": {
46075             "12": [
46076                 204,
46077                 168
46078             ],
46079             "18": [
46080                 186,
46081                 168
46082             ],
46083             "24": [
46084                 162,
46085                 168
46086             ]
46087         },
46088         "art-gallery": {
46089             "12": [
46090                 258,
46091                 168
46092             ],
46093             "18": [
46094                 240,
46095                 168
46096             ],
46097             "24": [
46098                 216,
46099                 168
46100             ]
46101         },
46102         "pitch": {
46103             "12": [
46104                 42,
46105                 192
46106             ],
46107             "18": [
46108                 24,
46109                 192
46110             ],
46111             "24": [
46112                 0,
46113                 192
46114             ]
46115         },
46116         "soccer": {
46117             "12": [
46118                 96,
46119                 192
46120             ],
46121             "18": [
46122                 78,
46123                 192
46124             ],
46125             "24": [
46126                 54,
46127                 192
46128             ]
46129         },
46130         "america-football": {
46131             "12": [
46132                 150,
46133                 192
46134             ],
46135             "18": [
46136                 132,
46137                 192
46138             ],
46139             "24": [
46140                 108,
46141                 192
46142             ]
46143         },
46144         "tennis": {
46145             "12": [
46146                 204,
46147                 192
46148             ],
46149             "18": [
46150                 186,
46151                 192
46152             ],
46153             "24": [
46154                 162,
46155                 192
46156             ]
46157         },
46158         "basketball": {
46159             "12": [
46160                 258,
46161                 192
46162             ],
46163             "18": [
46164                 240,
46165                 192
46166             ],
46167             "24": [
46168                 216,
46169                 192
46170             ]
46171         },
46172         "baseball": {
46173             "12": [
46174                 42,
46175                 216
46176             ],
46177             "18": [
46178                 24,
46179                 216
46180             ],
46181             "24": [
46182                 0,
46183                 216
46184             ]
46185         },
46186         "golf": {
46187             "12": [
46188                 96,
46189                 216
46190             ],
46191             "18": [
46192                 78,
46193                 216
46194             ],
46195             "24": [
46196                 54,
46197                 216
46198             ]
46199         },
46200         "swimming": {
46201             "12": [
46202                 150,
46203                 216
46204             ],
46205             "18": [
46206                 132,
46207                 216
46208             ],
46209             "24": [
46210                 108,
46211                 216
46212             ]
46213         },
46214         "cricket": {
46215             "12": [
46216                 204,
46217                 216
46218             ],
46219             "18": [
46220                 186,
46221                 216
46222             ],
46223             "24": [
46224                 162,
46225                 216
46226             ]
46227         },
46228         "skiing": {
46229             "12": [
46230                 258,
46231                 216
46232             ],
46233             "18": [
46234                 240,
46235                 216
46236             ],
46237             "24": [
46238                 216,
46239                 216
46240             ]
46241         },
46242         "school": {
46243             "12": [
46244                 42,
46245                 240
46246             ],
46247             "18": [
46248                 24,
46249                 240
46250             ],
46251             "24": [
46252                 0,
46253                 240
46254             ]
46255         },
46256         "college": {
46257             "12": [
46258                 96,
46259                 240
46260             ],
46261             "18": [
46262                 78,
46263                 240
46264             ],
46265             "24": [
46266                 54,
46267                 240
46268             ]
46269         },
46270         "library": {
46271             "12": [
46272                 150,
46273                 240
46274             ],
46275             "18": [
46276                 132,
46277                 240
46278             ],
46279             "24": [
46280                 108,
46281                 240
46282             ]
46283         },
46284         "post": {
46285             "12": [
46286                 204,
46287                 240
46288             ],
46289             "18": [
46290                 186,
46291                 240
46292             ],
46293             "24": [
46294                 162,
46295                 240
46296             ]
46297         },
46298         "fire-station": {
46299             "12": [
46300                 258,
46301                 240
46302             ],
46303             "18": [
46304                 240,
46305                 240
46306             ],
46307             "24": [
46308                 216,
46309                 240
46310             ]
46311         },
46312         "town-hall": {
46313             "12": [
46314                 42,
46315                 264
46316             ],
46317             "18": [
46318                 24,
46319                 264
46320             ],
46321             "24": [
46322                 0,
46323                 264
46324             ]
46325         },
46326         "police": {
46327             "12": [
46328                 96,
46329                 264
46330             ],
46331             "18": [
46332                 78,
46333                 264
46334             ],
46335             "24": [
46336                 54,
46337                 264
46338             ]
46339         },
46340         "prison": {
46341             "12": [
46342                 150,
46343                 264
46344             ],
46345             "18": [
46346                 132,
46347                 264
46348             ],
46349             "24": [
46350                 108,
46351                 264
46352             ]
46353         },
46354         "embassy": {
46355             "12": [
46356                 204,
46357                 264
46358             ],
46359             "18": [
46360                 186,
46361                 264
46362             ],
46363             "24": [
46364                 162,
46365                 264
46366             ]
46367         },
46368         "beer": {
46369             "12": [
46370                 258,
46371                 264
46372             ],
46373             "18": [
46374                 240,
46375                 264
46376             ],
46377             "24": [
46378                 216,
46379                 264
46380             ]
46381         },
46382         "restaurant": {
46383             "12": [
46384                 42,
46385                 288
46386             ],
46387             "18": [
46388                 24,
46389                 288
46390             ],
46391             "24": [
46392                 0,
46393                 288
46394             ]
46395         },
46396         "cafe": {
46397             "12": [
46398                 96,
46399                 288
46400             ],
46401             "18": [
46402                 78,
46403                 288
46404             ],
46405             "24": [
46406                 54,
46407                 288
46408             ]
46409         },
46410         "shop": {
46411             "12": [
46412                 150,
46413                 288
46414             ],
46415             "18": [
46416                 132,
46417                 288
46418             ],
46419             "24": [
46420                 108,
46421                 288
46422             ]
46423         },
46424         "fast-food": {
46425             "12": [
46426                 204,
46427                 288
46428             ],
46429             "18": [
46430                 186,
46431                 288
46432             ],
46433             "24": [
46434                 162,
46435                 288
46436             ]
46437         },
46438         "bar": {
46439             "12": [
46440                 258,
46441                 288
46442             ],
46443             "18": [
46444                 240,
46445                 288
46446             ],
46447             "24": [
46448                 216,
46449                 288
46450             ]
46451         },
46452         "bank": {
46453             "12": [
46454                 42,
46455                 312
46456             ],
46457             "18": [
46458                 24,
46459                 312
46460             ],
46461             "24": [
46462                 0,
46463                 312
46464             ]
46465         },
46466         "grocery": {
46467             "12": [
46468                 96,
46469                 312
46470             ],
46471             "18": [
46472                 78,
46473                 312
46474             ],
46475             "24": [
46476                 54,
46477                 312
46478             ]
46479         },
46480         "cinema": {
46481             "12": [
46482                 150,
46483                 312
46484             ],
46485             "18": [
46486                 132,
46487                 312
46488             ],
46489             "24": [
46490                 108,
46491                 312
46492             ]
46493         },
46494         "pharmacy": {
46495             "12": [
46496                 204,
46497                 312
46498             ],
46499             "18": [
46500                 186,
46501                 312
46502             ],
46503             "24": [
46504                 162,
46505                 312
46506             ]
46507         },
46508         "hospital": {
46509             "12": [
46510                 258,
46511                 312
46512             ],
46513             "18": [
46514                 240,
46515                 312
46516             ],
46517             "24": [
46518                 216,
46519                 312
46520             ]
46521         },
46522         "danger": {
46523             "12": [
46524                 42,
46525                 336
46526             ],
46527             "18": [
46528                 24,
46529                 336
46530             ],
46531             "24": [
46532                 0,
46533                 336
46534             ]
46535         },
46536         "industrial": {
46537             "12": [
46538                 96,
46539                 336
46540             ],
46541             "18": [
46542                 78,
46543                 336
46544             ],
46545             "24": [
46546                 54,
46547                 336
46548             ]
46549         },
46550         "warehouse": {
46551             "12": [
46552                 150,
46553                 336
46554             ],
46555             "18": [
46556                 132,
46557                 336
46558             ],
46559             "24": [
46560                 108,
46561                 336
46562             ]
46563         },
46564         "commercial": {
46565             "12": [
46566                 204,
46567                 336
46568             ],
46569             "18": [
46570                 186,
46571                 336
46572             ],
46573             "24": [
46574                 162,
46575                 336
46576             ]
46577         },
46578         "building": {
46579             "12": [
46580                 258,
46581                 336
46582             ],
46583             "18": [
46584                 240,
46585                 336
46586             ],
46587             "24": [
46588                 216,
46589                 336
46590             ]
46591         },
46592         "place-of-worship": {
46593             "12": [
46594                 42,
46595                 360
46596             ],
46597             "18": [
46598                 24,
46599                 360
46600             ],
46601             "24": [
46602                 0,
46603                 360
46604             ]
46605         },
46606         "alcohol-shop": {
46607             "12": [
46608                 96,
46609                 360
46610             ],
46611             "18": [
46612                 78,
46613                 360
46614             ],
46615             "24": [
46616                 54,
46617                 360
46618             ]
46619         },
46620         "logging": {
46621             "12": [
46622                 150,
46623                 360
46624             ],
46625             "18": [
46626                 132,
46627                 360
46628             ],
46629             "24": [
46630                 108,
46631                 360
46632             ]
46633         },
46634         "oil-well": {
46635             "12": [
46636                 204,
46637                 360
46638             ],
46639             "18": [
46640                 186,
46641                 360
46642             ],
46643             "24": [
46644                 162,
46645                 360
46646             ]
46647         },
46648         "slaughterhouse": {
46649             "12": [
46650                 258,
46651                 360
46652             ],
46653             "18": [
46654                 240,
46655                 360
46656             ],
46657             "24": [
46658                 216,
46659                 360
46660             ]
46661         },
46662         "dam": {
46663             "12": [
46664                 42,
46665                 384
46666             ],
46667             "18": [
46668                 24,
46669                 384
46670             ],
46671             "24": [
46672                 0,
46673                 384
46674             ]
46675         },
46676         "water": {
46677             "12": [
46678                 96,
46679                 384
46680             ],
46681             "18": [
46682                 78,
46683                 384
46684             ],
46685             "24": [
46686                 54,
46687                 384
46688             ]
46689         },
46690         "wetland": {
46691             "12": [
46692                 150,
46693                 384
46694             ],
46695             "18": [
46696                 132,
46697                 384
46698             ],
46699             "24": [
46700                 108,
46701                 384
46702             ]
46703         },
46704         "disability": {
46705             "12": [
46706                 204,
46707                 384
46708             ],
46709             "18": [
46710                 186,
46711                 384
46712             ],
46713             "24": [
46714                 162,
46715                 384
46716             ]
46717         },
46718         "telephone": {
46719             "12": [
46720                 258,
46721                 384
46722             ],
46723             "18": [
46724                 240,
46725                 384
46726             ],
46727             "24": [
46728                 216,
46729                 384
46730             ]
46731         },
46732         "emergency-telephone": {
46733             "12": [
46734                 42,
46735                 408
46736             ],
46737             "18": [
46738                 24,
46739                 408
46740             ],
46741             "24": [
46742                 0,
46743                 408
46744             ]
46745         },
46746         "toilets": {
46747             "12": [
46748                 96,
46749                 408
46750             ],
46751             "18": [
46752                 78,
46753                 408
46754             ],
46755             "24": [
46756                 54,
46757                 408
46758             ]
46759         },
46760         "waste-basket": {
46761             "12": [
46762                 150,
46763                 408
46764             ],
46765             "18": [
46766                 132,
46767                 408
46768             ],
46769             "24": [
46770                 108,
46771                 408
46772             ]
46773         },
46774         "music": {
46775             "12": [
46776                 204,
46777                 408
46778             ],
46779             "18": [
46780                 186,
46781                 408
46782             ],
46783             "24": [
46784                 162,
46785                 408
46786             ]
46787         },
46788         "land-use": {
46789             "12": [
46790                 258,
46791                 408
46792             ],
46793             "18": [
46794                 240,
46795                 408
46796             ],
46797             "24": [
46798                 216,
46799                 408
46800             ]
46801         },
46802         "city": {
46803             "12": [
46804                 42,
46805                 432
46806             ],
46807             "18": [
46808                 24,
46809                 432
46810             ],
46811             "24": [
46812                 0,
46813                 432
46814             ]
46815         },
46816         "town": {
46817             "12": [
46818                 96,
46819                 432
46820             ],
46821             "18": [
46822                 78,
46823                 432
46824             ],
46825             "24": [
46826                 54,
46827                 432
46828             ]
46829         },
46830         "village": {
46831             "12": [
46832                 150,
46833                 432
46834             ],
46835             "18": [
46836                 132,
46837                 432
46838             ],
46839             "24": [
46840                 108,
46841                 432
46842             ]
46843         },
46844         "farm": {
46845             "12": [
46846                 204,
46847                 432
46848             ],
46849             "18": [
46850                 186,
46851                 432
46852             ],
46853             "24": [
46854                 162,
46855                 432
46856             ]
46857         },
46858         "bakery": {
46859             "12": [
46860                 258,
46861                 432
46862             ],
46863             "18": [
46864                 240,
46865                 432
46866             ],
46867             "24": [
46868                 216,
46869                 432
46870             ]
46871         },
46872         "dog-park": {
46873             "12": [
46874                 42,
46875                 456
46876             ],
46877             "18": [
46878                 24,
46879                 456
46880             ],
46881             "24": [
46882                 0,
46883                 456
46884             ]
46885         },
46886         "lighthouse": {
46887             "12": [
46888                 96,
46889                 456
46890             ],
46891             "18": [
46892                 78,
46893                 456
46894             ],
46895             "24": [
46896                 54,
46897                 456
46898             ]
46899         },
46900         "clothing-store": {
46901             "12": [
46902                 150,
46903                 456
46904             ],
46905             "18": [
46906                 132,
46907                 456
46908             ],
46909             "24": [
46910                 108,
46911                 456
46912             ]
46913         },
46914         "polling-place": {
46915             "12": [
46916                 204,
46917                 456
46918             ],
46919             "18": [
46920                 186,
46921                 456
46922             ],
46923             "24": [
46924                 162,
46925                 456
46926             ]
46927         },
46928         "playground": {
46929             "12": [
46930                 258,
46931                 456
46932             ],
46933             "18": [
46934                 240,
46935                 456
46936             ],
46937             "24": [
46938                 216,
46939                 456
46940             ]
46941         },
46942         "entrance": {
46943             "12": [
46944                 42,
46945                 480
46946             ],
46947             "18": [
46948                 24,
46949                 480
46950             ],
46951             "24": [
46952                 0,
46953                 480
46954             ]
46955         },
46956         "heart": {
46957             "12": [
46958                 96,
46959                 480
46960             ],
46961             "18": [
46962                 78,
46963                 480
46964             ],
46965             "24": [
46966                 54,
46967                 480
46968             ]
46969         },
46970         "london-underground": {
46971             "12": [
46972                 150,
46973                 480
46974             ],
46975             "18": [
46976                 132,
46977                 480
46978             ],
46979             "24": [
46980                 108,
46981                 480
46982             ]
46983         },
46984         "minefield": {
46985             "12": [
46986                 204,
46987                 480
46988             ],
46989             "18": [
46990                 186,
46991                 480
46992             ],
46993             "24": [
46994                 162,
46995                 480
46996             ]
46997         },
46998         "rail-underground": {
46999             "12": [
47000                 258,
47001                 480
47002             ],
47003             "18": [
47004                 240,
47005                 480
47006             ],
47007             "24": [
47008                 216,
47009                 480
47010             ]
47011         },
47012         "rail-above": {
47013             "12": [
47014                 42,
47015                 504
47016             ],
47017             "18": [
47018                 24,
47019                 504
47020             ],
47021             "24": [
47022                 0,
47023                 504
47024             ]
47025         },
47026         "camera": {
47027             "12": [
47028                 96,
47029                 504
47030             ],
47031             "18": [
47032                 78,
47033                 504
47034             ],
47035             "24": [
47036                 54,
47037                 504
47038             ]
47039         },
47040         "laundry": {
47041             "12": [
47042                 150,
47043                 504
47044             ],
47045             "18": [
47046                 132,
47047                 504
47048             ],
47049             "24": [
47050                 108,
47051                 504
47052             ]
47053         },
47054         "car": {
47055             "12": [
47056                 204,
47057                 504
47058             ],
47059             "18": [
47060                 186,
47061                 504
47062             ],
47063             "24": [
47064                 162,
47065                 504
47066             ]
47067         },
47068         "suitcase": {
47069             "12": [
47070                 258,
47071                 504
47072             ],
47073             "18": [
47074                 240,
47075                 504
47076             ],
47077             "24": [
47078                 216,
47079                 504
47080             ]
47081         },
47082         "hairdresser": {
47083             "12": [
47084                 42,
47085                 528
47086             ],
47087             "18": [
47088                 24,
47089                 528
47090             ],
47091             "24": [
47092                 0,
47093                 528
47094             ]
47095         },
47096         "chemist": {
47097             "12": [
47098                 96,
47099                 528
47100             ],
47101             "18": [
47102                 78,
47103                 528
47104             ],
47105             "24": [
47106                 54,
47107                 528
47108             ]
47109         },
47110         "mobilephone": {
47111             "12": [
47112                 150,
47113                 528
47114             ],
47115             "18": [
47116                 132,
47117                 528
47118             ],
47119             "24": [
47120                 108,
47121                 528
47122             ]
47123         },
47124         "scooter": {
47125             "12": [
47126                 204,
47127                 528
47128             ],
47129             "18": [
47130                 186,
47131                 528
47132             ],
47133             "24": [
47134                 162,
47135                 528
47136             ]
47137         },
47138         "gift": {
47139             "12": [
47140                 258,
47141                 528
47142             ],
47143             "18": [
47144                 240,
47145                 528
47146             ],
47147             "24": [
47148                 216,
47149                 528
47150             ]
47151         },
47152         "ice-cream": {
47153             "12": [
47154                 42,
47155                 552
47156             ],
47157             "18": [
47158                 24,
47159                 552
47160             ],
47161             "24": [
47162                 0,
47163                 552
47164             ]
47165         },
47166         "highway-motorway": {
47167             "line": [
47168                 20,
47169                 25
47170             ]
47171         },
47172         "highway-trunk": {
47173             "line": [
47174                 80,
47175                 25
47176             ]
47177         },
47178         "highway-primary": {
47179             "line": [
47180                 140,
47181                 25
47182             ]
47183         },
47184         "highway-secondary": {
47185             "line": [
47186                 200,
47187                 25
47188             ]
47189         },
47190         "highway-tertiary": {
47191             "line": [
47192                 260,
47193                 25
47194             ]
47195         },
47196         "highway-motorway-link": {
47197             "line": [
47198                 320,
47199                 25
47200             ]
47201         },
47202         "highway-trunk-link": {
47203             "line": [
47204                 380,
47205                 25
47206             ]
47207         },
47208         "highway-primary-link": {
47209             "line": [
47210                 440,
47211                 25
47212             ]
47213         },
47214         "highway-secondary-link": {
47215             "line": [
47216                 500,
47217                 25
47218             ]
47219         },
47220         "highway-tertiary-link": {
47221             "line": [
47222                 560,
47223                 25
47224             ]
47225         },
47226         "highway-residential": {
47227             "line": [
47228                 620,
47229                 25
47230             ]
47231         },
47232         "highway-unclassified": {
47233             "line": [
47234                 680,
47235                 25
47236             ]
47237         },
47238         "highway-service": {
47239             "line": [
47240                 740,
47241                 25
47242             ]
47243         },
47244         "highway-road": {
47245             "line": [
47246                 800,
47247                 25
47248             ]
47249         },
47250         "highway-track": {
47251             "line": [
47252                 860,
47253                 25
47254             ]
47255         },
47256         "highway-living-street": {
47257             "line": [
47258                 920,
47259                 25
47260             ]
47261         },
47262         "highway-path": {
47263             "line": [
47264                 980,
47265                 25
47266             ]
47267         },
47268         "highway-cycleway": {
47269             "line": [
47270                 1040,
47271                 25
47272             ]
47273         },
47274         "highway-footway": {
47275             "line": [
47276                 1100,
47277                 25
47278             ]
47279         },
47280         "highway-bridleway": {
47281             "line": [
47282                 1160,
47283                 25
47284             ]
47285         },
47286         "highway-steps": {
47287             "line": [
47288                 1220,
47289                 25
47290             ]
47291         },
47292         "railway-rail": {
47293             "line": [
47294                 1280,
47295                 25
47296             ]
47297         },
47298         "railway-disused": {
47299             "line": [
47300                 1340,
47301                 25
47302             ]
47303         },
47304         "railway-abandoned": {
47305             "line": [
47306                 1400,
47307                 25
47308             ]
47309         },
47310         "railway-subway": {
47311             "line": [
47312                 1460,
47313                 25
47314             ]
47315         },
47316         "railway-light-rail": {
47317             "line": [
47318                 1520,
47319                 25
47320             ]
47321         },
47322         "railway-monorail": {
47323             "line": [
47324                 1580,
47325                 25
47326             ]
47327         },
47328         "waterway-river": {
47329             "line": [
47330                 1640,
47331                 25
47332             ]
47333         },
47334         "waterway-stream": {
47335             "line": [
47336                 1700,
47337                 25
47338             ]
47339         },
47340         "waterway-canal": {
47341             "line": [
47342                 1760,
47343                 25
47344             ]
47345         },
47346         "waterway-ditch": {
47347             "line": [
47348                 1820,
47349                 25
47350             ]
47351         },
47352         "power-line": {
47353             "line": [
47354                 1880,
47355                 25
47356             ]
47357         },
47358         "other-line": {
47359             "line": [
47360                 1940,
47361                 25
47362             ]
47363         },
47364         "category-roads": {
47365             "line": [
47366                 2000,
47367                 25
47368             ]
47369         },
47370         "category-rail": {
47371             "line": [
47372                 2060,
47373                 25
47374             ]
47375         },
47376         "category-path": {
47377             "line": [
47378                 2120,
47379                 25
47380             ]
47381         },
47382         "category-water": {
47383             "line": [
47384                 2180,
47385                 25
47386             ]
47387         },
47388         "pipeline": {
47389             "line": [
47390                 2300,
47391                 25
47392             ]
47393         },
47394         "relation": {
47395             "relation": [
47396                 20,
47397                 25
47398             ]
47399         },
47400         "restriction": {
47401             "relation": [
47402                 80,
47403                 25
47404             ]
47405         },
47406         "multipolygon": {
47407             "relation": [
47408                 140,
47409                 25
47410             ]
47411         },
47412         "boundary": {
47413             "relation": [
47414                 200,
47415                 25
47416             ]
47417         },
47418         "route": {
47419             "relation": [
47420                 260,
47421                 25
47422             ]
47423         },
47424         "route-road": {
47425             "relation": [
47426                 320,
47427                 25
47428             ]
47429         },
47430         "route-bicycle": {
47431             "relation": [
47432                 380,
47433                 25
47434             ]
47435         },
47436         "route-foot": {
47437             "relation": [
47438                 440,
47439                 25
47440             ]
47441         },
47442         "route-bus": {
47443             "relation": [
47444                 500,
47445                 25
47446             ]
47447         },
47448         "route-train": {
47449             "relation": [
47450                 560,
47451                 25
47452             ]
47453         },
47454         "route-detour": {
47455             "relation": [
47456                 620,
47457                 25
47458             ]
47459         },
47460         "route-tram": {
47461             "relation": [
47462                 680,
47463                 25
47464             ]
47465         },
47466         "route-ferry": {
47467             "relation": [
47468                 740,
47469                 25
47470             ]
47471         },
47472         "route-power": {
47473             "relation": [
47474                 800,
47475                 25
47476             ]
47477         },
47478         "route-pipeline": {
47479             "relation": [
47480                 860,
47481                 25
47482             ]
47483         },
47484         "route-master": {
47485             "relation": [
47486                 920,
47487                 25
47488             ]
47489         },
47490         "restriction-no-straight-on": {
47491             "relation": [
47492                 980,
47493                 25
47494             ]
47495         },
47496         "restriction-no-u-turn": {
47497             "relation": [
47498                 1040,
47499                 25
47500             ]
47501         },
47502         "restriction-no-left-turn": {
47503             "relation": [
47504                 1100,
47505                 25
47506             ]
47507         },
47508         "restriction-no-right-turn": {
47509             "relation": [
47510                 1160,
47511                 25
47512             ]
47513         },
47514         "restriction-only-straight-on": {
47515             "relation": [
47516                 1220,
47517                 25
47518             ]
47519         },
47520         "restriction-only-left-turn": {
47521             "relation": [
47522                 1280,
47523                 25
47524             ]
47525         },
47526         "restriction-only-right-turn": {
47527             "relation": [
47528                 1340,
47529                 25
47530             ]
47531         }
47532     },
47533     "operations": {
47534         "icon-operation-delete": [
47535             0,
47536             140
47537         ],
47538         "icon-operation-circularize": [
47539             20,
47540             140
47541         ],
47542         "icon-operation-straighten": [
47543             40,
47544             140
47545         ],
47546         "icon-operation-split": [
47547             60,
47548             140
47549         ],
47550         "icon-operation-disconnect": [
47551             80,
47552             140
47553         ],
47554         "icon-operation-reverse": [
47555             100,
47556             140
47557         ],
47558         "icon-operation-move": [
47559             120,
47560             140
47561         ],
47562         "icon-operation-merge": [
47563             140,
47564             140
47565         ],
47566         "icon-operation-orthogonalize": [
47567             160,
47568             140
47569         ],
47570         "icon-operation-rotate": [
47571             180,
47572             140
47573         ],
47574         "icon-operation-simplify": [
47575             200,
47576             140
47577         ],
47578         "icon-operation-continue": [
47579             220,
47580             140
47581         ],
47582         "icon-operation-disabled-delete": [
47583             0,
47584             160
47585         ],
47586         "icon-operation-disabled-circularize": [
47587             20,
47588             160
47589         ],
47590         "icon-operation-disabled-straighten": [
47591             40,
47592             160
47593         ],
47594         "icon-operation-disabled-split": [
47595             60,
47596             160
47597         ],
47598         "icon-operation-disabled-disconnect": [
47599             80,
47600             160
47601         ],
47602         "icon-operation-disabled-reverse": [
47603             100,
47604             160
47605         ],
47606         "icon-operation-disabled-move": [
47607             120,
47608             160
47609         ],
47610         "icon-operation-disabled-merge": [
47611             140,
47612             160
47613         ],
47614         "icon-operation-disabled-orthogonalize": [
47615             160,
47616             160
47617         ],
47618         "icon-operation-disabled-rotate": [
47619             180,
47620             160
47621         ],
47622         "icon-operation-disabled-simplify": [
47623             200,
47624             160
47625         ],
47626         "icon-operation-disabled-continue": [
47627             220,
47628             160
47629         ],
47630         "icon-restriction-yes": [
47631             50,
47632             80
47633         ],
47634         "icon-restriction-no": [
47635             95,
47636             80
47637         ],
47638         "icon-restriction-only": [
47639             140,
47640             80
47641         ],
47642         "icon-restriction-yes-u": [
47643             185,
47644             80
47645         ],
47646         "icon-restriction-no-u": [
47647             230,
47648             80
47649         ],
47650         "icon-restriction-only-u": [
47651             275,
47652             80
47653         ]
47654     },
47655     "locales": [
47656         "af",
47657         "sq",
47658         "sq-AL",
47659         "ar",
47660         "ar-AA",
47661         "hy",
47662         "ast",
47663         "bn",
47664         "bs",
47665         "bg-BG",
47666         "ca",
47667         "zh",
47668         "zh-CN",
47669         "zh-CN.GB2312",
47670         "gan",
47671         "zh-HK",
47672         "zh-TW",
47673         "yue",
47674         "hr",
47675         "cs",
47676         "da",
47677         "nl",
47678         "en-DE",
47679         "en-GB",
47680         "eo",
47681         "et",
47682         "fi",
47683         "fr",
47684         "gl",
47685         "de",
47686         "de-DE",
47687         "el",
47688         "hi-IN",
47689         "hu",
47690         "is",
47691         "id",
47692         "it",
47693         "ja",
47694         "kn",
47695         "km",
47696         "km-KH",
47697         "ko",
47698         "ko-KR",
47699         "lv",
47700         "lt",
47701         "no",
47702         "nn",
47703         "fa",
47704         "pl",
47705         "pt",
47706         "pt-BR",
47707         "ro-RO",
47708         "ru",
47709         "ru-RU",
47710         "sc",
47711         "sr",
47712         "sr-RS",
47713         "si",
47714         "sk",
47715         "sl",
47716         "es",
47717         "sv",
47718         "tl",
47719         "ta",
47720         "te",
47721         "tr",
47722         "uk",
47723         "vi"
47724     ],
47725     "en": {
47726         "modes": {
47727             "add_area": {
47728                 "title": "Area",
47729                 "description": "Add parks, buildings, lakes or other areas to the map.",
47730                 "tail": "Click on the map to start drawing an area, like a park, lake, or building."
47731             },
47732             "add_line": {
47733                 "title": "Line",
47734                 "description": "Add highways, streets, pedestrian paths, canals or other lines to the map.",
47735                 "tail": "Click on the map to start drawing a road, path, or route."
47736             },
47737             "add_point": {
47738                 "title": "Point",
47739                 "description": "Add restaurants, monuments, postal boxes or other points to the map.",
47740                 "tail": "Click on the map to add a point."
47741             },
47742             "browse": {
47743                 "title": "Browse",
47744                 "description": "Pan and zoom the map."
47745             },
47746             "draw_area": {
47747                 "tail": "Click to add nodes to your area. Click the first node to finish the area."
47748             },
47749             "draw_line": {
47750                 "tail": "Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."
47751             }
47752         },
47753         "operations": {
47754             "add": {
47755                 "annotation": {
47756                     "point": "Added a point.",
47757                     "vertex": "Added a node to a way.",
47758                     "relation": "Added a relation."
47759                 }
47760             },
47761             "start": {
47762                 "annotation": {
47763                     "line": "Started a line.",
47764                     "area": "Started an area."
47765                 }
47766             },
47767             "continue": {
47768                 "key": "A",
47769                 "title": "Continue",
47770                 "description": "Continue this line.",
47771                 "not_eligible": "No line can be continued here.",
47772                 "multiple": "Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.",
47773                 "annotation": {
47774                     "line": "Continued a line.",
47775                     "area": "Continued an area."
47776                 }
47777             },
47778             "cancel_draw": {
47779                 "annotation": "Canceled drawing."
47780             },
47781             "change_role": {
47782                 "annotation": "Changed the role of a relation member."
47783             },
47784             "change_tags": {
47785                 "annotation": "Changed tags."
47786             },
47787             "circularize": {
47788                 "title": "Circularize",
47789                 "description": {
47790                     "line": "Make this line circular.",
47791                     "area": "Make this area circular."
47792                 },
47793                 "key": "O",
47794                 "annotation": {
47795                     "line": "Made a line circular.",
47796                     "area": "Made an area circular."
47797                 },
47798                 "not_closed": "This can't be made circular because it's not a loop.",
47799                 "too_large": "This can't be made circular because not enough of it is currently visible.",
47800                 "connected_to_hidden": "This can't be made circular because it is connected to a hidden feature."
47801             },
47802             "orthogonalize": {
47803                 "title": "Square",
47804                 "description": {
47805                     "line": "Square the corners of this line.",
47806                     "area": "Square the corners of this area."
47807                 },
47808                 "key": "S",
47809                 "annotation": {
47810                     "line": "Squared the corners of a line.",
47811                     "area": "Squared the corners of an area."
47812                 },
47813                 "not_squarish": "This can't be made square because it is not squarish.",
47814                 "too_large": "This can't be made square because not enough of it is currently visible.",
47815                 "connected_to_hidden": "This can't be made square because it is connected to a hidden feature."
47816             },
47817             "straighten": {
47818                 "title": "Straighten",
47819                 "description": "Straighten this line.",
47820                 "key": "S",
47821                 "annotation": "Straightened a line.",
47822                 "too_bendy": "This can't be straightened because it bends too much.",
47823                 "connected_to_hidden": "This line can't be straightened because it is connected to a hidden feature."
47824             },
47825             "delete": {
47826                 "title": "Delete",
47827                 "description": "Delete object permanently.",
47828                 "annotation": {
47829                     "point": "Deleted a point.",
47830                     "vertex": "Deleted a node from a way.",
47831                     "line": "Deleted a line.",
47832                     "area": "Deleted an area.",
47833                     "relation": "Deleted a relation.",
47834                     "multiple": "Deleted {n} objects."
47835                 },
47836                 "incomplete_relation": "This feature can't be deleted because it hasn't been fully downloaded.",
47837                 "connected_to_hidden": "This can't be deleted because it is connected to a hidden feature."
47838             },
47839             "add_member": {
47840                 "annotation": "Added a member to a relation."
47841             },
47842             "delete_member": {
47843                 "annotation": "Removed a member from a relation."
47844             },
47845             "connect": {
47846                 "annotation": {
47847                     "point": "Connected a way to a point.",
47848                     "vertex": "Connected a way to another.",
47849                     "line": "Connected a way to a line.",
47850                     "area": "Connected a way to an area."
47851                 }
47852             },
47853             "disconnect": {
47854                 "title": "Disconnect",
47855                 "description": "Disconnect these lines/areas from each other.",
47856                 "key": "D",
47857                 "annotation": "Disconnected lines/areas.",
47858                 "not_connected": "There aren't enough lines/areas here to disconnect.",
47859                 "connected_to_hidden": "This can't be disconnected because it is connected to a hidden feature."
47860             },
47861             "merge": {
47862                 "title": "Merge",
47863                 "description": "Merge these lines.",
47864                 "key": "C",
47865                 "annotation": "Merged {n} lines.",
47866                 "not_eligible": "These features can't be merged.",
47867                 "not_adjacent": "These lines can't be merged because they aren't connected.",
47868                 "restriction": "These lines can't be merged because at least one is a member of a \"{relation}\" relation.",
47869                 "incomplete_relation": "These features can't be merged because at least one hasn't been fully downloaded."
47870             },
47871             "move": {
47872                 "title": "Move",
47873                 "description": "Move this to a different location.",
47874                 "key": "M",
47875                 "annotation": {
47876                     "point": "Moved a point.",
47877                     "vertex": "Moved a node in a way.",
47878                     "line": "Moved a line.",
47879                     "area": "Moved an area.",
47880                     "multiple": "Moved multiple objects."
47881                 },
47882                 "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded.",
47883                 "too_large": "This can't be moved because not enough of it is currently visible.",
47884                 "connected_to_hidden": "This can't be moved because it is connected to a hidden feature."
47885             },
47886             "rotate": {
47887                 "title": "Rotate",
47888                 "description": "Rotate this object around its center point.",
47889                 "key": "R",
47890                 "annotation": {
47891                     "line": "Rotated a line.",
47892                     "area": "Rotated an area."
47893                 },
47894                 "too_large": "This can't be rotated because not enough of it is currently visible.",
47895                 "connected_to_hidden": "This can't be rotated because it is connected to a hidden feature."
47896             },
47897             "reverse": {
47898                 "title": "Reverse",
47899                 "description": "Make this line go in the opposite direction.",
47900                 "key": "V",
47901                 "annotation": "Reversed a line."
47902             },
47903             "split": {
47904                 "title": "Split",
47905                 "description": {
47906                     "line": "Split this line into two at this node.",
47907                     "area": "Split the boundary of this area into two.",
47908                     "multiple": "Split the lines/area boundaries at this node into two."
47909                 },
47910                 "key": "X",
47911                 "annotation": {
47912                     "line": "Split a line.",
47913                     "area": "Split an area boundary.",
47914                     "multiple": "Split {n} lines/area boundaries."
47915                 },
47916                 "not_eligible": "Lines can't be split at their beginning or end.",
47917                 "multiple_ways": "There are too many lines here to split.",
47918                 "connected_to_hidden": "This can't be split because it is connected to a hidden feature."
47919             },
47920             "restriction": {
47921                 "help": {
47922                     "select": "Click to select a road segment.",
47923                     "toggle": "Click to toggle turn restrictions.",
47924                     "toggle_on": "Click to add a \"{restriction}\" restriction.",
47925                     "toggle_off": "Click to remove the \"{restriction}\" restriction."
47926                 },
47927                 "annotation": {
47928                     "create": "Added a turn restriction",
47929                     "delete": "Deleted a turn restriction"
47930                 }
47931             }
47932         },
47933         "undo": {
47934             "tooltip": "Undo: {action}",
47935             "nothing": "Nothing to undo."
47936         },
47937         "redo": {
47938             "tooltip": "Redo: {action}",
47939             "nothing": "Nothing to redo."
47940         },
47941         "tooltip_keyhint": "Shortcut:",
47942         "browser_notice": "This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 9 and above. Please upgrade your browser or use Potlatch 2 to edit the map.",
47943         "translate": {
47944             "translate": "Translate",
47945             "localized_translation_label": "Multilingual name",
47946             "localized_translation_language": "Choose language",
47947             "localized_translation_name": "Name"
47948         },
47949         "zoom_in_edit": "Zoom in to Edit",
47950         "logout": "logout",
47951         "loading_auth": "Connecting to OpenStreetMap...",
47952         "report_a_bug": "report a bug",
47953         "feature_info": {
47954             "hidden_warning": "{count} hidden features",
47955             "hidden_details": "These features are currently hidden: {details}"
47956         },
47957         "status": {
47958             "error": "Unable to connect to API.",
47959             "offline": "The API is offline. Please try editing later.",
47960             "readonly": "The API is read-only. You will need to wait to save your changes."
47961         },
47962         "commit": {
47963             "title": "Save Changes",
47964             "description_placeholder": "Brief description of your contributions",
47965             "message_label": "Commit message",
47966             "upload_explanation": "The changes you upload will be visible on all maps that use OpenStreetMap data.",
47967             "upload_explanation_with_user": "The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.",
47968             "save": "Save",
47969             "cancel": "Cancel",
47970             "changes": "{count} Changes",
47971             "warnings": "Warnings",
47972             "modified": "Modified",
47973             "deleted": "Deleted",
47974             "created": "Created"
47975         },
47976         "contributors": {
47977             "list": "Edits by {users}",
47978             "truncated_list": "Edits by {users} and {count} others"
47979         },
47980         "geocoder": {
47981             "search": "Search worldwide...",
47982             "no_results_visible": "No results in visible map area",
47983             "no_results_worldwide": "No results found"
47984         },
47985         "geolocate": {
47986             "title": "Show My Location"
47987         },
47988         "inspector": {
47989             "no_documentation_combination": "There is no documentation available for this tag combination",
47990             "no_documentation_key": "There is no documentation available for this key",
47991             "show_more": "Show More",
47992             "view_on_osm": "View on openstreetmap.org",
47993             "all_tags": "All tags",
47994             "all_members": "All members",
47995             "all_relations": "All relations",
47996             "new_relation": "New relation...",
47997             "role": "Role",
47998             "choose": "Select feature type",
47999             "results": "{n} results for {search}",
48000             "reference": "View on OpenStreetMap Wiki",
48001             "back_tooltip": "Change feature",
48002             "remove": "Remove",
48003             "search": "Search",
48004             "multiselect": "Selected items",
48005             "unknown": "Unknown",
48006             "incomplete": "<not downloaded>",
48007             "feature_list": "Search features",
48008             "edit": "Edit feature",
48009             "check": {
48010                 "yes": "Yes",
48011                 "no": "No"
48012             },
48013             "none": "None",
48014             "node": "Node",
48015             "way": "Way",
48016             "relation": "Relation",
48017             "location": "Location",
48018             "add_fields": "Add field:"
48019         },
48020         "background": {
48021             "title": "Background",
48022             "description": "Background settings",
48023             "percent_brightness": "{opacity}% brightness",
48024             "none": "None",
48025             "custom": "Custom",
48026             "custom_button": "Edit custom background",
48027             "custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.",
48028             "fix_misalignment": "Fix alignment",
48029             "reset": "reset"
48030         },
48031         "map_data": {
48032             "title": "Map Data",
48033             "description": "Map Data",
48034             "data_layers": "Data Layers",
48035             "fill_area": "Fill Areas",
48036             "map_features": "Map Features",
48037             "autohidden": "These features have been automatically hidden because too many would be shown on the screen.  You can zoom in to edit them."
48038         },
48039         "feature": {
48040             "points": {
48041                 "description": "Points",
48042                 "tooltip": "Points of Interest"
48043             },
48044             "major_roads": {
48045                 "description": "Major Roads",
48046                 "tooltip": "Highways, Streets, etc."
48047             },
48048             "minor_roads": {
48049                 "description": "Minor Roads",
48050                 "tooltip": "Service Roads, Parking Aisles, Tracks, etc."
48051             },
48052             "paths": {
48053                 "description": "Paths",
48054                 "tooltip": "Sidewalks, Foot Paths, Cycle Paths, etc."
48055             },
48056             "buildings": {
48057                 "description": "Buildings",
48058                 "tooltip": "Buildings, Shelters, Garages, etc."
48059             },
48060             "landuse": {
48061                 "description": "Landuse Features",
48062                 "tooltip": "Forests, Farmland, Parks, Residential, Commercial, etc."
48063             },
48064             "boundaries": {
48065                 "description": "Boundaries",
48066                 "tooltip": "Administrative Boundaries"
48067             },
48068             "water": {
48069                 "description": "Water Features",
48070                 "tooltip": "Rivers, Lakes, Ponds, Basins, etc."
48071             },
48072             "rail": {
48073                 "description": "Rail Features",
48074                 "tooltip": "Railways"
48075             },
48076             "power": {
48077                 "description": "Power Features",
48078                 "tooltip": "Power Lines, Power Plants, Substations, etc."
48079             },
48080             "past_future": {
48081                 "description": "Past/Future",
48082                 "tooltip": "Proposed, Construction, Abandoned, Demolished, etc."
48083             },
48084             "others": {
48085                 "description": "Others",
48086                 "tooltip": "Everything Else"
48087             }
48088         },
48089         "area_fill": {
48090             "wireframe": {
48091                 "description": "No Fill (Wireframe)",
48092                 "tooltip": "Enabling wireframe mode makes it easy to see the background imagery."
48093             },
48094             "partial": {
48095                 "description": "Partial Fill",
48096                 "tooltip": "Areas are drawn with fill only around their inner edges. (Recommended for beginner mappers)"
48097             },
48098             "full": {
48099                 "description": "Full Fill",
48100                 "tooltip": "Areas are drawn fully filled."
48101             }
48102         },
48103         "restore": {
48104             "heading": "You have unsaved changes",
48105             "description": "Do you wish to restore unsaved changes from a previous editing session?",
48106             "restore": "Restore",
48107             "reset": "Reset"
48108         },
48109         "save": {
48110             "title": "Save",
48111             "help": "Save changes to OpenStreetMap, making them visible to other users.",
48112             "no_changes": "No changes to save.",
48113             "error": "An error occurred while trying to save",
48114             "unknown_error_details": "Please ensure you are connected to the internet.",
48115             "uploading": "Uploading changes to OpenStreetMap.",
48116             "unsaved_changes": "You have unsaved changes"
48117         },
48118         "success": {
48119             "edited_osm": "Edited OSM!",
48120             "just_edited": "You just edited OpenStreetMap!",
48121             "view_on_osm": "View on OSM",
48122             "facebook": "Share on Facebook",
48123             "twitter": "Share on Twitter",
48124             "google": "Share on Google+",
48125             "help_html": "Your changes should appear in the \"Standard\" layer in a few minutes. Other layers, and certain features, may take longer\n(<a href='https://help.openstreetmap.org/questions/4705/why-havent-my-changes-appeared-on-the-map' target='_blank'>details</a>).\n"
48126         },
48127         "confirm": {
48128             "okay": "Okay"
48129         },
48130         "splash": {
48131             "welcome": "Welcome to the iD OpenStreetMap editor",
48132             "text": "iD is a friendly but powerful tool for contributing to the world's best free world map. This is version {version}. For more information see {website} and report bugs at {github}.",
48133             "walkthrough": "Start the Walkthrough",
48134             "start": "Edit Now"
48135         },
48136         "source_switch": {
48137             "live": "live",
48138             "lose_changes": "You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?",
48139             "dev": "dev"
48140         },
48141         "tag_reference": {
48142             "description": "Description",
48143             "on_wiki": "{tag} on wiki.osm.org",
48144             "used_with": "used with {type}"
48145         },
48146         "validations": {
48147             "untagged_point": "Untagged point",
48148             "untagged_line": "Untagged line",
48149             "untagged_area": "Untagged area",
48150             "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
48151             "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area",
48152             "untagged_point_tooltip": "Select a feature type that describes what this point is.",
48153             "untagged_line_tooltip": "Select a feature type that describes what this line is.",
48154             "untagged_area_tooltip": "Select a feature type that describes what this area is.",
48155             "deprecated_tags": "Deprecated tags: {tags}"
48156         },
48157         "zoom": {
48158             "in": "Zoom In",
48159             "out": "Zoom Out"
48160         },
48161         "cannot_zoom": "Cannot zoom out further in current mode.",
48162         "gpx": {
48163             "local_layer": "Local GPX file",
48164             "drag_drop": "Drag and drop a .gpx file on the page, or click the button to the right to browse",
48165             "zoom": "Zoom to GPX track",
48166             "browse": "Browse for a .gpx file"
48167         },
48168         "mapillary": {
48169             "tooltip": "Street-level photos from Mapillary",
48170             "title": "Photo Overlay (Mapillary)",
48171             "view_on_mapillary": "View this image on Mapillary"
48172         },
48173         "help": {
48174             "title": "Help",
48175             "help": "# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need a\n[free OpenStreetMap account](https://www.openstreetmap.org/user/new).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/openstreetmap/iD).\n",
48176             "editing_saving": "# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n",
48177             "roads": "# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n",
48178             "gps": "# GPS\n\nGPS data is the most trusted source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright purple\nline. Click on the 'Map Data' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n",
48179             "imagery": "# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the right.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n",
48180             "addresses": "# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n",
48181             "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click icons to add other details,\nlike [Wikipedia](http://www.wikipedia.org/) information, wheelchair\naccess, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n",
48182             "buildings": "# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the building could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n",
48183             "relations": "# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n"
48184         },
48185         "intro": {
48186             "navigation": {
48187                 "title": "Navigation",
48188                 "drag": "The main map area shows OpenStreetMap data on top of a background. You can navigate by dragging and scrolling, just like any web map. **Drag the map!**",
48189                 "select": "Map features are represented three ways: using points, lines or areas. All features can be selected by clicking on them. **Click on the point to select it.**",
48190                 "header": "The header shows us the feature type.",
48191                 "pane": "When a feature is selected, the feature editor is displayed. The header shows us the feature type and the main pane shows the feature's attributes, such as its name and address. **Close the feature editor with the close button in the top right.**"
48192             },
48193             "points": {
48194                 "title": "Points",
48195                 "add": "Points can be used to represent features such as shops, restaurants and monuments. They mark a specific location, and describe what's there. **Click the Point button to add a new point.**",
48196                 "place": "The point can be placed by clicking on the map. **Place the point on top of the building.**",
48197                 "search": "There are many different features that can be represented by points. The point you just added is a Cafe. **Search for '{name}'**",
48198                 "choose": "**Choose Cafe from the list.**",
48199                 "describe": "The point is now marked as a cafe. Using the feature editor, we can add more information about the feature. **Add a name**",
48200                 "close": "The feature editor can be closed by clicking on the close button. **Close the feature editor**",
48201                 "reselect": "Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Select the point you just created.**",
48202                 "fixname": "**Change the name and close the feature editor.**",
48203                 "reselect_delete": "All features on the map can be deleted. **Click on the point you created.**",
48204                 "delete": "The menu around the point contains operations that can be performed on it, including delete. **Delete the point.**"
48205             },
48206             "areas": {
48207                 "title": "Areas",
48208                 "add": "Areas are used to show the boundaries of features like lakes, buildings, and residential areas. They can be also be used for more detailed mapping of many features you might normally map as points. **Click the Area button to add a new area.**",
48209                 "corner": "Areas are drawn by placing nodes that mark the boundary of the area. **Place the starting node on one of the corners of the playground.**",
48210                 "place": "Draw the area by placing more nodes. Finish the area by clicking on the starting node. **Draw an area for the playground.**",
48211                 "search": "**Search for '{name}'.**",
48212                 "choose": "**Choose Playground from the list.**",
48213                 "describe": "**Add a name, and close the feature editor**"
48214             },
48215             "lines": {
48216                 "title": "Lines",
48217                 "add": "Lines are used to represent features such as roads, railroads and rivers. **Click the Line button to add a new line.**",
48218                 "start": "**Start the line by clicking on the end of the road.**",
48219                 "intersect": "Click to add more nodes to the line. You can drag the map while drawing if necessary. Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on Flower Street, to create an intersection connecting the two lines.**",
48220                 "finish": "Lines can be finished by clicking on the last node again. **Finish drawing the road.**",
48221                 "road": "**Select Road from the list**",
48222                 "residential": "There are different types of roads, the most common of which is Residential. **Choose the Residential road type**",
48223                 "describe": "**Name the road and close the feature editor.**",
48224                 "restart": "The road needs to intersect Flower Street.",
48225                 "wrong_preset": "You didn't select the Residential road type. **Click here to choose again**"
48226             },
48227             "startediting": {
48228                 "title": "Start Editing",
48229                 "help": "More documentation and this walkthrough are available here.",
48230                 "save": "Don't forget to regularly save your changes!",
48231                 "start": "Start mapping!"
48232             }
48233         },
48234         "presets": {
48235             "categories": {
48236                 "category-building": {
48237                     "name": "Building"
48238                 },
48239                 "category-golf": {
48240                     "name": "Golf"
48241                 },
48242                 "category-landuse": {
48243                     "name": "Land Use"
48244                 },
48245                 "category-path": {
48246                     "name": "Path"
48247                 },
48248                 "category-rail": {
48249                     "name": "Rail"
48250                 },
48251                 "category-restriction": {
48252                     "name": "Restriction"
48253                 },
48254                 "category-road": {
48255                     "name": "Road"
48256                 },
48257                 "category-route": {
48258                     "name": "Route"
48259                 },
48260                 "category-water-area": {
48261                     "name": "Water"
48262                 },
48263                 "category-water-line": {
48264                     "name": "Water"
48265                 }
48266             },
48267             "fields": {
48268                 "access": {
48269                     "label": "Access",
48270                     "placeholder": "Unknown",
48271                     "types": {
48272                         "access": "General",
48273                         "foot": "Foot",
48274                         "motor_vehicle": "Motor Vehicles",
48275                         "bicycle": "Bicycles",
48276                         "horse": "Horses"
48277                     },
48278                     "options": {
48279                         "yes": {
48280                             "title": "Allowed",
48281                             "description": "Access permitted by law; a right of way"
48282                         },
48283                         "no": {
48284                             "title": "Prohibited",
48285                             "description": "Access not permitted to the general public"
48286                         },
48287                         "permissive": {
48288                             "title": "Permissive",
48289                             "description": "Access permitted until such time as the owner revokes the permission"
48290                         },
48291                         "private": {
48292                             "title": "Private",
48293                             "description": "Access permitted only with permission of the owner on an individual basis"
48294                         },
48295                         "designated": {
48296                             "title": "Designated",
48297                             "description": "Access permitted according to signs or specific local laws"
48298                         },
48299                         "destination": {
48300                             "title": "Destination",
48301                             "description": "Access permitted only to reach a destination"
48302                         }
48303                     }
48304                 },
48305                 "access_simple": {
48306                     "label": "Access",
48307                     "placeholder": "yes"
48308                 },
48309                 "access_toilets": {
48310                     "label": "Access"
48311                 },
48312                 "address": {
48313                     "label": "Address",
48314                     "placeholders": {
48315                         "housename": "Housename",
48316                         "housenumber": "123",
48317                         "street": "Street",
48318                         "city": "City",
48319                         "postcode": "Postcode",
48320                         "place": "Place",
48321                         "hamlet": "Hamlet",
48322                         "suburb": "Suburb",
48323                         "subdistrict": "Subdistrict",
48324                         "district": "District",
48325                         "province": "Province",
48326                         "state": "State",
48327                         "country": "Country"
48328                     }
48329                 },
48330                 "admin_level": {
48331                     "label": "Admin Level"
48332                 },
48333                 "aerialway": {
48334                     "label": "Type"
48335                 },
48336                 "aerialway/access": {
48337                     "label": "Access",
48338                     "options": {
48339                         "entry": "Entry",
48340                         "exit": "Exit",
48341                         "both": "Both"
48342                     }
48343                 },
48344                 "aerialway/bubble": {
48345                     "label": "Bubble"
48346                 },
48347                 "aerialway/capacity": {
48348                     "label": "Capacity (per hour)",
48349                     "placeholder": "500, 2500, 5000..."
48350                 },
48351                 "aerialway/duration": {
48352                     "label": "Duration (minutes)",
48353                     "placeholder": "1, 2, 3..."
48354                 },
48355                 "aerialway/heating": {
48356                     "label": "Heated"
48357                 },
48358                 "aerialway/occupancy": {
48359                     "label": "Occupancy",
48360                     "placeholder": "2, 4, 8..."
48361                 },
48362                 "aerialway/summer/access": {
48363                     "label": "Access (summer)",
48364                     "options": {
48365                         "entry": "Entry",
48366                         "exit": "Exit",
48367                         "both": "Both"
48368                     }
48369                 },
48370                 "aeroway": {
48371                     "label": "Type"
48372                 },
48373                 "amenity": {
48374                     "label": "Type"
48375                 },
48376                 "artist": {
48377                     "label": "Artist"
48378                 },
48379                 "artwork_type": {
48380                     "label": "Type"
48381                 },
48382                 "atm": {
48383                     "label": "ATM"
48384                 },
48385                 "backrest": {
48386                     "label": "Backrest"
48387                 },
48388                 "barrier": {
48389                     "label": "Type"
48390                 },
48391                 "bench": {
48392                     "label": "Bench"
48393                 },
48394                 "bicycle_parking": {
48395                     "label": "Type"
48396                 },
48397                 "boundary": {
48398                     "label": "Type"
48399                 },
48400                 "brand": {
48401                     "label": "Brand"
48402                 },
48403                 "building": {
48404                     "label": "Building"
48405                 },
48406                 "building_area": {
48407                     "label": "Building"
48408                 },
48409                 "capacity": {
48410                     "label": "Capacity",
48411                     "placeholder": "50, 100, 200..."
48412                 },
48413                 "cardinal_direction": {
48414                     "label": "Direction",
48415                     "options": {
48416                         "N": "North",
48417                         "E": "East",
48418                         "S": "South",
48419                         "W": "West",
48420                         "NE": "Northeast",
48421                         "SE": "Southeast",
48422                         "SW": "Southwest",
48423                         "NW": "Northwest",
48424                         "NNE": "North-northeast",
48425                         "ENE": "East-northeast",
48426                         "ESE": "East-southeast",
48427                         "SSE": "South-southeast",
48428                         "SSW": "South-southwest",
48429                         "WSW": "West-southwest",
48430                         "WNW": "West-northwest",
48431                         "NNW": "North-northwest"
48432                     }
48433                 },
48434                 "clock_direction": {
48435                     "label": "Direction",
48436                     "options": {
48437                         "clockwise": "Clockwise",
48438                         "anticlockwise": "Counterclockwise"
48439                     }
48440                 },
48441                 "collection_times": {
48442                     "label": "Collection Times"
48443                 },
48444                 "construction": {
48445                     "label": "Type"
48446                 },
48447                 "country": {
48448                     "label": "Country"
48449                 },
48450                 "covered": {
48451                     "label": "Covered"
48452                 },
48453                 "craft": {
48454                     "label": "Type"
48455                 },
48456                 "crop": {
48457                     "label": "Crop"
48458                 },
48459                 "crossing": {
48460                     "label": "Type"
48461                 },
48462                 "cuisine": {
48463                     "label": "Cuisine"
48464                 },
48465                 "delivery": {
48466                     "label": "Delivery"
48467                 },
48468                 "denomination": {
48469                     "label": "Denomination"
48470                 },
48471                 "denotation": {
48472                     "label": "Denotation"
48473                 },
48474                 "description": {
48475                     "label": "Description"
48476                 },
48477                 "electrified": {
48478                     "label": "Electrification",
48479                     "placeholder": "Contact Line, Electrified Rail...",
48480                     "options": {
48481                         "contact_line": "Contact Line",
48482                         "rail": "Electrified Rail",
48483                         "yes": "Yes (unspecified)",
48484                         "no": "No"
48485                     }
48486                 },
48487                 "elevation": {
48488                     "label": "Elevation"
48489                 },
48490                 "emergency": {
48491                     "label": "Emergency"
48492                 },
48493                 "entrance": {
48494                     "label": "Type"
48495                 },
48496                 "except": {
48497                     "label": "Exceptions"
48498                 },
48499                 "fax": {
48500                     "label": "Fax",
48501                     "placeholder": "+31 42 123 4567"
48502                 },
48503                 "fee": {
48504                     "label": "Fee"
48505                 },
48506                 "fire_hydrant/type": {
48507                     "label": "Type",
48508                     "options": {
48509                         "pillar": "Pillar/Aboveground",
48510                         "underground": "Underground",
48511                         "wall": "Wall",
48512                         "pond": "Pond"
48513                     }
48514                 },
48515                 "fixme": {
48516                     "label": "Fix Me"
48517                 },
48518                 "fuel": {
48519                     "label": "Fuel"
48520                 },
48521                 "fuel/biodiesel": {
48522                     "label": "Sells Biodiesel"
48523                 },
48524                 "fuel/diesel": {
48525                     "label": "Sells Diesel"
48526                 },
48527                 "fuel/e10": {
48528                     "label": "Sells E10"
48529                 },
48530                 "fuel/e85": {
48531                     "label": "Sells E85"
48532                 },
48533                 "fuel/lpg": {
48534                     "label": "Sells Propane"
48535                 },
48536                 "fuel/octane_100": {
48537                     "label": "Sells Racing Gasoline"
48538                 },
48539                 "fuel/octane_91": {
48540                     "label": "Sells Regular Gasoline"
48541                 },
48542                 "fuel/octane_95": {
48543                     "label": "Sells Midgrade Gasoline"
48544                 },
48545                 "fuel/octane_98": {
48546                     "label": "Sells Premium Gasoline"
48547                 },
48548                 "gauge": {
48549                     "label": "Gauge"
48550                 },
48551                 "gender": {
48552                     "label": "Gender",
48553                     "placeholder": "Unknown",
48554                     "options": {
48555                         "male": "Male",
48556                         "female": "Female",
48557                         "unisex": "Unisex"
48558                     }
48559                 },
48560                 "generator/method": {
48561                     "label": "Method"
48562                 },
48563                 "generator/source": {
48564                     "label": "Source"
48565                 },
48566                 "generator/type": {
48567                     "label": "Type"
48568                 },
48569                 "golf_hole": {
48570                     "label": "Reference",
48571                     "placeholder": "Hole number (1-18)"
48572                 },
48573                 "handicap": {
48574                     "label": "Handicap",
48575                     "placeholder": "1-18"
48576                 },
48577                 "highway": {
48578                     "label": "Type"
48579                 },
48580                 "historic": {
48581                     "label": "Type"
48582                 },
48583                 "hoops": {
48584                     "label": "Hoops",
48585                     "placeholder": "1, 2, 4..."
48586                 },
48587                 "iata": {
48588                     "label": "IATA"
48589                 },
48590                 "icao": {
48591                     "label": "ICAO"
48592                 },
48593                 "incline": {
48594                     "label": "Incline"
48595                 },
48596                 "information": {
48597                     "label": "Type"
48598                 },
48599                 "internet_access": {
48600                     "label": "Internet Access",
48601                     "options": {
48602                         "yes": "Yes",
48603                         "no": "No",
48604                         "wlan": "Wifi",
48605                         "wired": "Wired",
48606                         "terminal": "Terminal"
48607                     }
48608                 },
48609                 "lamp_type": {
48610                     "label": "Type"
48611                 },
48612                 "landuse": {
48613                     "label": "Type"
48614                 },
48615                 "lanes": {
48616                     "label": "Lanes",
48617                     "placeholder": "1, 2, 3..."
48618                 },
48619                 "layer": {
48620                     "label": "Layer"
48621                 },
48622                 "leaf_cycle": {
48623                     "label": "Leaf Cycle",
48624                     "options": {
48625                         "evergreen": "Evergreen",
48626                         "deciduous": "Deciduous",
48627                         "semi_evergreen": "Semi-Evergreen",
48628                         "semi_deciduous": "Semi-Deciduous",
48629                         "mixed": "Mixed"
48630                     }
48631                 },
48632                 "leaf_type": {
48633                     "label": "Leaf Type",
48634                     "options": {
48635                         "broadleaved": "Broadleaved",
48636                         "needleleaved": "Needleleaved",
48637                         "mixed": "Mixed",
48638                         "leafless": "Leafless"
48639                     }
48640                 },
48641                 "leisure": {
48642                     "label": "Type"
48643                 },
48644                 "length": {
48645                     "label": "Length (Meters)"
48646                 },
48647                 "levels": {
48648                     "label": "Levels",
48649                     "placeholder": "2, 4, 6..."
48650                 },
48651                 "lit": {
48652                     "label": "Lit"
48653                 },
48654                 "location": {
48655                     "label": "Location"
48656                 },
48657                 "man_made": {
48658                     "label": "Type"
48659                 },
48660                 "maxspeed": {
48661                     "label": "Speed Limit",
48662                     "placeholder": "40, 50, 60..."
48663                 },
48664                 "mtb/scale": {
48665                     "label": "Mountain Biking Difficulty",
48666                     "placeholder": "0, 1, 2, 3...",
48667                     "options": {
48668                         "0": "0: Solid gravel/packed earth, no obstacles, wide curves",
48669                         "1": "1: Some loose surface, small obstacles, wide curves",
48670                         "2": "2: Much loose surface, large obstacles, easy hairpins",
48671                         "3": "3: Slippery surface, large obstacles, tight hairpins",
48672                         "4": "4: Loose surface or boulders, dangerous hairpins",
48673                         "5": "5: Maximum difficulty, boulder fields, landslides",
48674                         "6": "6: Not rideable except by the very best mountain bikers"
48675                     }
48676                 },
48677                 "mtb/scale/imba": {
48678                     "label": "IMBA Trail Difficulty",
48679                     "placeholder": "Easy, Medium, Difficult...",
48680                     "options": {
48681                         "0": "Easiest (white circle)",
48682                         "1": "Easy (green circle)",
48683                         "2": "Medium (blue square)",
48684                         "3": "Difficult (black diamond)",
48685                         "4": "Extremely Difficult (double black diamond)"
48686                     }
48687                 },
48688                 "mtb/scale/uphill": {
48689                     "label": "Mountain Biking Uphill Difficulty",
48690                     "placeholder": "0, 1, 2, 3...",
48691                     "options": {
48692                         "0": "0: Avg. incline <10%, gravel/packed earth, no obstacles",
48693                         "1": "1: Avg. incline <15%, gravel/packed earth, few small objects",
48694                         "2": "2: Avg. incline <20%, stable surface, fistsize rocks/roots",
48695                         "3": "3: Avg. incline <25%, variable surface, fistsize rocks/branches",
48696                         "4": "4: Avg. incline <30%, poor condition, big rocks/branches",
48697                         "5": "5: Very steep, bike generally needs to be pushed or carried"
48698                     }
48699                 },
48700                 "name": {
48701                     "label": "Name",
48702                     "placeholder": "Common name (if any)"
48703                 },
48704                 "natural": {
48705                     "label": "Natural"
48706                 },
48707                 "network": {
48708                     "label": "Network"
48709                 },
48710                 "note": {
48711                     "label": "Note"
48712                 },
48713                 "office": {
48714                     "label": "Type"
48715                 },
48716                 "oneway": {
48717                     "label": "One Way",
48718                     "options": {
48719                         "undefined": "Assumed to be No",
48720                         "yes": "Yes",
48721                         "no": "No"
48722                     }
48723                 },
48724                 "oneway_yes": {
48725                     "label": "One Way",
48726                     "options": {
48727                         "undefined": "Assumed to be Yes",
48728                         "yes": "Yes",
48729                         "no": "No"
48730                     }
48731                 },
48732                 "opening_hours": {
48733                     "label": "Hours"
48734                 },
48735                 "operator": {
48736                     "label": "Operator"
48737                 },
48738                 "par": {
48739                     "label": "Par",
48740                     "placeholder": "3, 4, 5..."
48741                 },
48742                 "park_ride": {
48743                     "label": "Park and Ride"
48744                 },
48745                 "parking": {
48746                     "label": "Type",
48747                     "options": {
48748                         "surface": "Surface",
48749                         "multi-storey": "Multilevel",
48750                         "underground": "Underground",
48751                         "sheds": "Sheds",
48752                         "carports": "Carports",
48753                         "garage_boxes": "Garage Boxes",
48754                         "lane": "Roadside Lane"
48755                     }
48756                 },
48757                 "phone": {
48758                     "label": "Phone",
48759                     "placeholder": "+31 42 123 4567"
48760                 },
48761                 "piste/difficulty": {
48762                     "label": "Difficulty",
48763                     "placeholder": "Easy, Intermediate, Advanced...",
48764                     "options": {
48765                         "novice": "Novice (instructional)",
48766                         "easy": "Easy (green circle)",
48767                         "intermediate": "Intermediate (blue square)",
48768                         "advanced": "Advanced (black diamond)",
48769                         "expert": "Expert (double black diamond)",
48770                         "freeride": "Freeride (off-piste)",
48771                         "extreme": "Extreme (climbing equipment required)"
48772                     }
48773                 },
48774                 "piste/grooming": {
48775                     "label": "Grooming",
48776                     "options": {
48777                         "classic": "Classic",
48778                         "mogul": "Mogul",
48779                         "backcountry": "Backcountry",
48780                         "classic+skating": "Classic and Skating",
48781                         "scooter": "Scooter/Snowmobile",
48782                         "skating": "Skating"
48783                     }
48784                 },
48785                 "piste/type": {
48786                     "label": "Type",
48787                     "options": {
48788                         "downhill": "Downhill",
48789                         "nordic": "Nordic",
48790                         "skitour": "Skitour",
48791                         "sled": "Sled",
48792                         "hike": "Hike",
48793                         "sleigh": "Sleigh",
48794                         "ice_skate": "Ice Skate",
48795                         "snow_park": "Snow Park",
48796                         "playground": "Playground"
48797                     }
48798                 },
48799                 "place": {
48800                     "label": "Type"
48801                 },
48802                 "population": {
48803                     "label": "Population"
48804                 },
48805                 "power": {
48806                     "label": "Type"
48807                 },
48808                 "railway": {
48809                     "label": "Type"
48810                 },
48811                 "recycling/cans": {
48812                     "label": "Accepts Cans"
48813                 },
48814                 "recycling/clothes": {
48815                     "label": "Accepts Clothes"
48816                 },
48817                 "recycling/glass": {
48818                     "label": "Accepts Glass"
48819                 },
48820                 "recycling/paper": {
48821                     "label": "Accepts Paper"
48822                 },
48823                 "ref": {
48824                     "label": "Reference"
48825                 },
48826                 "relation": {
48827                     "label": "Type"
48828                 },
48829                 "religion": {
48830                     "label": "Religion"
48831                 },
48832                 "restriction": {
48833                     "label": "Type"
48834                 },
48835                 "restrictions": {
48836                     "label": "Turn Restrictions"
48837                 },
48838                 "route": {
48839                     "label": "Type"
48840                 },
48841                 "route_master": {
48842                     "label": "Type"
48843                 },
48844                 "sac_scale": {
48845                     "label": "Hiking Difficulty",
48846                     "placeholder": "Mountain Hiking, Alpine Hiking...",
48847                     "options": {
48848                         "hiking": "T1: Hiking",
48849                         "mountain_hiking": "T2: Mountain Hiking",
48850                         "demanding_mountain_hiking": "T3: Demanding Mountain Hiking",
48851                         "alpine_hiking": "T4: Alpine Hiking",
48852                         "demanding_alpine_hiking": "T5: Demanding Alpine Hiking",
48853                         "difficult_alpine_hiking": "T6: Difficult Alpine Hiking"
48854                     }
48855                 },
48856                 "seasonal": {
48857                     "label": "Seasonal"
48858                 },
48859                 "service": {
48860                     "label": "Type"
48861                 },
48862                 "service/bicycle/chaintool": {
48863                     "label": "Chain Tool",
48864                     "options": {
48865                         "undefined": "Assumed to be No",
48866                         "yes": "Yes",
48867                         "no": "No"
48868                     }
48869                 },
48870                 "service/bicycle/pump": {
48871                     "label": "Air Pump",
48872                     "options": {
48873                         "undefined": "Assumed to be No",
48874                         "yes": "Yes",
48875                         "no": "No"
48876                     }
48877                 },
48878                 "shelter": {
48879                     "label": "Shelter"
48880                 },
48881                 "shelter_type": {
48882                     "label": "Type"
48883                 },
48884                 "shop": {
48885                     "label": "Type"
48886                 },
48887                 "sloped_curb": {
48888                     "label": "Sloped Curb"
48889                 },
48890                 "smoking": {
48891                     "label": "Smoking",
48892                     "placeholder": "No, Separated, Yes...",
48893                     "options": {
48894                         "no": "No smoking anywhere",
48895                         "separated": "In smoking areas, not physically isolated",
48896                         "isolated": "In smoking areas, physically isolated",
48897                         "outside": "Allowed outside",
48898                         "yes": "Allowed everywhere",
48899                         "dedicated": "Dedicated to smokers (e.g. smokers' club)"
48900                     }
48901                 },
48902                 "smoothness": {
48903                     "label": "Smoothness",
48904                     "placeholder": "Thin Rollers, Wheels, Off-Road...",
48905                     "options": {
48906                         "excellent": "Thin Rollers: rollerblade, skateboard",
48907                         "good": "Thin Wheels: racing bike",
48908                         "intermediate": "Wheels: city bike, wheelchair, scooter",
48909                         "bad": "Robust Wheels: trekking bike, car, rickshaw",
48910                         "very_bad": "High Clearance: light duty off-road vehicle",
48911                         "horrible": "Off-Road: heavy duty off-road vehicle",
48912                         "very_horrible": "Specialized off-road: tractor, ATV",
48913                         "impassable": "Impassable / No wheeled vehicle"
48914                     }
48915                 },
48916                 "social_facility_for": {
48917                     "label": "People served",
48918                     "placeholder": "Homeless, Disabled, Child, etc"
48919                 },
48920                 "source": {
48921                     "label": "Source"
48922                 },
48923                 "sport": {
48924                     "label": "Sport"
48925                 },
48926                 "sport_ice": {
48927                     "label": "Sport"
48928                 },
48929                 "sport_racing": {
48930                     "label": "Sport"
48931                 },
48932                 "structure": {
48933                     "label": "Structure",
48934                     "placeholder": "Unknown",
48935                     "options": {
48936                         "bridge": "Bridge",
48937                         "tunnel": "Tunnel",
48938                         "embankment": "Embankment",
48939                         "cutting": "Cutting",
48940                         "ford": "Ford"
48941                     }
48942                 },
48943                 "studio_type": {
48944                     "label": "Type"
48945                 },
48946                 "substation": {
48947                     "label": "Type"
48948                 },
48949                 "supervised": {
48950                     "label": "Supervised"
48951                 },
48952                 "surface": {
48953                     "label": "Surface"
48954                 },
48955                 "tactile_paving": {
48956                     "label": "Tactile Paving"
48957                 },
48958                 "takeaway": {
48959                     "label": "Takeaway",
48960                     "placeholder": "Yes, No, Takeaway Only...",
48961                     "options": {
48962                         "yes": "Yes",
48963                         "no": "No",
48964                         "only": "Takeaway Only"
48965                     }
48966                 },
48967                 "toilets/disposal": {
48968                     "label": "Disposal",
48969                     "options": {
48970                         "flush": "Flush",
48971                         "pitlatrine": "Pit/Latrine",
48972                         "chemical": "Chemical",
48973                         "bucket": "Bucket"
48974                     }
48975                 },
48976                 "tourism": {
48977                     "label": "Type"
48978                 },
48979                 "towertype": {
48980                     "label": "Tower type"
48981                 },
48982                 "tracktype": {
48983                     "label": "Track Type",
48984                     "placeholder": "Solid, Mostly Solid, Soft...",
48985                     "options": {
48986                         "grade1": "Solid: paved or heavily compacted hardcore surface",
48987                         "grade2": "Mostly Solid: gravel/rock with some soft material mixed in",
48988                         "grade3": "Even mixture of hard and soft materials",
48989                         "grade4": "Mostly Soft: soil/sand/grass with some hard material mixed in",
48990                         "grade5": "Soft: soil/sand/grass"
48991                     }
48992                 },
48993                 "trail_visibility": {
48994                     "label": "Trail Visibility",
48995                     "placeholder": "Excellent, Good, Bad...",
48996                     "options": {
48997                         "excellent": "Excellent: unambiguous path or markers everywhere",
48998                         "good": "Good: markers visible, sometimes require searching",
48999                         "intermediate": "Intermediate: few markers, path mostly visible",
49000                         "bad": "Bad: no markers, path sometimes invisible/pathless",
49001                         "horrible": "Horrible: often pathless, some orientation skills required",
49002                         "no": "No: pathless, excellent orientation skills required"
49003                     }
49004                 },
49005                 "trees": {
49006                     "label": "Trees"
49007                 },
49008                 "tunnel": {
49009                     "label": "Tunnel"
49010                 },
49011                 "vending": {
49012                     "label": "Type of Goods"
49013                 },
49014                 "water": {
49015                     "label": "Type"
49016                 },
49017                 "waterway": {
49018                     "label": "Type"
49019                 },
49020                 "website": {
49021                     "label": "Website",
49022                     "placeholder": "http://example.com/"
49023                 },
49024                 "wetland": {
49025                     "label": "Type"
49026                 },
49027                 "wheelchair": {
49028                     "label": "Wheelchair Access"
49029                 },
49030                 "width": {
49031                     "label": "Width (Meters)"
49032                 },
49033                 "wikipedia": {
49034                     "label": "Wikipedia"
49035                 }
49036             },
49037             "presets": {
49038                 "address": {
49039                     "name": "Address",
49040                     "terms": ""
49041                 },
49042                 "aerialway": {
49043                     "name": "Aerialway",
49044                     "terms": "ski lift,funifor,funitel"
49045                 },
49046                 "aerialway/cable_car": {
49047                     "name": "Cable Car",
49048                     "terms": "tramway,ropeway"
49049                 },
49050                 "aerialway/chair_lift": {
49051                     "name": "Chair Lift",
49052                     "terms": ""
49053                 },
49054                 "aerialway/gondola": {
49055                     "name": "Gondola",
49056                     "terms": ""
49057                 },
49058                 "aerialway/magic_carpet": {
49059                     "name": "Magic Carpet Lift",
49060                     "terms": ""
49061                 },
49062                 "aerialway/platter": {
49063                     "name": "Platter Lift",
49064                     "terms": "button lift,poma lift"
49065                 },
49066                 "aerialway/pylon": {
49067                     "name": "Aerialway Pylon",
49068                     "terms": ""
49069                 },
49070                 "aerialway/rope_tow": {
49071                     "name": "Rope Tow Lift",
49072                     "terms": "handle tow,bugel lift"
49073                 },
49074                 "aerialway/station": {
49075                     "name": "Aerialway Station",
49076                     "terms": ""
49077                 },
49078                 "aerialway/t-bar": {
49079                     "name": "T-bar Lift",
49080                     "terms": ""
49081                 },
49082                 "aeroway": {
49083                     "name": "Aeroway",
49084                     "terms": ""
49085                 },
49086                 "aeroway/aerodrome": {
49087                     "name": "Airport",
49088                     "terms": "airplane,airport,aerodrome"
49089                 },
49090                 "aeroway/apron": {
49091                     "name": "Apron",
49092                     "terms": "ramp"
49093                 },
49094                 "aeroway/gate": {
49095                     "name": "Airport gate",
49096                     "terms": ""
49097                 },
49098                 "aeroway/hangar": {
49099                     "name": "Hangar",
49100                     "terms": ""
49101                 },
49102                 "aeroway/helipad": {
49103                     "name": "Helipad",
49104                     "terms": "helicopter,helipad,heliport"
49105                 },
49106                 "aeroway/runway": {
49107                     "name": "Runway",
49108                     "terms": "landing strip"
49109                 },
49110                 "aeroway/taxiway": {
49111                     "name": "Taxiway",
49112                     "terms": ""
49113                 },
49114                 "aeroway/terminal": {
49115                     "name": "Airport terminal",
49116                     "terms": "airport,aerodrome"
49117                 },
49118                 "amenity": {
49119                     "name": "Amenity",
49120                     "terms": ""
49121                 },
49122                 "amenity/arts_centre": {
49123                     "name": "Arts Center",
49124                     "terms": ""
49125                 },
49126                 "amenity/atm": {
49127                     "name": "ATM",
49128                     "terms": "money,cash,machine"
49129                 },
49130                 "amenity/bank": {
49131                     "name": "Bank",
49132                     "terms": "credit union,check,deposit,fund,investment,repository,reserve,safe,savings,stock,treasury,trust,vault"
49133                 },
49134                 "amenity/bar": {
49135                     "name": "Bar",
49136                     "terms": "dive,beer,bier,booze"
49137                 },
49138                 "amenity/bbq": {
49139                     "name": "Barbecue/Grill",
49140                     "terms": "bbq"
49141                 },
49142                 "amenity/bench": {
49143                     "name": "Bench",
49144                     "terms": ""
49145                 },
49146                 "amenity/bicycle_parking": {
49147                     "name": "Bicycle Parking",
49148                     "terms": "bike"
49149                 },
49150                 "amenity/bicycle_rental": {
49151                     "name": "Bicycle Rental",
49152                     "terms": "bike"
49153                 },
49154                 "amenity/bicycle_repair_station": {
49155                     "name": "Bicycle Repair Station",
49156                     "terms": "bike"
49157                 },
49158                 "amenity/boat_rental": {
49159                     "name": "Boat Rental",
49160                     "terms": ""
49161                 },
49162                 "amenity/bureau_de_change": {
49163                     "name": "Currency Exchange",
49164                     "terms": "bureau de change,money changer"
49165                 },
49166                 "amenity/bus_station": {
49167                     "name": "Bus Station",
49168                     "terms": ""
49169                 },
49170                 "amenity/cafe": {
49171                     "name": "Cafe",
49172                     "terms": "coffee,tea"
49173                 },
49174                 "amenity/car_rental": {
49175                     "name": "Car Rental",
49176                     "terms": ""
49177                 },
49178                 "amenity/car_sharing": {
49179                     "name": "Car Sharing",
49180                     "terms": ""
49181                 },
49182                 "amenity/car_wash": {
49183                     "name": "Car Wash",
49184                     "terms": ""
49185                 },
49186                 "amenity/charging_station": {
49187                     "name": "Charging Station",
49188                     "terms": "EV,Electric Vehicle,Supercharger"
49189                 },
49190                 "amenity/childcare": {
49191                     "name": "Nursery/Childcare",
49192                     "terms": "daycare,orphanage,playgroup"
49193                 },
49194                 "amenity/cinema": {
49195                     "name": "Cinema",
49196                     "terms": "drive-in,film,flick,movie,theater,picture,show,screen"
49197                 },
49198                 "amenity/clinic": {
49199                     "name": "Clinic",
49200                     "terms": "medical,urgentcare"
49201                 },
49202                 "amenity/clock": {
49203                     "name": "Clock",
49204                     "terms": ""
49205                 },
49206                 "amenity/college": {
49207                     "name": "College Grounds",
49208                     "terms": "university"
49209                 },
49210                 "amenity/community_centre": {
49211                     "name": "Community Center",
49212                     "terms": "event,hall"
49213                 },
49214                 "amenity/compressed_air": {
49215                     "name": "Compressed Air",
49216                     "terms": ""
49217                 },
49218                 "amenity/courthouse": {
49219                     "name": "Courthouse",
49220                     "terms": ""
49221                 },
49222                 "amenity/dentist": {
49223                     "name": "Dentist",
49224                     "terms": "tooth,teeth"
49225                 },
49226                 "amenity/doctor": {
49227                     "name": "Doctor",
49228                     "terms": "medic*"
49229                 },
49230                 "amenity/dojo": {
49231                     "name": "Dojo / Martial Arts Academy",
49232                     "terms": "martial arts,dojang"
49233                 },
49234                 "amenity/drinking_water": {
49235                     "name": "Drinking Water",
49236                     "terms": "fountain,potable"
49237                 },
49238                 "amenity/embassy": {
49239                     "name": "Embassy",
49240                     "terms": ""
49241                 },
49242                 "amenity/fast_food": {
49243                     "name": "Fast Food",
49244                     "terms": "restaurant"
49245                 },
49246                 "amenity/fire_station": {
49247                     "name": "Fire Station",
49248                     "terms": ""
49249                 },
49250                 "amenity/fountain": {
49251                     "name": "Fountain",
49252                     "terms": ""
49253                 },
49254                 "amenity/fuel": {
49255                     "name": "Gas Station",
49256                     "terms": "petrol,fuel,propane,diesel,lng,cng,biodiesel"
49257                 },
49258                 "amenity/grave_yard": {
49259                     "name": "Graveyard",
49260                     "terms": ""
49261                 },
49262                 "amenity/grit_bin": {
49263                     "name": "Grit Bin",
49264                     "terms": "salt,sand"
49265                 },
49266                 "amenity/hospital": {
49267                     "name": "Hospital Grounds",
49268                     "terms": "clinic,doctor,emergency room,health service,hospice,infirmary,institution,nursing home,sanatorium,sanitarium,sick,surgery,ward"
49269                 },
49270                 "amenity/kindergarten": {
49271                     "name": "Preschool/Kindergarten Grounds",
49272                     "terms": "kindergarden,pre-school"
49273                 },
49274                 "amenity/library": {
49275                     "name": "Library",
49276                     "terms": "book"
49277                 },
49278                 "amenity/marketplace": {
49279                     "name": "Marketplace",
49280                     "terms": ""
49281                 },
49282                 "amenity/nightclub": {
49283                     "name": "Nightclub",
49284                     "terms": "disco*,night club,dancing,dance club"
49285                 },
49286                 "amenity/parking": {
49287                     "name": "Car Parking",
49288                     "terms": ""
49289                 },
49290                 "amenity/parking_entrance": {
49291                     "name": "Parking Garage Entrance/Exit",
49292                     "terms": ""
49293                 },
49294                 "amenity/pharmacy": {
49295                     "name": "Pharmacy",
49296                     "terms": "drug,medicine"
49297                 },
49298                 "amenity/place_of_worship": {
49299                     "name": "Place of Worship",
49300                     "terms": "abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"
49301                 },
49302                 "amenity/place_of_worship/buddhist": {
49303                     "name": "Buddhist Temple",
49304                     "terms": "stupa,vihara,monastery,temple,pagoda,zendo,dojo"
49305                 },
49306                 "amenity/place_of_worship/christian": {
49307                     "name": "Church",
49308                     "terms": "christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"
49309                 },
49310                 "amenity/place_of_worship/jewish": {
49311                     "name": "Synagogue",
49312                     "terms": "jewish"
49313                 },
49314                 "amenity/place_of_worship/muslim": {
49315                     "name": "Mosque",
49316                     "terms": "muslim"
49317                 },
49318                 "amenity/police": {
49319                     "name": "Police",
49320                     "terms": "badge,constable,constabulary,cop,detective,fed,law,enforcement,officer,patrol"
49321                 },
49322                 "amenity/post_box": {
49323                     "name": "Mailbox",
49324                     "terms": "letter,post"
49325                 },
49326                 "amenity/post_office": {
49327                     "name": "Post Office",
49328                     "terms": "letter,mail"
49329                 },
49330                 "amenity/pub": {
49331                     "name": "Pub",
49332                     "terms": "dive,beer,bier,booze"
49333                 },
49334                 "amenity/public_bookcase": {
49335                     "name": "Public Bookcase",
49336                     "terms": "library,bookcrossing"
49337                 },
49338                 "amenity/ranger_station": {
49339                     "name": "Ranger Station",
49340                     "terms": "visitor center,visitor centre,permit center,permit centre,backcountry office,warden office,warden center"
49341                 },
49342                 "amenity/recycling": {
49343                     "name": "Recycling",
49344                     "terms": "can,bottle,garbage,scrap,trash"
49345                 },
49346                 "amenity/register_office": {
49347                     "name": "Register Office",
49348                     "terms": ""
49349                 },
49350                 "amenity/restaurant": {
49351                     "name": "Restaurant",
49352                     "terms": "bar,breakfast,cafe,café,canteen,coffee,dine,dining,dinner,drive-in,eat,grill,lunch,table"
49353                 },
49354                 "amenity/school": {
49355                     "name": "School Grounds",
49356                     "terms": "academy,elementary school,middle school,high school"
49357                 },
49358                 "amenity/shelter": {
49359                     "name": "Shelter",
49360                     "terms": "lean-to,gazebo,picnic"
49361                 },
49362                 "amenity/social_facility": {
49363                     "name": "Social Facility",
49364                     "terms": ""
49365                 },
49366                 "amenity/social_facility/food_bank": {
49367                     "name": "Food Bank",
49368                     "terms": ""
49369                 },
49370                 "amenity/social_facility/group_home": {
49371                     "name": "Elderly Group Home",
49372                     "terms": "old,senior,living"
49373                 },
49374                 "amenity/social_facility/homeless_shelter": {
49375                     "name": "Homeless Shelter",
49376                     "terms": "houseless,unhoused,displaced"
49377                 },
49378                 "amenity/studio": {
49379                     "name": "Studio",
49380                     "terms": "recording,radio,television"
49381                 },
49382                 "amenity/swimming_pool": {
49383                     "name": "Swimming Pool",
49384                     "terms": ""
49385                 },
49386                 "amenity/taxi": {
49387                     "name": "Taxi Stand",
49388                     "terms": "cab"
49389                 },
49390                 "amenity/telephone": {
49391                     "name": "Telephone",
49392                     "terms": "phone"
49393                 },
49394                 "amenity/theatre": {
49395                     "name": "Theater",
49396                     "terms": "theatre,performance,play,musical"
49397                 },
49398                 "amenity/toilets": {
49399                     "name": "Toilets",
49400                     "terms": "bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C."
49401                 },
49402                 "amenity/townhall": {
49403                     "name": "Town Hall",
49404                     "terms": "village,city,government,courthouse,municipal"
49405                 },
49406                 "amenity/university": {
49407                     "name": "University Grounds",
49408                     "terms": "college"
49409                 },
49410                 "amenity/vending_machine": {
49411                     "name": "Vending Machine",
49412                     "terms": "snack,soda,ticket"
49413                 },
49414                 "amenity/veterinary": {
49415                     "name": "Veterinary",
49416                     "terms": "pet clinic,veterinarian,animal hospital,pet doctor"
49417                 },
49418                 "amenity/waste_basket": {
49419                     "name": "Waste Basket",
49420                     "terms": "rubbish,litter,trash,garbage"
49421                 },
49422                 "area": {
49423                     "name": "Area",
49424                     "terms": ""
49425                 },
49426                 "barrier": {
49427                     "name": "Barrier",
49428                     "terms": ""
49429                 },
49430                 "barrier/block": {
49431                     "name": "Block",
49432                     "terms": ""
49433                 },
49434                 "barrier/bollard": {
49435                     "name": "Bollard",
49436                     "terms": ""
49437                 },
49438                 "barrier/cattle_grid": {
49439                     "name": "Cattle Grid",
49440                     "terms": ""
49441                 },
49442                 "barrier/city_wall": {
49443                     "name": "City Wall",
49444                     "terms": ""
49445                 },
49446                 "barrier/cycle_barrier": {
49447                     "name": "Cycle Barrier",
49448                     "terms": ""
49449                 },
49450                 "barrier/ditch": {
49451                     "name": "Ditch",
49452                     "terms": ""
49453                 },
49454                 "barrier/entrance": {
49455                     "name": "Entrance",
49456                     "terms": ""
49457                 },
49458                 "barrier/fence": {
49459                     "name": "Fence",
49460                     "terms": ""
49461                 },
49462                 "barrier/gate": {
49463                     "name": "Gate",
49464                     "terms": ""
49465                 },
49466                 "barrier/hedge": {
49467                     "name": "Hedge",
49468                     "terms": ""
49469                 },
49470                 "barrier/kissing_gate": {
49471                     "name": "Kissing Gate",
49472                     "terms": ""
49473                 },
49474                 "barrier/lift_gate": {
49475                     "name": "Lift Gate",
49476                     "terms": ""
49477                 },
49478                 "barrier/retaining_wall": {
49479                     "name": "Retaining Wall",
49480                     "terms": ""
49481                 },
49482                 "barrier/stile": {
49483                     "name": "Stile",
49484                     "terms": ""
49485                 },
49486                 "barrier/toll_booth": {
49487                     "name": "Toll Booth",
49488                     "terms": ""
49489                 },
49490                 "barrier/wall": {
49491                     "name": "Wall",
49492                     "terms": ""
49493                 },
49494                 "boundary/administrative": {
49495                     "name": "Administrative Boundary",
49496                     "terms": ""
49497                 },
49498                 "building": {
49499                     "name": "Building",
49500                     "terms": ""
49501                 },
49502                 "building/apartments": {
49503                     "name": "Apartments",
49504                     "terms": ""
49505                 },
49506                 "building/barn": {
49507                     "name": "Barn",
49508                     "terms": ""
49509                 },
49510                 "building/bunker": {
49511                     "name": "Bunker",
49512                     "terms": ""
49513                 },
49514                 "building/cabin": {
49515                     "name": "Cabin",
49516                     "terms": ""
49517                 },
49518                 "building/cathedral": {
49519                     "name": "Cathedral",
49520                     "terms": ""
49521                 },
49522                 "building/chapel": {
49523                     "name": "Chapel",
49524                     "terms": ""
49525                 },
49526                 "building/church": {
49527                     "name": "Church",
49528                     "terms": ""
49529                 },
49530                 "building/college": {
49531                     "name": "College Building",
49532                     "terms": "university"
49533                 },
49534                 "building/commercial": {
49535                     "name": "Commercial Building",
49536                     "terms": ""
49537                 },
49538                 "building/construction": {
49539                     "name": "Building Under Construction",
49540                     "terms": ""
49541                 },
49542                 "building/detached": {
49543                     "name": "Detached Home",
49544                     "terms": ""
49545                 },
49546                 "building/dormitory": {
49547                     "name": "Dormitory",
49548                     "terms": ""
49549                 },
49550                 "building/entrance": {
49551                     "name": "Entrance/Exit",
49552                     "terms": ""
49553                 },
49554                 "building/garage": {
49555                     "name": "Garage",
49556                     "terms": ""
49557                 },
49558                 "building/garages": {
49559                     "name": "Garages",
49560                     "terms": ""
49561                 },
49562                 "building/greenhouse": {
49563                     "name": "Greenhouse",
49564                     "terms": ""
49565                 },
49566                 "building/hospital": {
49567                     "name": "Hospital Building",
49568                     "terms": ""
49569                 },
49570                 "building/hotel": {
49571                     "name": "Hotel Building",
49572                     "terms": ""
49573                 },
49574                 "building/house": {
49575                     "name": "House",
49576                     "terms": ""
49577                 },
49578                 "building/hut": {
49579                     "name": "Hut",
49580                     "terms": ""
49581                 },
49582                 "building/industrial": {
49583                     "name": "Industrial Building",
49584                     "terms": ""
49585                 },
49586                 "building/kindergarten": {
49587                     "name": "Preschool/Kindergarten Building",
49588                     "terms": "kindergarden,pre-school"
49589                 },
49590                 "building/public": {
49591                     "name": "Public Building",
49592                     "terms": ""
49593                 },
49594                 "building/residential": {
49595                     "name": "Residential Building",
49596                     "terms": ""
49597                 },
49598                 "building/retail": {
49599                     "name": "Retail Building",
49600                     "terms": ""
49601                 },
49602                 "building/roof": {
49603                     "name": "Roof",
49604                     "terms": ""
49605                 },
49606                 "building/school": {
49607                     "name": "School Building",
49608                     "terms": "academy,elementary school,middle school,high school"
49609                 },
49610                 "building/shed": {
49611                     "name": "Shed",
49612                     "terms": ""
49613                 },
49614                 "building/stable": {
49615                     "name": "Stable",
49616                     "terms": ""
49617                 },
49618                 "building/static_caravan": {
49619                     "name": "Static Mobile Home",
49620                     "terms": ""
49621                 },
49622                 "building/terrace": {
49623                     "name": "Row Houses",
49624                     "terms": ""
49625                 },
49626                 "building/train_station": {
49627                     "name": "Train Station",
49628                     "terms": ""
49629                 },
49630                 "building/university": {
49631                     "name": "University Building",
49632                     "terms": "college"
49633                 },
49634                 "building/warehouse": {
49635                     "name": "Warehouse",
49636                     "terms": ""
49637                 },
49638                 "craft": {
49639                     "name": "Craft",
49640                     "terms": ""
49641                 },
49642                 "craft/basket_maker": {
49643                     "name": "Basket Maker",
49644                     "terms": ""
49645                 },
49646                 "craft/beekeeper": {
49647                     "name": "Beekeeper",
49648                     "terms": ""
49649                 },
49650                 "craft/blacksmith": {
49651                     "name": "Blacksmith",
49652                     "terms": ""
49653                 },
49654                 "craft/boatbuilder": {
49655                     "name": "Boat Builder",
49656                     "terms": ""
49657                 },
49658                 "craft/bookbinder": {
49659                     "name": "Bookbinder",
49660                     "terms": "book repair"
49661                 },
49662                 "craft/brewery": {
49663                     "name": "Brewery",
49664                     "terms": "beer,bier"
49665                 },
49666                 "craft/carpenter": {
49667                     "name": "Carpenter",
49668                     "terms": "woodworker"
49669                 },
49670                 "craft/carpet_layer": {
49671                     "name": "Carpet Layer",
49672                     "terms": ""
49673                 },
49674                 "craft/caterer": {
49675                     "name": "Caterer",
49676                     "terms": ""
49677                 },
49678                 "craft/clockmaker": {
49679                     "name": "Clockmaker",
49680                     "terms": ""
49681                 },
49682                 "craft/confectionery": {
49683                     "name": "Confectionery",
49684                     "terms": "sweets,candy"
49685                 },
49686                 "craft/dressmaker": {
49687                     "name": "Dressmaker",
49688                     "terms": "seamstress"
49689                 },
49690                 "craft/electrician": {
49691                     "name": "Electrician",
49692                     "terms": "power,wire"
49693                 },
49694                 "craft/gardener": {
49695                     "name": "Gardener",
49696                     "terms": "landscaper,grounds keeper"
49697                 },
49698                 "craft/glaziery": {
49699                     "name": "Glaziery",
49700                     "terms": "glass,stained-glass,window"
49701                 },
49702                 "craft/handicraft": {
49703                     "name": "Handicraft",
49704                     "terms": ""
49705                 },
49706                 "craft/hvac": {
49707                     "name": "HVAC",
49708                     "terms": "heat*,vent*,air conditioning"
49709                 },
49710                 "craft/insulator": {
49711                     "name": "Insulator",
49712                     "terms": ""
49713                 },
49714                 "craft/jeweler": {
49715                     "name": "Jeweler",
49716                     "terms": ""
49717                 },
49718                 "craft/key_cutter": {
49719                     "name": "Key Cutter",
49720                     "terms": ""
49721                 },
49722                 "craft/locksmith": {
49723                     "name": "Locksmith",
49724                     "terms": ""
49725                 },
49726                 "craft/metal_construction": {
49727                     "name": "Metal Construction",
49728                     "terms": ""
49729                 },
49730                 "craft/optician": {
49731                     "name": "Optician",
49732                     "terms": ""
49733                 },
49734                 "craft/painter": {
49735                     "name": "Painter",
49736                     "terms": ""
49737                 },
49738                 "craft/photographer": {
49739                     "name": "Photographer",
49740                     "terms": ""
49741                 },
49742                 "craft/photographic_laboratory": {
49743                     "name": "Photographic Laboratory",
49744                     "terms": "film"
49745                 },
49746                 "craft/plasterer": {
49747                     "name": "Plasterer",
49748                     "terms": ""
49749                 },
49750                 "craft/plumber": {
49751                     "name": "Plumber",
49752                     "terms": "pipe"
49753                 },
49754                 "craft/pottery": {
49755                     "name": "Pottery",
49756                     "terms": "ceramic"
49757                 },
49758                 "craft/rigger": {
49759                     "name": "Rigger",
49760                     "terms": ""
49761                 },
49762                 "craft/roofer": {
49763                     "name": "Roofer",
49764                     "terms": ""
49765                 },
49766                 "craft/saddler": {
49767                     "name": "Saddler",
49768                     "terms": ""
49769                 },
49770                 "craft/sailmaker": {
49771                     "name": "Sailmaker",
49772                     "terms": ""
49773                 },
49774                 "craft/sawmill": {
49775                     "name": "Sawmill",
49776                     "terms": "lumber"
49777                 },
49778                 "craft/scaffolder": {
49779                     "name": "Scaffolder",
49780                     "terms": ""
49781                 },
49782                 "craft/sculpter": {
49783                     "name": "Sculpter",
49784                     "terms": ""
49785                 },
49786                 "craft/shoemaker": {
49787                     "name": "Shoemaker",
49788                     "terms": "cobbler"
49789                 },
49790                 "craft/stonemason": {
49791                     "name": "Stonemason",
49792                     "terms": "masonry"
49793                 },
49794                 "craft/sweep": {
49795                     "name": "Chimney Sweep",
49796                     "terms": ""
49797                 },
49798                 "craft/tailor": {
49799                     "name": "Tailor",
49800                     "terms": "clothes,suit"
49801                 },
49802                 "craft/tiler": {
49803                     "name": "Tiler",
49804                     "terms": ""
49805                 },
49806                 "craft/tinsmith": {
49807                     "name": "Tinsmith",
49808                     "terms": ""
49809                 },
49810                 "craft/upholsterer": {
49811                     "name": "Upholsterer",
49812                     "terms": ""
49813                 },
49814                 "craft/watchmaker": {
49815                     "name": "Watchmaker",
49816                     "terms": ""
49817                 },
49818                 "craft/window_construction": {
49819                     "name": "Window Construction",
49820                     "terms": "glass"
49821                 },
49822                 "craft/winery": {
49823                     "name": "Winery",
49824                     "terms": ""
49825                 },
49826                 "embankment": {
49827                     "name": "Embankment",
49828                     "terms": ""
49829                 },
49830                 "emergency/ambulance_station": {
49831                     "name": "Ambulance Station",
49832                     "terms": "EMS,EMT,rescue"
49833                 },
49834                 "emergency/fire_hydrant": {
49835                     "name": "Fire Hydrant",
49836                     "terms": ""
49837                 },
49838                 "emergency/phone": {
49839                     "name": "Emergency Phone",
49840                     "terms": ""
49841                 },
49842                 "entrance": {
49843                     "name": "Entrance/Exit",
49844                     "terms": ""
49845                 },
49846                 "footway/crossing": {
49847                     "name": "Crossing",
49848                     "terms": ""
49849                 },
49850                 "footway/crosswalk": {
49851                     "name": "Crosswalk",
49852                     "terms": "zebra crossing"
49853                 },
49854                 "footway/sidewalk": {
49855                     "name": "Sidewalk",
49856                     "terms": ""
49857                 },
49858                 "ford": {
49859                     "name": "Ford",
49860                     "terms": ""
49861                 },
49862                 "golf/bunker": {
49863                     "name": "Sand Trap",
49864                     "terms": "hazard,bunker"
49865                 },
49866                 "golf/fairway": {
49867                     "name": "Fairway",
49868                     "terms": ""
49869                 },
49870                 "golf/green": {
49871                     "name": "Putting Green",
49872                     "terms": ""
49873                 },
49874                 "golf/hole": {
49875                     "name": "Golf Hole",
49876                     "terms": ""
49877                 },
49878                 "golf/lateral_water_hazard": {
49879                     "name": "Lateral Water Hazard",
49880                     "terms": ""
49881                 },
49882                 "golf/rough": {
49883                     "name": "Rough",
49884                     "terms": ""
49885                 },
49886                 "golf/tee": {
49887                     "name": "Tee Box",
49888                     "terms": "teeing ground"
49889                 },
49890                 "golf/water_hazard": {
49891                     "name": "Water Hazard",
49892                     "terms": ""
49893                 },
49894                 "highway": {
49895                     "name": "Highway",
49896                     "terms": ""
49897                 },
49898                 "highway/bridleway": {
49899                     "name": "Bridle Path",
49900                     "terms": "bridleway,equestrian,horse"
49901                 },
49902                 "highway/bus_stop": {
49903                     "name": "Bus Stop",
49904                     "terms": ""
49905                 },
49906                 "highway/crossing": {
49907                     "name": "Crossing",
49908                     "terms": ""
49909                 },
49910                 "highway/crosswalk": {
49911                     "name": "Crosswalk",
49912                     "terms": "zebra crossing"
49913                 },
49914                 "highway/cycleway": {
49915                     "name": "Cycle Path",
49916                     "terms": "bike"
49917                 },
49918                 "highway/footway": {
49919                     "name": "Foot Path",
49920                     "terms": "hike,hiking,trackway,trail,walk"
49921                 },
49922                 "highway/living_street": {
49923                     "name": "Living Street",
49924                     "terms": ""
49925                 },
49926                 "highway/mini_roundabout": {
49927                     "name": "Mini-Roundabout",
49928                     "terms": ""
49929                 },
49930                 "highway/motorway": {
49931                     "name": "Motorway",
49932                     "terms": ""
49933                 },
49934                 "highway/motorway_junction": {
49935                     "name": "Motorway Junction / Exit",
49936                     "terms": ""
49937                 },
49938                 "highway/motorway_link": {
49939                     "name": "Motorway Link",
49940                     "terms": "ramp,on ramp,off ramp"
49941                 },
49942                 "highway/path": {
49943                     "name": "Path",
49944                     "terms": "hike,hiking,trackway,trail,walk"
49945                 },
49946                 "highway/pedestrian": {
49947                     "name": "Pedestrian",
49948                     "terms": ""
49949                 },
49950                 "highway/primary": {
49951                     "name": "Primary Road",
49952                     "terms": ""
49953                 },
49954                 "highway/primary_link": {
49955                     "name": "Primary Link",
49956                     "terms": "ramp,on ramp,off ramp"
49957                 },
49958                 "highway/raceway": {
49959                     "name": "Motor Raceway",
49960                     "terms": "auto*,race*,nascar"
49961                 },
49962                 "highway/residential": {
49963                     "name": "Residential Road",
49964                     "terms": ""
49965                 },
49966                 "highway/rest_area": {
49967                     "name": "Rest Area",
49968                     "terms": "rest stop"
49969                 },
49970                 "highway/road": {
49971                     "name": "Unknown Road",
49972                     "terms": ""
49973                 },
49974                 "highway/secondary": {
49975                     "name": "Secondary Road",
49976                     "terms": ""
49977                 },
49978                 "highway/secondary_link": {
49979                     "name": "Secondary Link",
49980                     "terms": "ramp,on ramp,off ramp"
49981                 },
49982                 "highway/service": {
49983                     "name": "Service Road",
49984                     "terms": ""
49985                 },
49986                 "highway/service/alley": {
49987                     "name": "Alley",
49988                     "terms": ""
49989                 },
49990                 "highway/service/drive-through": {
49991                     "name": "Drive-Through",
49992                     "terms": ""
49993                 },
49994                 "highway/service/driveway": {
49995                     "name": "Driveway",
49996                     "terms": ""
49997                 },
49998                 "highway/service/emergency_access": {
49999                     "name": "Emergency Access",
50000                     "terms": ""
50001                 },
50002                 "highway/service/parking_aisle": {
50003                     "name": "Parking Aisle",
50004                     "terms": ""
50005                 },
50006                 "highway/services": {
50007                     "name": "Service Area",
50008                     "terms": "services,travel plaza,service station"
50009                 },
50010                 "highway/steps": {
50011                     "name": "Steps",
50012                     "terms": "stairs,staircase"
50013                 },
50014                 "highway/stop": {
50015                     "name": "Stop Sign",
50016                     "terms": "stop sign"
50017                 },
50018                 "highway/street_lamp": {
50019                     "name": "Street Lamp",
50020                     "terms": "streetlight,street light,lamp,light,gaslight"
50021                 },
50022                 "highway/tertiary": {
50023                     "name": "Tertiary Road",
50024                     "terms": ""
50025                 },
50026                 "highway/tertiary_link": {
50027                     "name": "Tertiary Link",
50028                     "terms": "ramp,on ramp,off ramp"
50029                 },
50030                 "highway/track": {
50031                     "name": "Track",
50032                     "terms": "woods road,fire road"
50033                 },
50034                 "highway/traffic_signals": {
50035                     "name": "Traffic Signals",
50036                     "terms": "light,stoplight,traffic light"
50037                 },
50038                 "highway/trunk": {
50039                     "name": "Trunk Road",
50040                     "terms": ""
50041                 },
50042                 "highway/trunk_link": {
50043                     "name": "Trunk Link",
50044                     "terms": "ramp,on ramp,off ramp"
50045                 },
50046                 "highway/turning_circle": {
50047                     "name": "Turning Circle",
50048                     "terms": "cul-de-sac"
50049                 },
50050                 "highway/unclassified": {
50051                     "name": "Unclassified Road",
50052                     "terms": ""
50053                 },
50054                 "historic": {
50055                     "name": "Historic Site",
50056                     "terms": ""
50057                 },
50058                 "historic/archaeological_site": {
50059                     "name": "Archaeological Site",
50060                     "terms": ""
50061                 },
50062                 "historic/boundary_stone": {
50063                     "name": "Boundary Stone",
50064                     "terms": ""
50065                 },
50066                 "historic/castle": {
50067                     "name": "Castle",
50068                     "terms": ""
50069                 },
50070                 "historic/memorial": {
50071                     "name": "Memorial",
50072                     "terms": ""
50073                 },
50074                 "historic/monument": {
50075                     "name": "Monument",
50076                     "terms": ""
50077                 },
50078                 "historic/ruins": {
50079                     "name": "Ruins",
50080                     "terms": ""
50081                 },
50082                 "historic/wayside_cross": {
50083                     "name": "Wayside Cross",
50084                     "terms": ""
50085                 },
50086                 "historic/wayside_shrine": {
50087                     "name": "Wayside Shrine",
50088                     "terms": ""
50089                 },
50090                 "junction": {
50091                     "name": "Junction",
50092                     "terms": ""
50093                 },
50094                 "landuse": {
50095                     "name": "Landuse",
50096                     "terms": ""
50097                 },
50098                 "landuse/allotments": {
50099                     "name": "Allotments",
50100                     "terms": ""
50101                 },
50102                 "landuse/basin": {
50103                     "name": "Basin",
50104                     "terms": ""
50105                 },
50106                 "landuse/cemetery": {
50107                     "name": "Cemetery",
50108                     "terms": ""
50109                 },
50110                 "landuse/churchyard": {
50111                     "name": "Churchyard",
50112                     "terms": ""
50113                 },
50114                 "landuse/commercial": {
50115                     "name": "Commercial Area",
50116                     "terms": ""
50117                 },
50118                 "landuse/construction": {
50119                     "name": "Construction",
50120                     "terms": ""
50121                 },
50122                 "landuse/farm": {
50123                     "name": "Farmland",
50124                     "terms": ""
50125                 },
50126                 "landuse/farmland": {
50127                     "name": "Farmland",
50128                     "terms": ""
50129                 },
50130                 "landuse/farmyard": {
50131                     "name": "Farmyard",
50132                     "terms": ""
50133                 },
50134                 "landuse/forest": {
50135                     "name": "Forest",
50136                     "terms": "tree"
50137                 },
50138                 "landuse/garages": {
50139                     "name": "Garages",
50140                     "terms": ""
50141                 },
50142                 "landuse/grass": {
50143                     "name": "Grass",
50144                     "terms": ""
50145                 },
50146                 "landuse/industrial": {
50147                     "name": "Industrial Area",
50148                     "terms": ""
50149                 },
50150                 "landuse/landfill": {
50151                     "name": "Landfill",
50152                     "terms": "dump"
50153                 },
50154                 "landuse/meadow": {
50155                     "name": "Meadow",
50156                     "terms": ""
50157                 },
50158                 "landuse/military": {
50159                     "name": "Military Area",
50160                     "terms": ""
50161                 },
50162                 "landuse/orchard": {
50163                     "name": "Orchard",
50164                     "terms": ""
50165                 },
50166                 "landuse/quarry": {
50167                     "name": "Quarry",
50168                     "terms": ""
50169                 },
50170                 "landuse/residential": {
50171                     "name": "Residential Area",
50172                     "terms": ""
50173                 },
50174                 "landuse/retail": {
50175                     "name": "Retail Area",
50176                     "terms": ""
50177                 },
50178                 "landuse/vineyard": {
50179                     "name": "Vineyard",
50180                     "terms": ""
50181                 },
50182                 "leisure": {
50183                     "name": "Leisure",
50184                     "terms": ""
50185                 },
50186                 "leisure/common": {
50187                     "name": "Common",
50188                     "terms": "open space"
50189                 },
50190                 "leisure/dog_park": {
50191                     "name": "Dog Park",
50192                     "terms": ""
50193                 },
50194                 "leisure/firepit": {
50195                     "name": "Firepit",
50196                     "terms": "fireplace,campfire"
50197                 },
50198                 "leisure/garden": {
50199                     "name": "Garden",
50200                     "terms": ""
50201                 },
50202                 "leisure/golf_course": {
50203                     "name": "Golf Course",
50204                     "terms": "links"
50205                 },
50206                 "leisure/ice_rink": {
50207                     "name": "Ice Rink",
50208                     "terms": "hockey,skating,curling"
50209                 },
50210                 "leisure/marina": {
50211                     "name": "Marina",
50212                     "terms": "boat"
50213                 },
50214                 "leisure/nature_reserve": {
50215                     "name": "Nature Reserve",
50216                     "terms": "protected,wildlife"
50217                 },
50218                 "leisure/park": {
50219                     "name": "Park",
50220                     "terms": "esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"
50221                 },
50222                 "leisure/picnic_table": {
50223                     "name": "Picnic Table",
50224                     "terms": "bench"
50225                 },
50226                 "leisure/pitch": {
50227                     "name": "Sport Pitch",
50228                     "terms": "field"
50229                 },
50230                 "leisure/pitch/american_football": {
50231                     "name": "American Football Field",
50232                     "terms": ""
50233                 },
50234                 "leisure/pitch/baseball": {
50235                     "name": "Baseball Diamond",
50236                     "terms": ""
50237                 },
50238                 "leisure/pitch/basketball": {
50239                     "name": "Basketball Court",
50240                     "terms": ""
50241                 },
50242                 "leisure/pitch/skateboard": {
50243                     "name": "Skate Park",
50244                     "terms": ""
50245                 },
50246                 "leisure/pitch/soccer": {
50247                     "name": "Soccer Field",
50248                     "terms": ""
50249                 },
50250                 "leisure/pitch/tennis": {
50251                     "name": "Tennis Court",
50252                     "terms": ""
50253                 },
50254                 "leisure/pitch/volleyball": {
50255                     "name": "Volleyball Court",
50256                     "terms": ""
50257                 },
50258                 "leisure/playground": {
50259                     "name": "Playground",
50260                     "terms": "jungle gym,play area"
50261                 },
50262                 "leisure/running_track": {
50263                     "name": "Running Track",
50264                     "terms": ""
50265                 },
50266                 "leisure/slipway": {
50267                     "name": "Slipway",
50268                     "terms": "boat launch,boat ramp"
50269                 },
50270                 "leisure/sports_center": {
50271                     "name": "Sports Center / Gym",
50272                     "terms": "gym"
50273                 },
50274                 "leisure/stadium": {
50275                     "name": "Stadium",
50276                     "terms": ""
50277                 },
50278                 "leisure/swimming_pool": {
50279                     "name": "Swimming Pool",
50280                     "terms": ""
50281                 },
50282                 "leisure/track": {
50283                     "name": "Racetrack (non-Motorsport)",
50284                     "terms": ""
50285                 },
50286                 "line": {
50287                     "name": "Line",
50288                     "terms": ""
50289                 },
50290                 "man_made": {
50291                     "name": "Man Made",
50292                     "terms": ""
50293                 },
50294                 "man_made/breakwater": {
50295                     "name": "Breakwater",
50296                     "terms": ""
50297                 },
50298                 "man_made/cutline": {
50299                     "name": "Cut line",
50300                     "terms": ""
50301                 },
50302                 "man_made/embankment": {
50303                     "name": "Embankment",
50304                     "terms": ""
50305                 },
50306                 "man_made/flagpole": {
50307                     "name": "Flagpole",
50308                     "terms": ""
50309                 },
50310                 "man_made/lighthouse": {
50311                     "name": "Lighthouse",
50312                     "terms": ""
50313                 },
50314                 "man_made/observation": {
50315                     "name": "Observation Tower",
50316                     "terms": "lookout tower,fire tower"
50317                 },
50318                 "man_made/pier": {
50319                     "name": "Pier",
50320                     "terms": ""
50321                 },
50322                 "man_made/pipeline": {
50323                     "name": "Pipeline",
50324                     "terms": ""
50325                 },
50326                 "man_made/survey_point": {
50327                     "name": "Survey Point",
50328                     "terms": ""
50329                 },
50330                 "man_made/tower": {
50331                     "name": "Tower",
50332                     "terms": ""
50333                 },
50334                 "man_made/wastewater_plant": {
50335                     "name": "Wastewater Plant",
50336                     "terms": "sewage*,water treatment plant,reclamation plant"
50337                 },
50338                 "man_made/water_tower": {
50339                     "name": "Water Tower",
50340                     "terms": ""
50341                 },
50342                 "man_made/water_well": {
50343                     "name": "Water Well",
50344                     "terms": ""
50345                 },
50346                 "man_made/water_works": {
50347                     "name": "Water Works",
50348                     "terms": ""
50349                 },
50350                 "military/airfield": {
50351                     "name": "Airfield",
50352                     "terms": ""
50353                 },
50354                 "military/barracks": {
50355                     "name": "Barracks",
50356                     "terms": ""
50357                 },
50358                 "military/bunker": {
50359                     "name": "Bunker",
50360                     "terms": ""
50361                 },
50362                 "military/range": {
50363                     "name": "Military Range",
50364                     "terms": ""
50365                 },
50366                 "natural": {
50367                     "name": "Natural",
50368                     "terms": ""
50369                 },
50370                 "natural/bay": {
50371                     "name": "Bay",
50372                     "terms": ""
50373                 },
50374                 "natural/beach": {
50375                     "name": "Beach",
50376                     "terms": ""
50377                 },
50378                 "natural/cave_entrance": {
50379                     "name": "Cave Entrance",
50380                     "terms": ""
50381                 },
50382                 "natural/cliff": {
50383                     "name": "Cliff",
50384                     "terms": ""
50385                 },
50386                 "natural/coastline": {
50387                     "name": "Coastline",
50388                     "terms": "shore"
50389                 },
50390                 "natural/fell": {
50391                     "name": "Fell",
50392                     "terms": ""
50393                 },
50394                 "natural/glacier": {
50395                     "name": "Glacier",
50396                     "terms": ""
50397                 },
50398                 "natural/grassland": {
50399                     "name": "Grassland",
50400                     "terms": ""
50401                 },
50402                 "natural/heath": {
50403                     "name": "Heath",
50404                     "terms": ""
50405                 },
50406                 "natural/peak": {
50407                     "name": "Peak",
50408                     "terms": "acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"
50409                 },
50410                 "natural/scree": {
50411                     "name": "Scree",
50412                     "terms": "loose rocks"
50413                 },
50414                 "natural/scrub": {
50415                     "name": "Scrub",
50416                     "terms": ""
50417                 },
50418                 "natural/spring": {
50419                     "name": "Spring",
50420                     "terms": ""
50421                 },
50422                 "natural/tree": {
50423                     "name": "Tree",
50424                     "terms": ""
50425                 },
50426                 "natural/water": {
50427                     "name": "Water",
50428                     "terms": ""
50429                 },
50430                 "natural/water/lake": {
50431                     "name": "Lake",
50432                     "terms": "lakelet,loch,mere"
50433                 },
50434                 "natural/water/pond": {
50435                     "name": "Pond",
50436                     "terms": "lakelet,millpond,tarn,pool,mere"
50437                 },
50438                 "natural/water/reservoir": {
50439                     "name": "Reservoir",
50440                     "terms": ""
50441                 },
50442                 "natural/wetland": {
50443                     "name": "Wetland",
50444                     "terms": ""
50445                 },
50446                 "natural/wood": {
50447                     "name": "Wood",
50448                     "terms": "tree"
50449                 },
50450                 "office": {
50451                     "name": "Office",
50452                     "terms": ""
50453                 },
50454                 "office/accountant": {
50455                     "name": "Accountant",
50456                     "terms": ""
50457                 },
50458                 "office/administrative": {
50459                     "name": "Administrative Office",
50460                     "terms": ""
50461                 },
50462                 "office/architect": {
50463                     "name": "Architect",
50464                     "terms": ""
50465                 },
50466                 "office/company": {
50467                     "name": "Company Office",
50468                     "terms": ""
50469                 },
50470                 "office/educational_institution": {
50471                     "name": "Educational Institution",
50472                     "terms": ""
50473                 },
50474                 "office/employment_agency": {
50475                     "name": "Employment Agency",
50476                     "terms": "job"
50477                 },
50478                 "office/estate_agent": {
50479                     "name": "Real Estate Office",
50480                     "terms": ""
50481                 },
50482                 "office/financial": {
50483                     "name": "Financial Office",
50484                     "terms": ""
50485                 },
50486                 "office/government": {
50487                     "name": "Government Office",
50488                     "terms": ""
50489                 },
50490                 "office/insurance": {
50491                     "name": "Insurance Office",
50492                     "terms": ""
50493                 },
50494                 "office/it": {
50495                     "name": "IT Office",
50496                     "terms": ""
50497                 },
50498                 "office/lawyer": {
50499                     "name": "Law Office",
50500                     "terms": ""
50501                 },
50502                 "office/newspaper": {
50503                     "name": "Newspaper",
50504                     "terms": ""
50505                 },
50506                 "office/ngo": {
50507                     "name": "NGO Office",
50508                     "terms": ""
50509                 },
50510                 "office/physician": {
50511                     "name": "Physician",
50512                     "terms": ""
50513                 },
50514                 "office/political_party": {
50515                     "name": "Political Party",
50516                     "terms": ""
50517                 },
50518                 "office/research": {
50519                     "name": "Research Office",
50520                     "terms": ""
50521                 },
50522                 "office/telecommunication": {
50523                     "name": "Telecom Office",
50524                     "terms": ""
50525                 },
50526                 "office/therapist": {
50527                     "name": "Therapist",
50528                     "terms": ""
50529                 },
50530                 "office/travel_agent": {
50531                     "name": "Travel Agency",
50532                     "terms": ""
50533                 },
50534                 "piste": {
50535                     "name": "Piste/Ski Trail",
50536                     "terms": "ski,sled,sleigh,snowboard,nordic,downhill,snowmobile"
50537                 },
50538                 "place": {
50539                     "name": "Place",
50540                     "terms": ""
50541                 },
50542                 "place/city": {
50543                     "name": "City",
50544                     "terms": ""
50545                 },
50546                 "place/hamlet": {
50547                     "name": "Hamlet",
50548                     "terms": ""
50549                 },
50550                 "place/island": {
50551                     "name": "Island",
50552                     "terms": "archipelago,atoll,bar,cay,isle,islet,key,reef"
50553                 },
50554                 "place/isolated_dwelling": {
50555                     "name": "Isolated Dwelling",
50556                     "terms": ""
50557                 },
50558                 "place/locality": {
50559                     "name": "Locality",
50560                     "terms": ""
50561                 },
50562                 "place/neighbourhood": {
50563                     "name": "Neighborhood",
50564                     "terms": "neighbourhood"
50565                 },
50566                 "place/suburb": {
50567                     "name": "Borough",
50568                     "terms": "Boro,Quarter"
50569                 },
50570                 "place/town": {
50571                     "name": "Town",
50572                     "terms": ""
50573                 },
50574                 "place/village": {
50575                     "name": "Village",
50576                     "terms": ""
50577                 },
50578                 "point": {
50579                     "name": "Point",
50580                     "terms": ""
50581                 },
50582                 "power": {
50583                     "name": "Power",
50584                     "terms": ""
50585                 },
50586                 "power/generator": {
50587                     "name": "Power Generator",
50588                     "terms": ""
50589                 },
50590                 "power/line": {
50591                     "name": "Power Line",
50592                     "terms": ""
50593                 },
50594                 "power/minor_line": {
50595                     "name": "Minor Power Line",
50596                     "terms": ""
50597                 },
50598                 "power/pole": {
50599                     "name": "Power Pole",
50600                     "terms": ""
50601                 },
50602                 "power/sub_station": {
50603                     "name": "Substation",
50604                     "terms": ""
50605                 },
50606                 "power/substation": {
50607                     "name": "Substation",
50608                     "terms": ""
50609                 },
50610                 "power/tower": {
50611                     "name": "High-Voltage Tower",
50612                     "terms": ""
50613                 },
50614                 "power/transformer": {
50615                     "name": "Transformer",
50616                     "terms": ""
50617                 },
50618                 "public_transport/platform": {
50619                     "name": "Platform",
50620                     "terms": ""
50621                 },
50622                 "public_transport/stop_position": {
50623                     "name": "Stop Position",
50624                     "terms": ""
50625                 },
50626                 "railway": {
50627                     "name": "Railway",
50628                     "terms": ""
50629                 },
50630                 "railway/abandoned": {
50631                     "name": "Abandoned Railway",
50632                     "terms": ""
50633                 },
50634                 "railway/disused": {
50635                     "name": "Disused Railway",
50636                     "terms": ""
50637                 },
50638                 "railway/funicular": {
50639                     "name": "Funicular",
50640                     "terms": "venicular,cliff railway,cable car,cable railway,funicular railway"
50641                 },
50642                 "railway/halt": {
50643                     "name": "Railway Halt",
50644                     "terms": "break,interrupt,rest,wait,interruption"
50645                 },
50646                 "railway/level_crossing": {
50647                     "name": "Level Crossing",
50648                     "terms": "crossing,railroad crossing,railway crossing,grade crossing,road through railroad,train crossing"
50649                 },
50650                 "railway/monorail": {
50651                     "name": "Monorail",
50652                     "terms": ""
50653                 },
50654                 "railway/narrow_gauge": {
50655                     "name": "Narrow Gauge Rail",
50656                     "terms": "narrow gauge railway,narrow gauge railroad"
50657                 },
50658                 "railway/platform": {
50659                     "name": "Railway Platform",
50660                     "terms": ""
50661                 },
50662                 "railway/rail": {
50663                     "name": "Rail",
50664                     "terms": ""
50665                 },
50666                 "railway/station": {
50667                     "name": "Railway Station",
50668                     "terms": "train station,station"
50669                 },
50670                 "railway/subway": {
50671                     "name": "Subway",
50672                     "terms": ""
50673                 },
50674                 "railway/subway_entrance": {
50675                     "name": "Subway Entrance",
50676                     "terms": ""
50677                 },
50678                 "railway/tram": {
50679                     "name": "Tram",
50680                     "terms": "streetcar"
50681                 },
50682                 "relation": {
50683                     "name": "Relation",
50684                     "terms": ""
50685                 },
50686                 "route/ferry": {
50687                     "name": "Ferry Route",
50688                     "terms": ""
50689                 },
50690                 "shop": {
50691                     "name": "Shop",
50692                     "terms": ""
50693                 },
50694                 "shop/alcohol": {
50695                     "name": "Liquor Store",
50696                     "terms": "alcohol,beer,booze,wine"
50697                 },
50698                 "shop/anime": {
50699                     "name": "Anime Shop",
50700                     "terms": ""
50701                 },
50702                 "shop/antiques": {
50703                     "name": "Antiques Shop",
50704                     "terms": ""
50705                 },
50706                 "shop/art": {
50707                     "name": "Art Gallery",
50708                     "terms": ""
50709                 },
50710                 "shop/baby_goods": {
50711                     "name": "Baby Goods Store",
50712                     "terms": ""
50713                 },
50714                 "shop/bag": {
50715                     "name": "Bag/Luggage Store",
50716                     "terms": "handbag,purse"
50717                 },
50718                 "shop/bakery": {
50719                     "name": "Bakery",
50720                     "terms": ""
50721                 },
50722                 "shop/bathroom_furnishing": {
50723                     "name": "Bathroom Furnishing Store",
50724                     "terms": ""
50725                 },
50726                 "shop/beauty": {
50727                     "name": "Beauty Shop",
50728                     "terms": "nail spa,spa,salon,tanning"
50729                 },
50730                 "shop/bed": {
50731                     "name": "Bedding/Mattress Store",
50732                     "terms": ""
50733                 },
50734                 "shop/beverages": {
50735                     "name": "Beverage Store",
50736                     "terms": ""
50737                 },
50738                 "shop/bicycle": {
50739                     "name": "Bicycle Shop",
50740                     "terms": ""
50741                 },
50742                 "shop/bookmaker": {
50743                     "name": "Bookmaker",
50744                     "terms": ""
50745                 },
50746                 "shop/books": {
50747                     "name": "Book Store",
50748                     "terms": ""
50749                 },
50750                 "shop/boutique": {
50751                     "name": "Boutique",
50752                     "terms": ""
50753                 },
50754                 "shop/butcher": {
50755                     "name": "Butcher",
50756                     "terms": "meat"
50757                 },
50758                 "shop/candles": {
50759                     "name": "Candle Shop",
50760                     "terms": ""
50761                 },
50762                 "shop/car": {
50763                     "name": "Car Dealership",
50764                     "terms": "auto"
50765                 },
50766                 "shop/car_parts": {
50767                     "name": "Car Parts Store",
50768                     "terms": "auto"
50769                 },
50770                 "shop/car_repair": {
50771                     "name": "Car Repair Shop",
50772                     "terms": "auto"
50773                 },
50774                 "shop/carpet": {
50775                     "name": "Carpet Store",
50776                     "terms": "rug"
50777                 },
50778                 "shop/cheese": {
50779                     "name": "Cheese Store",
50780                     "terms": ""
50781                 },
50782                 "shop/chemist": {
50783                     "name": "Chemist",
50784                     "terms": ""
50785                 },
50786                 "shop/chocolate": {
50787                     "name": "Chocolate Store",
50788                     "terms": ""
50789                 },
50790                 "shop/clothes": {
50791                     "name": "Clothing Store",
50792                     "terms": ""
50793                 },
50794                 "shop/computer": {
50795                     "name": "Computer Store",
50796                     "terms": ""
50797                 },
50798                 "shop/confectionery": {
50799                     "name": "Candy Store",
50800                     "terms": ""
50801                 },
50802                 "shop/convenience": {
50803                     "name": "Convenience Store",
50804                     "terms": ""
50805                 },
50806                 "shop/copyshop": {
50807                     "name": "Copy Store",
50808                     "terms": ""
50809                 },
50810                 "shop/cosmetics": {
50811                     "name": "Cosmetics Store",
50812                     "terms": ""
50813                 },
50814                 "shop/craft": {
50815                     "name": "Arts and Crafts Store",
50816                     "terms": ""
50817                 },
50818                 "shop/curtain": {
50819                     "name": "Curtain Store",
50820                     "terms": "drape*,window"
50821                 },
50822                 "shop/dairy": {
50823                     "name": "Dairy Store",
50824                     "terms": "milk,egg,cheese"
50825                 },
50826                 "shop/deli": {
50827                     "name": "Deli",
50828                     "terms": "lunch,meat,sandwich"
50829                 },
50830                 "shop/department_store": {
50831                     "name": "Department Store",
50832                     "terms": ""
50833                 },
50834                 "shop/doityourself": {
50835                     "name": "DIY Store",
50836                     "terms": ""
50837                 },
50838                 "shop/dry_cleaning": {
50839                     "name": "Dry Cleaner",
50840                     "terms": ""
50841                 },
50842                 "shop/electronics": {
50843                     "name": "Electronics Store",
50844                     "terms": "appliance,audio,computer,tv"
50845                 },
50846                 "shop/erotic": {
50847                     "name": "Erotic Store",
50848                     "terms": "sex,porn"
50849                 },
50850                 "shop/fabric": {
50851                     "name": "Fabric Store",
50852                     "terms": "sew"
50853                 },
50854                 "shop/farm": {
50855                     "name": "Produce Stand",
50856                     "terms": "farm shop,farm stand"
50857                 },
50858                 "shop/fashion": {
50859                     "name": "Fashion Store",
50860                     "terms": ""
50861                 },
50862                 "shop/fishmonger": {
50863                     "name": "Fishmonger",
50864                     "terms": ""
50865                 },
50866                 "shop/florist": {
50867                     "name": "Florist",
50868                     "terms": "flower"
50869                 },
50870                 "shop/frame": {
50871                     "name": "Framing Shop",
50872                     "terms": ""
50873                 },
50874                 "shop/funeral_directors": {
50875                     "name": "Funeral Home",
50876                     "terms": "undertaker,memorial home"
50877                 },
50878                 "shop/furnace": {
50879                     "name": "Furnace Store",
50880                     "terms": "oven,stove"
50881                 },
50882                 "shop/furniture": {
50883                     "name": "Furniture Store",
50884                     "terms": "chair,sofa,table"
50885                 },
50886                 "shop/garden_centre": {
50887                     "name": "Garden Center",
50888                     "terms": "landscape,mulch,shrub,tree"
50889                 },
50890                 "shop/gift": {
50891                     "name": "Gift Shop",
50892                     "terms": ""
50893                 },
50894                 "shop/greengrocer": {
50895                     "name": "Greengrocer",
50896                     "terms": "fruit,vegetable"
50897                 },
50898                 "shop/hairdresser": {
50899                     "name": "Hairdresser",
50900                     "terms": ""
50901                 },
50902                 "shop/hardware": {
50903                     "name": "Hardware Store",
50904                     "terms": ""
50905                 },
50906                 "shop/hearing_aids": {
50907                     "name": "Hearing Aids Store",
50908                     "terms": ""
50909                 },
50910                 "shop/herbalist": {
50911                     "name": "Herbalist",
50912                     "terms": ""
50913                 },
50914                 "shop/hifi": {
50915                     "name": "Hifi Store",
50916                     "terms": "stereo,video"
50917                 },
50918                 "shop/houseware": {
50919                     "name": "Houseware Store",
50920                     "terms": "home,household"
50921                 },
50922                 "shop/interior_decoration": {
50923                     "name": "Interior Decoration Store",
50924                     "terms": ""
50925                 },
50926                 "shop/jewelry": {
50927                     "name": "Jeweler",
50928                     "terms": "diamond,gem,ring"
50929                 },
50930                 "shop/kiosk": {
50931                     "name": "News Kiosk",
50932                     "terms": ""
50933                 },
50934                 "shop/kitchen": {
50935                     "name": "Kitchen Design Store",
50936                     "terms": ""
50937                 },
50938                 "shop/laundry": {
50939                     "name": "Laundry",
50940                     "terms": ""
50941                 },
50942                 "shop/leather": {
50943                     "name": "Leather Store",
50944                     "terms": ""
50945                 },
50946                 "shop/locksmith": {
50947                     "name": "Locksmith",
50948                     "terms": "key,lockpick"
50949                 },
50950                 "shop/lottery": {
50951                     "name": "Lottery Shop",
50952                     "terms": ""
50953                 },
50954                 "shop/mall": {
50955                     "name": "Mall",
50956                     "terms": ""
50957                 },
50958                 "shop/massage": {
50959                     "name": "Massage Shop",
50960                     "terms": ""
50961                 },
50962                 "shop/medical_supply": {
50963                     "name": "Medical Supply Store",
50964                     "terms": ""
50965                 },
50966                 "shop/mobile_phone": {
50967                     "name": "Mobile Phone Store",
50968                     "terms": ""
50969                 },
50970                 "shop/money_lender": {
50971                     "name": "Money Lender",
50972                     "terms": ""
50973                 },
50974                 "shop/motorcycle": {
50975                     "name": "Motorcycle Dealership",
50976                     "terms": ""
50977                 },
50978                 "shop/music": {
50979                     "name": "Music Store",
50980                     "terms": "CD,vinyl"
50981                 },
50982                 "shop/musical_instrument": {
50983                     "name": "Musical Instrument Store",
50984                     "terms": ""
50985                 },
50986                 "shop/newsagent": {
50987                     "name": "Newspaper/Magazine Shop",
50988                     "terms": ""
50989                 },
50990                 "shop/optician": {
50991                     "name": "Optician",
50992                     "terms": "eye,glasses"
50993                 },
50994                 "shop/organic": {
50995                     "name": "Organic Goods Store",
50996                     "terms": ""
50997                 },
50998                 "shop/outdoor": {
50999                     "name": "Outdoors Store",
51000                     "terms": "camping,climbing,hiking"
51001                 },
51002                 "shop/paint": {
51003                     "name": "Paint Store",
51004                     "terms": ""
51005                 },
51006                 "shop/pawnbroker": {
51007                     "name": "Pawn Shop",
51008                     "terms": ""
51009                 },
51010                 "shop/pet": {
51011                     "name": "Pet Store",
51012                     "terms": "cat,dog,fish"
51013                 },
51014                 "shop/photo": {
51015                     "name": "Photography Store",
51016                     "terms": "camera,film"
51017                 },
51018                 "shop/pyrotechnics": {
51019                     "name": "Fireworks Store",
51020                     "terms": ""
51021                 },
51022                 "shop/radiotechnics": {
51023                     "name": "Radio/Electronic Component Store",
51024                     "terms": ""
51025                 },
51026                 "shop/religion": {
51027                     "name": "Religious Store",
51028                     "terms": ""
51029                 },
51030                 "shop/scuba_diving": {
51031                     "name": "Scuba Diving Shop",
51032                     "terms": ""
51033                 },
51034                 "shop/seafood": {
51035                     "name": "Seafood Shop",
51036                     "terms": "fishmonger"
51037                 },
51038                 "shop/second_hand": {
51039                     "name": "Consignment/Thrift Store",
51040                     "terms": "secondhand,second hand,resale,thrift,used"
51041                 },
51042                 "shop/shoes": {
51043                     "name": "Shoe Store",
51044                     "terms": ""
51045                 },
51046                 "shop/sports": {
51047                     "name": "Sporting Goods Store",
51048                     "terms": ""
51049                 },
51050                 "shop/stationery": {
51051                     "name": "Stationery Store",
51052                     "terms": "card,paper"
51053                 },
51054                 "shop/supermarket": {
51055                     "name": "Supermarket",
51056                     "terms": "grocery,store,shop"
51057                 },
51058                 "shop/tailor": {
51059                     "name": "Tailor",
51060                     "terms": "clothes,suit"
51061                 },
51062                 "shop/tattoo": {
51063                     "name": "Tattoo Parlor",
51064                     "terms": ""
51065                 },
51066                 "shop/tea": {
51067                     "name": "Tea Store",
51068                     "terms": ""
51069                 },
51070                 "shop/ticket": {
51071                     "name": "Ticket Seller",
51072                     "terms": ""
51073                 },
51074                 "shop/tobacco": {
51075                     "name": "Tobacco Shop",
51076                     "terms": ""
51077                 },
51078                 "shop/toys": {
51079                     "name": "Toy Store",
51080                     "terms": ""
51081                 },
51082                 "shop/travel_agency": {
51083                     "name": "Travel Agency",
51084                     "terms": ""
51085                 },
51086                 "shop/tyres": {
51087                     "name": "Tire Store",
51088                     "terms": ""
51089                 },
51090                 "shop/vacant": {
51091                     "name": "Vacant Shop",
51092                     "terms": ""
51093                 },
51094                 "shop/vacuum_cleaner": {
51095                     "name": "Vacuum Cleaner Store",
51096                     "terms": ""
51097                 },
51098                 "shop/variety_store": {
51099                     "name": "Variety Store",
51100                     "terms": ""
51101                 },
51102                 "shop/video": {
51103                     "name": "Video Store",
51104                     "terms": "DVD"
51105                 },
51106                 "shop/video_games": {
51107                     "name": "Video Game Store",
51108                     "terms": ""
51109                 },
51110                 "shop/water_sports": {
51111                     "name": "Watersport/Swim Shop",
51112                     "terms": ""
51113                 },
51114                 "shop/weapons": {
51115                     "name": "Weapon Shop",
51116                     "terms": "ammo,gun,knife,knives"
51117                 },
51118                 "shop/window_blind": {
51119                     "name": "Window Blind Store",
51120                     "terms": ""
51121                 },
51122                 "shop/wine": {
51123                     "name": "Wine Shop",
51124                     "terms": ""
51125                 },
51126                 "tourism": {
51127                     "name": "Tourism",
51128                     "terms": ""
51129                 },
51130                 "tourism/alpine_hut": {
51131                     "name": "Alpine Hut",
51132                     "terms": ""
51133                 },
51134                 "tourism/artwork": {
51135                     "name": "Artwork",
51136                     "terms": "mural,sculpture,statue"
51137                 },
51138                 "tourism/attraction": {
51139                     "name": "Tourist Attraction",
51140                     "terms": ""
51141                 },
51142                 "tourism/camp_site": {
51143                     "name": "Camp Site",
51144                     "terms": ""
51145                 },
51146                 "tourism/caravan_site": {
51147                     "name": "RV Park",
51148                     "terms": ""
51149                 },
51150                 "tourism/chalet": {
51151                     "name": "Chalet",
51152                     "terms": ""
51153                 },
51154                 "tourism/guest_house": {
51155                     "name": "Guest House",
51156                     "terms": "B&B,Bed and Breakfast"
51157                 },
51158                 "tourism/hostel": {
51159                     "name": "Hostel",
51160                     "terms": ""
51161                 },
51162                 "tourism/hotel": {
51163                     "name": "Hotel",
51164                     "terms": ""
51165                 },
51166                 "tourism/information": {
51167                     "name": "Information",
51168                     "terms": ""
51169                 },
51170                 "tourism/motel": {
51171                     "name": "Motel",
51172                     "terms": ""
51173                 },
51174                 "tourism/museum": {
51175                     "name": "Museum",
51176                     "terms": "exhibition,foundation,gallery,hall,institution"
51177                 },
51178                 "tourism/picnic_site": {
51179                     "name": "Picnic Site",
51180                     "terms": "camp"
51181                 },
51182                 "tourism/theme_park": {
51183                     "name": "Theme Park",
51184                     "terms": ""
51185                 },
51186                 "tourism/viewpoint": {
51187                     "name": "Viewpoint",
51188                     "terms": ""
51189                 },
51190                 "tourism/zoo": {
51191                     "name": "Zoo",
51192                     "terms": ""
51193                 },
51194                 "traffic_calming/bump": {
51195                     "name": "Speed Bump",
51196                     "terms": "speed hump"
51197                 },
51198                 "traffic_calming/hump": {
51199                     "name": "Speed Hump",
51200                     "terms": "speed bump"
51201                 },
51202                 "traffic_calming/rumble_strip": {
51203                     "name": "Rumble Strip",
51204                     "terms": "sleeper lines,audible lines,growlers"
51205                 },
51206                 "traffic_calming/table": {
51207                     "name": "Raised Pedestrian Crossing",
51208                     "terms": "speed table,flat top hump"
51209                 },
51210                 "type/boundary": {
51211                     "name": "Boundary",
51212                     "terms": ""
51213                 },
51214                 "type/boundary/administrative": {
51215                     "name": "Administrative Boundary",
51216                     "terms": ""
51217                 },
51218                 "type/multipolygon": {
51219                     "name": "Multipolygon",
51220                     "terms": ""
51221                 },
51222                 "type/restriction": {
51223                     "name": "Restriction",
51224                     "terms": ""
51225                 },
51226                 "type/restriction/no_left_turn": {
51227                     "name": "No Left Turn",
51228                     "terms": ""
51229                 },
51230                 "type/restriction/no_right_turn": {
51231                     "name": "No Right Turn",
51232                     "terms": ""
51233                 },
51234                 "type/restriction/no_straight_on": {
51235                     "name": "No Straight On",
51236                     "terms": ""
51237                 },
51238                 "type/restriction/no_u_turn": {
51239                     "name": "No U-turn",
51240                     "terms": ""
51241                 },
51242                 "type/restriction/only_left_turn": {
51243                     "name": "Left Turn Only",
51244                     "terms": ""
51245                 },
51246                 "type/restriction/only_right_turn": {
51247                     "name": "Right Turn Only",
51248                     "terms": ""
51249                 },
51250                 "type/restriction/only_straight_on": {
51251                     "name": "No Turns",
51252                     "terms": ""
51253                 },
51254                 "type/route": {
51255                     "name": "Route",
51256                     "terms": ""
51257                 },
51258                 "type/route/bicycle": {
51259                     "name": "Cycle Route",
51260                     "terms": ""
51261                 },
51262                 "type/route/bus": {
51263                     "name": "Bus Route",
51264                     "terms": ""
51265                 },
51266                 "type/route/detour": {
51267                     "name": "Detour Route",
51268                     "terms": ""
51269                 },
51270                 "type/route/ferry": {
51271                     "name": "Ferry Route",
51272                     "terms": ""
51273                 },
51274                 "type/route/foot": {
51275                     "name": "Foot Route",
51276                     "terms": ""
51277                 },
51278                 "type/route/hiking": {
51279                     "name": "Hiking Route",
51280                     "terms": ""
51281                 },
51282                 "type/route/pipeline": {
51283                     "name": "Pipeline Route",
51284                     "terms": ""
51285                 },
51286                 "type/route/power": {
51287                     "name": "Power Route",
51288                     "terms": ""
51289                 },
51290                 "type/route/road": {
51291                     "name": "Road Route",
51292                     "terms": ""
51293                 },
51294                 "type/route/train": {
51295                     "name": "Train Route",
51296                     "terms": ""
51297                 },
51298                 "type/route/tram": {
51299                     "name": "Tram Route",
51300                     "terms": ""
51301                 },
51302                 "type/route_master": {
51303                     "name": "Route Master",
51304                     "terms": ""
51305                 },
51306                 "vertex": {
51307                     "name": "Other",
51308                     "terms": ""
51309                 },
51310                 "waterway": {
51311                     "name": "Waterway",
51312                     "terms": ""
51313                 },
51314                 "waterway/canal": {
51315                     "name": "Canal",
51316                     "terms": ""
51317                 },
51318                 "waterway/dam": {
51319                     "name": "Dam",
51320                     "terms": ""
51321                 },
51322                 "waterway/ditch": {
51323                     "name": "Ditch",
51324                     "terms": ""
51325                 },
51326                 "waterway/drain": {
51327                     "name": "Drain",
51328                     "terms": ""
51329                 },
51330                 "waterway/river": {
51331                     "name": "River",
51332                     "terms": "beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"
51333                 },
51334                 "waterway/riverbank": {
51335                     "name": "Riverbank",
51336                     "terms": ""
51337                 },
51338                 "waterway/stream": {
51339                     "name": "Stream",
51340                     "terms": "beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"
51341                 },
51342                 "waterway/weir": {
51343                     "name": "Weir",
51344                     "terms": ""
51345                 }
51346             }
51347         }
51348     },
51349     "suggestions": {
51350         "amenity": {
51351             "fuel": {
51352                 "76": {
51353                     "count": 314
51354                 },
51355                 "Neste": {
51356                     "count": 189
51357                 },
51358                 "BP": {
51359                     "count": 2511
51360                 },
51361                 "Shell": {
51362                     "count": 8380
51363                 },
51364                 "Agip": {
51365                     "count": 2651
51366                 },
51367                 "Migrol": {
51368                     "count": 65
51369                 },
51370                 "Avia": {
51371                     "count": 897
51372                 },
51373                 "Texaco": {
51374                     "count": 680
51375                 },
51376                 "Total": {
51377                     "count": 2607
51378                 },
51379                 "Statoil": {
51380                     "count": 596
51381                 },
51382                 "Esso": {
51383                     "count": 3652
51384                 },
51385                 "Jet": {
51386                     "count": 441
51387                 },
51388                 "Avanti": {
51389                     "count": 90
51390                 },
51391                 "Sainsbury's": {
51392                     "count": 58
51393                 },
51394                 "OMV": {
51395                     "count": 701
51396                 },
51397                 "Aral": {
51398                     "count": 1339
51399                 },
51400                 "Tesco": {
51401                     "count": 197
51402                 },
51403                 "JET": {
51404                     "count": 180
51405                 },
51406                 "Morrisons": {
51407                     "count": 111
51408                 },
51409                 "United": {
51410                     "count": 91
51411                 },
51412                 "Canadian Tire": {
51413                     "count": 66
51414                 },
51415                 "Mobil": {
51416                     "count": 613
51417                 },
51418                 "Caltex": {
51419                     "count": 1001
51420                 },
51421                 "Sunoco": {
51422                     "count": 355
51423                 },
51424                 "Q8": {
51425                     "count": 1161
51426                 },
51427                 "ABC": {
51428                     "count": 79
51429                 },
51430                 "ARAL": {
51431                     "count": 375
51432                 },
51433                 "CEPSA": {
51434                     "count": 1018
51435                 },
51436                 "BFT": {
51437                     "count": 89
51438                 },
51439                 "Petron": {
51440                     "count": 878
51441                 },
51442                 "Intermarché": {
51443                     "count": 434
51444                 },
51445                 "Total Access": {
51446                     "count": 51
51447                 },
51448                 "Super U": {
51449                     "count": 124
51450                 },
51451                 "Auchan": {
51452                     "count": 53
51453                 },
51454                 "Elf": {
51455                     "count": 129
51456                 },
51457                 "Carrefour": {
51458                     "count": 205
51459                 },
51460                 "Station Service E. Leclerc": {
51461                     "count": 530
51462                 },
51463                 "Shell Express": {
51464                     "count": 131
51465                 },
51466                 "Hess": {
51467                     "count": 127
51468                 },
51469                 "Flying V": {
51470                     "count": 129
51471                 },
51472                 "bft": {
51473                     "count": 168
51474                 },
51475                 "Gulf": {
51476                     "count": 199
51477                 },
51478                 "PTT": {
51479                     "count": 191
51480                 },
51481                 "St1": {
51482                     "count": 100
51483                 },
51484                 "Teboil": {
51485                     "count": 115
51486                 },
51487                 "HEM": {
51488                     "count": 212
51489                 },
51490                 "GALP": {
51491                     "count": 626
51492                 },
51493                 "OK": {
51494                     "count": 163
51495                 },
51496                 "ÖMV": {
51497                     "count": 101
51498                 },
51499                 "Tinq": {
51500                     "count": 215
51501                 },
51502                 "OKQ8": {
51503                     "count": 186
51504                 },
51505                 "Repsol": {
51506                     "count": 424
51507                 },
51508                 "Westfalen": {
51509                     "count": 96
51510                 },
51511                 "Esso Express": {
51512                     "count": 98
51513                 },
51514                 "Raiffeisenbank": {
51515                     "count": 117
51516                 },
51517                 "Tamoil": {
51518                     "count": 866
51519                 },
51520                 "Engen": {
51521                     "count": 241
51522                 },
51523                 "Sasol": {
51524                     "count": 59
51525                 },
51526                 "Topaz": {
51527                     "count": 78
51528                 },
51529                 "LPG": {
51530                     "count": 174
51531                 },
51532                 "Coop": {
51533                     "count": 62
51534                 },
51535                 "Orlen": {
51536                     "count": 598
51537                 },
51538                 "Oilibya": {
51539                     "count": 68
51540                 },
51541                 "Tango": {
51542                     "count": 122
51543                 },
51544                 "Star": {
51545                     "count": 319
51546                 },
51547                 "Петрол": {
51548                     "count": 84
51549                 },
51550                 "Cepsa": {
51551                     "count": 96
51552                 },
51553                 "OIL!": {
51554                     "count": 63
51555                 },
51556                 "Ultramar": {
51557                     "count": 125
51558                 },
51559                 "Irving": {
51560                     "count": 87
51561                 },
51562                 "Lukoil": {
51563                     "count": 701
51564                 },
51565                 "Petro-Canada": {
51566                     "count": 489
51567                 },
51568                 "7-Eleven": {
51569                     "count": 488
51570                 },
51571                 "Agrola": {
51572                     "count": 69
51573                 },
51574                 "Husky": {
51575                     "count": 126
51576                 },
51577                 "Slovnaft": {
51578                     "count": 219
51579                 },
51580                 "Sheetz": {
51581                     "count": 134
51582                 },
51583                 "Mol": {
51584                     "count": 61
51585                 },
51586                 "Petronas": {
51587                     "count": 159
51588                 },
51589                 "Газпромнефть": {
51590                     "count": 748
51591                 },
51592                 "Лукойл": {
51593                     "count": 1477
51594                 },
51595                 "Elan": {
51596                     "count": 112
51597                 },
51598                 "Роснефть": {
51599                     "count": 638
51600                 },
51601                 "Turmöl": {
51602                     "count": 57
51603                 },
51604                 "Neste A24": {
51605                     "count": 55
51606                 },
51607                 "Marathon": {
51608                     "count": 189
51609                 },
51610                 "Valero": {
51611                     "count": 366
51612                 },
51613                 "Eni": {
51614                     "count": 236
51615                 },
51616                 "Chevron": {
51617                     "count": 954
51618                 },
51619                 "ТНК": {
51620                     "count": 520
51621                 },
51622                 "REPSOL": {
51623                     "count": 1603
51624                 },
51625                 "MOL": {
51626                     "count": 228
51627                 },
51628                 "Bliska": {
51629                     "count": 150
51630                 },
51631                 "Api": {
51632                     "count": 302
51633                 },
51634                 "Arco": {
51635                     "count": 179
51636                 },
51637                 "Pemex": {
51638                     "count": 423
51639                 },
51640                 "Exxon": {
51641                     "count": 506
51642                 },
51643                 "Coles Express": {
51644                     "count": 115
51645                 },
51646                 "Petrom": {
51647                     "count": 259
51648                 },
51649                 "PETRONOR": {
51650                     "count": 207
51651                 },
51652                 "Rompetrol": {
51653                     "count": 174
51654                 },
51655                 "Lotos": {
51656                     "count": 178
51657                 },
51658                 "ОМВ": {
51659                     "count": 60
51660                 },
51661                 "BR": {
51662                     "count": 129
51663                 },
51664                 "Copec": {
51665                     "count": 505
51666                 },
51667                 "Petrobras": {
51668                     "count": 270
51669                 },
51670                 "Liberty": {
51671                     "count": 55
51672                 },
51673                 "IP": {
51674                     "count": 871
51675                 },
51676                 "Erg": {
51677                     "count": 596
51678                 },
51679                 "Eneos": {
51680                     "count": 97
51681                 },
51682                 "Citgo": {
51683                     "count": 279
51684                 },
51685                 "Metano": {
51686                     "count": 208
51687                 },
51688                 "Сургутнефтегаз": {
51689                     "count": 61
51690                 },
51691                 "EKO": {
51692                     "count": 59
51693                 },
51694                 "Eko": {
51695                     "count": 58
51696                 },
51697                 "Indipend.": {
51698                     "count": 172
51699                 },
51700                 "IES": {
51701                     "count": 63
51702                 },
51703                 "TotalErg": {
51704                     "count": 89
51705                 },
51706                 "Cenex": {
51707                     "count": 115
51708                 },
51709                 "ПТК": {
51710                     "count": 82
51711                 },
51712                 "HP": {
51713                     "count": 79
51714                 },
51715                 "Phillips 66": {
51716                     "count": 216
51717                 },
51718                 "CARREFOUR": {
51719                     "count": 74
51720                 },
51721                 "ERG": {
51722                     "count": 76
51723                 },
51724                 "Speedway": {
51725                     "count": 148
51726                 },
51727                 "Benzina": {
51728                     "count": 96
51729                 },
51730                 "Татнефть": {
51731                     "count": 264
51732                 },
51733                 "Terpel": {
51734                     "count": 259
51735                 },
51736                 "WOG": {
51737                     "count": 189
51738                 },
51739                 "Seaoil": {
51740                     "count": 54
51741                 },
51742                 "АЗС": {
51743                     "count": 1077
51744                 },
51745                 "Kwik Trip": {
51746                     "count": 108
51747                 },
51748                 "Wawa": {
51749                     "count": 89
51750                 },
51751                 "Pertamina": {
51752                     "count": 186
51753                 },
51754                 "COSMO": {
51755                     "count": 64
51756                 },
51757                 "Z": {
51758                     "count": 76
51759                 },
51760                 "Indian Oil": {
51761                     "count": 183
51762                 },
51763                 "АГЗС": {
51764                     "count": 494
51765                 },
51766                 "INA": {
51767                     "count": 121
51768                 },
51769                 "JOMO": {
51770                     "count": 62
51771                 },
51772                 "Holiday": {
51773                     "count": 97
51774                 },
51775                 "YPF": {
51776                     "count": 70
51777                 },
51778                 "IDEMITSU": {
51779                     "count": 87
51780                 },
51781                 "ENEOS": {
51782                     "count": 736
51783                 },
51784                 "Stacja paliw": {
51785                     "count": 94
51786                 },
51787                 "Bharat Petroleum": {
51788                     "count": 64
51789                 },
51790                 "CAMPSA": {
51791                     "count": 615
51792                 },
51793                 "Casey's General Store": {
51794                     "count": 190
51795                 },
51796                 "Башнефть": {
51797                     "count": 60
51798                 },
51799                 "Kangaroo": {
51800                     "count": 60
51801                 },
51802                 "コスモ石油 (COSMO)": {
51803                     "count": 136
51804                 },
51805                 "MEROIL": {
51806                     "count": 77
51807                 },
51808                 "1-2-3": {
51809                     "count": 71
51810                 },
51811                 "出光": {
51812                     "count": 228,
51813                     "tags": {
51814                         "name:en": "IDEMITSU"
51815                     }
51816                 },
51817                 "НК Альянс": {
51818                     "count": 88
51819                 },
51820                 "Sinclair": {
51821                     "count": 100
51822                 },
51823                 "Conoco": {
51824                     "count": 189
51825                 },
51826                 "SPBU": {
51827                     "count": 54
51828                 },
51829                 "Макпетрол": {
51830                     "count": 109
51831                 },
51832                 "Circle K": {
51833                     "count": 166
51834                 },
51835                 "Posto Ipiranga": {
51836                     "count": 70
51837                 },
51838                 "Posto Shell": {
51839                     "count": 54
51840                 },
51841                 "Phoenix": {
51842                     "count": 144
51843                 },
51844                 "Ipiranga": {
51845                     "count": 119
51846                 },
51847                 "OKKO": {
51848                     "count": 85
51849                 },
51850                 "ОККО": {
51851                     "count": 119
51852                 },
51853                 "บางจาก": {
51854                     "count": 60
51855                 },
51856                 "QuikTrip": {
51857                     "count": 105
51858                 },
51859                 "Stewart's": {
51860                     "count": 63
51861                 },
51862                 "Posto BR": {
51863                     "count": 68
51864                 },
51865                 "ป ต ท": {
51866                     "count": 152
51867                 },
51868                 "ปตท": {
51869                     "count": 88
51870                 },
51871                 "ANP": {
51872                     "count": 80
51873                 },
51874                 "Kum & Go": {
51875                     "count": 80
51876                 },
51877                 "Petrolimex": {
51878                     "count": 55
51879                 },
51880                 "Sokimex": {
51881                     "count": 66
51882                 },
51883                 "Tela": {
51884                     "count": 154
51885                 },
51886                 "Posto": {
51887                     "count": 71
51888                 },
51889                 "H-E-B": {
51890                     "count": 182
51891                 },
51892                 "Укрнафта": {
51893                     "count": 58
51894                 },
51895                 "Татнефтепродукт": {
51896                     "count": 54
51897                 },
51898                 "Afriquia": {
51899                     "count": 88
51900                 },
51901                 "Murphy USA": {
51902                     "count": 67
51903                 },
51904                 "昭和シェル (Showa-shell)": {
51905                     "count": 94
51906                 },
51907                 "エネオス": {
51908                     "count": 53
51909                 },
51910                 "CNG": {
51911                     "count": 94
51912                 }
51913             },
51914             "pub": {
51915                 "Kings Arms": {
51916                     "count": 67
51917                 },
51918                 "The Ship": {
51919                     "count": 89
51920                 },
51921                 "The White Horse": {
51922                     "count": 204
51923                 },
51924                 "The White Hart": {
51925                     "count": 226
51926                 },
51927                 "Royal Oak": {
51928                     "count": 150
51929                 },
51930                 "The Red Lion": {
51931                     "count": 233
51932                 },
51933                 "The Kings Arms": {
51934                     "count": 58
51935                 },
51936                 "The Star": {
51937                     "count": 73
51938                 },
51939                 "The Anchor": {
51940                     "count": 64
51941                 },
51942                 "The Cross Keys": {
51943                     "count": 55
51944                 },
51945                 "The Wheatsheaf": {
51946                     "count": 117
51947                 },
51948                 "The Crown Inn": {
51949                     "count": 67
51950                 },
51951                 "The Kings Head": {
51952                     "count": 53
51953                 },
51954                 "The Castle": {
51955                     "count": 62
51956                 },
51957                 "The Railway": {
51958                     "count": 102
51959                 },
51960                 "The White Lion": {
51961                     "count": 118
51962                 },
51963                 "The Bell": {
51964                     "count": 121
51965                 },
51966                 "The Bull": {
51967                     "count": 68
51968                 },
51969                 "The Plough": {
51970                     "count": 179
51971                 },
51972                 "The George": {
51973                     "count": 110
51974                 },
51975                 "The Royal Oak": {
51976                     "count": 209
51977                 },
51978                 "The Fox": {
51979                     "count": 74
51980                 },
51981                 "Prince of Wales": {
51982                     "count": 77
51983                 },
51984                 "The Rising Sun": {
51985                     "count": 71
51986                 },
51987                 "The Prince of Wales": {
51988                     "count": 51
51989                 },
51990                 "The Crown": {
51991                     "count": 244
51992                 },
51993                 "The Chequers": {
51994                     "count": 66
51995                 },
51996                 "The Swan": {
51997                     "count": 152
51998                 },
51999                 "Rose and Crown": {
52000                     "count": 79
52001                 },
52002                 "The Victoria": {
52003                     "count": 67
52004                 },
52005                 "New Inn": {
52006                     "count": 90
52007                 },
52008                 "Royal Hotel": {
52009                     "count": 57
52010                 },
52011                 "Red Lion": {
52012                     "count": 207
52013                 },
52014                 "Cross Keys": {
52015                     "count": 61
52016                 },
52017                 "The Greyhound": {
52018                     "count": 96
52019                 },
52020                 "The Black Horse": {
52021                     "count": 94
52022                 },
52023                 "The New Inn": {
52024                     "count": 105
52025                 },
52026                 "Kings Head": {
52027                     "count": 59
52028                 },
52029                 "The Albion": {
52030                     "count": 51
52031                 },
52032                 "The Angel": {
52033                     "count": 52
52034                 },
52035                 "The Queens Head": {
52036                     "count": 52
52037                 },
52038                 "The Ship Inn": {
52039                     "count": 83
52040                 },
52041                 "Rose & Crown": {
52042                     "count": 51
52043                 },
52044                 "Queens Head": {
52045                     "count": 52
52046                 },
52047                 "Irish Pub": {
52048                     "count": 76
52049                 }
52050             },
52051             "fast_food": {
52052                 "Quick": {
52053                     "count": 484
52054                 },
52055                 "McDonald's": {
52056                     "count": 12376,
52057                     "tags": {
52058                         "cuisine": "burger"
52059                     }
52060                 },
52061                 "Subway": {
52062                     "count": 5576,
52063                     "tags": {
52064                         "cuisine": "sandwich"
52065                     }
52066                 },
52067                 "Burger King": {
52068                     "count": 3734,
52069                     "tags": {
52070                         "cuisine": "burger"
52071                     }
52072                 },
52073                 "Ali Baba": {
52074                     "count": 61
52075                 },
52076                 "Hungry Jacks": {
52077                     "count": 173,
52078                     "tags": {
52079                         "cuisine": "burger"
52080                     }
52081                 },
52082                 "Red Rooster": {
52083                     "count": 148
52084                 },
52085                 "KFC": {
52086                     "count": 3198,
52087                     "tags": {
52088                         "cuisine": "chicken"
52089                     }
52090                 },
52091                 "Domino's Pizza": {
52092                     "count": 985,
52093                     "tags": {
52094                         "cuisine": "pizza"
52095                     }
52096                 },
52097                 "Chowking": {
52098                     "count": 142
52099                 },
52100                 "Jollibee": {
52101                     "count": 396
52102                 },
52103                 "Hesburger": {
52104                     "count": 102
52105                 },
52106                 "肯德基": {
52107                     "count": 86
52108                 },
52109                 "Wendy's": {
52110                     "count": 1621,
52111                     "tags": {
52112                         "cuisine": "burger"
52113                     }
52114                 },
52115                 "Tim Hortons": {
52116                     "count": 323
52117                 },
52118                 "Steers": {
52119                     "count": 151
52120                 },
52121                 "Hardee's": {
52122                     "count": 268,
52123                     "tags": {
52124                         "cuisine": "burger"
52125                     }
52126                 },
52127                 "Arby's": {
52128                     "count": 782
52129                 },
52130                 "A&W": {
52131                     "count": 283
52132                 },
52133                 "Dairy Queen": {
52134                     "count": 791
52135                 },
52136                 "Hallo Pizza": {
52137                     "count": 76
52138                 },
52139                 "Fish & Chips": {
52140                     "count": 93
52141                 },
52142                 "Harvey's": {
52143                     "count": 90
52144                 },
52145                 "麥當勞": {
52146                     "count": 65
52147                 },
52148                 "Pizza Pizza": {
52149                     "count": 215
52150                 },
52151                 "Kotipizza": {
52152                     "count": 74
52153                 },
52154                 "Jack in the Box": {
52155                     "count": 546,
52156                     "tags": {
52157                         "cuisine": "burger"
52158                     }
52159                 },
52160                 "Istanbul": {
52161                     "count": 56
52162                 },
52163                 "Kochlöffel": {
52164                     "count": 68
52165                 },
52166                 "Döner": {
52167                     "count": 228
52168                 },
52169                 "Telepizza": {
52170                     "count": 201
52171                 },
52172                 "Sibylla": {
52173                     "count": 61
52174                 },
52175                 "Carl's Jr.": {
52176                     "count": 298,
52177                     "tags": {
52178                         "cuisine": "burger"
52179                     }
52180                 },
52181                 "Quiznos": {
52182                     "count": 266,
52183                     "tags": {
52184                         "cuisine": "sandwich"
52185                     }
52186                 },
52187                 "Wimpy": {
52188                     "count": 141
52189                 },
52190                 "Sonic": {
52191                     "count": 566,
52192                     "tags": {
52193                         "cuisine": "burger"
52194                     }
52195                 },
52196                 "Taco Bell": {
52197                     "count": 1423
52198                 },
52199                 "Pizza Nova": {
52200                     "count": 63
52201                 },
52202                 "Papa John's": {
52203                     "count": 304,
52204                     "tags": {
52205                         "cuisine": "pizza"
52206                     }
52207                 },
52208                 "Nordsee": {
52209                     "count": 159
52210                 },
52211                 "Mr. Sub": {
52212                     "count": 103
52213                 },
52214                 "Kebab": {
52215                     "count": 182
52216                 },
52217                 "Макдоналдс": {
52218                     "count": 324,
52219                     "tags": {
52220                         "name:en": "McDonald's"
52221                     }
52222                 },
52223                 "Asia Imbiss": {
52224                     "count": 111
52225                 },
52226                 "Imbiss": {
52227                     "count": 199
52228                 },
52229                 "Chipotle": {
52230                     "count": 290,
52231                     "tags": {
52232                         "cuisine": "mexican"
52233                     }
52234                 },
52235                 "マクドナルド": {
52236                     "count": 692,
52237                     "tags": {
52238                         "name:en": "McDonald's",
52239                         "cuisine": "burger"
52240                     }
52241                 },
52242                 "In-N-Out Burger": {
52243                     "count": 65
52244                 },
52245                 "Jimmy John's": {
52246                     "count": 141
52247                 },
52248                 "Jamba Juice": {
52249                     "count": 68
52250                 },
52251                 "Робин Сдобин": {
52252                     "count": 82
52253                 },
52254                 "Baskin Robbins": {
52255                     "count": 74
52256                 },
52257                 "ケンタッキーフライドチキン": {
52258                     "count": 164,
52259                     "tags": {
52260                         "name:en": "KFC",
52261                         "cuisine": "chicken"
52262                     }
52263                 },
52264                 "吉野家": {
52265                     "count": 191
52266                 },
52267                 "Taco Time": {
52268                     "count": 88
52269                 },
52270                 "松屋": {
52271                     "count": 281,
52272                     "tags": {
52273                         "name:en": "Matsuya"
52274                     }
52275                 },
52276                 "Little Caesars": {
52277                     "count": 81
52278                 },
52279                 "El Pollo Loco": {
52280                     "count": 63
52281                 },
52282                 "Del Taco": {
52283                     "count": 141
52284                 },
52285                 "White Castle": {
52286                     "count": 80
52287                 },
52288                 "Boston Market": {
52289                     "count": 66
52290                 },
52291                 "Chick-fil-A": {
52292                     "count": 257,
52293                     "tags": {
52294                         "cuisine": "chicken"
52295                     }
52296                 },
52297                 "Panda Express": {
52298                     "count": 238
52299                 },
52300                 "Whataburger": {
52301                     "count": 364
52302                 },
52303                 "Taco John's": {
52304                     "count": 78
52305                 },
52306                 "Теремок": {
52307                     "count": 68
52308                 },
52309                 "Culver's": {
52310                     "count": 425
52311                 },
52312                 "Five Guys": {
52313                     "count": 141
52314                 },
52315                 "Church's Chicken": {
52316                     "count": 95
52317                 },
52318                 "Popeye's": {
52319                     "count": 167,
52320                     "tags": {
52321                         "cuisine": "chicken"
52322                     }
52323                 },
52324                 "Long John Silver's": {
52325                     "count": 93
52326                 },
52327                 "Pollo Campero": {
52328                     "count": 62
52329                 },
52330                 "Zaxby's": {
52331                     "count": 51
52332                 },
52333                 "すき家": {
52334                     "count": 276,
52335                     "tags": {
52336                         "name:en": "SUKIYA"
52337                     }
52338                 },
52339                 "モスバーガー": {
52340                     "count": 257,
52341                     "tags": {
52342                         "name:en": "MOS BURGER"
52343                     }
52344                 },
52345                 "Русский Аппетит": {
52346                     "count": 69
52347                 },
52348                 "なか卯": {
52349                     "count": 63
52350                 }
52351             },
52352             "restaurant": {
52353                 "Pizza Hut": {
52354                     "count": 1180
52355                 },
52356                 "Little Chef": {
52357                     "count": 64
52358                 },
52359                 "Adler": {
52360                     "count": 158
52361                 },
52362                 "Zur Krone": {
52363                     "count": 90
52364                 },
52365                 "Deutsches Haus": {
52366                     "count": 90
52367                 },
52368                 "Krone": {
52369                     "count": 171
52370                 },
52371                 "Akropolis": {
52372                     "count": 152
52373                 },
52374                 "Schützenhaus": {
52375                     "count": 124
52376                 },
52377                 "Kreuz": {
52378                     "count": 74
52379                 },
52380                 "Waldschänke": {
52381                     "count": 55
52382                 },
52383                 "La Piazza": {
52384                     "count": 69
52385                 },
52386                 "Lamm": {
52387                     "count": 66
52388                 },
52389                 "Zur Sonne": {
52390                     "count": 73
52391                 },
52392                 "Zur Linde": {
52393                     "count": 204
52394                 },
52395                 "Poseidon": {
52396                     "count": 110
52397                 },
52398                 "Shanghai": {
52399                     "count": 82
52400                 },
52401                 "Red Lobster": {
52402                     "count": 235
52403                 },
52404                 "Zum Löwen": {
52405                     "count": 84
52406                 },
52407                 "Swiss Chalet": {
52408                     "count": 107
52409                 },
52410                 "Olympia": {
52411                     "count": 74
52412                 },
52413                 "Wagamama": {
52414                     "count": 64
52415                 },
52416                 "Frankie & Benny's": {
52417                     "count": 66
52418                 },
52419                 "Hooters": {
52420                     "count": 103
52421                 },
52422                 "Sternen": {
52423                     "count": 78
52424                 },
52425                 "Hirschen": {
52426                     "count": 79
52427                 },
52428                 "Papa John's": {
52429                     "count": 67,
52430                     "tags": {
52431                         "cuisine": "pizza"
52432                     }
52433                 },
52434                 "Denny's": {
52435                     "count": 450
52436                 },
52437                 "Athen": {
52438                     "count": 68
52439                 },
52440                 "Sonne": {
52441                     "count": 126
52442                 },
52443                 "Hirsch": {
52444                     "count": 79
52445                 },
52446                 "Ratskeller": {
52447                     "count": 150
52448                 },
52449                 "La Cantina": {
52450                     "count": 56
52451                 },
52452                 "Gasthaus Krone": {
52453                     "count": 56
52454                 },
52455                 "El Greco": {
52456                     "count": 86
52457                 },
52458                 "Gasthof zur Post": {
52459                     "count": 79
52460                 },
52461                 "Nando's": {
52462                     "count": 246
52463                 },
52464                 "Löwen": {
52465                     "count": 112
52466                 },
52467                 "La Pataterie": {
52468                     "count": 51
52469                 },
52470                 "Bella Napoli": {
52471                     "count": 53
52472                 },
52473                 "Pizza Express": {
52474                     "count": 262
52475                 },
52476                 "Mandarin": {
52477                     "count": 65
52478                 },
52479                 "Hong Kong": {
52480                     "count": 83
52481                 },
52482                 "Zizzi": {
52483                     "count": 68
52484                 },
52485                 "Cracker Barrel": {
52486                     "count": 183
52487                 },
52488                 "Rhodos": {
52489                     "count": 81
52490                 },
52491                 "Lindenhof": {
52492                     "count": 79
52493                 },
52494                 "Milano": {
52495                     "count": 54
52496                 },
52497                 "Dolce Vita": {
52498                     "count": 77
52499                 },
52500                 "Kirchenwirt": {
52501                     "count": 81
52502                 },
52503                 "Kantine": {
52504                     "count": 52
52505                 },
52506                 "Ochsen": {
52507                     "count": 95
52508                 },
52509                 "Spur": {
52510                     "count": 62
52511                 },
52512                 "Mykonos": {
52513                     "count": 59
52514                 },
52515                 "Lotus": {
52516                     "count": 66
52517                 },
52518                 "Applebee's": {
52519                     "count": 531
52520                 },
52521                 "Flunch": {
52522                     "count": 72
52523                 },
52524                 "Zur Post": {
52525                     "count": 116
52526                 },
52527                 "China Town": {
52528                     "count": 76
52529                 },
52530                 "La Dolce Vita": {
52531                     "count": 73
52532                 },
52533                 "Waffle House": {
52534                     "count": 207
52535                 },
52536                 "Delphi": {
52537                     "count": 88
52538                 },
52539                 "Linde": {
52540                     "count": 103
52541                 },
52542                 "Outback Steakhouse": {
52543                     "count": 218
52544                 },
52545                 "Dionysos": {
52546                     "count": 69
52547                 },
52548                 "Kelsey's": {
52549                     "count": 57
52550                 },
52551                 "Boston Pizza": {
52552                     "count": 165
52553                 },
52554                 "Bella Italia": {
52555                     "count": 132
52556                 },
52557                 "Sizzler": {
52558                     "count": 53
52559                 },
52560                 "Grüner Baum": {
52561                     "count": 116
52562                 },
52563                 "Taj Mahal": {
52564                     "count": 104
52565                 },
52566                 "Rössli": {
52567                     "count": 68
52568                 },
52569                 "Wimpy": {
52570                     "count": 51
52571                 },
52572                 "Traube": {
52573                     "count": 65
52574                 },
52575                 "Adria": {
52576                     "count": 52
52577                 },
52578                 "Red Robin": {
52579                     "count": 185
52580                 },
52581                 "Roma": {
52582                     "count": 61
52583                 },
52584                 "San Marco": {
52585                     "count": 67
52586                 },
52587                 "Hellas": {
52588                     "count": 55
52589                 },
52590                 "La Perla": {
52591                     "count": 67
52592                 },
52593                 "Vips": {
52594                     "count": 53
52595                 },
52596                 "Panera Bread": {
52597                     "count": 218
52598                 },
52599                 "Da Vinci": {
52600                     "count": 54
52601                 },
52602                 "Hippopotamus": {
52603                     "count": 96
52604                 },
52605                 "Prezzo": {
52606                     "count": 75
52607                 },
52608                 "Courtepaille": {
52609                     "count": 106
52610                 },
52611                 "Hard Rock Cafe": {
52612                     "count": 70
52613                 },
52614                 "Panorama": {
52615                     "count": 61
52616                 },
52617                 "デニーズ": {
52618                     "count": 82
52619                 },
52620                 "Sportheim": {
52621                     "count": 65
52622                 },
52623                 "餃子の王将": {
52624                     "count": 57
52625                 },
52626                 "Bären": {
52627                     "count": 60
52628                 },
52629                 "Alte Post": {
52630                     "count": 60
52631                 },
52632                 "Pizzeria Roma": {
52633                     "count": 51
52634                 },
52635                 "China Garden": {
52636                     "count": 66
52637                 },
52638                 "Vapiano": {
52639                     "count": 82
52640                 },
52641                 "Mamma Mia": {
52642                     "count": 64
52643                 },
52644                 "Schwarzer Adler": {
52645                     "count": 57
52646                 },
52647                 "IHOP": {
52648                     "count": 317
52649                 },
52650                 "Chili's": {
52651                     "count": 328
52652                 },
52653                 "Asia": {
52654                     "count": 51
52655                 },
52656                 "Olive Garden": {
52657                     "count": 279
52658                 },
52659                 "TGI Friday's": {
52660                     "count": 159
52661                 },
52662                 "Friendly's": {
52663                     "count": 78
52664                 },
52665                 "Buffalo Grill": {
52666                     "count": 202
52667                 },
52668                 "Texas Roadhouse": {
52669                     "count": 110
52670                 },
52671                 "ガスト": {
52672                     "count": 230,
52673                     "tags": {
52674                         "name:en": "Gusto"
52675                     }
52676                 },
52677                 "Sakura": {
52678                     "count": 75
52679                 },
52680                 "Mensa": {
52681                     "count": 99
52682                 },
52683                 "The Keg": {
52684                     "count": 53
52685                 },
52686                 "サイゼリヤ": {
52687                     "count": 93
52688                 },
52689                 "La Strada": {
52690                     "count": 52
52691                 },
52692                 "Village Inn": {
52693                     "count": 92
52694                 },
52695                 "Buffalo Wild Wings": {
52696                     "count": 176
52697                 },
52698                 "Peking": {
52699                     "count": 59
52700                 },
52701                 "Boston Market": {
52702                     "count": 61
52703                 },
52704                 "Round Table Pizza": {
52705                     "count": 53
52706                 },
52707                 "Jimmy John's": {
52708                     "count": 69
52709                 },
52710                 "California Pizza Kitchen": {
52711                     "count": 61
52712                 },
52713                 "Якитория": {
52714                     "count": 77
52715                 },
52716                 "Golden Corral": {
52717                     "count": 101
52718                 },
52719                 "Perkins": {
52720                     "count": 105
52721                 },
52722                 "Ruby Tuesday": {
52723                     "count": 162
52724                 },
52725                 "Shari's": {
52726                     "count": 65
52727                 },
52728                 "Bob Evans": {
52729                     "count": 129
52730                 },
52731                 "바다횟집 (Bada Fish Restaurant)": {
52732                     "count": 55
52733                 },
52734                 "Mang Inasal": {
52735                     "count": 84
52736                 },
52737                 "Евразия": {
52738                     "count": 102
52739                 },
52740                 "ジョナサン": {
52741                     "count": 59
52742                 },
52743                 "Arby's": {
52744                     "count": 51
52745                 },
52746                 "Longhorn Steakhouse": {
52747                     "count": 66
52748                 }
52749             },
52750             "bank": {
52751                 "Chase": {
52752                     "count": 721
52753                 },
52754                 "Commonwealth Bank": {
52755                     "count": 232
52756                 },
52757                 "Citibank": {
52758                     "count": 277
52759                 },
52760                 "HSBC": {
52761                     "count": 1102
52762                 },
52763                 "Barclays": {
52764                     "count": 965
52765                 },
52766                 "Westpac": {
52767                     "count": 208
52768                 },
52769                 "NAB": {
52770                     "count": 131
52771                 },
52772                 "ANZ": {
52773                     "count": 218
52774                 },
52775                 "Lloyds Bank": {
52776                     "count": 547
52777                 },
52778                 "Landbank": {
52779                     "count": 81
52780                 },
52781                 "Sparkasse": {
52782                     "count": 4555
52783                 },
52784                 "UCPB": {
52785                     "count": 92
52786                 },
52787                 "PNB": {
52788                     "count": 244
52789                 },
52790                 "Metrobank": {
52791                     "count": 269
52792                 },
52793                 "BDO": {
52794                     "count": 290
52795                 },
52796                 "Volksbank": {
52797                     "count": 2591
52798                 },
52799                 "BPI": {
52800                     "count": 415
52801                 },
52802                 "Postbank": {
52803                     "count": 443
52804                 },
52805                 "NatWest": {
52806                     "count": 628
52807                 },
52808                 "Raiffeisenbank": {
52809                     "count": 2119
52810                 },
52811                 "Yorkshire Bank": {
52812                     "count": 63
52813                 },
52814                 "ABSA": {
52815                     "count": 95
52816                 },
52817                 "Standard Bank": {
52818                     "count": 109
52819                 },
52820                 "FNB": {
52821                     "count": 97
52822                 },
52823                 "Deutsche Bank": {
52824                     "count": 855
52825                 },
52826                 "SEB": {
52827                     "count": 133
52828                 },
52829                 "Commerzbank": {
52830                     "count": 806
52831                 },
52832                 "Targobank": {
52833                     "count": 166
52834                 },
52835                 "ABN AMRO": {
52836                     "count": 130
52837                 },
52838                 "Handelsbanken": {
52839                     "count": 184
52840                 },
52841                 "Swedbank": {
52842                     "count": 223
52843                 },
52844                 "Kreissparkasse": {
52845                     "count": 600
52846                 },
52847                 "UniCredit Bank": {
52848                     "count": 408
52849                 },
52850                 "Monte dei Paschi di Siena": {
52851                     "count": 132
52852                 },
52853                 "Caja Rural": {
52854                     "count": 99
52855                 },
52856                 "Dresdner Bank": {
52857                     "count": 66
52858                 },
52859                 "Sparda-Bank": {
52860                     "count": 320
52861                 },
52862                 "VÚB": {
52863                     "count": 107
52864                 },
52865                 "Slovenská sporiteľňa": {
52866                     "count": 134
52867                 },
52868                 "Bank of Montreal": {
52869                     "count": 118
52870                 },
52871                 "KBC": {
52872                     "count": 203
52873                 },
52874                 "Royal Bank of Scotland": {
52875                     "count": 111
52876                 },
52877                 "TSB": {
52878                     "count": 80
52879                 },
52880                 "US Bank": {
52881                     "count": 256
52882                 },
52883                 "HypoVereinsbank": {
52884                     "count": 561
52885                 },
52886                 "Bank Austria": {
52887                     "count": 176
52888                 },
52889                 "ING": {
52890                     "count": 496
52891                 },
52892                 "Erste Bank": {
52893                     "count": 180
52894                 },
52895                 "CIBC": {
52896                     "count": 326
52897                 },
52898                 "Scotiabank": {
52899                     "count": 413
52900                 },
52901                 "Caisse d'Épargne": {
52902                     "count": 882
52903                 },
52904                 "Santander": {
52905                     "count": 1323
52906                 },
52907                 "Bank of Scotland": {
52908                     "count": 89
52909                 },
52910                 "TD Canada Trust": {
52911                     "count": 450
52912                 },
52913                 "BMO": {
52914                     "count": 169
52915                 },
52916                 "Danske Bank": {
52917                     "count": 131
52918                 },
52919                 "OTP": {
52920                     "count": 192
52921                 },
52922                 "Crédit Agricole": {
52923                     "count": 1239
52924                 },
52925                 "LCL": {
52926                     "count": 553
52927                 },
52928                 "VR-Bank": {
52929                     "count": 430
52930                 },
52931                 "ČSOB": {
52932                     "count": 160
52933                 },
52934                 "Česká spořitelna": {
52935                     "count": 212
52936                 },
52937                 "BNP": {
52938                     "count": 112
52939                 },
52940                 "Royal Bank": {
52941                     "count": 65
52942                 },
52943                 "Nationwide": {
52944                     "count": 209
52945                 },
52946                 "Halifax": {
52947                     "count": 225
52948                 },
52949                 "BAWAG PSK": {
52950                     "count": 102
52951                 },
52952                 "National Bank": {
52953                     "count": 84
52954                 },
52955                 "Nedbank": {
52956                     "count": 80
52957                 },
52958                 "First National Bank": {
52959                     "count": 85
52960                 },
52961                 "Nordea": {
52962                     "count": 319
52963                 },
52964                 "Rabobank": {
52965                     "count": 609
52966                 },
52967                 "Sparkasse KölnBonn": {
52968                     "count": 69
52969                 },
52970                 "Tatra banka": {
52971                     "count": 67
52972                 },
52973                 "Berliner Sparkasse": {
52974                     "count": 62
52975                 },
52976                 "Berliner Volksbank": {
52977                     "count": 77
52978                 },
52979                 "Wells Fargo": {
52980                     "count": 874
52981                 },
52982                 "Credit Suisse": {
52983                     "count": 71
52984                 },
52985                 "Société Générale": {
52986                     "count": 634
52987                 },
52988                 "Osuuspankki": {
52989                     "count": 75
52990                 },
52991                 "Sparkasse Aachen": {
52992                     "count": 56
52993                 },
52994                 "Hamburger Sparkasse": {
52995                     "count": 156
52996                 },
52997                 "Cassa di Risparmio del Veneto": {
52998                     "count": 68
52999                 },
53000                 "BNP Paribas": {
53001                     "count": 617
53002                 },
53003                 "Banque Populaire": {
53004                     "count": 433
53005                 },
53006                 "BNP Paribas Fortis": {
53007                     "count": 209
53008                 },
53009                 "Banco Popular": {
53010                     "count": 291
53011                 },
53012                 "Bancaja": {
53013                     "count": 55
53014                 },
53015                 "Banesto": {
53016                     "count": 208
53017                 },
53018                 "La Caixa": {
53019                     "count": 583
53020                 },
53021                 "Santander Consumer Bank": {
53022                     "count": 88
53023                 },
53024                 "BRD": {
53025                     "count": 191
53026                 },
53027                 "BCR": {
53028                     "count": 143
53029                 },
53030                 "Banca Transilvania": {
53031                     "count": 141
53032                 },
53033                 "BW-Bank": {
53034                     "count": 97
53035                 },
53036                 "Komerční banka": {
53037                     "count": 132
53038                 },
53039                 "Banco Pastor": {
53040                     "count": 64
53041                 },
53042                 "Stadtsparkasse": {
53043                     "count": 86
53044                 },
53045                 "Ulster Bank": {
53046                     "count": 86
53047                 },
53048                 "Sberbank": {
53049                     "count": 58
53050                 },
53051                 "CIC": {
53052                     "count": 427
53053                 },
53054                 "Bancpost": {
53055                     "count": 56
53056                 },
53057                 "Caja Madrid": {
53058                     "count": 115
53059                 },
53060                 "Maybank": {
53061                     "count": 94
53062                 },
53063                 "中国银行": {
53064                     "count": 85
53065                 },
53066                 "Unicredit Banca": {
53067                     "count": 243
53068                 },
53069                 "Crédit Mutuel": {
53070                     "count": 690
53071                 },
53072                 "BBVA": {
53073                     "count": 647
53074                 },
53075                 "Intesa San Paolo": {
53076                     "count": 69
53077                 },
53078                 "TD Bank": {
53079                     "count": 206
53080                 },
53081                 "Belfius": {
53082                     "count": 231
53083                 },
53084                 "Bank of America": {
53085                     "count": 924
53086                 },
53087                 "RBC": {
53088                     "count": 230
53089                 },
53090                 "Alpha Bank": {
53091                     "count": 123
53092                 },
53093                 "Сбербанк": {
53094                     "count": 4794
53095                 },
53096                 "Россельхозбанк": {
53097                     "count": 201
53098                 },
53099                 "Crédit du Nord": {
53100                     "count": 96
53101                 },
53102                 "BancoEstado": {
53103                     "count": 80
53104                 },
53105                 "Millennium Bank": {
53106                     "count": 414
53107                 },
53108                 "State Bank of India": {
53109                     "count": 151
53110                 },
53111                 "Беларусбанк": {
53112                     "count": 242
53113                 },
53114                 "ING Bank Śląski": {
53115                     "count": 67
53116                 },
53117                 "Caixa Geral de Depósitos": {
53118                     "count": 129
53119                 },
53120                 "Kreissparkasse Köln": {
53121                     "count": 65
53122                 },
53123                 "Banco BCI": {
53124                     "count": 51
53125                 },
53126                 "Banco de Chile": {
53127                     "count": 98
53128                 },
53129                 "ВТБ24": {
53130                     "count": 326
53131                 },
53132                 "UBS": {
53133                     "count": 134
53134                 },
53135                 "PKO BP": {
53136                     "count": 265
53137                 },
53138                 "Chinabank": {
53139                     "count": 55
53140                 },
53141                 "PSBank": {
53142                     "count": 59
53143                 },
53144                 "Union Bank": {
53145                     "count": 124
53146                 },
53147                 "China Bank": {
53148                     "count": 66
53149                 },
53150                 "RCBC": {
53151                     "count": 122
53152                 },
53153                 "Unicaja": {
53154                     "count": 83
53155                 },
53156                 "BBK": {
53157                     "count": 79
53158                 },
53159                 "Ibercaja": {
53160                     "count": 69
53161                 },
53162                 "RBS": {
53163                     "count": 143
53164                 },
53165                 "Commercial Bank of Ceylon PLC": {
53166                     "count": 79
53167                 },
53168                 "Bank of Ireland": {
53169                     "count": 109
53170                 },
53171                 "BNL": {
53172                     "count": 87
53173                 },
53174                 "Banco Santander": {
53175                     "count": 138
53176                 },
53177                 "Banco Itaú": {
53178                     "count": 111
53179                 },
53180                 "AIB": {
53181                     "count": 72
53182                 },
53183                 "BZ WBK": {
53184                     "count": 77
53185                 },
53186                 "Banco do Brasil": {
53187                     "count": 557
53188                 },
53189                 "Caixa Econômica Federal": {
53190                     "count": 184
53191                 },
53192                 "Fifth Third Bank": {
53193                     "count": 84
53194                 },
53195                 "Banca Popolare di Vicenza": {
53196                     "count": 81
53197                 },
53198                 "Wachovia": {
53199                     "count": 58
53200                 },
53201                 "OLB": {
53202                     "count": 53
53203                 },
53204                 "みずほ銀行": {
53205                     "count": 78
53206                 },
53207                 "BES": {
53208                     "count": 72
53209                 },
53210                 "ICICI Bank": {
53211                     "count": 91
53212                 },
53213                 "HDFC Bank": {
53214                     "count": 91
53215                 },
53216                 "La Banque Postale": {
53217                     "count": 67
53218                 },
53219                 "Pekao SA": {
53220                     "count": 56
53221                 },
53222                 "Oberbank": {
53223                     "count": 90
53224                 },
53225                 "Bradesco": {
53226                     "count": 295
53227                 },
53228                 "Oldenburgische Landesbank": {
53229                     "count": 56
53230                 },
53231                 "Bendigo Bank": {
53232                     "count": 93
53233                 },
53234                 "Argenta": {
53235                     "count": 86
53236                 },
53237                 "AXA": {
53238                     "count": 68
53239                 },
53240                 "Axis Bank": {
53241                     "count": 61
53242                 },
53243                 "Banco Nación": {
53244                     "count": 67
53245                 },
53246                 "GE Money Bank": {
53247                     "count": 72
53248                 },
53249                 "Альфа-Банк": {
53250                     "count": 185
53251                 },
53252                 "Белагропромбанк": {
53253                     "count": 70
53254                 },
53255                 "Caja Círculo": {
53256                     "count": 65
53257                 },
53258                 "Banco Galicia": {
53259                     "count": 51
53260                 },
53261                 "Eurobank": {
53262                     "count": 97
53263                 },
53264                 "Banca Intesa": {
53265                     "count": 62
53266                 },
53267                 "Canara Bank": {
53268                     "count": 92
53269                 },
53270                 "Cajamar": {
53271                     "count": 77
53272                 },
53273                 "Banamex": {
53274                     "count": 149
53275                 },
53276                 "Crédit Mutuel de Bretagne": {
53277                     "count": 335
53278                 },
53279                 "Davivienda": {
53280                     "count": 83
53281                 },
53282                 "Bank Spółdzielczy": {
53283                     "count": 159
53284                 },
53285                 "Credit Agricole": {
53286                     "count": 157
53287                 },
53288                 "Bankinter": {
53289                     "count": 59
53290                 },
53291                 "Banque Nationale": {
53292                     "count": 63
53293                 },
53294                 "Bank of the West": {
53295                     "count": 96
53296                 },
53297                 "Key Bank": {
53298                     "count": 155
53299                 },
53300                 "Western Union": {
53301                     "count": 88
53302                 },
53303                 "Citizens Bank": {
53304                     "count": 115
53305                 },
53306                 "ПриватБанк": {
53307                     "count": 513
53308                 },
53309                 "Security Bank": {
53310                     "count": 78
53311                 },
53312                 "Millenium Bank": {
53313                     "count": 60
53314                 },
53315                 "Bankia": {
53316                     "count": 149
53317                 },
53318                 "三菱東京UFJ銀行": {
53319                     "count": 159
53320                 },
53321                 "Caixa": {
53322                     "count": 117
53323                 },
53324                 "Banco de Costa Rica": {
53325                     "count": 63
53326                 },
53327                 "SunTrust Bank": {
53328                     "count": 73
53329                 },
53330                 "Itaú": {
53331                     "count": 338
53332                 },
53333                 "PBZ": {
53334                     "count": 52
53335                 },
53336                 "中国工商银行": {
53337                     "count": 51
53338                 },
53339                 "Bancolombia": {
53340                     "count": 89
53341                 },
53342                 "Райффайзен Банк Аваль": {
53343                     "count": 64
53344                 },
53345                 "Bancomer": {
53346                     "count": 115
53347                 },
53348                 "Banorte": {
53349                     "count": 80
53350                 },
53351                 "Alior Bank": {
53352                     "count": 81
53353                 },
53354                 "BOC": {
53355                     "count": 51
53356                 },
53357                 "Банк Москвы": {
53358                     "count": 118
53359                 },
53360                 "ВТБ": {
53361                     "count": 59
53362                 },
53363                 "Getin Bank": {
53364                     "count": 55
53365                 },
53366                 "Caja Duero": {
53367                     "count": 57
53368                 },
53369                 "Regions Bank": {
53370                     "count": 62
53371                 },
53372                 "Росбанк": {
53373                     "count": 177
53374                 },
53375                 "Banco Estado": {
53376                     "count": 72
53377                 },
53378                 "BCI": {
53379                     "count": 68
53380                 },
53381                 "SunTrust": {
53382                     "count": 68
53383                 },
53384                 "PNC Bank": {
53385                     "count": 254
53386                 },
53387                 "신한은행": {
53388                     "count": 217,
53389                     "tags": {
53390                         "name:en": "Sinhan Bank"
53391                     }
53392                 },
53393                 "우리은행": {
53394                     "count": 291,
53395                     "tags": {
53396                         "name:en": "Uri Bank"
53397                     }
53398                 },
53399                 "국민은행": {
53400                     "count": 165,
53401                     "tags": {
53402                         "name:en": "Gungmin Bank"
53403                     }
53404                 },
53405                 "중소기업은행": {
53406                     "count": 52,
53407                     "tags": {
53408                         "name:en": "Industrial Bank of Korea"
53409                     }
53410                 },
53411                 "광주은행": {
53412                     "count": 51,
53413                     "tags": {
53414                         "name:en": "Gwangju Bank"
53415                     }
53416                 },
53417                 "Газпромбанк": {
53418                     "count": 100
53419                 },
53420                 "M&T Bank": {
53421                     "count": 92
53422                 },
53423                 "Caja de Burgos": {
53424                     "count": 51
53425                 },
53426                 "Santander Totta": {
53427                     "count": 69
53428                 },
53429                 "УкрСиббанк": {
53430                     "count": 192
53431                 },
53432                 "Ощадбанк": {
53433                     "count": 364
53434                 },
53435                 "Уралсиб": {
53436                     "count": 85
53437                 },
53438                 "りそな銀行": {
53439                     "count": 225,
53440                     "tags": {
53441                         "name:en": "Mizuho Bank"
53442                     }
53443                 },
53444                 "Ecobank": {
53445                     "count": 66
53446                 },
53447                 "Cajero Automatico Bancared": {
53448                     "count": 145
53449                 },
53450                 "Промсвязьбанк": {
53451                     "count": 93
53452                 },
53453                 "三井住友銀行": {
53454                     "count": 129
53455                 },
53456                 "Banco Provincia": {
53457                     "count": 67
53458                 },
53459                 "BB&T": {
53460                     "count": 147
53461                 },
53462                 "Возрождение": {
53463                     "count": 59
53464                 },
53465                 "Capital One": {
53466                     "count": 59
53467                 },
53468                 "横浜銀行": {
53469                     "count": 51
53470                 },
53471                 "Bank Mandiri": {
53472                     "count": 62
53473                 },
53474                 "Banco de la Nación": {
53475                     "count": 92
53476                 },
53477                 "Banco G&T Continental": {
53478                     "count": 62
53479                 },
53480                 "Peoples Bank": {
53481                     "count": 60
53482                 },
53483                 "工商银行": {
53484                     "count": 51
53485                 },
53486                 "Совкомбанк": {
53487                     "count": 55
53488                 },
53489                 "Provincial": {
53490                     "count": 56
53491                 },
53492                 "Banco de Desarrollo Banrural": {
53493                     "count": 73
53494                 },
53495                 "Banco Bradesco": {
53496                     "count": 65
53497                 },
53498                 "Bicentenario": {
53499                     "count": 182
53500                 },
53501                 "ლიბერთი ბანკი": {
53502                     "count": 54,
53503                     "tags": {
53504                         "name:en": "Liberty Bank"
53505                     }
53506                 },
53507                 "Banesco": {
53508                     "count": 108
53509                 },
53510                 "Mercantil": {
53511                     "count": 75
53512                 },
53513                 "Bank BRI": {
53514                     "count": 53
53515                 },
53516                 "Del Tesoro": {
53517                     "count": 91
53518                 },
53519                 "하나은행": {
53520                     "count": 77
53521                 },
53522                 "CityCommerce Bank": {
53523                     "count": 71
53524                 },
53525                 "De Venezuela": {
53526                     "count": 117
53527                 }
53528             },
53529             "car_rental": {
53530                 "Europcar": {
53531                     "count": 291
53532                 },
53533                 "Budget": {
53534                     "count": 92
53535                 },
53536                 "Sixt": {
53537                     "count": 161
53538                 },
53539                 "Avis": {
53540                     "count": 282
53541                 },
53542                 "Hertz": {
53543                     "count": 293
53544                 },
53545                 "Enterprise": {
53546                     "count": 199
53547                 },
53548                 "stadtmobil CarSharing-Station": {
53549                     "count": 148
53550                 }
53551             },
53552             "pharmacy": {
53553                 "Rowlands Pharmacy": {
53554                     "count": 71
53555                 },
53556                 "Boots": {
53557                     "count": 840
53558                 },
53559                 "Marien-Apotheke": {
53560                     "count": 314
53561                 },
53562                 "Mercury Drug": {
53563                     "count": 426
53564                 },
53565                 "Löwen-Apotheke": {
53566                     "count": 356
53567                 },
53568                 "Superdrug": {
53569                     "count": 117
53570                 },
53571                 "Sonnen-Apotheke": {
53572                     "count": 311
53573                 },
53574                 "Rathaus-Apotheke": {
53575                     "count": 132
53576                 },
53577                 "Engel-Apotheke": {
53578                     "count": 123
53579                 },
53580                 "Hirsch-Apotheke": {
53581                     "count": 83
53582                 },
53583                 "Stern-Apotheke": {
53584                     "count": 67
53585                 },
53586                 "Lloyds Pharmacy": {
53587                     "count": 295
53588                 },
53589                 "Rosen-Apotheke": {
53590                     "count": 208
53591                 },
53592                 "Stadt-Apotheke": {
53593                     "count": 302
53594                 },
53595                 "Markt-Apotheke": {
53596                     "count": 164
53597                 },
53598                 "Аптека": {
53599                     "count": 1989
53600                 },
53601                 "Pharmasave": {
53602                     "count": 64
53603                 },
53604                 "Brunnen-Apotheke": {
53605                     "count": 53
53606                 },
53607                 "Shoppers Drug Mart": {
53608                     "count": 430
53609                 },
53610                 "Apotheke am Markt": {
53611                     "count": 60
53612                 },
53613                 "Alte Apotheke": {
53614                     "count": 88
53615                 },
53616                 "Neue Apotheke": {
53617                     "count": 109
53618                 },
53619                 "Gintarinė vaistinė": {
53620                     "count": 101
53621                 },
53622                 "Rats-Apotheke": {
53623                     "count": 84
53624                 },
53625                 "Adler Apotheke": {
53626                     "count": 313
53627                 },
53628                 "Pharmacie Centrale": {
53629                     "count": 64
53630                 },
53631                 "Walgreens": {
53632                     "count": 1619
53633                 },
53634                 "Rite Aid": {
53635                     "count": 745
53636                 },
53637                 "Apotheke": {
53638                     "count": 165
53639                 },
53640                 "Linden-Apotheke": {
53641                     "count": 211
53642                 },
53643                 "Bahnhof-Apotheke": {
53644                     "count": 66
53645                 },
53646                 "Burg-Apotheke": {
53647                     "count": 55
53648                 },
53649                 "Jean Coutu": {
53650                     "count": 62
53651                 },
53652                 "Pharmaprix": {
53653                     "count": 60
53654                 },
53655                 "Farmacias Ahumada": {
53656                     "count": 104
53657                 },
53658                 "Farmacia Comunale": {
53659                     "count": 113
53660                 },
53661                 "Farmacias Cruz Verde": {
53662                     "count": 86
53663                 },
53664                 "Cruz Verde": {
53665                     "count": 99
53666                 },
53667                 "Hubertus Apotheke": {
53668                     "count": 52
53669                 },
53670                 "CVS": {
53671                     "count": 1560
53672                 },
53673                 "Farmacias SalcoBrand": {
53674                     "count": 133
53675                 },
53676                 "Фармация": {
53677                     "count": 120
53678                 },
53679                 "Bären-Apotheke": {
53680                     "count": 74
53681                 },
53682                 "Clicks": {
53683                     "count": 113
53684                 },
53685                 "セイジョー": {
53686                     "count": 53
53687                 },
53688                 "マツモトキヨシ": {
53689                     "count": 115
53690                 },
53691                 "Dr. Max": {
53692                     "count": 51
53693                 },
53694                 "Вита": {
53695                     "count": 106
53696                 },
53697                 "Радуга": {
53698                     "count": 70
53699                 },
53700                 "サンドラッグ": {
53701                     "count": 61
53702                 },
53703                 "Apteka": {
53704                     "count": 366
53705                 },
53706                 "Первая помощь": {
53707                     "count": 74
53708                 },
53709                 "Ригла": {
53710                     "count": 113
53711                 },
53712                 "Имплозия": {
53713                     "count": 63
53714                 },
53715                 "Kinney Drugs": {
53716                     "count": 68
53717                 },
53718                 "Классика": {
53719                     "count": 67
53720                 },
53721                 "Ljekarna": {
53722                     "count": 53
53723                 },
53724                 "SalcoBrand": {
53725                     "count": 88
53726                 },
53727                 "Аптека 36,6": {
53728                     "count": 224
53729                 },
53730                 "Фармакор": {
53731                     "count": 75
53732                 },
53733                 "スギ薬局": {
53734                     "count": 84
53735                 },
53736                 "Аптечный пункт": {
53737                     "count": 148
53738                 },
53739                 "Невис": {
53740                     "count": 60
53741                 },
53742                 "トモズ (Tomod's)": {
53743                     "count": 83
53744                 },
53745                 "Eurovaistinė": {
53746                     "count": 65
53747                 },
53748                 "Farmacity": {
53749                     "count": 68
53750                 },
53751                 "аптека": {
53752                     "count": 96
53753                 },
53754                 "The Generics Pharmacy": {
53755                     "count": 95
53756                 },
53757                 "Farmatodo": {
53758                     "count": 123
53759                 },
53760                 "Duane Reade": {
53761                     "count": 61
53762                 },
53763                 "H-E-B": {
53764                     "count": 262
53765                 },
53766                 "Фармленд": {
53767                     "count": 82
53768                 },
53769                 "ドラッグてらしま (Drug Terashima)": {
53770                     "count": 96
53771                 },
53772                 "Арніка": {
53773                     "count": 125
53774                 },
53775                 "ავერსი (Aversi)": {
53776                     "count": 62
53777                 },
53778                 "Farmahorro": {
53779                     "count": 58
53780                 }
53781             },
53782             "cafe": {
53783                 "Starbucks": {
53784                     "count": 4238,
53785                     "tags": {
53786                         "cuisine": "coffee_shop"
53787                     }
53788                 },
53789                 "Cafeteria": {
53790                     "count": 115
53791                 },
53792                 "Costa": {
53793                     "count": 618
53794                 },
53795                 "Caffè Nero": {
53796                     "count": 169
53797                 },
53798                 "Кафе": {
53799                     "count": 226
53800                 },
53801                 "Café Central": {
53802                     "count": 61
53803                 },
53804                 "Second Cup": {
53805                     "count": 193
53806                 },
53807                 "Eisdiele": {
53808                     "count": 73
53809                 },
53810                 "Dunkin Donuts": {
53811                     "count": 428,
53812                     "tags": {
53813                         "cuisine": "donut"
53814                     }
53815                 },
53816                 "Espresso House": {
53817                     "count": 53
53818                 },
53819                 "Segafredo": {
53820                     "count": 69
53821                 },
53822                 "Coffee Time": {
53823                     "count": 94
53824                 },
53825                 "Cafe Coffee Day": {
53826                     "count": 120
53827                 },
53828                 "Eiscafe Venezia": {
53829                     "count": 180
53830                 },
53831                 "スターバックス": {
53832                     "count": 251,
53833                     "tags": {
53834                         "name:en": "Starbucks"
53835                     }
53836                 },
53837                 "Шоколадница": {
53838                     "count": 145
53839                 },
53840                 "Pret A Manger": {
53841                     "count": 119
53842                 },
53843                 "Столовая": {
53844                     "count": 391
53845                 },
53846                 "Jamba Juice": {
53847                     "count": 53
53848                 },
53849                 "ドトール": {
53850                     "count": 164,
53851                     "tags": {
53852                         "name:en": "DOUTOR"
53853                     }
53854                 },
53855                 "Tchibo": {
53856                     "count": 100
53857                 },
53858                 "Кофе Хауз": {
53859                     "count": 104
53860                 },
53861                 "Caribou Coffee": {
53862                     "count": 100
53863                 },
53864                 "Уют": {
53865                     "count": 51
53866                 },
53867                 "Шашлычная": {
53868                     "count": 58
53869                 },
53870                 "คาเฟ่ อเมซอน": {
53871                     "count": 62
53872                 },
53873                 "Traveler's Coffee": {
53874                     "count": 60
53875                 },
53876                 "カフェ・ド・クリエ": {
53877                     "count": 67,
53878                     "tags": {
53879                         "name:en": "Cafe de CRIE"
53880                     }
53881                 },
53882                 "Cafe Amazon": {
53883                     "count": 65
53884                 }
53885             }
53886         },
53887         "shop": {
53888             "supermarket": {
53889                 "Budgens": {
53890                     "count": 88
53891                 },
53892                 "Morrisons": {
53893                     "count": 411
53894                 },
53895                 "Interspar": {
53896                     "count": 142
53897                 },
53898                 "Merkur": {
53899                     "count": 107
53900                 },
53901                 "Sainsbury's": {
53902                     "count": 547
53903                 },
53904                 "Lidl": {
53905                     "count": 6208
53906                 },
53907                 "EDEKA": {
53908                     "count": 506
53909                 },
53910                 "Coles": {
53911                     "count": 400
53912                 },
53913                 "Iceland": {
53914                     "count": 315
53915                 },
53916                 "Coop": {
53917                     "count": 1906
53918                 },
53919                 "Tesco": {
53920                     "count": 1297
53921                 },
53922                 "Woolworths": {
53923                     "count": 541
53924                 },
53925                 "Zielpunkt": {
53926                     "count": 239
53927                 },
53928                 "Nahkauf": {
53929                     "count": 170
53930                 },
53931                 "Billa": {
53932                     "count": 1432
53933                 },
53934                 "Kaufland": {
53935                     "count": 1004
53936                 },
53937                 "Plus": {
53938                     "count": 120
53939                 },
53940                 "ALDI": {
53941                     "count": 5172
53942                 },
53943                 "Checkers": {
53944                     "count": 128
53945                 },
53946                 "Tesco Metro": {
53947                     "count": 137
53948                 },
53949                 "NP": {
53950                     "count": 153
53951                 },
53952                 "Penny": {
53953                     "count": 1759
53954                 },
53955                 "Norma": {
53956                     "count": 1068
53957                 },
53958                 "Asda": {
53959                     "count": 225
53960                 },
53961                 "Netto": {
53962                     "count": 4379
53963                 },
53964                 "REWE": {
53965                     "count": 1474
53966                 },
53967                 "Rewe": {
53968                     "count": 1171
53969                 },
53970                 "Aldi Süd": {
53971                     "count": 594
53972                 },
53973                 "Real": {
53974                     "count": 246
53975                 },
53976                 "Tesco Express": {
53977                     "count": 406
53978                 },
53979                 "King Soopers": {
53980                     "count": 72
53981                 },
53982                 "Kiwi": {
53983                     "count": 167
53984                 },
53985                 "Edeka": {
53986                     "count": 1787
53987                 },
53988                 "Pick n Pay": {
53989                     "count": 241
53990                 },
53991                 "ICA": {
53992                     "count": 192
53993                 },
53994                 "Tengelmann": {
53995                     "count": 188
53996                 },
53997                 "Carrefour": {
53998                     "count": 1640
53999                 },
54000                 "Waitrose": {
54001                     "count": 258
54002                 },
54003                 "Spar": {
54004                     "count": 2100
54005                 },
54006                 "Hofer": {
54007                     "count": 442
54008                 },
54009                 "M-Preis": {
54010                     "count": 76
54011                 },
54012                 "LIDL": {
54013                     "count": 922
54014                 },
54015                 "tegut": {
54016                     "count": 210
54017                 },
54018                 "Sainsbury's Local": {
54019                     "count": 118
54020                 },
54021                 "E-Center": {
54022                     "count": 66
54023                 },
54024                 "Aldi Nord": {
54025                     "count": 210
54026                 },
54027                 "nahkauf": {
54028                     "count": 84
54029                 },
54030                 "Meijer": {
54031                     "count": 76
54032                 },
54033                 "Safeway": {
54034                     "count": 410
54035                 },
54036                 "Costco": {
54037                     "count": 152
54038                 },
54039                 "Albert": {
54040                     "count": 185
54041                 },
54042                 "Jumbo": {
54043                     "count": 194
54044                 },
54045                 "Shoprite": {
54046                     "count": 244
54047                 },
54048                 "MPreis": {
54049                     "count": 54
54050                 },
54051                 "Penny Market": {
54052                     "count": 429
54053                 },
54054                 "Tesco Extra": {
54055                     "count": 123
54056                 },
54057                 "Albert Heijn": {
54058                     "count": 476
54059                 },
54060                 "IGA": {
54061                     "count": 363
54062                 },
54063                 "Super U": {
54064                     "count": 488
54065                 },
54066                 "Metro": {
54067                     "count": 260
54068                 },
54069                 "Neukauf": {
54070                     "count": 77
54071                 },
54072                 "Migros": {
54073                     "count": 459
54074                 },
54075                 "Marktkauf": {
54076                     "count": 121
54077                 },
54078                 "Delikatesy Centrum": {
54079                     "count": 59
54080                 },
54081                 "C1000": {
54082                     "count": 307
54083                 },
54084                 "Hoogvliet": {
54085                     "count": 53
54086                 },
54087                 "COOP": {
54088                     "count": 194
54089                 },
54090                 "Food Basics": {
54091                     "count": 75
54092                 },
54093                 "Casino": {
54094                     "count": 264
54095                 },
54096                 "Penny Markt": {
54097                     "count": 466
54098                 },
54099                 "Giant": {
54100                     "count": 191
54101                 },
54102                 "COOP Jednota": {
54103                     "count": 73
54104                 },
54105                 "Rema 1000": {
54106                     "count": 368
54107                 },
54108                 "Kaufpark": {
54109                     "count": 96
54110                 },
54111                 "ALDI SÜD": {
54112                     "count": 113
54113                 },
54114                 "Simply Market": {
54115                     "count": 330
54116                 },
54117                 "Konzum": {
54118                     "count": 230
54119                 },
54120                 "Carrefour Express": {
54121                     "count": 353
54122                 },
54123                 "Eurospar": {
54124                     "count": 270
54125                 },
54126                 "Mercator": {
54127                     "count": 125
54128                 },
54129                 "Famila": {
54130                     "count": 130
54131                 },
54132                 "Hemköp": {
54133                     "count": 82
54134                 },
54135                 "real,-": {
54136                     "count": 81
54137                 },
54138                 "Markant": {
54139                     "count": 88
54140                 },
54141                 "Volg": {
54142                     "count": 135
54143                 },
54144                 "Leader Price": {
54145                     "count": 267
54146                 },
54147                 "Treff 3000": {
54148                     "count": 94
54149                 },
54150                 "SuperBrugsen": {
54151                     "count": 67
54152                 },
54153                 "Kaiser's": {
54154                     "count": 256
54155                 },
54156                 "K+K": {
54157                     "count": 106
54158                 },
54159                 "Unimarkt": {
54160                     "count": 86
54161                 },
54162                 "Carrefour City": {
54163                     "count": 126
54164                 },
54165                 "Sobeys": {
54166                     "count": 122
54167                 },
54168                 "S-Market": {
54169                     "count": 109
54170                 },
54171                 "Combi": {
54172                     "count": 55
54173                 },
54174                 "Denner": {
54175                     "count": 276
54176                 },
54177                 "Konsum": {
54178                     "count": 133
54179                 },
54180                 "Franprix": {
54181                     "count": 312
54182                 },
54183                 "Monoprix": {
54184                     "count": 198
54185                 },
54186                 "Diska": {
54187                     "count": 69
54188                 },
54189                 "PENNY": {
54190                     "count": 79
54191                 },
54192                 "Dia": {
54193                     "count": 835
54194                 },
54195                 "Giant Eagle": {
54196                     "count": 85
54197                 },
54198                 "NORMA": {
54199                     "count": 115
54200                 },
54201                 "AD Delhaize": {
54202                     "count": 63
54203                 },
54204                 "Auchan": {
54205                     "count": 152
54206                 },
54207                 "Mercadona": {
54208                     "count": 769
54209                 },
54210                 "Consum": {
54211                     "count": 130
54212                 },
54213                 "Carrefour Market": {
54214                     "count": 80
54215                 },
54216                 "Whole Foods": {
54217                     "count": 210
54218                 },
54219                 "Pam": {
54220                     "count": 56
54221                 },
54222                 "sky": {
54223                     "count": 105
54224                 },
54225                 "Despar": {
54226                     "count": 146
54227                 },
54228                 "Eroski": {
54229                     "count": 208
54230                 },
54231                 "Costcutter": {
54232                     "count": 63
54233                 },
54234                 "Maxi": {
54235                     "count": 108
54236                 },
54237                 "Colruyt": {
54238                     "count": 180
54239                 },
54240                 "The Co-operative": {
54241                     "count": 64
54242                 },
54243                 "Intermarché": {
54244                     "count": 1210
54245                 },
54246                 "Delhaize": {
54247                     "count": 207
54248                 },
54249                 "CBA": {
54250                     "count": 176
54251                 },
54252                 "Shopi": {
54253                     "count": 53
54254                 },
54255                 "Walmart": {
54256                     "count": 644
54257                 },
54258                 "Kroger": {
54259                     "count": 317
54260                 },
54261                 "Albertsons": {
54262                     "count": 242
54263                 },
54264                 "Trader Joe's": {
54265                     "count": 235
54266                 },
54267                 "Feneberg": {
54268                     "count": 58
54269                 },
54270                 "denn's Biomarkt": {
54271                     "count": 52
54272                 },
54273                 "dm": {
54274                     "count": 114
54275                 },
54276                 "Kvickly": {
54277                     "count": 55
54278                 },
54279                 "Makro": {
54280                     "count": 140
54281                 },
54282                 "Dico": {
54283                     "count": 53
54284                 },
54285                 "Nah & Frisch": {
54286                     "count": 73
54287                 },
54288                 "Champion": {
54289                     "count": 59
54290                 },
54291                 "ICA Supermarket": {
54292                     "count": 51
54293                 },
54294                 "Fakta": {
54295                     "count": 235
54296                 },
54297                 "Магнит": {
54298                     "count": 1760
54299                 },
54300                 "Caprabo": {
54301                     "count": 103
54302                 },
54303                 "Famiglia Cooperativa": {
54304                     "count": 64
54305                 },
54306                 "Народная 7Я семьЯ": {
54307                     "count": 154
54308                 },
54309                 "Esselunga": {
54310                     "count": 85
54311                 },
54312                 "Maxima": {
54313                     "count": 102
54314                 },
54315                 "Petit Casino": {
54316                     "count": 111
54317                 },
54318                 "Wasgau": {
54319                     "count": 60
54320                 },
54321                 "Pingo Doce": {
54322                     "count": 253
54323                 },
54324                 "Match": {
54325                     "count": 140
54326                 },
54327                 "Profi": {
54328                     "count": 60
54329                 },
54330                 "Lider": {
54331                     "count": 65
54332                 },
54333                 "Unimarc": {
54334                     "count": 177
54335                 },
54336                 "Co-operative Food": {
54337                     "count": 59
54338                 },
54339                 "Santa Isabel": {
54340                     "count": 128
54341                 },
54342                 "Седьмой континент": {
54343                     "count": 79
54344                 },
54345                 "HIT": {
54346                     "count": 59
54347                 },
54348                 "Rimi": {
54349                     "count": 106
54350                 },
54351                 "Conad": {
54352                     "count": 304
54353                 },
54354                 "Фуршет": {
54355                     "count": 76
54356                 },
54357                 "Willys": {
54358                     "count": 56
54359                 },
54360                 "Farmfoods": {
54361                     "count": 64
54362                 },
54363                 "U Express": {
54364                     "count": 51
54365                 },
54366                 "Фора": {
54367                     "count": 52
54368                 },
54369                 "Dunnes Stores": {
54370                     "count": 73
54371                 },
54372                 "Сільпо": {
54373                     "count": 125
54374                 },
54375                 "マルエツ": {
54376                     "count": 59
54377                 },
54378                 "Piggly Wiggly": {
54379                     "count": 57
54380                 },
54381                 "Crai": {
54382                     "count": 54
54383                 },
54384                 "El Árbol": {
54385                     "count": 73
54386                 },
54387                 "Centre Commercial E. Leclerc": {
54388                     "count": 549
54389                 },
54390                 "Foodland": {
54391                     "count": 100
54392                 },
54393                 "Super Brugsen": {
54394                     "count": 67
54395                 },
54396                 "Дикси": {
54397                     "count": 683
54398                 },
54399                 "Пятёрочка": {
54400                     "count": 1344
54401                 },
54402                 "Publix": {
54403                     "count": 339
54404                 },
54405                 "Føtex": {
54406                     "count": 66
54407                 },
54408                 "coop": {
54409                     "count": 73
54410                 },
54411                 "Fressnapf": {
54412                     "count": 69
54413                 },
54414                 "Coop Konsum": {
54415                     "count": 79
54416                 },
54417                 "Carrefour Contact": {
54418                     "count": 83
54419                 },
54420                 "SPAR": {
54421                     "count": 286
54422                 },
54423                 "No Frills": {
54424                     "count": 105
54425                 },
54426                 "Plodine": {
54427                     "count": 52
54428                 },
54429                 "ADEG": {
54430                     "count": 68
54431                 },
54432                 "Minipreço": {
54433                     "count": 111
54434                 },
54435                 "Biedronka": {
54436                     "count": 1335
54437                 },
54438                 "The Co-operative Food": {
54439                     "count": 131
54440                 },
54441                 "Eurospin": {
54442                     "count": 155
54443                 },
54444                 "Семья": {
54445                     "count": 62
54446                 },
54447                 "Gadis": {
54448                     "count": 53
54449                 },
54450                 "Евроопт": {
54451                     "count": 68
54452                 },
54453                 "Centra": {
54454                     "count": 51
54455                 },
54456                 "Квартал": {
54457                     "count": 82
54458                 },
54459                 "New World": {
54460                     "count": 69
54461                 },
54462                 "Countdown": {
54463                     "count": 95
54464                 },
54465                 "Reliance Fresh": {
54466                     "count": 61
54467                 },
54468                 "Stokrotka": {
54469                     "count": 98
54470                 },
54471                 "Coop Jednota": {
54472                     "count": 74
54473                 },
54474                 "Fred Meyer": {
54475                     "count": 64
54476                 },
54477                 "Irma": {
54478                     "count": 58
54479                 },
54480                 "Continente": {
54481                     "count": 75
54482                 },
54483                 "Price Chopper": {
54484                     "count": 99
54485                 },
54486                 "Game": {
54487                     "count": 52
54488                 },
54489                 "Soriana": {
54490                     "count": 93
54491                 },
54492                 "Alimerka": {
54493                     "count": 64
54494                 },
54495                 "Piotr i Paweł": {
54496                     "count": 53
54497                 },
54498                 "Перекресток": {
54499                     "count": 312
54500                 },
54501                 "Maxima X": {
54502                     "count": 117
54503                 },
54504                 "Карусель": {
54505                     "count": 55
54506                 },
54507                 "ALDI Nord": {
54508                     "count": 51
54509                 },
54510                 "Condis": {
54511                     "count": 67
54512                 },
54513                 "Sam's Club": {
54514                     "count": 138
54515                 },
54516                 "Копейка": {
54517                     "count": 87
54518                 },
54519                 "Géant Casino": {
54520                     "count": 54
54521                 },
54522                 "ASDA": {
54523                     "count": 180
54524                 },
54525                 "Intermarche": {
54526                     "count": 115
54527                 },
54528                 "Stop & Shop": {
54529                     "count": 66
54530                 },
54531                 "Food Lion": {
54532                     "count": 216
54533                 },
54534                 "Harris Teeter": {
54535                     "count": 92
54536                 },
54537                 "Foodworks": {
54538                     "count": 62
54539                 },
54540                 "Polo Market": {
54541                     "count": 86
54542                 },
54543                 "Лента": {
54544                     "count": 51
54545                 },
54546                 "西友 (SEIYU)": {
54547                     "count": 58
54548                 },
54549                 "H-E-B": {
54550                     "count": 293
54551                 },
54552                 "Атак": {
54553                     "count": 53
54554                 },
54555                 "Полушка": {
54556                     "count": 139
54557                 },
54558                 "Extra": {
54559                     "count": 82
54560                 },
54561                 "Lewiatan": {
54562                     "count": 94
54563                 },
54564                 "Sigma": {
54565                     "count": 51
54566                 },
54567                 "АТБ": {
54568                     "count": 322
54569                 },
54570                 "Społem": {
54571                     "count": 55
54572                 },
54573                 "Bodega Aurrera": {
54574                     "count": 82
54575                 },
54576                 "Tesco Lotus": {
54577                     "count": 77
54578                 },
54579                 "Мария-Ра": {
54580                     "count": 108
54581                 },
54582                 "Магнолия": {
54583                     "count": 72
54584                 },
54585                 "Магазин": {
54586                     "count": 120
54587                 },
54588                 "Монетка": {
54589                     "count": 174
54590                 },
54591                 "Hy-Vee": {
54592                     "count": 75
54593                 },
54594                 "Walmart Supercenter": {
54595                     "count": 133
54596                 },
54597                 "Hannaford": {
54598                     "count": 57
54599                 },
54600                 "Wegmans": {
54601                     "count": 83
54602                 },
54603                 "業務スーパー": {
54604                     "count": 61
54605                 },
54606                 "Norfa XL": {
54607                     "count": 55
54608                 },
54609                 "ヨークマート (YorkMart)": {
54610                     "count": 64
54611                 },
54612                 "Leclerc Drive": {
54613                     "count": 76
54614                 }
54615             },
54616             "electronics": {
54617                 "Media Markt": {
54618                     "count": 285
54619                 },
54620                 "Maplin": {
54621                     "count": 65
54622                 },
54623                 "Best Buy": {
54624                     "count": 345
54625                 },
54626                 "Future Shop": {
54627                     "count": 73
54628                 },
54629                 "Saturn": {
54630                     "count": 134
54631                 },
54632                 "Currys": {
54633                     "count": 80
54634                 },
54635                 "Radio Shack": {
54636                     "count": 269
54637                 },
54638                 "Euronics": {
54639                     "count": 115
54640                 },
54641                 "Expert": {
54642                     "count": 123
54643                 },
54644                 "Эльдорадо": {
54645                     "count": 184
54646                 },
54647                 "Darty": {
54648                     "count": 74
54649                 },
54650                 "М.Видео": {
54651                     "count": 89
54652                 },
54653                 "ヤマダ電機": {
54654                     "count": 51
54655                 }
54656             },
54657             "convenience": {
54658                 "Shell": {
54659                     "count": 255
54660                 },
54661                 "Spar": {
54662                     "count": 922
54663                 },
54664                 "McColl's": {
54665                     "count": 100
54666                 },
54667                 "Tesco Express": {
54668                     "count": 426
54669                 },
54670                 "Sainsbury's Local": {
54671                     "count": 104
54672                 },
54673                 "Aral": {
54674                     "count": 56
54675                 },
54676                 "One Stop": {
54677                     "count": 146
54678                 },
54679                 "The Co-operative Food": {
54680                     "count": 115
54681                 },
54682                 "Londis": {
54683                     "count": 352
54684                 },
54685                 "7-Eleven": {
54686                     "count": 4440
54687                 },
54688                 "CBA": {
54689                     "count": 135
54690                 },
54691                 "Coop": {
54692                     "count": 538
54693                 },
54694                 "Sale": {
54695                     "count": 80
54696                 },
54697                 "Statoil": {
54698                     "count": 69
54699                 },
54700                 "Sheetz": {
54701                     "count": 54
54702                 },
54703                 "Konzum": {
54704                     "count": 173
54705                 },
54706                 "Siwa": {
54707                     "count": 216
54708                 },
54709                 "Mercator": {
54710                     "count": 57
54711                 },
54712                 "Esso": {
54713                     "count": 67
54714                 },
54715                 "COOP Jednota": {
54716                     "count": 181
54717                 },
54718                 "Mac's": {
54719                     "count": 152
54720                 },
54721                 "Alepa": {
54722                     "count": 62
54723                 },
54724                 "Hasty Market": {
54725                     "count": 54
54726                 },
54727                 "K-Market": {
54728                     "count": 54
54729                 },
54730                 "Costcutter": {
54731                     "count": 292
54732                 },
54733                 "Valintatalo": {
54734                     "count": 62
54735                 },
54736                 "SPAR": {
54737                     "count": 197
54738                 },
54739                 "COOP": {
54740                     "count": 140
54741                 },
54742                 "Casino": {
54743                     "count": 90
54744                 },
54745                 "Franprix": {
54746                     "count": 61
54747                 },
54748                 "Circle K": {
54749                     "count": 289
54750                 },
54751                 "セブンイレブン": {
54752                     "count": 3011,
54753                     "tags": {
54754                         "name:en": "7-Eleven"
54755                     }
54756                 },
54757                 "ローソン": {
54758                     "count": 1596,
54759                     "tags": {
54760                         "name:en": "LAWSON"
54761                     }
54762                 },
54763                 "BP": {
54764                     "count": 163
54765                 },
54766                 "Tesco": {
54767                     "count": 55
54768                 },
54769                 "Petit Casino": {
54770                     "count": 233
54771                 },
54772                 "Volg": {
54773                     "count": 116
54774                 },
54775                 "Mace": {
54776                     "count": 115
54777                 },
54778                 "Mini Market": {
54779                     "count": 272
54780                 },
54781                 "Nisa Local": {
54782                     "count": 77
54783                 },
54784                 "Dorfladen": {
54785                     "count": 75
54786                 },
54787                 "Продукты": {
54788                     "count": 4285
54789                 },
54790                 "Mini Stop": {
54791                     "count": 228
54792                 },
54793                 "LAWSON": {
54794                     "count": 419
54795                 },
54796                 "デイリーヤマザキ": {
54797                     "count": 141
54798                 },
54799                 "Biedronka": {
54800                     "count": 83
54801                 },
54802                 "Надежда": {
54803                     "count": 56
54804                 },
54805                 "Mobil": {
54806                     "count": 66
54807                 },
54808                 "Nisa": {
54809                     "count": 51
54810                 },
54811                 "Premier": {
54812                     "count": 129
54813                 },
54814                 "ABC": {
54815                     "count": 152
54816                 },
54817                 "ミニストップ": {
54818                     "count": 316,
54819                     "tags": {
54820                         "name:en": "MINISTOP"
54821                     }
54822                 },
54823                 "サンクス": {
54824                     "count": 560,
54825                     "tags": {
54826                         "name:en": "sunkus"
54827                     }
54828                 },
54829                 "スリーエフ": {
54830                     "count": 88
54831                 },
54832                 "8 à Huit": {
54833                     "count": 61
54834                 },
54835                 "Tchibo": {
54836                     "count": 56
54837                 },
54838                 "Żabka": {
54839                     "count": 546
54840                 },
54841                 "Almacen": {
54842                     "count": 229
54843                 },
54844                 "Vival": {
54845                     "count": 194
54846                 },
54847                 "FamilyMart": {
54848                     "count": 529
54849                 },
54850                 "ファミリーマート": {
54851                     "count": 1608,
54852                     "tags": {
54853                         "name:en": "FamilyMart"
54854                     }
54855                 },
54856                 "Carrefour City": {
54857                     "count": 57
54858                 },
54859                 "Sunkus": {
54860                     "count": 62
54861                 },
54862                 "Casey's General Store": {
54863                     "count": 95
54864                 },
54865                 "セブンイレブン(Seven-Eleven)": {
54866                     "count": 65
54867                 },
54868                 "Jednota": {
54869                     "count": 58
54870                 },
54871                 "Магазин": {
54872                     "count": 915
54873                 },
54874                 "Гастроном": {
54875                     "count": 152
54876                 },
54877                 "Sklep spożywczy": {
54878                     "count": 318
54879                 },
54880                 "Centra": {
54881                     "count": 111
54882                 },
54883                 "Магнит": {
54884                     "count": 701
54885                 },
54886                 "サークルK": {
54887                     "count": 538,
54888                     "tags": {
54889                         "name:en": "Circle K"
54890                     }
54891                 },
54892                 "Wawa": {
54893                     "count": 135
54894                 },
54895                 "Proxi": {
54896                     "count": 123
54897                 },
54898                 "Универсам": {
54899                     "count": 78
54900                 },
54901                 "Перекресток": {
54902                     "count": 51
54903                 },
54904                 "Groszek": {
54905                     "count": 65
54906                 },
54907                 "Select": {
54908                     "count": 62
54909                 },
54910                 "Večerka": {
54911                     "count": 51
54912                 },
54913                 "Potraviny": {
54914                     "count": 249
54915                 },
54916                 "Смак": {
54917                     "count": 78
54918                 },
54919                 "Эконом": {
54920                     "count": 55
54921                 },
54922                 "Березка": {
54923                     "count": 77
54924                 },
54925                 "Społem": {
54926                     "count": 93
54927                 },
54928                 "Carrefour Express": {
54929                     "count": 84
54930                 },
54931                 "Cumberland Farms": {
54932                     "count": 63
54933                 },
54934                 "Chevron": {
54935                     "count": 59
54936                 },
54937                 "Coop Jednota": {
54938                     "count": 66
54939                 },
54940                 "Tesco Lotus Express": {
54941                     "count": 67
54942                 },
54943                 "Kiosk": {
54944                     "count": 55
54945                 },
54946                 "24 часа": {
54947                     "count": 58
54948                 },
54949                 "Минимаркет": {
54950                     "count": 102
54951                 },
54952                 "Oxxo": {
54953                     "count": 669
54954                 },
54955                 "Пятёрочка": {
54956                     "count": 398
54957                 },
54958                 "abc": {
54959                     "count": 74
54960                 },
54961                 "7/11": {
54962                     "count": 51
54963                 },
54964                 "Stewart's": {
54965                     "count": 255
54966                 },
54967                 "Продукти": {
54968                     "count": 171
54969                 },
54970                 "ローソンストア100 (LAWSON STORE 100)": {
54971                     "count": 85
54972                 },
54973                 "Дикси": {
54974                     "count": 119
54975                 },
54976                 "Радуга": {
54977                     "count": 86
54978                 },
54979                 "ローソンストア100": {
54980                     "count": 76
54981                 },
54982                 "เซเว่นอีเลฟเว่น": {
54983                     "count": 185
54984                 },
54985                 "Spożywczy": {
54986                     "count": 78
54987                 },
54988                 "Delikatesy Centrum": {
54989                     "count": 53
54990                 },
54991                 "Citgo": {
54992                     "count": 62
54993                 },
54994                 "Фортуна": {
54995                     "count": 51
54996                 },
54997                 "Kum & Go": {
54998                     "count": 59
54999                 },
55000                 "Мария-Ра": {
55001                     "count": 76
55002                 },
55003                 "Picard": {
55004                     "count": 57
55005                 },
55006                 "Four Square": {
55007                     "count": 52
55008                 },
55009                 "Визит": {
55010                     "count": 57
55011                 },
55012                 "Авоська": {
55013                     "count": 55
55014                 },
55015                 "Dollar General": {
55016                     "count": 127
55017                 },
55018                 "Studenac": {
55019                     "count": 76
55020                 },
55021                 "Central Convenience Store": {
55022                     "count": 55
55023                 },
55024                 "Монетка": {
55025                     "count": 62
55026                 },
55027                 "продукты": {
55028                     "count": 114
55029                 },
55030                 "Теремок": {
55031                     "count": 56
55032                 },
55033                 "Kwik Trip": {
55034                     "count": 69
55035                 },
55036                 "Кулинария": {
55037                     "count": 55
55038                 },
55039                 "全家": {
55040                     "count": 90
55041                 },
55042                 "Мечта": {
55043                     "count": 54
55044                 },
55045                 "Epicerie": {
55046                     "count": 102
55047                 },
55048                 "Кировский": {
55049                     "count": 67
55050                 },
55051                 "Food Mart": {
55052                     "count": 117
55053                 },
55054                 "Delikatesy": {
55055                     "count": 81
55056                 },
55057                 "ポプラ": {
55058                     "count": 54
55059                 },
55060                 "Lewiatan": {
55061                     "count": 135
55062                 },
55063                 "Продуктовый магазин": {
55064                     "count": 149
55065                 },
55066                 "Продуктовый": {
55067                     "count": 84
55068                 },
55069                 "セイコーマート (Seicomart)": {
55070                     "count": 72
55071                 },
55072                 "Виктория": {
55073                     "count": 70
55074                 },
55075                 "Весна": {
55076                     "count": 57
55077                 },
55078                 "Mini Market Non-Stop": {
55079                     "count": 60
55080                 },
55081                 "QuikTrip": {
55082                     "count": 75
55083                 },
55084                 "Копеечка": {
55085                     "count": 51
55086                 },
55087                 "Royal Farms": {
55088                     "count": 51
55089                 },
55090                 "Alfamart": {
55091                     "count": 103
55092                 },
55093                 "Indomaret": {
55094                     "count": 141
55095                 },
55096                 "магазин": {
55097                     "count": 171
55098                 },
55099                 "全家便利商店": {
55100                     "count": 156
55101                 },
55102                 "Boutique": {
55103                     "count": 59
55104                 },
55105                 "მარკეტი (Market)": {
55106                     "count": 144
55107                 },
55108                 "Stores": {
55109                     "count": 61
55110                 }
55111             },
55112             "chemist": {
55113                 "dm": {
55114                     "count": 939
55115                 },
55116                 "Müller": {
55117                     "count": 212
55118                 },
55119                 "Schlecker": {
55120                     "count": 187
55121                 },
55122                 "Etos": {
55123                     "count": 467
55124                 },
55125                 "Bipa": {
55126                     "count": 289
55127                 },
55128                 "Rossmann": {
55129                     "count": 1669
55130                 },
55131                 "DM Drogeriemarkt": {
55132                     "count": 55
55133                 },
55134                 "Ihr Platz": {
55135                     "count": 73
55136                 },
55137                 "Douglas": {
55138                     "count": 62
55139                 },
55140                 "Kruidvat": {
55141                     "count": 123
55142                 }
55143             },
55144             "car_repair": {
55145                 "Peugeot": {
55146                     "count": 83
55147                 },
55148                 "Kwik Fit": {
55149                     "count": 75
55150                 },
55151                 "ATU": {
55152                     "count": 261
55153                 },
55154                 "Kwik-Fit": {
55155                     "count": 53
55156                 },
55157                 "Midas": {
55158                     "count": 202
55159                 },
55160                 "Feu Vert": {
55161                     "count": 113
55162                 },
55163                 "Norauto": {
55164                     "count": 152
55165                 },
55166                 "Speedy": {
55167                     "count": 115
55168                 },
55169                 "Автозапчасти": {
55170                     "count": 212
55171                 },
55172                 "Renault": {
55173                     "count": 171
55174                 },
55175                 "Pit Stop": {
55176                     "count": 58
55177                 },
55178                 "Jiffy Lube": {
55179                     "count": 198
55180                 },
55181                 "Шиномонтаж": {
55182                     "count": 1157
55183                 },
55184                 "СТО": {
55185                     "count": 395
55186                 },
55187                 "O'Reilly Auto Parts": {
55188                     "count": 81
55189                 },
55190                 "Carglass": {
55191                     "count": 112
55192                 },
55193                 "шиномонтаж": {
55194                     "count": 62
55195                 },
55196                 "Citroen": {
55197                     "count": 51
55198                 },
55199                 "Euromaster": {
55200                     "count": 87
55201                 },
55202                 "Firestone": {
55203                     "count": 88
55204                 },
55205                 "AutoZone": {
55206                     "count": 82
55207                 },
55208                 "Автосервис": {
55209                     "count": 361
55210                 },
55211                 "Advance Auto Parts": {
55212                     "count": 52
55213                 },
55214                 "Roady": {
55215                     "count": 56
55216                 }
55217             },
55218             "furniture": {
55219                 "IKEA": {
55220                     "count": 169
55221                 },
55222                 "Jysk": {
55223                     "count": 109
55224                 },
55225                 "Roller": {
55226                     "count": 78
55227                 },
55228                 "Dänisches Bettenlager": {
55229                     "count": 309
55230                 },
55231                 "Conforama": {
55232                     "count": 99
55233                 },
55234                 "Matratzen Concord": {
55235                     "count": 52
55236                 },
55237                 "Мебель": {
55238                     "count": 210
55239                 },
55240                 "But": {
55241                     "count": 63
55242                 }
55243             },
55244             "doityourself": {
55245                 "Hornbach": {
55246                     "count": 123
55247                 },
55248                 "B&Q": {
55249                     "count": 225
55250                 },
55251                 "Hubo": {
55252                     "count": 77
55253                 },
55254                 "Mr Bricolage": {
55255                     "count": 88
55256                 },
55257                 "Gamma": {
55258                     "count": 111
55259                 },
55260                 "OBI": {
55261                     "count": 422
55262                 },
55263                 "Lowes": {
55264                     "count": 1152
55265                 },
55266                 "Wickes": {
55267                     "count": 123
55268                 },
55269                 "Hagebau": {
55270                     "count": 59
55271                 },
55272                 "Max Bahr": {
55273                     "count": 79
55274                 },
55275                 "Castorama": {
55276                     "count": 153
55277                 },
55278                 "Rona": {
55279                     "count": 61
55280                 },
55281                 "Home Depot": {
55282                     "count": 865
55283                 },
55284                 "Toom Baumarkt": {
55285                     "count": 71
55286                 },
55287                 "Homebase": {
55288                     "count": 225
55289                 },
55290                 "Baumax": {
55291                     "count": 95
55292                 },
55293                 "Lagerhaus": {
55294                     "count": 79
55295                 },
55296                 "Bauhaus": {
55297                     "count": 186
55298                 },
55299                 "Canadian Tire": {
55300                     "count": 97
55301                 },
55302                 "Leroy Merlin": {
55303                     "count": 209
55304                 },
55305                 "Hellweg": {
55306                     "count": 58
55307                 },
55308                 "Brico": {
55309                     "count": 98
55310                 },
55311                 "Bricomarché": {
55312                     "count": 235
55313                 },
55314                 "Toom": {
55315                     "count": 67
55316                 },
55317                 "Hagebaumarkt": {
55318                     "count": 107
55319                 },
55320                 "Praktiker": {
55321                     "count": 122
55322                 },
55323                 "Menards": {
55324                     "count": 70
55325                 },
55326                 "Weldom": {
55327                     "count": 73
55328                 },
55329                 "Bunnings Warehouse": {
55330                     "count": 91
55331                 },
55332                 "Ace Hardware": {
55333                     "count": 147
55334                 },
55335                 "Home Hardware": {
55336                     "count": 72
55337                 },
55338                 "Хозтовары": {
55339                     "count": 86
55340                 },
55341                 "Стройматериалы": {
55342                     "count": 197
55343                 },
55344                 "Bricorama": {
55345                     "count": 60
55346                 },
55347                 "Point P": {
55348                     "count": 59
55349                 }
55350             },
55351             "stationery": {
55352                 "Staples": {
55353                     "count": 299
55354                 },
55355                 "McPaper": {
55356                     "count": 83
55357                 },
55358                 "Office Depot": {
55359                     "count": 98
55360                 },
55361                 "Канцтовары": {
55362                     "count": 63
55363                 }
55364             },
55365             "car": {
55366                 "Skoda": {
55367                     "count": 97
55368                 },
55369                 "BMW": {
55370                     "count": 149
55371                 },
55372                 "Citroen": {
55373                     "count": 277
55374                 },
55375                 "Renault": {
55376                     "count": 382
55377                 },
55378                 "Mercedes-Benz": {
55379                     "count": 235
55380                 },
55381                 "Volvo": {
55382                     "count": 96
55383                 },
55384                 "Ford": {
55385                     "count": 239
55386                 },
55387                 "Volkswagen": {
55388                     "count": 217
55389                 },
55390                 "Mazda": {
55391                     "count": 105
55392                 },
55393                 "Mitsubishi": {
55394                     "count": 73
55395                 },
55396                 "Fiat": {
55397                     "count": 93
55398                 },
55399                 "Автозапчасти": {
55400                     "count": 277
55401                 },
55402                 "Opel": {
55403                     "count": 165
55404                 },
55405                 "Audi": {
55406                     "count": 121
55407                 },
55408                 "Toyota": {
55409                     "count": 271
55410                 },
55411                 "Nissan": {
55412                     "count": 189
55413                 },
55414                 "Suzuki": {
55415                     "count": 75
55416                 },
55417                 "Honda": {
55418                     "count": 157
55419                 },
55420                 "Peugeot": {
55421                     "count": 308
55422                 },
55423                 "Шиномонтаж": {
55424                     "count": 259
55425                 },
55426                 "Hyundai": {
55427                     "count": 166
55428                 },
55429                 "Subaru": {
55430                     "count": 58
55431                 },
55432                 "Chevrolet": {
55433                     "count": 86
55434                 },
55435                 "Автомагазин": {
55436                     "count": 72
55437                 }
55438             },
55439             "clothes": {
55440                 "Matalan": {
55441                     "count": 90
55442                 },
55443                 "KiK": {
55444                     "count": 1219
55445                 },
55446                 "H&M": {
55447                     "count": 658
55448                 },
55449                 "Urban Outfitters": {
55450                     "count": 63
55451                 },
55452                 "Vögele": {
55453                     "count": 132
55454                 },
55455                 "Zeeman": {
55456                     "count": 121
55457                 },
55458                 "Takko": {
55459                     "count": 515
55460                 },
55461                 "Adler": {
55462                     "count": 55
55463                 },
55464                 "C&A": {
55465                     "count": 506
55466                 },
55467                 "Zara": {
55468                     "count": 217
55469                 },
55470                 "Vero Moda": {
55471                     "count": 95
55472                 },
55473                 "NKD": {
55474                     "count": 486
55475                 },
55476                 "Ernsting's family": {
55477                     "count": 312
55478                 },
55479                 "Winners": {
55480                     "count": 65
55481                 },
55482                 "River Island": {
55483                     "count": 59
55484                 },
55485                 "Next": {
55486                     "count": 176
55487                 },
55488                 "Gap": {
55489                     "count": 81
55490                 },
55491                 "Adidas": {
55492                     "count": 92
55493                 },
55494                 "Woolworths": {
55495                     "count": 117
55496                 },
55497                 "Mr Price": {
55498                     "count": 88
55499                 },
55500                 "Jet": {
55501                     "count": 61
55502                 },
55503                 "Pep": {
55504                     "count": 134
55505                 },
55506                 "Edgars": {
55507                     "count": 110
55508                 },
55509                 "Ackermans": {
55510                     "count": 91
55511                 },
55512                 "Truworths": {
55513                     "count": 65
55514                 },
55515                 "Ross": {
55516                     "count": 93
55517                 },
55518                 "Burton": {
55519                     "count": 51
55520                 },
55521                 "Dorothy Perkins": {
55522                     "count": 53
55523                 },
55524                 "Deichmann": {
55525                     "count": 61
55526                 },
55527                 "Lindex": {
55528                     "count": 73
55529                 },
55530                 "s.Oliver": {
55531                     "count": 56
55532                 },
55533                 "Cecil": {
55534                     "count": 51
55535                 },
55536                 "Dress Barn": {
55537                     "count": 52
55538                 },
55539                 "Old Navy": {
55540                     "count": 174
55541                 },
55542                 "Jack & Jones": {
55543                     "count": 52
55544                 },
55545                 "Pimkie": {
55546                     "count": 73
55547                 },
55548                 "Esprit": {
55549                     "count": 231
55550                 },
55551                 "Primark": {
55552                     "count": 92
55553                 },
55554                 "Bonita": {
55555                     "count": 155
55556                 },
55557                 "Mexx": {
55558                     "count": 67
55559                 },
55560                 "Gerry Weber": {
55561                     "count": 71
55562                 },
55563                 "Tally Weijl": {
55564                     "count": 70
55565                 },
55566                 "Mango": {
55567                     "count": 133
55568                 },
55569                 "TK Maxx": {
55570                     "count": 84
55571                 },
55572                 "Benetton": {
55573                     "count": 101
55574                 },
55575                 "Ulla Popken": {
55576                     "count": 61
55577                 },
55578                 "AWG": {
55579                     "count": 66
55580                 },
55581                 "Tommy Hilfiger": {
55582                     "count": 75
55583                 },
55584                 "New Yorker": {
55585                     "count": 180
55586                 },
55587                 "Orsay": {
55588                     "count": 73
55589                 },
55590                 "Jeans Fritz": {
55591                     "count": 51
55592                 },
55593                 "Charles Vögele": {
55594                     "count": 69
55595                 },
55596                 "New Look": {
55597                     "count": 126
55598                 },
55599                 "Lacoste": {
55600                     "count": 78
55601                 },
55602                 "Etam": {
55603                     "count": 53
55604                 },
55605                 "Kiabi": {
55606                     "count": 148
55607                 },
55608                 "Jack Wolfskin": {
55609                     "count": 60
55610                 },
55611                 "American Apparel": {
55612                     "count": 57
55613                 },
55614                 "Men's Wearhouse": {
55615                     "count": 54
55616                 },
55617                 "Intimissimi": {
55618                     "count": 52
55619                 },
55620                 "United Colors of Benetton": {
55621                     "count": 96
55622                 },
55623                 "Jules": {
55624                     "count": 63
55625                 },
55626                 "Second Hand": {
55627                     "count": 53
55628                 },
55629                 "AOKI": {
55630                     "count": 57
55631                 },
55632                 "Calzedonia": {
55633                     "count": 68
55634                 },
55635                 "洋服の青山": {
55636                     "count": 100
55637                 },
55638                 "Levi's": {
55639                     "count": 63
55640                 },
55641                 "Celio": {
55642                     "count": 74
55643                 },
55644                 "TJ Maxx": {
55645                     "count": 57
55646                 },
55647                 "Promod": {
55648                     "count": 82
55649                 },
55650                 "Street One": {
55651                     "count": 72
55652                 },
55653                 "ユニクロ": {
55654                     "count": 59
55655                 },
55656                 "Banana Republic": {
55657                     "count": 57
55658                 },
55659                 "Одежда": {
55660                     "count": 75
55661                 },
55662                 "Marshalls": {
55663                     "count": 56
55664                 },
55665                 "La Halle": {
55666                     "count": 62
55667                 },
55668                 "Peacocks": {
55669                     "count": 89
55670                 },
55671                 "しまむら": {
55672                     "count": 60
55673                 }
55674             },
55675             "books": {
55676                 "Bruna": {
55677                     "count": 58
55678                 },
55679                 "Waterstones": {
55680                     "count": 90
55681                 },
55682                 "Libro": {
55683                     "count": 57
55684                 },
55685                 "Barnes & Noble": {
55686                     "count": 267
55687                 },
55688                 "Weltbild": {
55689                     "count": 74
55690                 },
55691                 "Thalia": {
55692                     "count": 121
55693                 },
55694                 "Книги": {
55695                     "count": 112
55696                 }
55697             },
55698             "department_store": {
55699                 "Debenhams": {
55700                     "count": 67
55701                 },
55702                 "Canadian Tire": {
55703                     "count": 75
55704                 },
55705                 "Karstadt": {
55706                     "count": 64
55707                 },
55708                 "Walmart": {
55709                     "count": 517
55710                 },
55711                 "Kmart": {
55712                     "count": 143
55713                 },
55714                 "Target": {
55715                     "count": 574
55716                 },
55717                 "Galeria Kaufhof": {
55718                     "count": 61
55719                 },
55720                 "Marks & Spencer": {
55721                     "count": 66
55722                 },
55723                 "Big W": {
55724                     "count": 57
55725                 },
55726                 "Woolworth": {
55727                     "count": 78
55728                 },
55729                 "Универмаг": {
55730                     "count": 72
55731                 },
55732                 "Sears": {
55733                     "count": 235
55734                 },
55735                 "Walmart Supercenter": {
55736                     "count": 101
55737                 },
55738                 "Kohl's": {
55739                     "count": 153
55740                 },
55741                 "Macy's": {
55742                     "count": 147
55743                 },
55744                 "Sam's Club": {
55745                     "count": 54
55746                 },
55747                 "JCPenney": {
55748                     "count": 66
55749                 }
55750             },
55751             "alcohol": {
55752                 "Alko": {
55753                     "count": 145
55754                 },
55755                 "The Beer Store": {
55756                     "count": 150
55757                 },
55758                 "Systembolaget": {
55759                     "count": 210
55760                 },
55761                 "LCBO": {
55762                     "count": 239
55763                 },
55764                 "Ароматный мир": {
55765                     "count": 62
55766                 },
55767                 "Bargain Booze": {
55768                     "count": 62
55769                 },
55770                 "Nicolas": {
55771                     "count": 119
55772                 },
55773                 "BWS": {
55774                     "count": 70
55775                 },
55776                 "Botilleria": {
55777                     "count": 77
55778                 },
55779                 "SAQ": {
55780                     "count": 72
55781                 },
55782                 "Gall & Gall": {
55783                     "count": 512
55784                 },
55785                 "Живое пиво": {
55786                     "count": 70
55787                 }
55788             },
55789             "bakery": {
55790                 "Kamps": {
55791                     "count": 252
55792                 },
55793                 "Banette": {
55794                     "count": 52
55795                 },
55796                 "Bäckerei Schmidt": {
55797                     "count": 57
55798                 },
55799                 "Anker": {
55800                     "count": 73
55801                 },
55802                 "Hofpfisterei": {
55803                     "count": 111
55804                 },
55805                 "Greggs": {
55806                     "count": 276
55807                 },
55808                 "Oebel": {
55809                     "count": 57
55810                 },
55811                 "Boulangerie": {
55812                     "count": 266
55813                 },
55814                 "Stadtbäckerei": {
55815                     "count": 57
55816                 },
55817                 "Steinecke": {
55818                     "count": 145
55819                 },
55820                 "Ihle": {
55821                     "count": 76
55822                 },
55823                 "Goldilocks": {
55824                     "count": 59
55825                 },
55826                 "Dat Backhus": {
55827                     "count": 67
55828                 },
55829                 "K&U": {
55830                     "count": 61
55831                 },
55832                 "Der Beck": {
55833                     "count": 96
55834                 },
55835                 "Thürmann": {
55836                     "count": 54
55837                 },
55838                 "Backwerk": {
55839                     "count": 95
55840                 },
55841                 "Bäcker": {
55842                     "count": 68
55843                 },
55844                 "Schäfer's": {
55845                     "count": 51
55846                 },
55847                 "Panaderia": {
55848                     "count": 168
55849                 },
55850                 "Goeken backen": {
55851                     "count": 51
55852                 },
55853                 "Stadtbäckerei Junge": {
55854                     "count": 51
55855                 },
55856                 "Boulangerie Patisserie": {
55857                     "count": 119
55858                 },
55859                 "Paul": {
55860                     "count": 81
55861                 },
55862                 "Хлеб": {
55863                     "count": 89
55864                 },
55865                 "Piekarnia": {
55866                     "count": 62
55867                 },
55868                 "Пекарня": {
55869                     "count": 52
55870                 },
55871                 "Кулиничи": {
55872                     "count": 51
55873                 }
55874             },
55875             "sports": {
55876                 "Sports Direct": {
55877                     "count": 57
55878                 },
55879                 "Decathlon": {
55880                     "count": 309
55881                 },
55882                 "Intersport": {
55883                     "count": 283
55884                 },
55885                 "Sports Authority": {
55886                     "count": 75
55887                 },
55888                 "Спортмастер": {
55889                     "count": 87
55890                 },
55891                 "Sport 2000": {
55892                     "count": 90
55893                 },
55894                 "Dick's Sporting Goods": {
55895                     "count": 77
55896                 }
55897             },
55898             "variety_store": {
55899                 "Tedi": {
55900                     "count": 157
55901                 },
55902                 "Dollarama": {
55903                     "count": 103
55904                 },
55905                 "Family Dollar": {
55906                     "count": 61
55907                 },
55908                 "Dollar Tree": {
55909                     "count": 110
55910                 },
55911                 "Dollar General": {
55912                     "count": 80
55913                 }
55914             },
55915             "pet": {
55916                 "Fressnapf": {
55917                     "count": 318
55918                 },
55919                 "PetSmart": {
55920                     "count": 177
55921                 },
55922                 "Das Futterhaus": {
55923                     "count": 69
55924                 },
55925                 "Pets at Home": {
55926                     "count": 62
55927                 },
55928                 "Petco": {
55929                     "count": 101
55930                 },
55931                 "Зоомагазин": {
55932                     "count": 100
55933                 }
55934             },
55935             "shoes": {
55936                 "Deichmann": {
55937                     "count": 622
55938                 },
55939                 "Reno": {
55940                     "count": 183
55941                 },
55942                 "Ecco": {
55943                     "count": 55
55944                 },
55945                 "Clarks": {
55946                     "count": 109
55947                 },
55948                 "La Halle aux Chaussures": {
55949                     "count": 69
55950                 },
55951                 "Brantano": {
55952                     "count": 71
55953                 },
55954                 "Geox": {
55955                     "count": 51
55956                 },
55957                 "Salamander": {
55958                     "count": 51
55959                 },
55960                 "Обувь": {
55961                     "count": 100
55962                 },
55963                 "Payless Shoe Source": {
55964                     "count": 67
55965                 },
55966                 "Famous Footwear": {
55967                     "count": 59
55968                 },
55969                 "Quick Schuh": {
55970                     "count": 72
55971                 },
55972                 "Shoe Zone": {
55973                     "count": 55
55974                 },
55975                 "Foot Locker": {
55976                     "count": 82
55977                 },
55978                 "Bata": {
55979                     "count": 101
55980                 },
55981                 "ЦентрОбувь": {
55982                     "count": 51
55983                 }
55984             },
55985             "toys": {
55986                 "La Grande Récré": {
55987                     "count": 56
55988                 },
55989                 "Toys R Us": {
55990                     "count": 151,
55991                     "tags": {
55992                         "shop": "toys"
55993                     }
55994                 },
55995                 "Intertoys": {
55996                     "count": 57
55997                 },
55998                 "Детский мир": {
55999                     "count": 86
56000                 },
56001                 "Игрушки": {
56002                     "count": 58
56003                 }
56004             },
56005             "travel_agency": {
56006                 "Flight Centre": {
56007                     "count": 92
56008                 },
56009                 "Thomas Cook": {
56010                     "count": 119
56011                 }
56012             },
56013             "jewelry": {
56014                 "Bijou Brigitte": {
56015                     "count": 57
56016                 },
56017                 "Christ": {
56018                     "count": 57
56019                 },
56020                 "Swarovski": {
56021                     "count": 74
56022                 }
56023             },
56024             "optician": {
56025                 "Fielmann": {
56026                     "count": 232
56027                 },
56028                 "Apollo Optik": {
56029                     "count": 150
56030                 },
56031                 "Vision Express": {
56032                     "count": 58
56033                 },
56034                 "Оптика": {
56035                     "count": 182
56036                 },
56037                 "Optic 2000": {
56038                     "count": 98
56039                 },
56040                 "Alain Afflelou": {
56041                     "count": 73
56042                 },
56043                 "Specsavers": {
56044                     "count": 124
56045                 },
56046                 "Krys": {
56047                     "count": 77
56048                 },
56049                 "Atol": {
56050                     "count": 55
56051                 }
56052             },
56053             "video": {
56054                 "Blockbuster": {
56055                     "count": 184
56056                 },
56057                 "World of Video": {
56058                     "count": 64
56059                 }
56060             },
56061             "mobile_phone": {
56062                 "Билайн": {
56063                     "count": 128
56064                 },
56065                 "ソフトバンクショップ (SoftBank shop)": {
56066                     "count": 255
56067                 },
56068                 "Vodafone": {
56069                     "count": 355
56070                 },
56071                 "O2": {
56072                     "count": 208
56073                 },
56074                 "Carphone Warehouse": {
56075                     "count": 127
56076                 },
56077                 "Orange": {
56078                     "count": 246
56079                 },
56080                 "Verizon Wireless": {
56081                     "count": 125
56082                 },
56083                 "Sprint": {
56084                     "count": 109
56085                 },
56086                 "T-Mobile": {
56087                     "count": 175
56088                 },
56089                 "МТС": {
56090                     "count": 352
56091                 },
56092                 "Евросеть": {
56093                     "count": 506
56094                 },
56095                 "Bell": {
56096                     "count": 190
56097                 },
56098                 "The Phone House": {
56099                     "count": 83
56100                 },
56101                 "SFR": {
56102                     "count": 71
56103                 },
56104                 "Связной": {
56105                     "count": 439
56106                 },
56107                 "Мегафон": {
56108                     "count": 251
56109                 },
56110                 "AT&T": {
56111                     "count": 124
56112                 },
56113                 "ドコモショップ (docomo shop)": {
56114                     "count": 114
56115                 },
56116                 "au": {
56117                     "count": 65
56118                 },
56119                 "Movistar": {
56120                     "count": 77
56121                 },
56122                 "Bitė": {
56123                     "count": 72
56124                 }
56125             },
56126             "hifi": {},
56127             "computer": {
56128                 "PC World": {
56129                     "count": 55
56130                 },
56131                 "DNS": {
56132                     "count": 128
56133                 }
56134             },
56135             "hairdresser": {
56136                 "Klier": {
56137                     "count": 119
56138                 },
56139                 "Supercuts": {
56140                     "count": 106
56141                 },
56142                 "Hairkiller": {
56143                     "count": 51
56144                 },
56145                 "Great Clips": {
56146                     "count": 182
56147                 },
56148                 "Парикмахерская": {
56149                     "count": 510
56150                 },
56151                 "Стиль": {
56152                     "count": 51
56153                 },
56154                 "Fryzjer": {
56155                     "count": 56
56156                 },
56157                 "Franck Provost": {
56158                     "count": 70
56159                 },
56160                 "Салон красоты": {
56161                     "count": 70
56162                 }
56163             },
56164             "hardware": {
56165                 "1000 мелочей": {
56166                     "count": 61
56167                 },
56168                 "Хозтовары": {
56169                     "count": 151
56170                 },
56171                 "Стройматериалы": {
56172                     "count": 54
56173                 }
56174             },
56175             "motorcycle": {
56176                 "Yamaha": {
56177                     "count": 67
56178                 },
56179                 "Honda": {
56180                     "count": 69
56181                 }
56182             }
56183         }
56184     },
56185     "addressFormats": [
56186         {
56187             "format": [
56188                 [
56189                     "housenumber",
56190                     "street"
56191                 ],
56192                 [
56193                     "city",
56194                     "postcode"
56195                 ]
56196             ]
56197         },
56198         {
56199             "countryCodes": [
56200                 "gb"
56201             ],
56202             "format": [
56203                 [
56204                     "housename"
56205                 ],
56206                 [
56207                     "housenumber",
56208                     "street"
56209                 ],
56210                 [
56211                     "city",
56212                     "postcode"
56213                 ]
56214             ]
56215         },
56216         {
56217             "countryCodes": [
56218                 "ie"
56219             ],
56220             "format": [
56221                 [
56222                     "housename"
56223                 ],
56224                 [
56225                     "housenumber",
56226                     "street"
56227                 ],
56228                 [
56229                     "city"
56230                 ]
56231             ]
56232         },
56233         {
56234             "countryCodes": [
56235                 "ad",
56236                 "at",
56237                 "ba",
56238                 "be",
56239                 "ch",
56240                 "cz",
56241                 "de",
56242                 "dk",
56243                 "es",
56244                 "fi",
56245                 "gr",
56246                 "hr",
56247                 "is",
56248                 "it",
56249                 "li",
56250                 "nl",
56251                 "no",
56252                 "pl",
56253                 "pt",
56254                 "se",
56255                 "si",
56256                 "sk",
56257                 "sm",
56258                 "va"
56259             ],
56260             "format": [
56261                 [
56262                     "street",
56263                     "housenumber"
56264                 ],
56265                 [
56266                     "postcode",
56267                     "city"
56268                 ]
56269             ]
56270         },
56271         {
56272             "countryCodes": [
56273                 "fr",
56274                 "lu",
56275                 "mo"
56276             ],
56277             "format": [
56278                 [
56279                     "housenumber",
56280                     "street"
56281                 ],
56282                 [
56283                     "postcode",
56284                     "city"
56285                 ]
56286             ]
56287         },
56288         {
56289             "countryCodes": [
56290                 "br"
56291             ],
56292             "format": [
56293                 [
56294                     "street"
56295                 ],
56296                 [
56297                     "housenumber",
56298                     "suburb"
56299                 ],
56300                 [
56301                     "city",
56302                     "postcode"
56303                 ]
56304             ]
56305         },
56306         {
56307             "countryCodes": [
56308                 "vn"
56309             ],
56310             "format": [
56311                 [
56312                     "housenumber",
56313                     "street"
56314                 ],
56315                 [
56316                     "subdistrict"
56317                 ],
56318                 [
56319                     "district"
56320                 ],
56321                 [
56322                     "city"
56323                 ],
56324                 [
56325                     "province",
56326                     "postcode"
56327                 ]
56328             ]
56329         },
56330         {
56331             "countryCodes": [
56332                 "us"
56333             ],
56334             "format": [
56335                 [
56336                     "housenumber",
56337                     "street"
56338                 ],
56339                 [
56340                     "city",
56341                     "state",
56342                     "postcode"
56343                 ]
56344             ]
56345         },
56346         {
56347             "countryCodes": [
56348                 "ca"
56349             ],
56350             "format": [
56351                 [
56352                     "housenumber",
56353                     "street"
56354                 ],
56355                 [
56356                     "city",
56357                     "province",
56358                     "postcode"
56359                 ]
56360             ]
56361         }
56362     ]
56363 };