測試地圖最短路徑搜索(二):換個稍微複雜點的路徑模板

工具點此鏈接。

點擊這裏看下前面介紹的這種方案的基本原理。

測試地圖最短路徑搜索(一):把所有的輔助條件都鋪到地圖上

測試地圖最短路徑搜索(二):換個稍微複雜點的路徑模板

測試地圖最短路徑搜索(三):用更細的路徑模板圖片來測試

測試地圖最短路徑搜索(四):做一個稍微完整的手繪覆蓋以及路徑搜索(附所有代碼)

測試地圖最短路徑搜索(五):整個流程走一遍

 

前一篇《測試地圖最短路徑搜索(一):把所有的輔助條件都鋪到地圖上》,只是實現了最簡單的功能,這次試一下稍微複雜點的路徑。

用這個灰度圖:

把這個圖鋪到地圖上,並且用這個圖生成路徑參數,保存在astar0206.js中。

試了一下路徑搜索,部分路段不通。

可以看到黃線圈起來的這部分路段是不通的,因爲被箭頭所指的位置封閉了。加大密度試一下,astar裏面40改爲80。顯示速度肯定更慢了。

這一次所有的道路都暢通,可以看到每條路上,綠點都是連續的,沒有被紅點隔斷。

把html文件中測試圓點部分註釋掉之後,頁面顯示速度快了好多。問題是,這個道路太粗了,還是不可用。

修改後的astar0206.js,路徑參數增加了好多:

// javascript-astar 0.4.1
// http://github.com/bgrins/javascript-astar
// Freely distributable under the MIT License.
// Implements the astar search algorithm in javascript using a Binary Heap.
// Includes Binary Heap (with modifications) from Marijn Haverbeke.
// http://eloquentjavascript.net/appendix2.html
(function(definition) {
  /* global module, define */
  if (typeof module === 'object' && typeof module.exports === 'object') {
    module.exports = definition();
  } else if (typeof define === 'function' && define.amd) {
    define([], definition);
  } else {
    var exports = definition();
    window.astar = exports.astar;
    window.Graph = exports.Graph;
	window.gridDest = exports.gridDest;
	window.lngToGC = exports.lngToGC;
	window.latToGR = exports.latToGR;
	window.zoomStar = exports.zoomStar;
	window.gridBlack = exports.gridBlack;
	window.gridWhite = exports.gridWhite;
	//window.startR = exports.startR; 
	//window.startC = exports.startC;

  }
})(function() {

function pathTo(node) {
  var curr = node;
  var path = [];
  var pathLngLat = []; // cbq
  while (curr.parent) {
    path.unshift(curr);
    curr = curr.parent;
  }
  console.log('path.length:' + path.length);
	var pathLngLat = [];
	for (var i = 0; i < path.length; i++) {
		var s1 = path[i];
		var regx = /(?<=\[)\d+/;
		var regy = /\d+(?=\])/;
		var pathPoiX = regx.exec(s1);
		var pathPoiY = regy.exec(s1);
		var lng = pixToLng(deltX + cellWid * (pathPoiX), zoomStar);  // polyPoiF[i].x + deltaLenX
		var lat = pixToLat(deltY + cellWid * (pathPoiY), zoomStar);  // polyPoiF[i].y + deltaLenY
		pathLngLat[i] = '[' + lng + ',' + lat + ']';
	}
	return pathLngLat;
}

function getHeap() {
  return new BinaryHeap(function(node) {
    return node.f;
  });
}

//---------------------------------------------------------------------------------
var	
	deltX = 13540482,
	deltY = 7478025,
	zoomStar = 16,
	w = 2587,
	c = 80;

	var 
	cellWid = w/c, 
	cellPosX, cellPosY, //, startR, startC;
	gridBlack = [], gridWhite = [];

var poly0 = [[630,2074],[631,1195.296875],[632.296875,1194],[638.296875,1192],[649.296875,1191],[654.296875,1190],[660.296875,1188],[662.296875,1188],[671.296875,1185],[674.296875,1182],[680.296875,1179],[682.296875,1177],[688.296875,1175],[689.296875,1175],[690.296875,1174],[693.296875,1172],[694.296875,1172],[700.296875,1169],[706.296875,1167],[710.296875,1165],[711.296875,1165],[720.296875,1162],[724.296875,1158],[728.296875,1156],[730.296875,1154],[738.296875,1150],[739.296875,1149],[742.296875,1147],[743.296875,1147],[746.296875,1146],[751.296875,1142],[752.296875,1141],[753.296875,1141],[757.296875,1139],[758.296875,1139],[767.296875,1136],[770.296875,1133],[781.296875,1127],[791.296875,1125],[799.296875,1125],[808.296875,1122],[822.296875,1122],[823.296875,1121],[823.703125,1121],[824.703125,1122],[826.703125,1122],[830.703125,1124],[835.703125,1125],[869.703125,1125],[873.703125,1127],[878.703125,1128],[884.703125,1131],[892.703125,1133],[893.703125,1133],[894.703125,1134],[900.703125,1138],[904.703125,1140],[905.703125,1141],[914.703125,1147],[915.703125,1148],[922.703125,1152],[923.703125,1152],[926.703125,1153],[931,1157.296875],[931,1158.296875],[931.703125,1159],[932.703125,1159],[934.703125,1161],[942.703125,1165],[948.703125,1169],[951.296875,1171.59375],[958.703125,1180],[959.703125,1180],[960.703125,1181],[968.703125,1185],[973.703125,1189],[976.703125,1192],[980.703125,1194],[983.703125,1197],[989.703125,1201],[993.703125,1205],[1001.703125,1209],[1007.703125,1213],[1010.296875,1216.59375],[1010.703125,1217],[1011.703125,1217],[1012.703125,1218],[1016.703125,1220],[1017.703125,1221],[1026.703125,1227],[1028.703125,1227],[1029.703125,1228],[1036.703125,1232],[1037.703125,1232],[1047.703125,1237],[1050.703125,1237],[1053.703125,1238],[1056.703125,1241],[1062.703125,1245],[1066.703125,1247],[1068.703125,1249],[1072.703125,1251],[1074.703125,1253],[1080.703125,1257],[1089.703125,1260],[1090,1260],[1090,1270.296875],[1095,1285.296875],[1098,1291.296875],[1099,1296.296875],[1103,1301.296875],[1105,1305.296875],[1106,1306.296875],[1109,1311.296875],[1109,1312.296875],[1111,1316.296875],[1110,1326.109375],[1110,1326.703125],[1107,1333.703125],[1107,1339.703125],[1105,1345.703125],[1105,1346.703125],[1103,1348.703125],[1101,1354.703125],[1101,1358.703125],[1099,1362.703125],[1099,1363.703125],[1097,1371.703125],[1096,1376.703125],[1096,1388.296875],[1098,1404.296875],[1098,1405.296875],[1099,1410.296875],[1103,1415.296875],[1107.703125,1420],[1123.703125,1434],[1128.703125,1437],[1130.703125,1437],[1131.703125,1438],[1138.703125,1442],[1140.109375,1442],[1146.296875,1443],[1147.296875,1442],[1153.109375,1443],[1153.703125,1443],[1159.703125,1445],[1166.703125,1446],[1172.890625,1445],[1175.515625,1446],[1177.296875,1446],[1185.296875,1444],[1190.296875,1443],[1191.296875,1443],[1197.296875,1441],[1201.296875,1439],[1207.296875,1437],[1208.296875,1437],[1209.296875,1436],[1214.296875,1433],[1215.296875,1433],[1218.296875,1432],[1219.296875,1431],[1222.296875,1429],[1223.296875,1429],[1229.296875,1426],[1231.296875,1426],[1237.296875,1424],[1245.296875,1418],[1246.296875,1417],[1249.296875,1415],[1255.296875,1413],[1256.296875,1413],[1257.296875,1412],[1262.296875,1409],[1263.296875,1409],[1266.296875,1408],[1271.296875,1404],[1275.296875,1402],[1277.296875,1400],[1278,1400],[1278,1402.703125],[1277,1403.703125],[1273,1408.703125],[1273,1409.703125],[1271,1414.703125],[1270,1415.703125],[1267,1420.703125],[1266,1425.703125],[1266,1427.703125],[1264,1433.703125],[1264,1436.703125],[1263,1437.703125],[1261,1440.703125],[1260,1445.703125],[1260,1451.109375],[1259,1463.296875],[1260,1464.296875],[1260,1466.296875],[1262,1471.296875],[1266,1476.296875],[1270,1482.296875],[1280.40625,1491.703125],[1284,1494.296875],[1284.703125,1495],[1290.703125,1497],[1292.703125,1497],[1296.703125,1499],[1301.703125,1500],[1304.703125,1501],[1308.703125,1503],[1311.40625,1503],[1315,1504],[1315,1504.703125],[1311,1512.703125],[1311,1514.703125],[1309,1519.703125],[1305.40625,1522.296875],[1302.59375,1526.109375],[1302,1526.703125],[1302,1527.703125],[1291.703125,1538],[1290.703125,1538],[1290,1538.703125],[1284,1546.703125],[1282.703125,1548],[1276.703125,1552],[1273.296875,1556.40625],[1273,1556.703125],[1273,1557.703125],[1272,1558.703125],[1270,1562.703125],[1264,1569.703125],[1254.40625,1578.296875],[1236,1595.703125],[1236,1596.703125],[1228.40625,1604.296875],[1222,1609.703125],[1222,1610.703125],[1221.703125,1611],[1213.703125,1617],[1198.703125,1627],[1193.703125,1632],[1190.703125,1634],[1188.703125,1634],[1182.703125,1637],[1181.703125,1637],[1175.703125,1639],[1163.703125,1647],[1160.703125,1650],[1156.703125,1652],[1151.703125,1656],[1142.703125,1664],[1136.703125,1668],[1135.703125,1669],[1129.703125,1672],[1128.703125,1673],[1123.703125,1676],[1121.703125,1676],[1119.703125,1678],[1114.703125,1679],[1109.703125,1681],[1107.703125,1683],[1104.703125,1685],[1103.703125,1685],[1100.703125,1686],[1098.703125,1688],[1092.703125,1690],[1086.703125,1694],[1081.296875,1700.40625],[1078.703125,1703],[1074.703125,1705],[1073.40625,1706.296875],[1069,1709.703125],[1069,1710.703125],[1061,1716.703125],[1060.703125,1717],[1055.703125,1719],[1051.703125,1723],[1043.703125,1729],[1039.703125,1731],[1034.703125,1735],[1034,1735.703125],[1034,1736.703125],[1031.40625,1739.296875],[1027,1742.703125],[1027,1743.703125],[1021.40625,1748.296875],[1012.59375,1758.109375],[1012,1758.703125],[1012,1759.703125],[1004,1767.703125],[1002,1771.703125],[999,1774.703125],[995,1780.703125],[983,1792.703125],[981,1796.703125],[977,1801.703125],[974,1806.703125],[974,1807.703125],[971,1814.703125],[968,1817.703125],[964,1823.703125],[958,1837.703125],[954,1842.703125],[952,1848.703125],[952,1851.703125],[950,1855.703125],[946,1867.703125],[942,1876.703125],[938,1882.703125],[935,1889.703125],[935,1890.703125],[928,1897.703125],[925,1903.703125],[924.703125,1904],[920.703125,1906],[919.40625,1907.296875],[915,1910.703125],[911,1916.703125],[901,1927.703125],[897.40625,1930.296875],[896.703125,1931],[895.703125,1931],[895.296875,1931.40625],[888.703125,1939],[886.703125,1939],[881.703125,1941],[876.703125,1945],[876.296875,1945.40625],[873.703125,1949],[872.703125,1949],[868.703125,1953],[864.703125,1955],[863.703125,1956],[860.703125,1958],[859.703125,1958],[854.703125,1960],[853.703125,1961],[844.703125,1967],[839.703125,1971],[833.703125,1975],[831.703125,1977],[823.703125,1983],[822.703125,1983],[817.703125,1985],[812.703125,1990],[806.703125,1994],[805.703125,1995],[804.703125,1995],[799.703125,1997],[795.703125,2001],[778.703125,2014],[774.703125,2016],[769.703125,2020],[765.703125,2022],[759.703125,2026],[758.703125,2027],[755.703125,2027],[734.703125,2034],[727.703125,2041],[722.703125,2042],[719.703125,2043],[715.703125,2045],[701.703125,2047],[694.703125,2050],[692.703125,2052],[691.703125,2052],[687.703125,2054],[684.703125,2054],[675.703125,2057],[670.703125,2058],[666.703125,2060],[661.703125,2061],[658.703125,2062],[654.703125,2064],[653.703125,2064],[644.703125,2067],[642.703125,2069],[641.703125,2069],[634.703125,2072],[632.703125,2074],]; var poly1 = [[630,2123.296875],[630.296875,2123],[633.296875,2121],[634.296875,2121],[642.296875,2117],[647.296875,2116],[653.296875,2112],[657.296875,2110],[658.296875,2109],[661.296875,2107],[662.296875,2107],[666.296875,2105],[671.296875,2104],[674.296875,2103],[678.296875,2101],[679.296875,2101],[685.296875,2099],[688.296875,2098],[693.296875,2097],[697.296875,2095],[700.296875,2095],[706.296875,2093],[709.296875,2092],[710.296875,2091],[713.296875,2089],[722.296875,2088],[723.296875,2088],[729.296875,2085],[732.296875,2085],[736.296875,2083],[741.296875,2082],[744.296875,2081],[747.296875,2080],[753.296875,2076],[758.296875,2071],[759.296875,2071],[765.296875,2069],[766.296875,2069],[774.296875,2067],[775.296875,2067],[778.296875,2066],[784.296875,2062],[788.296875,2060],[789.296875,2059],[795.296875,2055],[798.296875,2053],[799.296875,2052],[805.296875,2049],[808.296875,2046],[817.296875,2040],[820,2037.296875],[820,2036],[821.296875,2036],[823.296875,2034],[826.296875,2032],[827.296875,2032],[832.296875,2030],[836.296875,2026],[845.296875,2020],[851.296875,2017],[855.296875,2013],[859.296875,2011],[862.296875,2008],[871.296875,2002],[873.296875,2000],[877.296875,1998],[878.296875,1997],[881.296875,1995],[882.296875,1995],[887.296875,1993],[889.296875,1991],[895.296875,1987],[898.296875,1985],[900.703125,1982.59375],[903.296875,1979],[907.296875,1977],[908.296875,1977],[915.296875,1974],[924.703125,1963.59375],[925.296875,1963],[929.296875,1961],[931,1959.296875],[943,1945.296875],[945,1943.296875],[945,1942],[946.296875,1942],[947.296875,1941],[953.296875,1937],[956,1934.296875],[960,1928.296875],[962,1925.296875],[964,1922.296875],[971,1915.296875],[975,1908.296875],[975,1906.296875],[978,1899.296875],[982,1893.296875],[984,1890.296875],[986,1884.296875],[988,1880.296875],[990,1874.296875],[992,1870.296875],[994,1862.296875],[995,1859.296875],[995,1858.296875],[997,1856.296875],[1001,1849.296875],[1001,1846.296875],[1002,1845.296875],[1004,1841.296875],[1008,1837.296875],[1011,1832.296875],[1011,1831.296875],[1015,1822.296875],[1021,1815.296875],[1021.296875,1815],[1022.296875,1815],[1024,1813.296875],[1028,1807.296875],[1031,1804.296875],[1035,1798.296875],[1037.703125,1795.59375],[1042.296875,1790],[1043.296875,1790],[1046.703125,1785.59375],[1049.296875,1782],[1055.59375,1775.703125],[1060,1772.296875],[1060,1771.296875],[1064.296875,1767],[1072.296875,1763],[1076.296875,1759],[1084.296875,1753],[1088.296875,1751],[1088.59375,1750.703125],[1095,1745.296875],[1095,1744],[1096.296875,1744],[1103.296875,1738],[1106.296875,1736],[1109.296875,1734],[1114.703125,1727.59375],[1115.296875,1727],[1116.296875,1727],[1123.296875,1724],[1124.296875,1723],[1133.296875,1718],[1138.296875,1717],[1141.296875,1716],[1146.296875,1712],[1147.296875,1712],[1152.296875,1710],[1158.296875,1706],[1161.296875,1704],[1164.296875,1702],[1166.296875,1700],[1172.296875,1696],[1174.296875,1694],[1184.296875,1686],[1187.296875,1684],[1190.296875,1682],[1192.296875,1680],[1197.296875,1677],[1203.296875,1675],[1209.296875,1672],[1211.296875,1672],[1216.296875,1670],[1221.296875,1666],[1221.703125,1665.59375],[1224.296875,1662],[1225.296875,1662],[1227.296875,1660],[1233.296875,1657],[1241.296875,1651],[1244.296875,1649],[1255.59375,1637.703125],[1264,1630.296875],[1264,1629.296875],[1271.59375,1621.703125],[1280,1614.296875],[1280,1613.296875],[1285.59375,1608.703125],[1294,1601.296875],[1302,1592.296875],[1304,1589.296875],[1306,1585.296875],[1308.296875,1583],[1314.296875,1579],[1315,1578.296875],[1319,1572.296875],[1327,1563.296875],[1327.296875,1563],[1328.296875,1563],[1329,1562.296875],[1333,1556.296875],[1333.59375,1555.703125],[1338,1552.296875],[1342,1546.296875],[1346,1542.296875],[1349,1537.296875],[1351,1531.296875],[1353,1527.296875],[1353,1526.296875],[1357,1518.296875],[1358,1513.296875],[1358,1511.296875],[1360,1505.296875],[1360,1502.890625],[1361,1498.703125],[1360,1497.703125],[1360,1494.296875],[1361.296875,1493],[1362.296875,1493],[1369.296875,1490],[1371.296875,1488],[1379.296875,1484],[1384,1479.296875],[1388,1472.296875],[1388,1468.890625],[1389,1464.703125],[1388,1463.703125],[1388,1460.703125],[1385,1453.703125],[1379.296875,1448],[1374.296875,1445],[1369.296875,1444],[1369,1444],[1370,1439.59375],[1370,1438.296875],[1372,1434.296875],[1373,1429.296875],[1373,1425.296875],[1375,1413.296875],[1376,1408.296875],[1376,1399.890625],[1377,1391.703125],[1376,1390.703125],[1376,1390.296875],[1377.296875,1389],[1381.109375,1390],[1381.703125,1390],[1391.703125,1392],[1393.703125,1392],[1398.703125,1396],[1407.703125,1399],[1410.703125,1400],[1413.703125,1401],[1509.296875,1401],[1515.296875,1399],[1518.296875,1398],[1522.296875,1394],[1529.296875,1390],[1534.296875,1389],[1539.296875,1385],[1550.296875,1375],[1555.296875,1371],[1556.296875,1370],[1560.296875,1368],[1562.296875,1366],[1568.296875,1364],[1571.296875,1363],[1578,1356.296875],[1580,1353.296875],[1580,1352.59375],[1581,1349],[1581.296875,1349],[1586.296875,1347],[1596.296875,1337],[1597.296875,1337],[1598,1336.296875],[1598,1335.296875],[1603.59375,1330.703125],[1604.296875,1330],[1605.296875,1330],[1606,1329.296875],[1612,1321.296875],[1616,1317.296875],[1616,1316],[1617.296875,1316],[1619.703125,1313.59375],[1624.296875,1308],[1625.296875,1308],[1628,1305.296875],[1632,1299.296875],[1634,1296.296875],[1636.59375,1293.703125],[1643,1288.296875],[1643,1287.296875],[1644,1286.296875],[1647,1281.296875],[1647,1279.296875],[1648,1278.296875],[1652,1270.296875],[1656,1264.296875],[1659,1257.296875],[1662,1251.296875],[1662,1250.296875],[1663,1247.296875],[1664,1246.296875],[1666,1243.296875],[1667,1238.296875],[1668,1235.296875],[1670,1231.296875],[1671,1224.296875],[1671,1206.296875],[1674,1197.296875],[1674,1195.296875],[1676,1189.296875],[1677,1186.296875],[1677,1183.296875],[1679,1177.296875],[1684,1167.296875],[1684,1164.296875],[1687,1157.296875],[1689,1155.296875],[1691,1151.296875],[1694,1148.296875],[1698,1142.296875],[1704,1134.296875],[1707,1127.296875],[1709,1123.296875],[1710,1118.296875],[1713,1109.296875],[1713,1106.296875],[1715,1102.296875],[1716,1097.296875],[1719,1088.296875],[1719,1086.296875],[1722,1080.296875],[1723,1073.296875],[1723,1071.109375],[1722,1067.296875],[1723,1066.296875],[1723,1065.296875],[1726,1056.296875],[1726,1051.296875],[1728,1045.296875],[1728,1041.296875],[1729,1038.296875],[1730,1037.296875],[1734,1031.296875],[1736,1027.296875],[1738,1025.296875],[1740,1021.296875],[1744,1017.296875],[1746,1014.296875],[1748,1008.296875],[1750,1004.296875],[1752,998.296875],[1752,997.296875],[1753,996.296875],[1755,993.296875],[1755,992.296875],[1756,989.296875],[1757,988.296875],[1760,983.296875],[1761,978.296875],[1763,974.296875],[1764,969.296875],[1765,964.296875],[1765,958.296875],[1768,952.296875],[1768,951.296875],[1769,948.296875],[1770,947.296875],[1773,942.296875],[1774,937.296875],[1776,933.296875],[1777,928.296875],[1777,927.296875],[1780,920.296875],[1781,919.296875],[1785,912.296875],[1787,906.296875],[1788,903.296875],[1792,898.296875],[1795,893.296875],[1795,891.296875],[1799,882.296875],[1803,876.296875],[1805,870.296875],[1805,869.296875],[1807,863.296875],[1808,856.296875],[1808,855.296875],[1810,847.296875],[1810,846.296875],[1812,842.296875],[1813,835.296875],[1812,829.109375],[1813,826.484375],[1813,825.109375],[1812,817.296875],[1813,816.296875],[1813,814.296875],[1815,810.296875],[1816,805.296875],[1816,804.296875],[1818,798.296875],[1818,794.296875],[1820,780.296875],[1821,775.296875],[1822,772.296875],[1822,758.296875],[1824,748.296875],[1825,745.296875],[1826,742.296875],[1826,740.296875],[1828,734.296875],[1828,733.296875],[1832,721.296875],[1835,715.296875],[1837,707.296875],[1838,704.296875],[1839,701.296875],[1840,700.296875],[1843,695.296875],[1844,690.296875],[1844,688.296875],[1846,684.296875],[1846,683.296875],[1847,678.296875],[1848,677.296875],[1850,674.296875],[1852,666.296875],[1853,663.296875],[1854,660.296875],[1854,656.296875],[1856,648.296875],[1856,647.296875],[1857,646.296875],[1859,643.296875],[1860,638.296875],[1863,632.296875],[1864,627.296875],[1864,617.296875],[1866,611.296875],[1867,608.296875],[1867,607.296875],[1869,599.296875],[1870,594.296875],[1872,592.296875],[1872,591.296875],[1874,586.296875],[1875.703125,584.59375],[1878.296875,581],[1879.296875,581],[1884.703125,574.59375],[1885,574.296875],[1886,571.296875],[1894,562.296875],[1896,560.296875],[1901,550.296875],[1902,549.296875],[1905,543.296875],[1907,541.296875],[1911,534.296875],[1911,531.296875],[1914,525.296875],[1915,518.296875],[1915,515.703125],[1913,509.703125],[1912,506.703125],[1908,501.703125],[1907.296875,501],[1901.296875,497],[1901,496.703125],[1901,496.296875],[1903,490.296875],[1906,481.296875],[1906,478.296875],[1908,474.296875],[1909,469.296875],[1909,466.296875],[1911,458.296875],[1912,457.296875],[1914,454.296875],[1915,449.296875],[1915,445.296875],[1917,437.296875],[1917,432],[1956.703125,432],[1958,433.296875],[1957,821.109375],[1956,2143.296875],[1956,2158],[1295.59375,2157],[893.59375,2157],[630,2156],]; var poly2 = [[631,1147.703125],[632,431],[1873,432],[1873,436.703125],[1871,442.703125],[1868,448.703125],[1867,453.703125],[1867,455.703125],[1864,467.703125],[1863,470.703125],[1862,475.703125],[1860,481.703125],[1858,489.703125],[1857,492.703125],[1856,497.703125],[1856,502.703125],[1851,512.703125],[1851,514.703125],[1848,520.703125],[1847,525.703125],[1846,528.703125],[1846,529.703125],[1843,538.703125],[1840,544.703125],[1840,546.703125],[1837,555.703125],[1837,558.703125],[1836,563.703125],[1835.296875,564.40625],[1830.703125,570],[1829.703125,570],[1813.703125,588],[1813,588.703125],[1809,594.703125],[1808,595.703125],[1808,596.703125],[1807,599.703125],[1806,600.703125],[1802,607.703125],[1802,608.703125],[1799,617.703125],[1799,618.703125],[1796.703125,621],[1793.703125,621],[1787.703125,623],[1781.703125,627],[1778.296875,631.40625],[1778,631.703125],[1776,637.703125],[1776,639.109375],[1775,643.296875],[1776,644.296875],[1776,649.703125],[1773,658.703125],[1773,664.109375],[1772,678.296875],[1773,679.296875],[1772,685.109375],[1772,686.890625],[1773,692.703125],[1772,693.703125],[1772,697.890625],[1773,703.703125],[1772,704.703125],[1772,708.890625],[1773,714.703125],[1772,715.703125],[1772,719.890625],[1773,725.703125],[1772,726.703125],[1772,730.890625],[1773,736.703125],[1772,737.703125],[1772,738.703125],[1770,754.703125],[1769,759.703125],[1769,771.703125],[1767,775.703125],[1766,780.703125],[1766,787.296875],[1769,796.296875],[1772,799.296875],[1772,801.703125],[1770,805.703125],[1769,810.703125],[1769,832.703125],[1767,836.703125],[1766,841.703125],[1766,845.703125],[1764,851.703125],[1764,854.703125],[1763,859.703125],[1761,861.703125],[1757,868.703125],[1754,877.703125],[1752,879.703125],[1752,881],[1751.296875,881],[1751,880.703125],[1749,877.703125],[1749,876.703125],[1747,870.703125],[1747,868.703125],[1745,860.703125],[1744,857.703125],[1743,856.703125],[1738,846.703125],[1725.296875,833],[1721.296875,831],[1720.296875,830],[1711.296875,824],[1706.296875,823],[1702.296875,821],[1697.296875,820],[1668.703125,820],[1656.703125,824],[1655.703125,824],[1652.703125,825],[1646.703125,829],[1639.703125,833],[1633.703125,835],[1618.703125,845],[1617.703125,846],[1610.703125,850],[1604.703125,852],[1601.703125,852],[1592.703125,855],[1484.296875,855],[1481.296875,854],[1479.59375,852.296875],[1474,847.703125],[1474,846.703125],[1466,840.703125],[1466,839.703125],[1458,833.703125],[1457.296875,833],[1451.296875,829],[1450.296875,828],[1442.296875,822],[1439.296875,820],[1438.296875,819],[1432.296875,815],[1430.296875,813],[1425.296875,809],[1423.296875,809],[1423,808.703125],[1419,800.703125],[1413.296875,795],[1408.296875,792],[1407.296875,792],[1402.296875,790],[1397.296875,786],[1397,785.703125],[1393,779.703125],[1390.296875,777],[1384.296875,773],[1377.296875,767],[1376,765.703125],[1374,762.703125],[1374,758.703125],[1371,749.703125],[1367,744.703125],[1366.296875,744],[1365.296875,744],[1364.296875,743],[1359.296875,740],[1358.296875,740],[1352.296875,738],[1347.296875,736],[1346.296875,735],[1339.296875,731],[1318.296875,730],[1315.296875,730],[1306.296875,727],[1304.890625,727],[1300.703125,726],[1299.703125,727],[1296.296875,727],[1275.296875,720],[1269.296875,716],[1265.296875,712],[1261.296875,710],[1256.703125,705.40625],[1249.296875,697],[1243.296875,693],[1242.59375,692.296875],[1237,687.703125],[1237,686.703125],[1233.59375,683.296875],[1230,680.703125],[1230,679.703125],[1224.59375,674.296875],[1221,671.703125],[1221,670.703125],[1215.703125,665.40625],[1210.296875,659],[1203.296875,655],[1192.703125,643.40625],[1192.296875,643],[1183.296875,637],[1183,636.703125],[1177,628.703125],[1173,622.703125],[1168.59375,619.296875],[1165.40625,615.109375],[1156.59375,605.296875],[1151,600.703125],[1149.296875,599],[1143.296875,595],[1130.296875,583],[1125.296875,580],[1120.296875,579],[1116.296875,577],[1111.296875,576],[1105.296875,573],[1104.296875,573],[1101.296875,572],[1100.296875,571],[1095.296875,568],[1089.296875,566],[1085.296875,564],[1084.296875,564],[1073.296875,559],[1071.296875,557],[1067.296875,555],[1045.296875,535],[1042.703125,531.40625],[1041.296875,530],[1035.296875,526],[1029.296875,524],[1028.296875,524],[1022.296875,522],[1015.296875,521],[1015.109375,521],[1009.296875,522],[1008.296875,521],[1004.703125,521],[996.703125,523],[991.703125,525],[988.703125,528],[987.703125,528],[984.703125,529],[979.703125,533],[979.40625,533.296875],[969,542.703125],[969,543.703125],[967,545.703125],[967,546.703125],[966,549.703125],[965,550.703125],[961,555.703125],[961,556.703125],[960,559.703125],[958,561.703125],[955,566.703125],[955,567.703125],[951,579.703125],[950,584.703125],[948,592.703125],[948,595.703125],[946,603.703125],[944,607.703125],[943,612.703125],[941,616.703125],[939,622.703125],[939,624.703125],[937,628.703125],[935,634.703125],[932,640.703125],[931,647.703125],[929,653.703125],[926,659.703125],[925,664.703125],[925,667.703125],[924,668.703125],[924,669.296875],[925,670.296875],[925,670.703125],[922,681.703125],[921,686.703125],[921,687.703125],[919,691.703125],[917,701.703125],[917,703.703125],[913,708.703125],[911,712.703125],[910,713.703125],[902,725.703125],[901,726.703125],[898,732.703125],[894,738.703125],[892,742.703125],[888,747.703125],[885,750.703125],[881,756.703125],[879,760.703125],[869.40625,769.296875],[869,769.703125],[867,773.703125],[865.296875,775.40625],[858.703125,783],[857.703125,783],[857.296875,783.40625],[854.703125,787],[853.703125,787],[852.40625,788.296875],[848,791.703125],[842,799.703125],[840.40625,801.296875],[832,808.703125],[828,814.703125],[824,818.703125],[822,822.703125],[821,823.703125],[815,832.703125],[812,835.703125],[810,839.703125],[802,848.703125],[798,852.703125],[796,856.703125],[784,868.703125],[780,875.703125],[780,878.703125],[779,883.703125],[777,885.703125],[773,891.703125],[771,897.703125],[771,899.703125],[769,905.703125],[767,917.703125],[767,948.296875],[769,954.296875],[769,958.296875],[771,964.296875],[774,970.296875],[774,971.296875],[776,983.296875],[780,991.296875],[780,992.296875],[783,998.296875],[786,1007.296875],[786,1009.296875],[789,1018.296875],[789,1082],[782.703125,1082],[773.703125,1085],[769.703125,1085],[759.703125,1090],[758.703125,1090],[753.703125,1092],[748.703125,1096],[743.703125,1099],[740.703125,1099],[736.703125,1101],[734.703125,1101],[733.703125,1102],[727.703125,1106],[723.703125,1108],[722.703125,1109],[719.703125,1111],[718.703125,1111],[715.703125,1112],[709.703125,1116],[703.703125,1119],[699.703125,1123],[696.703125,1125],[691.703125,1126],[683.703125,1130],[681.703125,1130],[676.703125,1132],[674.703125,1134],[673.703125,1134],[663.703125,1139],[662.703125,1139],[655.703125,1142],[652.703125,1145],[649.703125,1147],[638.703125,1148],[638.109375,1148],[632.296875,1149],]; var poly3 = [[810,931.703125],[810,929.296875],[812,917.296875],[812,912.296875],[813,909.296875],[814,908.296875],[820,899.296875],[820,898.296875],[821,893.296875],[827,887.296875],[829,883.296875],[837,874.296875],[841,870.296875],[843,866.296875],[845,864.296875],[851,855.296875],[854,852.296875],[856,848.296875],[858,846.296875],[862,840.296875],[876,827.296875],[876,826.296875],[879.703125,822.59375],[882.296875,819],[883.296875,819],[884.59375,817.703125],[889,814.296875],[889,813.296875],[898,804.296875],[900,800.296875],[913,788.296875],[916,781.296875],[922,774.296875],[926,770.296875],[928,767.296875],[928,766.296875],[929,763.296875],[931,761.296875],[934,755.296875],[942,743.296875],[943,742.296875],[945,738.296875],[946,737.296875],[954,725.296875],[955,724.296875],[959,717.296875],[959,712.296875],[961,706.296875],[961,703.296875],[963,699.296875],[965,689.296875],[967,683.296875],[967,678.296875],[969,670.296875],[971,666.296875],[972,661.296875],[975,650.296875],[976,649.296875],[978,646.296875],[979,641.296875],[979,640.296875],[981,636.296875],[983,630.296875],[983,628.296875],[986,622.296875],[986,620.296875],[989,614.296875],[990,609.296875],[990,606.296875],[992,600.296875],[992,595.296875],[994,589.296875],[994,587.296875],[997,580.296875],[1001,574.296875],[1003,570.296875],[1004.296875,569],[1009.296875,565],[1013.703125,565],[1014.703125,566],[1028.703125,578],[1030.296875,579.59375],[1035.703125,586],[1036.703125,586],[1037.703125,587],[1041.703125,589],[1044.703125,592],[1052.703125,596],[1054.703125,598],[1061.703125,602],[1062.703125,602],[1070.703125,606],[1072.703125,606],[1080.703125,610],[1082.703125,610],[1083.703125,611],[1090.703125,615],[1091.703125,615],[1103.703125,619],[1105.703125,619],[1109.703125,623],[1115.703125,627],[1128.703125,639],[1133.296875,644.59375],[1139,650.296875],[1145,659.296875],[1152.296875,666.59375],[1155.703125,671],[1156.703125,671],[1158.703125,673],[1162.703125,675],[1166.296875,678.59375],[1173.703125,687],[1174.703125,687],[1175.703125,688],[1179.703125,690],[1190.296875,701.59375],[1198.703125,710],[1200,710],[1200,711.296875],[1212.703125,724],[1218.703125,728],[1220.296875,729.59375],[1229.703125,740],[1235.703125,744],[1238.703125,747],[1242.703125,749],[1245.703125,752],[1250.703125,756],[1251.703125,756],[1254.703125,757],[1256.703125,759],[1261.703125,762],[1266.703125,763],[1269.703125,764],[1273.703125,766],[1276.703125,766],[1282.703125,769],[1287.703125,770],[1298.703125,770],[1302.703125,772],[1307.703125,773],[1310.703125,774],[1316.890625,773],[1325.515625,774],[1326.40625,774],[1330,775],[1331,778.59375],[1331,779.296875],[1333,783.296875],[1337,788.296875],[1337.703125,789],[1338.703125,789],[1345.296875,796.59375],[1345.703125,797],[1346.703125,797],[1354.703125,805],[1358.703125,807],[1361,809.296875],[1363,813.296875],[1364.296875,814.59375],[1367.703125,819],[1374.703125,823],[1375.703125,824],[1381.703125,828],[1382.703125,829],[1384,829],[1384,831.296875],[1386,841.296875],[1388,846.296875],[1389,847.296875],[1393,855.296875],[1394,856.296875],[1398,864.296875],[1402,869.296875],[1406,875.296875],[1407,876.296875],[1407,991.703125],[1405,999.703125],[1405,1000.703125],[1403,1004.703125],[1401,1014.703125],[1401,1015.296875],[1402,1016.296875],[1402,1016.703125],[1401,1017.703125],[1401,1020.109375],[1400,1026.296875],[1401,1027.296875],[1401,1031.109375],[1400,1037.296875],[1401,1038.296875],[1401,1042.703125],[1399,1046.703125],[1399,1047.703125],[1398,1050.703125],[1396,1052.703125],[1396,1054],[1394.703125,1054],[1381,1068.703125],[1381,1069.703125],[1377.703125,1073],[1371.703125,1076],[1371,1076.703125],[1359,1090.703125],[1353.40625,1095.296875],[1353,1095.703125],[1349,1101.703125],[1335.40625,1114.296875],[1331,1117.703125],[1325,1124.703125],[1324.703125,1125],[1316.703125,1129],[1312.703125,1133],[1305.703125,1137],[1304.703125,1137],[1300.703125,1139],[1295.703125,1140],[1291.890625,1140],[1287.703125,1139],[1286.703125,1140],[1282.890625,1140],[1276.703125,1139],[1275.703125,1140],[1272.890625,1140],[1264.703125,1139],[1263.703125,1140],[1261.890625,1140],[1253.703125,1139],[1252.703125,1140],[1244.890625,1139],[1244.296875,1139],[1241.296875,1137],[1213.296875,1133],[1201.109375,1134],[1195.296875,1135],[1194.703125,1135],[1188.703125,1138],[1185.703125,1141],[1179.703125,1145],[1178,1146.703125],[1172,1155.703125],[1171,1160.703125],[1171,1163.703125],[1169,1169.703125],[1169,1173.703125],[1167,1177.703125],[1167,1180.703125],[1165,1184.703125],[1164,1189.703125],[1163,1192.703125],[1161,1196.703125],[1160,1203.703125],[1160,1206.890625],[1161,1210.703125],[1160,1211.703125],[1160,1217.296875],[1162,1223.296875],[1162,1226.296875],[1164,1234.296875],[1165,1237.296875],[1169.703125,1242],[1174.703125,1246],[1179.703125,1247],[1182.703125,1248],[1186.703125,1250],[1191.703125,1251],[1192.703125,1251],[1198.703125,1253],[1214.703125,1255],[1222.703125,1257],[1228.890625,1257],[1232.703125,1256],[1233.703125,1257],[1235.703125,1257],[1241.703125,1259],[1249.703125,1259],[1251,1260.296875],[1251,1260.703125],[1250,1261.703125],[1250,1270.296875],[1252,1276.296875],[1256,1282.296875],[1262.40625,1287.703125],[1265.703125,1291],[1273.703125,1295],[1274.703125,1296],[1279.703125,1299],[1281,1299],[1281,1300],[1274.59375,1299],[1271,1298],[1270.296875,1298],[1262.296875,1296],[1258.109375,1297],[1251.484375,1296],[1246.921875,1297],[1243.484375,1298],[1240.921875,1299],[1240.703125,1299],[1239.703125,1300],[1233.890625,1300],[1229.703125,1299],[1228.703125,1300],[1214.703125,1300],[1210.703125,1302],[1205.703125,1303],[1160.296875,1303],[1160,1302.703125],[1158,1299.703125],[1158,1298.703125],[1156,1293.703125],[1149.296875,1287],[1144.296875,1284],[1143,1284],[1143,1282.703125],[1142,1281.703125],[1142,1281],[1142.703125,1281],[1149.703125,1285],[1150.109375,1285],[1158.296875,1286],[1159.296875,1285],[1160.296875,1285],[1166.296875,1283],[1172.296875,1279],[1173,1278.296875],[1173,1277.296875],[1175,1275.296875],[1177,1272.296875],[1178,1267.296875],[1178,1260.703125],[1175,1251.703125],[1169.296875,1246],[1164.296875,1243],[1163.296875,1243],[1160.296875,1242],[1159.296875,1241],[1155.296875,1239],[1146.296875,1233],[1144.296875,1231],[1137.296875,1227],[1128.296875,1226],[1123.296875,1226],[1119.296875,1224],[1114.296875,1223],[1111.296875,1222],[1107.296875,1220],[1106.296875,1220],[1101.296875,1219],[1096.296875,1215],[1093.296875,1213],[1087.296875,1210],[1086.296875,1209],[1080.296875,1205],[1076.296875,1201],[1071.296875,1198],[1066.296875,1197],[1062.296875,1195],[1057.296875,1194],[1056.296875,1193],[1051.296875,1190],[1050.296875,1190],[1047.296875,1189],[1046.296875,1188],[1042.296875,1186],[1037.296875,1182],[1034.296875,1180],[1030.296875,1176],[1022.296875,1172],[1020.296875,1170],[1016.296875,1168],[1013.296875,1165],[1007.296875,1161],[996.296875,1151],[986.296875,1146],[979.703125,1138.40625],[975.890625,1135.59375],[975.296875,1135],[966.296875,1129],[965.296875,1128],[963.296875,1128],[958.296875,1124],[952.296875,1118],[945.296875,1114],[943.296875,1114],[942.296875,1113],[936.296875,1110],[935.296875,1109],[923.296875,1101],[919.296875,1099],[916.296875,1096],[909.296875,1092],[907.296875,1092],[895.296875,1088],[891.296875,1086],[886.296875,1085],[885.296875,1085],[881.296875,1083],[876.296875,1082],[875.890625,1082],[871.703125,1081],[870.703125,1082],[868.890625,1082],[858.703125,1081],[857.703125,1082],[847.890625,1081],[847.703125,1081],[846.703125,1082],[844.296875,1082],[832.296875,1078],[832,1078],[833,1071.59375],[832,1064.8125],[832,1064.296875],[833,1063.296875],[833,1059.109375],[832,1053.296875],[833,1052.296875],[833,1048.109375],[832,1042.296875],[833,1041.296875],[833,1037.109375],[832,1031.296875],[833,1030.296875],[833,1026.109375],[832,1020.296875],[833,1019.296875],[833,1015.703125],[831,1007.703125],[827,995.703125],[825,987.703125],[822,981.703125],[822,979.703125],[820,974.703125],[818,972.703125],[817,967.703125],[817,963.703125],[815,955.703125],[814,954.703125],[812,951.703125],[810,943.703125],[810,936.890625],[811,932.703125],]; var poly4 = [[1139,1386.703125],[1140,1378.890625],[1140,1378.296875],[1142,1372.296875],[1142,1371.296875],[1145,1362.296875],[1149,1354.296875],[1149,1346],[1174.703125,1346],[1175.703125,1347],[1176.296875,1347],[1177.296875,1346],[1185.703125,1346],[1186.703125,1347],[1187.296875,1347],[1188.296875,1346],[1196.703125,1346],[1197.703125,1347],[1198.296875,1347],[1199.296875,1346],[1206.109375,1346],[1210.296875,1347],[1211.296875,1346],[1214.296875,1346],[1218.296875,1344],[1223.296875,1343],[1245.296875,1343],[1254.296875,1340],[1261.703125,1340],[1265.703125,1342],[1267.703125,1342],[1274.703125,1345],[1279.703125,1349],[1284.703125,1352],[1286,1352],[1286,1354],[1282.703125,1354],[1276.703125,1356],[1271.703125,1356],[1262.703125,1359],[1260.703125,1361],[1254.703125,1363],[1253.703125,1363],[1252.703125,1364],[1243.703125,1370],[1238.703125,1373],[1236.703125,1373],[1235.703125,1374],[1232.703125,1376],[1226.703125,1378],[1220.703125,1382],[1218.703125,1384],[1215.703125,1386],[1214.703125,1386],[1205.703125,1389],[1203.703125,1391],[1197.703125,1393],[1196.703125,1393],[1195.703125,1394],[1184.703125,1400],[1182.703125,1400],[1178.703125,1402],[1168.296875,1402],[1162.296875,1400],[1155.296875,1399],[1149.296875,1399],[1144.296875,1395],[1140,1390.703125],[1140,1387.703125],]; var poly5 = [[1204,1208.703125],[1204,1206.296875],[1206,1202.296875],[1207,1197.296875],[1207,1196.296875],[1209,1192.296875],[1210,1187.296875],[1212,1181.296875],[1212,1178.296875],[1213.296875,1177],[1221.296875,1179],[1224.703125,1179],[1234.703125,1181],[1240.703125,1183],[1303.296875,1183],[1312.296875,1180],[1313.296875,1180],[1319.296875,1178],[1325.296875,1175],[1326.296875,1175],[1331.296875,1173],[1336.296875,1169],[1345.296875,1163],[1351.296875,1160],[1360.703125,1149.59375],[1370.890625,1140.40625],[1378.890625,1134.40625],[1379,1134.296875],[1383,1127.296875],[1390.703125,1119.59375],[1399.296875,1110],[1399.703125,1110],[1401,1111.296875],[1401,1113.109375],[1400,1121.296875],[1401,1122.296875],[1400,1132.109375],[1401,1135.484375],[1400,1142.921875],[1399,1145.484375],[1399,1145.703125],[1397,1149.703125],[1396,1150.703125],[1393,1156.703125],[1391,1158.703125],[1389,1162.703125],[1387,1164.703125],[1383,1169.703125],[1381,1175.703125],[1381,1176.703125],[1379.703125,1178],[1376.703125,1180],[1376.296875,1180],[1368.296875,1178],[1365.703125,1178],[1357.703125,1180],[1351.703125,1180],[1341.703125,1185],[1340.703125,1185],[1332.703125,1189],[1330.703125,1189],[1325.703125,1191],[1324.40625,1192.296875],[1320,1195.703125],[1320,1196.703125],[1317.703125,1199],[1314.703125,1201],[1313.703125,1201],[1307.703125,1204],[1304.703125,1204],[1297.703125,1207],[1292.703125,1211],[1288.703125,1213],[1287.703125,1214],[1284.703125,1216],[1282.109375,1216],[1272.296875,1217],[1271.296875,1216],[1271.109375,1216],[1261.296875,1217],[1260.296875,1216],[1251.296875,1216],[1245.296875,1214],[1238.296875,1213],[1228.296875,1213],[1205.296875,1210],]; var poly6 = [[1282,1300.703125],[1282,1300],[1285.703125,1300],[1297.703125,1303],[1302.703125,1305],[1311.703125,1311],[1312.703125,1312],[1318.703125,1316],[1321.703125,1318],[1323.703125,1320],[1326.703125,1322],[1327.703125,1322],[1331.703125,1324],[1333,1324],[1333,1326],[1328.296875,1326],[1325.296875,1325],[1324.296875,1324],[1319.296875,1321],[1318.296875,1321],[1315.296875,1320],[1314.296875,1319],[1308.296875,1316],[1302.296875,1312],[1299.296875,1310],[1293.296875,1306],[1290.296875,1304],[1284.296875,1302],[1283.296875,1302],]; var poly7 = [[1299,1258],[1299,1257.296875],[1299.296875,1257],[1303.296875,1255],[1305.296875,1253],[1306.296875,1253],[1313.296875,1250],[1316.296875,1247],[1321.296875,1244],[1322.296875,1244],[1331.296875,1241],[1333.296875,1239],[1334.296875,1239],[1341.296875,1236],[1348.296875,1229],[1351.296875,1227],[1356,1227],[1356,1228.109375],[1355,1236.296875],[1356,1237.296875],[1356,1240.296875],[1359,1247.296875],[1363,1253.296875],[1368,1258.296875],[1368,1259.703125],[1366,1264.703125],[1365,1265.703125],[1361,1271.703125],[1359,1277.703125],[1359,1289],[1358.296875,1289],[1357.296875,1288],[1354.296875,1286],[1353.296875,1286],[1348.296875,1284],[1347.296875,1283],[1343.296875,1281],[1342.296875,1280],[1333.296875,1274],[1331.296875,1272],[1325.296875,1269],[1320.296875,1265],[1317.296875,1263],[1312.296875,1262],[1309.296875,1261],[1305.296875,1259],[1304.59375,1259],]; var poly8 = [[1303,1453.703125],[1303,1453.296875],[1304,1452.296875],[1304,1451.296875],[1307,1445.296875],[1309,1435.296875],[1309,1433.296875],[1313,1428.296875],[1313.296875,1428],[1313.703125,1428],[1315,1429.296875],[1315,1430.296875],[1316,1433.296875],[1320,1438.296875],[1323,1441.296875],[1323,1446.703125],[1321,1452.703125],[1321,1460],[1319.296875,1460],[1313.296875,1458],[1310.296875,1457],[1308.296875,1457],[1305.296875,1456],]; var poly9 = [[1400,1218.296875],[1407.59375,1211.703125],[1415,1204.296875],[1419,1198.296875],[1420,1197.296875],[1420,1196.296875],[1421,1191.296875],[1425,1186.296875],[1427,1183.296875],[1429,1180.296875],[1431,1176.296875],[1435,1171.296875],[1435,1170.296875],[1437,1165.296875],[1438,1164.296875],[1440,1161.296875],[1441,1156.296875],[1442,1153.296875],[1442,1152.296875],[1444,1146.296875],[1444,1071.703125],[1442,1065.703125],[1440,1061.703125],[1440,1061.296875],[1441,1060.296875],[1441,1059.296875],[1443,1055.296875],[1444,1050.296875],[1444,1023.296875],[1446,1015.296875],[1447,1012.296875],[1448,1009.296875],[1449,1006.296875],[1449,1003.296875],[1451,995.296875],[1451,993.109375],[1450,985.296875],[1451,984.296875],[1451,982.109375],[1450,974.296875],[1451,973.296875],[1451,971.109375],[1450,963.296875],[1451,962.296875],[1451,960.109375],[1450,952.296875],[1451,951.296875],[1451,947.109375],[1450,941.296875],[1451,940.296875],[1451,936.109375],[1450,930.296875],[1451,929.296875],[1451,925.109375],[1450,919.296875],[1451,918.296875],[1451,914.109375],[1450,908.296875],[1451,907.296875],[1451,903.109375],[1450,897.296875],[1451,896.296875],[1451,891.109375],[1450,887.296875],[1451.296875,886],[1451.703125,886],[1454.703125,888],[1455,888.296875],[1455,889.296875],[1459.703125,894],[1464.703125,897],[1469.703125,898],[1478.109375,898],[1486.296875,899],[1487.296875,898],[1489.109375,898],[1497.296875,899],[1498.296875,898],[1500.109375,898],[1508.296875,899],[1509.296875,898],[1511.109375,898],[1519.296875,899],[1520.296875,898],[1522.109375,898],[1530.296875,899],[1531.296875,898],[1532.109375,898],[1542.296875,899],[1543.296875,898],[1553.109375,899],[1553.296875,899],[1554.296875,898],[1564.109375,899],[1564.296875,899],[1565.296875,898],[1567.40625,898],[1573,899],[1573,899.703125],[1571,902.703125],[1570,909.703125],[1571,915.890625],[1571,916.296875],[1572,917.296875],[1572,922.296875],[1575,931.296875],[1575,934.296875],[1577,940.296875],[1578,943.296875],[1579,946.296875],[1580,949.296875],[1584,955.296875],[1588,959.296875],[1592,964.296875],[1592,965.296875],[1593,968.296875],[1597,973.296875],[1607,984.296875],[1610,989.296875],[1610,990.296875],[1614,998.296875],[1616,1004.296875],[1617,1007.296875],[1629.40625,1018.703125],[1633,1021.296875],[1633.703125,1022],[1638.703125,1023],[1643.296875,1028.59375],[1646,1031.296875],[1646,1032],[1645.703125,1032],[1640.703125,1034],[1639.703125,1035],[1636.703125,1037],[1635.703125,1037],[1630.703125,1039],[1625.703125,1043],[1625,1043.703125],[1607,1063.703125],[1595,1076.703125],[1593,1079.703125],[1592.703125,1080],[1591.703125,1080],[1586,1085.703125],[1586,1087],[1584.703125,1087],[1582.703125,1089],[1575.703125,1089],[1569.703125,1091],[1563.703125,1095],[1562.703125,1096],[1557.703125,1099],[1555.703125,1099],[1548.703125,1102],[1544.296875,1106.40625],[1541.703125,1110],[1540.703125,1110],[1538.703125,1112],[1530.703125,1118],[1527.296875,1122.40625],[1527,1122.703125],[1524,1128.703125],[1522,1130.703125],[1518,1137.703125],[1518,1141.703125],[1516,1147.703125],[1516,1181.296875],[1518,1185.296875],[1520,1193.296875],[1521,1196.296875],[1525,1201.296875],[1525.703125,1202],[1526.703125,1202],[1527.703125,1203],[1531.703125,1205],[1532.703125,1206],[1538.703125,1210],[1542.703125,1212],[1543.40625,1212.703125],[1547,1215.296875],[1548,1218.296875],[1548,1222.703125],[1543.703125,1227],[1537.703125,1231],[1535.703125,1233],[1531.703125,1235],[1526.703125,1239],[1525.703125,1240],[1516.703125,1245],[1511.703125,1246],[1509.703125,1246],[1503.703125,1248],[1497.703125,1252],[1450.296875,1252],[1443.296875,1249],[1441.296875,1247],[1433.296875,1243],[1430.703125,1239.40625],[1430,1238.703125],[1430,1237.703125],[1427.296875,1235],[1422.296875,1231],[1421.296875,1231],[1414.296875,1228],[1413.296875,1227],[1410.296875,1225],[1408.296875,1225],[1405.296875,1224],[1404.296875,1223],[1401.296875,1221],[1400,1221],]; var poly10 = [[1403,1291],[1403.703125,1291],[1409.703125,1293],[1411.703125,1293],[1417.703125,1296],[1418.703125,1296],[1421.703125,1297],[1422.703125,1298],[1427.703125,1301],[1432.703125,1302],[1436.703125,1304],[1441.703125,1305],[1442.703125,1305],[1446.703125,1307],[1451.703125,1308],[1484.296875,1308],[1506.296875,1306],[1507.296875,1306],[1511.296875,1304],[1520.296875,1301],[1521.296875,1301],[1523.296875,1299],[1528.296875,1298],[1532.296875,1298],[1544.296875,1294],[1545.296875,1294],[1552.296875,1291],[1560.296875,1283],[1561.296875,1283],[1567.296875,1281],[1573.296875,1278],[1578.296875,1277],[1583.296875,1273],[1584.296875,1272],[1590.296875,1268],[1592,1266.296875],[1596,1260.296875],[1598,1256.296875],[1600,1254.296875],[1603,1249.296875],[1604,1244.296875],[1604,1227.703125],[1602,1221.703125],[1600,1217.703125],[1600,1216.703125],[1598,1210.703125],[1592,1201.703125],[1591,1200.703125],[1591,1199.703125],[1588,1190.703125],[1586,1188.703125],[1582,1182.703125],[1576.296875,1177],[1571.296875,1174],[1570.296875,1174],[1565.296875,1172],[1564,1170.703125],[1564,1169.296875],[1566,1165.296875],[1567,1160.296875],[1567,1157.296875],[1568,1154.296875],[1570.296875,1152],[1576.296875,1148],[1577.296875,1147],[1578.296875,1147],[1581.296875,1146],[1598.296875,1132],[1601.296875,1130],[1605.296875,1126],[1609.296875,1124],[1621.703125,1111.59375],[1624.296875,1108],[1625.296875,1108],[1637,1095.296875],[1637,1094.296875],[1642.59375,1089.703125],[1647.40625,1083.890625],[1650.703125,1080.59375],[1655.296875,1075],[1664.296875,1072],[1676.296875,1072],[1677.296875,1071],[1678,1071],[1678,1072.703125],[1676,1076.703125],[1676,1077.703125],[1674,1085.703125],[1673,1088.703125],[1673,1089.703125],[1670,1098.703125],[1669,1103.703125],[1669,1104.703125],[1667,1108.703125],[1667,1111.703125],[1666,1112.703125],[1664,1116.703125],[1662,1118.703125],[1658,1124.703125],[1654,1128.703125],[1650,1136.703125],[1648,1138.703125],[1645,1143.703125],[1644,1148.703125],[1642,1152.703125],[1642,1153.703125],[1640,1158.703125],[1639,1159.703125],[1637,1162.703125],[1636,1167.703125],[1632,1183.703125],[1631,1186.703125],[1631,1187.703125],[1628,1196.703125],[1628,1215.703125],[1626,1223.703125],[1624,1229.703125],[1624,1230.703125],[1623,1231.703125],[1620,1236.703125],[1618,1242.703125],[1615,1249.703125],[1613,1251.703125],[1610,1256.703125],[1610,1257.703125],[1609,1260.703125],[1605.40625,1263.296875],[1600,1268.703125],[1597,1274.703125],[1587.296875,1284.40625],[1584.703125,1288],[1583.703125,1288],[1581,1290.703125],[1577,1295.703125],[1577,1297],[1575.703125,1297],[1574.296875,1298.40625],[1571.703125,1302],[1565.703125,1306],[1565,1306.703125],[1565,1307.703125],[1559.40625,1312.296875],[1558.703125,1313],[1553.703125,1315],[1552.40625,1316.296875],[1548,1319.703125],[1548,1320.703125],[1546,1322.703125],[1544,1326.703125],[1542.703125,1328],[1540.703125,1328],[1535.703125,1332],[1526.703125,1338],[1515.703125,1348],[1512.703125,1351],[1503.703125,1354],[1498.703125,1358],[1494.890625,1357],[1491.515625,1358],[1490.890625,1358],[1482.703125,1357],[1481.703125,1358],[1479.890625,1358],[1471.703125,1357],[1470.703125,1358],[1468.890625,1358],[1460.703125,1357],[1459.703125,1358],[1458.890625,1358],[1448.703125,1357],[1447.703125,1358],[1437.890625,1357],[1437.703125,1357],[1436.703125,1358],[1426.890625,1357],[1426.703125,1357],[1425.703125,1358],[1422.296875,1358],[1418.296875,1356],[1417.296875,1356],[1414.296875,1355],[1413.296875,1354],[1406.296875,1350],[1405,1350],[1405,1348.296875],[1409,1344.296875],[1412,1339.296875],[1413,1334.296875],[1415,1326.296875],[1415,1318.703125],[1413,1312.703125],[1411,1308.703125],[1409,1302.703125],[1405,1296.703125],[1404,1295.703125],[1404,1295.40625],]; var poly11 = [[1610,895],[1613.59375,894],[1614.296875,894],[1615.296875,893],[1618.296875,893],[1624.296875,891],[1630.296875,888],[1631.296875,888],[1638.296875,885],[1641.296875,882],[1645.296875,880],[1653.296875,874],[1656.296875,872],[1662.296875,870],[1665.296875,869],[1667.296875,867],[1670.296875,865],[1671.296875,865],[1675.296875,863],[1676.109375,863],[1684.296875,864],[1685.296875,863],[1688.703125,863],[1694.703125,865],[1695.703125,865],[1699,868.296875],[1703,874.296875],[1705,877.296875],[1707,887.296875],[1709,891.296875],[1711,899.296875],[1711,901.296875],[1713,909.296875],[1714,912.296875],[1716,914.296875],[1716,916.296875],[1719,923.296875],[1721,925.296875],[1721,934.296875],[1723,940.296875],[1724,943.296875],[1724,944.703125],[1722,948.703125],[1722,954.703125],[1720,964.703125],[1718,968.703125],[1718,970.703125],[1717,971.703125],[1713,978.703125],[1713,979.703125],[1709,987.703125],[1708,992.703125],[1704,997.703125],[1702,1000.703125],[1700,1003.703125],[1698,1007.703125],[1697,1008.703125],[1694,1014.703125],[1692.703125,1016],[1691.296875,1016],[1689,1013.703125],[1686,1007.703125],[1683.296875,1005],[1677.296875,1001],[1674.703125,998.40625],[1665.296875,988],[1664.296875,988],[1663.296875,987],[1660.296875,985],[1655.296875,984],[1653,981.703125],[1651,975.703125],[1648,969.703125],[1648,968.703125],[1646,963.703125],[1642,958.703125],[1634,949.703125],[1633,948.703125],[1629,942.703125],[1628,941.703125],[1628,939.703125],[1624,934.703125],[1620,930.703125],[1618,927.703125],[1618,925.703125],[1616,921.703125],[1616,919.703125],[1614,911.703125],[1614,906.703125],[1612,900.703125],[1612,899.703125],[1610,897.703125],];

	function inside(point, vs) {
		var x = point[0], y = point[1];
		var res = false;
		for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {
			var xi = vs[i][0], yi = vs[i][1];
			var xj = vs[j][0], yj = vs[j][1];
			
			var intersect = ((yi > y) != (yj > y))
				&& (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
			if (intersect) res = !res;
		}
		return res;
	};

	function pixToLng(pixelX, zoom){
		return pixelX * 360 / (256 * Math.pow(2, zoom)) - 180; 
	}

	function lngToGC(lng, zoom){
		var f = (lng + 180) * (256 * Math.pow(2, zoom)) / 360;
		var r = (f - deltX + cellWid / 2) / cellWid;

		if (r > c - 1)
		{
		  r = c - 1;
		}else if(r < 0)
		{
		  r = 0;
		}

		return Math.floor(r);
	}

	function pixToLat(pixelY, zoom){
		var  siny, y, z, E;
		E = 2.71828182845904523536;
		y = 2 * Math.PI * (1 - pixelY / (128 * Math.pow(2, zoom)));
		z = Math.pow(E, y);
		siny = (z - 1) / (z + 1);
		return Math.asin(siny) * 180 / Math.PI;    
	}

	function latToGR(lat, zoom){
		  var siny = Math.sin(lat * Math.PI / 180);
		  var y = Math.log((1 + siny) / (1 - siny));
		  var f = (128 * Math.pow(2, zoom)) * (1 - y / (2 * Math.PI));
		  var r = (f - deltY + cellWid / 2) / cellWid;
		  if (r > c - 1)
		  {
			  r = c - 1;
		  }else if(r < 0)
		  {
			  r = 0;
		  }

		  return Math.floor(r);
	}

	var gridDest = [];
	
	for (var y = 0; y < c; y++ )
	{
		var gridRow = [];
		var gridRowBlack = [];
		var gridRowWhite = [];

		for (var x = 0; x < c; x++ )
		{
			var isWall = 1;
			var a1 = [];
			
			cellPosX = cellWid * x; 
			cellPosY = cellWid * y;
			
			//if((inside([cellPosX, cellPosY], poly0)) || (inside([cellPosX, cellPosY], poly1)) || (inside([cellPosX, cellPosY], poly2)) || (inside([cellPosX, cellPosY], poly3)) || (inside([cellPosX, cellPosY], poly4)) || (inside([cellPosX, cellPosY], poly5)) || (inside([cellPosX, cellPosY], poly6)) || (inside([cellPosX, cellPosY], poly7)) || (inside([cellPosX, cellPosY], poly8))){
			if((inside([cellPosX, cellPosY], poly0)) || (inside([cellPosX, cellPosY], poly1)) || (inside([cellPosX, cellPosY], poly2)) || (inside([cellPosX, cellPosY], poly3)) || (inside([cellPosX, cellPosY], poly4)) || (inside([cellPosX, cellPosY], poly5)) || (inside([cellPosX, cellPosY], poly6)) || (inside([cellPosX, cellPosY], poly7)) || (inside([cellPosX, cellPosY], poly8)) || (inside([cellPosX, cellPosY], poly9)) || (inside([cellPosX, cellPosY], poly10)) || (inside([cellPosX, cellPosY], poly11))){
				isWall = 0;
				var lng = pixToLng(deltX + cellWid * (y), zoomStar);  // polyPoiF[i].x + deltaLenX
				var lat = pixToLat(deltY + cellWid * (x), zoomStar);  // polyPoiF[i].y + deltaLenY
				a1.push(lng);
				a1.push(lat);
				
				gridRowBlack.push(a1);

			}else{
				isWall = 1;
				var lng = pixToLng(deltX + cellWid * (y), zoomStar);  // polyPoiF[i].x + deltaLenX
				var lat = pixToLat(deltY + cellWid * (x), zoomStar);  // polyPoiF[i].y + deltaLenY
				a1.push(lng);
				a1.push(lat);

				//gridRowWhite.push('[' + lng + '],[' + lat + ']');
				gridRowWhite.push(a1);
			}
			gridRow.push(isWall);


		}
		gridDest.push(gridRow);
		gridBlack.push(gridRowBlack);
		gridWhite.push(gridRowWhite);

	}
//=====================================================================================

var astar = {
  /**
  * Perform an A* Search on a graph given a start and end node.
  * @param {Graph} graph
  * @param {GridNode} start
  * @param {GridNode} end
  * @param {Object} [options]
  * @param {bool} [options.closest] Specifies whether to return the
             path to the closest node if the target is unreachable.
  * @param {Function} [options.heuristic] Heuristic function (see
  *          astar.heuristics).
  */
  search: function(graph, start, end, options) {
    graph.cleanDirty();
    options = options || {};
    var heuristic = options.heuristic || astar.heuristics.manhattan;
    var closest = options.closest || false;

    var openHeap = getHeap();
    var closestNode = start; // set the start node to be the closest if required

    start.h = heuristic(start, end);
    graph.markDirty(start);

    openHeap.push(start);

    while (openHeap.size() > 0) {

      // Grab the lowest f(x) to process next.  Heap keeps this sorted for us.
      var currentNode = openHeap.pop();

      // End case -- result has been found, return the traced path.
      if (currentNode === end) {
        return pathTo(currentNode);
      }

      // Normal case -- move currentNode from open to closed, process each of its neighbors.
      currentNode.closed = true;

      // Find all neighbors for the current node.
      var neighbors = graph.neighbors(currentNode);

      for (var i = 0, il = neighbors.length; i < il; ++i) {
        var neighbor = neighbors[i];

        if (neighbor.closed || neighbor.isWall()) {
          // Not a valid node to process, skip to next neighbor.
          continue;
        }

        // The g score is the shortest distance from start to current node.
        // We need to check if the path we have arrived at this neighbor is the shortest one we have seen yet.
        var gScore = currentNode.g + neighbor.getCost(currentNode);
        var beenVisited = neighbor.visited;

        if (!beenVisited || gScore < neighbor.g) {

          // Found an optimal (so far) path to this node.  Take score for node to see how good it is.
          neighbor.visited = true;
          neighbor.parent = currentNode;
          neighbor.h = neighbor.h || heuristic(neighbor, end);
          neighbor.g = gScore;
          neighbor.f = neighbor.g + neighbor.h;
          graph.markDirty(neighbor);
          if (closest) {
            // If the neighbour is closer than the current closestNode or if it's equally close but has
            // a cheaper path than the current closest node then it becomes the closest node
            if (neighbor.h < closestNode.h || (neighbor.h === closestNode.h && neighbor.g < closestNode.g)) {
              closestNode = neighbor;
            }
          }

          if (!beenVisited) {
            // Pushing to heap will put it in proper place based on the 'f' value.
            openHeap.push(neighbor);
          } else {
            // Already seen the node, but since it has been rescored we need to reorder it in the heap
            openHeap.rescoreElement(neighbor);
          }
        }
      }
    }

    if (closest) {
      return pathTo(closestNode);
    }

    // No result was found - empty array signifies failure to find path.
    return [];
  },
  // See list of heuristics: http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html
  heuristics: {
    manhattan: function(pos0, pos1) {
      var d1 = Math.abs(pos1.x - pos0.x);
      var d2 = Math.abs(pos1.y - pos0.y);
      return d1 + d2;
    },
    diagonal: function(pos0, pos1) {
      var D = 1;
      var D2 = Math.sqrt(2);
      var d1 = Math.abs(pos1.x - pos0.x);
      var d2 = Math.abs(pos1.y - pos0.y);
      return (D * (d1 + d2)) + ((D2 - (2 * D)) * Math.min(d1, d2));
    }
  },
  cleanNode: function(node) {
    node.f = 0;
    node.g = 0;
    node.h = 0;
    node.visited = false;
    node.closed = false;
    node.parent = null;
  }
};

/**
 * A graph memory structure
 * @param {Array} gridIn 2D array of input weights
 * @param {Object} [options]
 * @param {bool} [options.diagonal] Specifies whether diagonal moves are allowed
 */
function Graph(gridIn, options) {
  options = options || {};
  this.nodes = [];
  this.diagonal = !!options.diagonal;
  this.grid = [];
  for (var x = 0; x < gridIn.length; x++) {
    this.grid[x] = [];

    for (var y = 0, row = gridIn[x]; y < row.length; y++) {
      var node = new GridNode(x, y, row[y]);
      this.grid[x][y] = node;
      this.nodes.push(node);
    }
  }
  this.init();
}

Graph.prototype.init = function() {
  this.dirtyNodes = [];
  for (var i = 0; i < this.nodes.length; i++) {
    astar.cleanNode(this.nodes[i]);
  }
};

Graph.prototype.cleanDirty = function() {
  for (var i = 0; i < this.dirtyNodes.length; i++) {
    astar.cleanNode(this.dirtyNodes[i]);
  }
  this.dirtyNodes = [];
};

Graph.prototype.markDirty = function(node) {
  this.dirtyNodes.push(node);
};

Graph.prototype.neighbors = function(node) {
  var ret = [];
  var x = node.x;
  var y = node.y;
  var grid = this.grid;

  // West
  if (grid[x - 1] && grid[x - 1][y]) {
    ret.push(grid[x - 1][y]);
  }

  // East
  if (grid[x + 1] && grid[x + 1][y]) {
    ret.push(grid[x + 1][y]);
  }

  // South
  if (grid[x] && grid[x][y - 1]) {
    ret.push(grid[x][y - 1]);
  }

  // North
  if (grid[x] && grid[x][y + 1]) {
    ret.push(grid[x][y + 1]);
  }

  if (this.diagonal) {
    // Southwest
    if (grid[x - 1] && grid[x - 1][y - 1]) {
      ret.push(grid[x - 1][y - 1]);
    }

    // Southeast
    if (grid[x + 1] && grid[x + 1][y - 1]) {
      ret.push(grid[x + 1][y - 1]);
    }

    // Northwest
    if (grid[x - 1] && grid[x - 1][y + 1]) {
      ret.push(grid[x - 1][y + 1]);
    }

    // Northeast
    if (grid[x + 1] && grid[x + 1][y + 1]) {
      ret.push(grid[x + 1][y + 1]);
    }
  }

  return ret;
};

Graph.prototype.toString = function() {
  var graphString = [];
  var nodes = this.grid;
  for (var x = 0; x < nodes.length; x++) {
    var rowDebug = [];
    var row = nodes[x];
    for (var y = 0; y < row.length; y++) {
      rowDebug.push(row[y].weight);
    }
    graphString.push(rowDebug.join(" "));
  }
  return graphString.join("\n");
};

function GridNode(x, y, weight) {
  this.x = x;
  this.y = y;
  this.weight = weight;
}

GridNode.prototype.toString = function() {
  return "[" + this.x + " " + this.y + "]";
};

GridNode.prototype.getCost = function(fromNeighbor) {
  // Take diagonal weight into consideration.
  if (fromNeighbor && fromNeighbor.x != this.x && fromNeighbor.y != this.y) {
    return this.weight * 1.41421;
  }
  return this.weight;
};

GridNode.prototype.isWall = function() {
  return this.weight === 0;
};

function BinaryHeap(scoreFunction) {
  this.content = [];
  this.scoreFunction = scoreFunction;
}

BinaryHeap.prototype = {
  push: function(element) {
    // Add the new element to the end of the array.
    this.content.push(element);

    // Allow it to sink down.
    this.sinkDown(this.content.length - 1);
  },
  pop: function() {
    // Store the first element so we can return it later.
    var result = this.content[0];
    // Get the element at the end of the array.
    var end = this.content.pop();
    // If there are any elements left, put the end element at the
    // start, and let it bubble up.
    if (this.content.length > 0) {
      this.content[0] = end;
      this.bubbleUp(0);
    }
    return result;
  },
  remove: function(node) {
    var i = this.content.indexOf(node);

    // When it is found, the process seen in 'pop' is repeated
    // to fill up the hole.
    var end = this.content.pop();

    if (i !== this.content.length - 1) {
      this.content[i] = end;

      if (this.scoreFunction(end) < this.scoreFunction(node)) {
        this.sinkDown(i);
      } else {
        this.bubbleUp(i);
      }
    }
  },
  size: function() {
    return this.content.length;
  },
  rescoreElement: function(node) {
    this.sinkDown(this.content.indexOf(node));
  },
  sinkDown: function(n) {
    // Fetch the element that has to be sunk.
    var element = this.content[n];

    // When at 0, an element can not sink any further.
    while (n > 0) {

      // Compute the parent element's index, and fetch it.
      var parentN = ((n + 1) >> 1) - 1;
      var parent = this.content[parentN];
      // Swap the elements if the parent is greater.
      if (this.scoreFunction(element) < this.scoreFunction(parent)) {
        this.content[parentN] = element;
        this.content[n] = parent;
        // Update 'n' to continue at the new position.
        n = parentN;
      }
      // Found a parent that is less, no need to sink any further.
      else {
        break;
      }
    }
  },
  bubbleUp: function(n) {
    // Look up the target element and its score.
    var length = this.content.length;
    var element = this.content[n];
    var elemScore = this.scoreFunction(element);

    while (true) {
      // Compute the indices of the child elements.
      var child2N = (n + 1) << 1;
      var child1N = child2N - 1;
      // This is used to store the new position of the element, if any.
      var swap = null;
      var child1Score;
      // If the first child exists (is inside the array)...
      if (child1N < length) {
        // Look it up and compute its score.
        var child1 = this.content[child1N];
        child1Score = this.scoreFunction(child1);

        // If the score is less than our element's, we need to swap.
        if (child1Score < elemScore) {
          swap = child1N;
        }
      }

      // Do the same checks for the other child.
      if (child2N < length) {
        var child2 = this.content[child2N];
        var child2Score = this.scoreFunction(child2);
        if (child2Score < (swap === null ? elemScore : child1Score)) {
          swap = child2N;
        }
      }

      // If the element needs to be moved, swap it, and continue.
      if (swap !== null) {
        this.content[n] = this.content[swap];
        this.content[swap] = element;
        n = swap;
      }
      // Otherwise, we are done.
      else {
        break;
      }
    }
  }
};

return {
  astar: astar,
  Graph: Graph,
  gridDest: gridDest,
  lngToGC: lngToGC,
  latToGR: latToGR,
  zoomStar: zoomStar,
  gridBlack: gridBlack,
  gridWhite: gridWhite
};

});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章